Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.69.7.132
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
moodledata /
localcache /
requirejs /
[ HOME SHELL ]
Name
Size
Permission
Action
14796ae68a9712c35cda5b4ca8ac14...
2.03
MB
-rw-rw-rw-
265bcba919ecae8a3eabd5a5177729...
2.03
MB
-rw-rw-rw-
2b27232b718e525d54b3ff43b927c6...
2.03
MB
-rw-rw-rw-
337e5daf544e3a4166364b9eb7c840...
2.03
MB
-rw-rw-rw-
37af87a341f8dab4c2e66944682315...
2.03
MB
-rw-rw-rw-
41feb10c5240dd5818aa13c9c62d0d...
2.03
MB
-rw-rw-rw-
554112893561976efc7368f0e82ec0...
2.03
MB
-rw-rw-rw-
65af62960badf86d1fc5514853b274...
2.03
MB
-rw-rw-rw-
69f8725793a26bdf8264745af502c3...
690.53
KB
-rw-rw-rw-
80f95e08193e35065c3bc8a1ce2fd6...
2.03
MB
-rw-rw-rw-
9b3c4467353442848ac6493a97a686...
295.88
KB
-rw-rw-rw-
a6de598f1808ec387671dafb63d313...
2.03
MB
-rw-rw-rw-
b05d4a21ef85d8a7bff44744b1763f...
2.03
MB
-rw-rw-rw-
b11fd55a65d094ff4b8c6a2f61c06f...
2.03
MB
-rw-rw-rw-
b1c92964cf897f371f312f801627c7...
2.03
MB
-rw-rw-rw-
bfcc85174955ed64b213cb8d535de6...
2.03
MB
-rw-rw-rw-
d8c9b0433acdcff664bf5cd050d485...
276.55
KB
-rw-rw-rw-
f3d6ccbfafb64d1026dd34c43d1959...
2.03
MB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : 69f8725793a26bdf8264745af502c34b29cbabbd
function _typeof2(obj){return _typeof2="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof2(obj) /** * @license * Video.js 7.7.6 <http://videojs.com/> * Copyright Brightcove, Inc. <https://www.brightcove.com/> * Available under Apache License Version 2.0 * <https://github.com/videojs/video.js/blob/master/LICENSE> * * Includes vtt.js <https://github.com/mozilla/vtt.js> * Available under Apache License Version 2.0 * <https://github.com/mozilla/vtt.js/blob/master/LICENSE> */}var global,factory;global=window,factory=function(window$3,document){window$3=window$3&&window$3.hasOwnProperty("default")?window$3.default:window$3,document=document&&document.hasOwnProperty("default")?document.default:document;var history=[],log=function createLogger(name){var logByType,level="info",log=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];logByType("log",level,args)};return logByType=function(name,log){return function(type,level,args){var lvl=log.levels[level],lvlRegExp=new RegExp("^("+lvl+")$");if("log"!==type&&args.unshift(type.toUpperCase()+":"),args.unshift(name+":"),history){history.push([].concat(args));var splice=history.length-1e3;history.splice(0,splice>0?splice:0)}if(window$3.console){var fn=window$3.console[type];fn||"debug"!==type||(fn=window$3.console.info||window$3.console.log),fn&&lvl&&lvlRegExp.test(type)&&fn[Array.isArray(args)?"apply":"call"](window$3.console,args)}}}(name,log),log.createLogger=function(subname){return createLogger(name+": "+subname)},log.levels={all:"debug|log|warn|error",off:"",debug:"debug|log|warn|error",info:"log|warn|error",warn:"warn|error",error:"error",DEFAULT:level},log.level=function(lvl){if("string"==typeof lvl){if(!log.levels.hasOwnProperty(lvl))throw new Error('"'+lvl+'" in not a valid log level');level=lvl}return level},(log.history=function(){return history?[].concat(history):[]}).filter=function(fname){return(history||[]).filter((function(historyItem){return new RegExp(".*"+fname+".*").test(historyItem[0])}))},log.history.clear=function(){history&&(history.length=0)},log.history.disable=function(){null!==history&&(history.length=0,history=null)},log.history.enable=function(){null===history&&(history=[])},log.error=function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return logByType("error",level,args)},log.warn=function(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++)args[_key3]=arguments[_key3];return logByType("warn",level,args)},log.debug=function(){for(var _len4=arguments.length,args=new Array(_len4),_key4=0;_key4<_len4;_key4++)args[_key4]=arguments[_key4];return logByType("debug",level,args)},log}("VIDEOJS"),createLogger$1=log.createLogger;function createCommonjsModule(fn,module){return fn(module={exports:{}},module.exports),module.exports}var _extends_1=createCommonjsModule((function(module){function _extends(){return module.exports=_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}module.exports=_extends})),toString=Object.prototype.toString,keys=function(object){return isObject(object)?Object.keys(object):[]};function each(object,fn){keys(object).forEach((function(key){return fn(object[key],key)}))}function assign(target){for(var _len=arguments.length,sources=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)sources[_key-1]=arguments[_key];return Object.assign?_extends_1.apply(void 0,[target].concat(sources)):(sources.forEach((function(source){source&&each(source,(function(value,key){target[key]=value}))})),target)}function isObject(value){return!!value&&"object"===_typeof2(value)}function isPlain(value){return isObject(value)&&"[object Object]"===toString.call(value)&&value.constructor===Object}function computedStyle(el,prop){if(!el||!prop)return"";if("function"==typeof window$3.getComputedStyle){var computedStyleValue=window$3.getComputedStyle(el);return computedStyleValue?computedStyleValue.getPropertyValue(prop)||computedStyleValue[prop]:""}return""}function isNonBlankString(str){return"string"==typeof str&&Boolean(str.trim())}function throwIfWhitespace(str){if(str.indexOf(" ")>=0)throw new Error("class has illegal whitespace characters")}function isReal(){return document===window$3.document}function isEl(value){return isObject(value)&&1===value.nodeType}function isInFrame(){try{return window$3.parent!==window$3.self}catch(x){return!0}}function createQuerier(method){return function(selector,context){if(!isNonBlankString(selector))return document[method](null);isNonBlankString(context)&&(context=document.querySelector(context));var ctx=isEl(context)?context:document;return ctx[method]&&ctx[method](selector)}}function createEl(tagName,properties,attributes,content){void 0===tagName&&(tagName="div"),void 0===properties&&(properties={}),void 0===attributes&&(attributes={});var el=document.createElement(tagName);return Object.getOwnPropertyNames(properties).forEach((function(propName){var val=properties[propName];-1!==propName.indexOf("aria-")||"role"===propName||"type"===propName?(log.warn("Setting attributes in the second argument of createEl()\nhas been deprecated. Use the third argument instead.\ncreateEl(type, properties, attributes). Attempting to set "+propName+" to "+val+"."),el.setAttribute(propName,val)):"textContent"===propName?textContent(el,val):el[propName]!==val&&(el[propName]=val)})),Object.getOwnPropertyNames(attributes).forEach((function(attrName){el.setAttribute(attrName,attributes[attrName])})),content&&appendContent(el,content),el}function textContent(el,text){return void 0===el.textContent?el.innerText=text:el.textContent=text,el}function prependTo(child,parent){parent.firstChild?parent.insertBefore(child,parent.firstChild):parent.appendChild(child)}function hasClass(element,classToCheck){return throwIfWhitespace(classToCheck),element.classList?element.classList.contains(classToCheck):(className=classToCheck,new RegExp("(^|\\s)"+className+"($|\\s)")).test(element.className);var className}function addClass(element,classToAdd){return element.classList?element.classList.add(classToAdd):hasClass(element,classToAdd)||(element.className=(element.className+" "+classToAdd).trim()),element}function removeClass(element,classToRemove){return element.classList?element.classList.remove(classToRemove):(throwIfWhitespace(classToRemove),element.className=element.className.split(/\s+/).filter((function(c){return c!==classToRemove})).join(" ")),element}function toggleClass(element,classToToggle,predicate){var has=hasClass(element,classToToggle);if("function"==typeof predicate&&(predicate=predicate(element,classToToggle)),"boolean"!=typeof predicate&&(predicate=!has),predicate!==has)return predicate?addClass(element,classToToggle):removeClass(element,classToToggle),element}function setAttributes(el,attributes){Object.getOwnPropertyNames(attributes).forEach((function(attrName){var attrValue=attributes[attrName];null==attrValue||!1===attrValue?el.removeAttribute(attrName):el.setAttribute(attrName,!0===attrValue?"":attrValue)}))}function getAttributes(tag){var obj={},knownBooleans=",autoplay,controls,playsinline,loop,muted,default,defaultMuted,";if(tag&&tag.attributes&&tag.attributes.length>0)for(var attrs=tag.attributes,i=attrs.length-1;i>=0;i--){var attrName=attrs[i].name,attrVal=attrs[i].value;"boolean"!=typeof tag[attrName]&&-1===knownBooleans.indexOf(","+attrName+",")||(attrVal=null!==attrVal),obj[attrName]=attrVal}return obj}function getAttribute(el,attribute){return el.getAttribute(attribute)}function setAttribute(el,attribute,value){el.setAttribute(attribute,value)}function removeAttribute(el,attribute){el.removeAttribute(attribute)}function blockTextSelection(){document.body.focus(),document.onselectstart=function(){return!1}}function unblockTextSelection(){document.onselectstart=function(){return!0}}function getBoundingClientRect(el){if(el&&el.getBoundingClientRect&&el.parentNode){var rect=el.getBoundingClientRect(),result={};return["bottom","height","left","right","top","width"].forEach((function(k){void 0!==rect[k]&&(result[k]=rect[k])})),result.height||(result.height=parseFloat(computedStyle(el,"height"))),result.width||(result.width=parseFloat(computedStyle(el,"width"))),result}}function findPosition(el){var box;if(el.getBoundingClientRect&&el.parentNode&&(box=el.getBoundingClientRect()),!box)return{left:0,top:0};var docEl=document.documentElement,body=document.body,clientLeft=docEl.clientLeft||body.clientLeft||0,scrollLeft=window$3.pageXOffset||body.scrollLeft,left=box.left+scrollLeft-clientLeft,clientTop=docEl.clientTop||body.clientTop||0,scrollTop=window$3.pageYOffset||body.scrollTop,top=box.top+scrollTop-clientTop;return{left:Math.round(left),top:Math.round(top)}}function getPointerPosition(el,event){var position={},box=findPosition(el),boxW=el.offsetWidth,boxH=el.offsetHeight,boxY=box.top,boxX=box.left,pageY=event.pageY,pageX=event.pageX;return event.changedTouches&&(pageX=event.changedTouches[0].pageX,pageY=event.changedTouches[0].pageY),position.y=Math.max(0,Math.min(1,(boxY-pageY+boxH)/boxH)),position.x=Math.max(0,Math.min(1,(pageX-boxX)/boxW)),position}function isTextNode(value){return isObject(value)&&3===value.nodeType}function emptyEl(el){for(;el.firstChild;)el.removeChild(el.firstChild);return el}function normalizeContent(content){return"function"==typeof content&&(content=content()),(Array.isArray(content)?content:[content]).map((function(value){return"function"==typeof value&&(value=value()),isEl(value)||isTextNode(value)?value:"string"==typeof value&&/\S/.test(value)?document.createTextNode(value):void 0})).filter((function(value){return value}))}function appendContent(el,content){return normalizeContent(content).forEach((function(node){return el.appendChild(node)})),el}function insertContent(el,content){return appendContent(emptyEl(el),content)}function isSingleLeftClick(event){return void 0===event.button&&void 0===event.buttons||0===event.button&&void 0===event.buttons||"mouseup"===event.type&&0===event.button&&0===event.buttons||0===event.button&&1===event.buttons}var videojs,$=createQuerier("querySelector"),$$=createQuerier("querySelectorAll"),Dom=Object.freeze({isReal:isReal,isEl:isEl,isInFrame:isInFrame,createEl:createEl,textContent:textContent,prependTo:prependTo,hasClass:hasClass,addClass:addClass,removeClass:removeClass,toggleClass:toggleClass,setAttributes:setAttributes,getAttributes:getAttributes,getAttribute:getAttribute,setAttribute:setAttribute,removeAttribute:removeAttribute,blockTextSelection:blockTextSelection,unblockTextSelection:unblockTextSelection,getBoundingClientRect:getBoundingClientRect,findPosition:findPosition,getPointerPosition:getPointerPosition,isTextNode:isTextNode,emptyEl:emptyEl,normalizeContent:normalizeContent,appendContent:appendContent,insertContent:insertContent,isSingleLeftClick:isSingleLeftClick,$:$,$$:$$}),_windowLoaded=!1,autoSetup=function(){if(isReal()&&!1!==videojs.options.autoSetup){var vids=Array.prototype.slice.call(document.getElementsByTagName("video")),audios=Array.prototype.slice.call(document.getElementsByTagName("audio")),divs=Array.prototype.slice.call(document.getElementsByTagName("video-js")),mediaEls=vids.concat(audios,divs);if(mediaEls&&mediaEls.length>0)for(var i=0,e=mediaEls.length;i<e;i++){var mediaEl=mediaEls[i];if(!mediaEl||!mediaEl.getAttribute){autoSetupTimeout(1);break}void 0===mediaEl.player&&null!==mediaEl.getAttribute("data-setup")&&videojs(mediaEl)}else _windowLoaded||autoSetupTimeout(1)}};function autoSetupTimeout(wait,vjs){vjs&&(videojs=vjs),window$3.setTimeout(autoSetup,wait)}function setWindowLoaded(){_windowLoaded=!0,window$3.removeEventListener("load",setWindowLoaded)}isReal()&&("complete"===document.readyState?setWindowLoaded():window$3.addEventListener("load",setWindowLoaded));var FakeWeakMap,createStyleElement=function(className){var style=document.createElement("style");return style.className=className,style},setTextContent=function(el,content){el.styleSheet?el.styleSheet.cssText=content:el.textContent=content},_guid=3;function newGUID(){return _guid++}window$3.WeakMap||(FakeWeakMap=function(){function FakeWeakMap(){this.vdata="vdata"+Math.floor(window$3.performance&&window$3.performance.now()||Date.now()),this.data={}}var _proto=FakeWeakMap.prototype;return _proto.set=function(key,value){var access=key[this.vdata]||newGUID();return key[this.vdata]||(key[this.vdata]=access),this.data[access]=value,this},_proto.get=function(key){var access=key[this.vdata];if(access)return this.data[access];log("We have no data for this element",key)},_proto.has=function(key){return key[this.vdata]in this.data},_proto.delete=function(key){var access=key[this.vdata];access&&(delete this.data[access],delete key[this.vdata])},FakeWeakMap}());var _supportsPassive,DomData=window$3.WeakMap?new WeakMap:new FakeWeakMap;function _cleanUpEvents(elem,type){if(DomData.has(elem)){var data=DomData.get(elem);0===data.handlers[type].length&&(delete data.handlers[type],elem.removeEventListener?elem.removeEventListener(type,data.dispatcher,!1):elem.detachEvent&&elem.detachEvent("on"+type,data.dispatcher)),Object.getOwnPropertyNames(data.handlers).length<=0&&(delete data.handlers,delete data.dispatcher,delete data.disabled),0===Object.getOwnPropertyNames(data).length&&DomData.delete(elem)}}function _handleMultipleEvents(fn,elem,types,callback){types.forEach((function(type){fn(elem,type,callback)}))}function fixEvent(event){if(event.fixed_)return event;function returnTrue(){return!0}function returnFalse(){return!1}if(!event||!event.isPropagationStopped){var old=event||window$3.event;for(var key in event={},old)"layerX"!==key&&"layerY"!==key&&"keyLocation"!==key&&"webkitMovementX"!==key&&"webkitMovementY"!==key&&("returnValue"===key&&old.preventDefault||(event[key]=old[key]));if(event.target||(event.target=event.srcElement||document),event.relatedTarget||(event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement),event.preventDefault=function(){old.preventDefault&&old.preventDefault(),event.returnValue=!1,old.returnValue=!1,event.defaultPrevented=!0},event.defaultPrevented=!1,event.stopPropagation=function(){old.stopPropagation&&old.stopPropagation(),event.cancelBubble=!0,old.cancelBubble=!0,event.isPropagationStopped=returnTrue},event.isPropagationStopped=returnFalse,event.stopImmediatePropagation=function(){old.stopImmediatePropagation&&old.stopImmediatePropagation(),event.isImmediatePropagationStopped=returnTrue,event.stopPropagation()},event.isImmediatePropagationStopped=returnFalse,null!==event.clientX&&void 0!==event.clientX){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}event.which=event.charCode||event.keyCode,null!==event.button&&void 0!==event.button&&(event.button=1&event.button?0:4&event.button?1:2&event.button?2:0)}return event.fixed_=!0,event}var passiveEvents=["touchstart","touchmove"];function on(elem,type,fn){if(Array.isArray(type))return _handleMultipleEvents(on,elem,type,fn);DomData.has(elem)||DomData.set(elem,{});var data=DomData.get(elem);if(data.handlers||(data.handlers={}),data.handlers[type]||(data.handlers[type]=[]),fn.guid||(fn.guid=newGUID()),data.handlers[type].push(fn),data.dispatcher||(data.disabled=!1,data.dispatcher=function(event,hash){if(!data.disabled){event=fixEvent(event);var handlers=data.handlers[event.type];if(handlers)for(var handlersCopy=handlers.slice(0),m=0,n=handlersCopy.length;m<n&&!event.isImmediatePropagationStopped();m++)try{handlersCopy[m].call(elem,event,hash)}catch(e){log.error(e)}}}),1===data.handlers[type].length)if(elem.addEventListener){var options=!1;(function(){if("boolean"!=typeof _supportsPassive){_supportsPassive=!1;try{var opts=Object.defineProperty({},"passive",{get:function(){_supportsPassive=!0}});window$3.addEventListener("test",null,opts),window$3.removeEventListener("test",null,opts)}catch(e){}}return _supportsPassive})()&&passiveEvents.indexOf(type)>-1&&(options={passive:!0}),elem.addEventListener(type,data.dispatcher,options)}else elem.attachEvent&&elem.attachEvent("on"+type,data.dispatcher)}function off(elem,type,fn){if(DomData.has(elem)){var data=DomData.get(elem);if(data.handlers){if(Array.isArray(type))return _handleMultipleEvents(off,elem,type,fn);var removeType=function(el,t){data.handlers[t]=[],_cleanUpEvents(el,t)};if(void 0!==type){var handlers=data.handlers[type];if(handlers)if(fn){if(fn.guid)for(var n=0;n<handlers.length;n++)handlers[n].guid===fn.guid&&handlers.splice(n--,1);_cleanUpEvents(elem,type)}else removeType(elem,type)}else for(var t in data.handlers)Object.prototype.hasOwnProperty.call(data.handlers||{},t)&&removeType(elem,t)}}}function trigger(elem,event,hash){var elemData=DomData.has(elem)?DomData.get(elem):{},parent=elem.parentNode||elem.ownerDocument;if("string"==typeof event?event={type:event,target:elem}:event.target||(event.target=elem),event=fixEvent(event),elemData.dispatcher&&elemData.dispatcher.call(elem,event,hash),parent&&!event.isPropagationStopped()&&!0===event.bubbles)trigger.call(null,parent,event,hash);else if(!parent&&!event.defaultPrevented&&event.target&&event.target[event.type]){DomData.has(event.target)||DomData.set(event.target,{});var targetData=DomData.get(event.target);event.target[event.type]&&(targetData.disabled=!0,"function"==typeof event.target[event.type]&&event.target[event.type](),targetData.disabled=!1)}return!event.defaultPrevented}function one(elem,type,fn){if(Array.isArray(type))return _handleMultipleEvents(one,elem,type,fn);var func=function func(){off(elem,type,func),fn.apply(this,arguments)};func.guid=fn.guid=fn.guid||newGUID(),on(elem,type,func)}function any(elem,type,fn){var func=function func(){off(elem,type,func),fn.apply(this,arguments)};func.guid=fn.guid=fn.guid||newGUID(),on(elem,type,func)}var EVENT_MAP,Events=Object.freeze({fixEvent:fixEvent,on:on,off:off,trigger:trigger,one:one,any:any}),bind=function(context,fn,uid){fn.guid||(fn.guid=newGUID());var bound=fn.bind(context);return bound.guid=uid?uid+"_"+fn.guid:fn.guid,bound},throttle=function(fn,wait){var last=window$3.performance.now();return function(){var now=window$3.performance.now();now-last>=wait&&(fn.apply(void 0,arguments),last=now)}},EventTarget=function(){};EventTarget.prototype.allowedEvents_={},EventTarget.prototype.on=function(type,fn){var ael=this.addEventListener;this.addEventListener=function(){},on(this,type,fn),this.addEventListener=ael},EventTarget.prototype.addEventListener=EventTarget.prototype.on,EventTarget.prototype.off=function(type,fn){off(this,type,fn)},EventTarget.prototype.removeEventListener=EventTarget.prototype.off,EventTarget.prototype.one=function(type,fn){var ael=this.addEventListener;this.addEventListener=function(){},one(this,type,fn),this.addEventListener=ael},EventTarget.prototype.any=function(type,fn){var ael=this.addEventListener;this.addEventListener=function(){},any(this,type,fn),this.addEventListener=ael},EventTarget.prototype.trigger=function(event){var type=event.type||event;"string"==typeof event&&(event={type:type}),event=fixEvent(event),this.allowedEvents_[type]&&this["on"+type]&&this["on"+type](event),trigger(this,event)},EventTarget.prototype.dispatchEvent=EventTarget.prototype.trigger,EventTarget.prototype.queueTrigger=function(event){var _this=this;EVENT_MAP||(EVENT_MAP=new Map);var type=event.type||event,map=EVENT_MAP.get(this);map||(map=new Map,EVENT_MAP.set(this,map));var oldTimeout=map.get(type);map.delete(type),window$3.clearTimeout(oldTimeout);var timeout=window$3.setTimeout((function(){0===map.size&&(map=null,EVENT_MAP.delete(_this)),_this.trigger(event)}),0);map.set(type,timeout)};var isEvented=function(object){return object instanceof EventTarget||!!object.eventBusEl_&&["on","one","off","trigger"].every((function(k){return"function"==typeof object[k]}))},isValidEventType=function(type){return"string"==typeof type&&/\S/.test(type)||Array.isArray(type)&&!!type.length},validateTarget=function(target){if(!target.nodeName&&!isEvented(target))throw new Error("Invalid target; must be a DOM node or evented object.")},validateEventType=function(type){if(!isValidEventType(type))throw new Error("Invalid event type; must be a non-empty string or array.")},validateListener=function(listener){if("function"!=typeof listener)throw new Error("Invalid listener; must be a function.")},normalizeListenArgs=function(self,args){var target,type,listener,isTargetingSelf=args.length<3||args[0]===self||args[0]===self.eventBusEl_;return isTargetingSelf?(target=self.eventBusEl_,args.length>=3&&args.shift(),type=args[0],listener=args[1]):(target=args[0],type=args[1],listener=args[2]),validateTarget(target),validateEventType(type),validateListener(listener),{isTargetingSelf:isTargetingSelf,target:target,type:type,listener:listener=bind(self,listener)}},listen=function(target,method,type,listener){validateTarget(target),target.nodeName?Events[method](target,type,listener):target[method](type,listener)},EventedMixin={on:function(){for(var _this=this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var _normalizeListenArgs=normalizeListenArgs(this,args),isTargetingSelf=_normalizeListenArgs.isTargetingSelf,target=_normalizeListenArgs.target,type=_normalizeListenArgs.type,listener=_normalizeListenArgs.listener;if(listen(target,"on",type,listener),!isTargetingSelf){var removeListenerOnDispose=function(){return _this.off(target,type,listener)};removeListenerOnDispose.guid=listener.guid;var removeRemoverOnTargetDispose=function(){return _this.off("dispose",removeListenerOnDispose)};removeRemoverOnTargetDispose.guid=listener.guid,listen(this,"on","dispose",removeListenerOnDispose),listen(target,"on","dispose",removeRemoverOnTargetDispose)}},one:function(){for(var _this2=this,_len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];var _normalizeListenArgs2=normalizeListenArgs(this,args),isTargetingSelf=_normalizeListenArgs2.isTargetingSelf,target=_normalizeListenArgs2.target,type=_normalizeListenArgs2.type,listener=_normalizeListenArgs2.listener;if(isTargetingSelf)listen(target,"one",type,listener);else{var wrapper=function wrapper(){_this2.off(target,type,wrapper);for(var _len3=arguments.length,largs=new Array(_len3),_key3=0;_key3<_len3;_key3++)largs[_key3]=arguments[_key3];listener.apply(null,largs)};wrapper.guid=listener.guid,listen(target,"one",type,wrapper)}},any:function(){for(var _this3=this,_len4=arguments.length,args=new Array(_len4),_key4=0;_key4<_len4;_key4++)args[_key4]=arguments[_key4];var _normalizeListenArgs3=normalizeListenArgs(this,args),isTargetingSelf=_normalizeListenArgs3.isTargetingSelf,target=_normalizeListenArgs3.target,type=_normalizeListenArgs3.type,listener=_normalizeListenArgs3.listener;if(isTargetingSelf)listen(target,"any",type,listener);else{var wrapper=function wrapper(){_this3.off(target,type,wrapper);for(var _len5=arguments.length,largs=new Array(_len5),_key5=0;_key5<_len5;_key5++)largs[_key5]=arguments[_key5];listener.apply(null,largs)};wrapper.guid=listener.guid,listen(target,"any",type,wrapper)}},off:function(targetOrType,typeOrListener,listener){if(!targetOrType||isValidEventType(targetOrType))off(this.eventBusEl_,targetOrType,typeOrListener);else{var target=targetOrType,type=typeOrListener;validateTarget(target),validateEventType(type),validateListener(listener),listener=bind(this,listener),this.off("dispose",listener),target.nodeName?(off(target,type,listener),off(target,"dispose",listener)):isEvented(target)&&(target.off(type,listener),target.off("dispose",listener))}},trigger:function(event,hash){return trigger(this.eventBusEl_,event,hash)}};function evented(target,options){void 0===options&&(options={});var eventBusKey=options.eventBusKey;if(eventBusKey){if(!target[eventBusKey].nodeName)throw new Error('The eventBusKey "'+eventBusKey+'" does not refer to an element.');target.eventBusEl_=target[eventBusKey]}else target.eventBusEl_=createEl("span",{className:"vjs-event-bus"});return assign(target,EventedMixin),target.eventedCallbacks&&target.eventedCallbacks.forEach((function(callback){callback()})),target.on("dispose",(function(){target.off(),window$3.setTimeout((function(){target.eventBusEl_=null}),0)})),target}var StatefulMixin={state:{},setState:function(stateUpdates){var changes,_this=this;return"function"==typeof stateUpdates&&(stateUpdates=stateUpdates()),each(stateUpdates,(function(value,key){_this.state[key]!==value&&((changes=changes||{})[key]={from:_this.state[key],to:value}),_this.state[key]=value})),changes&&isEvented(this)&&this.trigger({changes:changes,type:"statechanged"}),changes}};function stateful(target,defaultState){return assign(target,StatefulMixin),target.state=assign({},target.state,defaultState),"function"==typeof target.handleStateChanged&&isEvented(target)&&target.on("statechanged",target.handleStateChanged),target}var toLowerCase=function(string){return"string"!=typeof string?string:string.replace(/./,(function(w){return w.toLowerCase()}))},toTitleCase=function(string){return"string"!=typeof string?string:string.replace(/./,(function(w){return w.toUpperCase()}))};function mergeOptions(){for(var result={},_len=arguments.length,sources=new Array(_len),_key=0;_key<_len;_key++)sources[_key]=arguments[_key];return sources.forEach((function(source){source&&each(source,(function(value,key){isPlain(value)?(isPlain(result[key])||(result[key]={}),result[key]=mergeOptions(result[key],value)):result[key]=value}))})),result}var Component=function(){function Component(player,options,ready){if(!player&&this.play?this.player_=player=this:this.player_=player,this.isDisposed_=!1,this.parentComponent_=null,this.options_=mergeOptions({},this.options_),options=this.options_=mergeOptions(this.options_,options),this.id_=options.id||options.el&&options.el.id,!this.id_){var id=player&&player.id&&player.id()||"no_player";this.id_=id+"_component_"+newGUID()}var SetSham;this.name_=options.name||null,options.el?this.el_=options.el:!1!==options.createEl&&(this.el_=this.createEl()),!1!==options.evented&&evented(this,{eventBusKey:this.el_?"el_":null}),stateful(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},window$3.Set||(SetSham=function(){function SetSham(){this.set_={}}var _proto2=SetSham.prototype;return _proto2.has=function(key){return key in this.set_},_proto2.delete=function(key){var has=this.has(key);return delete this.set_[key],has},_proto2.add=function(key){return this.set_[key]=1,this},_proto2.forEach=function(callback,thisArg){for(var key in this.set_)callback.call(thisArg,key,key,this)},SetSham}()),this.setTimeoutIds_=window$3.Set?new Set:new SetSham,this.setIntervalIds_=window$3.Set?new Set:new SetSham,this.rafIds_=window$3.Set?new Set:new SetSham,this.clearingTimersOnDispose_=!1,!1!==options.initChildren&&this.initChildren(),this.ready(ready),!1!==options.reportTouchActivity&&this.enableTouchActivity()}var _proto=Component.prototype;return _proto.dispose=function(){if(!this.isDisposed_){if(this.trigger({type:"dispose",bubbles:!1}),this.isDisposed_=!0,this.children_)for(var i=this.children_.length-1;i>=0;i--)this.children_[i].dispose&&this.children_[i].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),DomData.has(this.el_)&&DomData.delete(this.el_),this.el_=null),this.player_=null}},_proto.isDisposed=function(){return Boolean(this.isDisposed_)},_proto.player=function(){return this.player_},_proto.options=function(obj){return obj?(this.options_=mergeOptions(this.options_,obj),this.options_):this.options_},_proto.el=function(){return this.el_},_proto.createEl=function(tagName,properties,attributes){return createEl(tagName,properties,attributes)},_proto.localize=function(string,tokens,defaultValue){void 0===defaultValue&&(defaultValue=string);var code=this.player_.language&&this.player_.language(),languages=this.player_.languages&&this.player_.languages(),language=languages&&languages[code],primaryCode=code&&code.split("-")[0],primaryLang=languages&&languages[primaryCode],localizedString=defaultValue;return language&&language[string]?localizedString=language[string]:primaryLang&&primaryLang[string]&&(localizedString=primaryLang[string]),tokens&&(localizedString=localizedString.replace(/\{(\d+)\}/g,(function(match,index){var value=tokens[index-1],ret=value;return void 0===value&&(ret=match),ret}))),localizedString},_proto.contentEl=function(){return this.contentEl_||this.el_},_proto.id=function(){return this.id_},_proto.name=function(){return this.name_},_proto.children=function(){return this.children_},_proto.getChildById=function(id){return this.childIndex_[id]},_proto.getChild=function(name){if(name)return this.childNameIndex_[name]},_proto.addChild=function(child,options,index){var component,componentName;if(void 0===options&&(options={}),void 0===index&&(index=this.children_.length),"string"==typeof child){componentName=toTitleCase(child);var componentClassName=options.componentClass||componentName;options.name=componentName;var ComponentClass=Component.getComponent(componentClassName);if(!ComponentClass)throw new Error("Component "+componentClassName+" does not exist");if("function"!=typeof ComponentClass)return null;component=new ComponentClass(this.player_||this,options)}else component=child;if(component.parentComponent_&&component.parentComponent_.removeChild(component),this.children_.splice(index,0,component),component.parentComponent_=this,"function"==typeof component.id&&(this.childIndex_[component.id()]=component),(componentName=componentName||component.name&&toTitleCase(component.name()))&&(this.childNameIndex_[componentName]=component,this.childNameIndex_[toLowerCase(componentName)]=component),"function"==typeof component.el&&component.el()){var refNode=null;this.children_[index+1]&&this.children_[index+1].el_&&(refNode=this.children_[index+1].el_),this.contentEl().insertBefore(component.el(),refNode)}return component},_proto.removeChild=function(component){if("string"==typeof component&&(component=this.getChild(component)),component&&this.children_){for(var childFound=!1,i=this.children_.length-1;i>=0;i--)if(this.children_[i]===component){childFound=!0,this.children_.splice(i,1);break}if(childFound){component.parentComponent_=null,this.childIndex_[component.id()]=null,this.childNameIndex_[toTitleCase(component.name())]=null,this.childNameIndex_[toLowerCase(component.name())]=null;var compEl=component.el();compEl&&compEl.parentNode===this.contentEl()&&this.contentEl().removeChild(component.el())}}},_proto.initChildren=function(){var _this=this,children=this.options_.children;if(children){var workingChildren,parentOptions=this.options_,Tech=Component.getComponent("Tech");(workingChildren=Array.isArray(children)?children:Object.keys(children)).concat(Object.keys(this.options_).filter((function(child){return!workingChildren.some((function(wchild){return"string"==typeof wchild?child===wchild:child===wchild.name}))}))).map((function(child){var name,opts;return"string"==typeof child?opts=children[name=child]||_this.options_[name]||{}:(name=child.name,opts=child),{name:name,opts:opts}})).filter((function(child){var c=Component.getComponent(child.opts.componentClass||toTitleCase(child.name));return c&&!Tech.isTech(c)})).forEach((function(child){var name=child.name,opts=child.opts;if(void 0!==parentOptions[name]&&(opts=parentOptions[name]),!1!==opts){!0===opts&&(opts={}),opts.playerOptions=_this.options_.playerOptions;var newChild=_this.addChild(name,opts);newChild&&(_this[name]=newChild)}}))}},_proto.buildCSSClass=function(){return""},_proto.ready=function(fn,sync){if(void 0===sync&&(sync=!1),fn)return this.isReady_?void(sync?fn.call(this):this.setTimeout(fn,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(fn))},_proto.triggerReady=function(){this.isReady_=!0,this.setTimeout((function(){var readyQueue=this.readyQueue_;this.readyQueue_=[],readyQueue&&readyQueue.length>0&&readyQueue.forEach((function(fn){fn.call(this)}),this),this.trigger("ready")}),1)},_proto.$=function(selector,context){return $(selector,context||this.contentEl())},_proto.$$=function(selector,context){return $$(selector,context||this.contentEl())},_proto.hasClass=function(classToCheck){return hasClass(this.el_,classToCheck)},_proto.addClass=function(classToAdd){addClass(this.el_,classToAdd)},_proto.removeClass=function(classToRemove){removeClass(this.el_,classToRemove)},_proto.toggleClass=function(classToToggle,predicate){toggleClass(this.el_,classToToggle,predicate)},_proto.show=function(){this.removeClass("vjs-hidden")},_proto.hide=function(){this.addClass("vjs-hidden")},_proto.lockShowing=function(){this.addClass("vjs-lock-showing")},_proto.unlockShowing=function(){this.removeClass("vjs-lock-showing")},_proto.getAttribute=function(attribute){return getAttribute(this.el_,attribute)},_proto.setAttribute=function(attribute,value){setAttribute(this.el_,attribute,value)},_proto.removeAttribute=function(attribute){removeAttribute(this.el_,attribute)},_proto.width=function(num,skipListeners){return this.dimension("width",num,skipListeners)},_proto.height=function(num,skipListeners){return this.dimension("height",num,skipListeners)},_proto.dimensions=function(width,height){this.width(width,!0),this.height(height)},_proto.dimension=function(widthOrHeight,num,skipListeners){if(void 0!==num)return null!==num&&num==num||(num=0),-1!==(""+num).indexOf("%")||-1!==(""+num).indexOf("px")?this.el_.style[widthOrHeight]=num:this.el_.style[widthOrHeight]="auto"===num?"":num+"px",void(skipListeners||this.trigger("componentresize"));if(!this.el_)return 0;var val=this.el_.style[widthOrHeight],pxIndex=val.indexOf("px");return-1!==pxIndex?parseInt(val.slice(0,pxIndex),10):parseInt(this.el_["offset"+toTitleCase(widthOrHeight)],10)},_proto.currentDimension=function(widthOrHeight){var computedWidthOrHeight=0;if("width"!==widthOrHeight&&"height"!==widthOrHeight)throw new Error("currentDimension only accepts width or height value");if(computedWidthOrHeight=computedStyle(this.el_,widthOrHeight),0===(computedWidthOrHeight=parseFloat(computedWidthOrHeight))||isNaN(computedWidthOrHeight)){var rule="offset"+toTitleCase(widthOrHeight);computedWidthOrHeight=this.el_[rule]}return computedWidthOrHeight},_proto.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")}},_proto.currentWidth=function(){return this.currentDimension("width")},_proto.currentHeight=function(){return this.currentDimension("height")},_proto.focus=function(){this.el_.focus()},_proto.blur=function(){this.el_.blur()},_proto.handleKeyDown=function(event){this.player_&&(event.stopPropagation(),this.player_.handleKeyDown(event))},_proto.handleKeyPress=function(event){this.handleKeyDown(event)},_proto.emitTapEvents=function(){var couldBeTap,touchStart=0,firstTouch=null;this.on("touchstart",(function(event){1===event.touches.length&&(firstTouch={pageX:event.touches[0].pageX,pageY:event.touches[0].pageY},touchStart=window$3.performance.now(),couldBeTap=!0)})),this.on("touchmove",(function(event){if(event.touches.length>1)couldBeTap=!1;else if(firstTouch){var xdiff=event.touches[0].pageX-firstTouch.pageX,ydiff=event.touches[0].pageY-firstTouch.pageY;Math.sqrt(xdiff*xdiff+ydiff*ydiff)>10&&(couldBeTap=!1)}}));var noTap=function(){couldBeTap=!1};this.on("touchleave",noTap),this.on("touchcancel",noTap),this.on("touchend",(function(event){firstTouch=null,!0===couldBeTap&&window$3.performance.now()-touchStart<200&&(event.preventDefault(),this.trigger("tap"))}))},_proto.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var touchHolding,report=bind(this.player(),this.player().reportUserActivity);this.on("touchstart",(function(){report(),this.clearInterval(touchHolding),touchHolding=this.setInterval(report,250)}));var touchEnd=function(event){report(),this.clearInterval(touchHolding)};this.on("touchmove",report),this.on("touchend",touchEnd),this.on("touchcancel",touchEnd)}},_proto.setTimeout=function(fn,timeout){var timeoutId,_this2=this;return fn=bind(this,fn),this.clearTimersOnDispose_(),timeoutId=window$3.setTimeout((function(){_this2.setTimeoutIds_.has(timeoutId)&&_this2.setTimeoutIds_.delete(timeoutId),fn()}),timeout),this.setTimeoutIds_.add(timeoutId),timeoutId},_proto.clearTimeout=function(timeoutId){return this.setTimeoutIds_.has(timeoutId)&&(this.setTimeoutIds_.delete(timeoutId),window$3.clearTimeout(timeoutId)),timeoutId},_proto.setInterval=function(fn,interval){fn=bind(this,fn),this.clearTimersOnDispose_();var intervalId=window$3.setInterval(fn,interval);return this.setIntervalIds_.add(intervalId),intervalId},_proto.clearInterval=function(intervalId){return this.setIntervalIds_.has(intervalId)&&(this.setIntervalIds_.delete(intervalId),window$3.clearInterval(intervalId)),intervalId},_proto.requestAnimationFrame=function(fn){var id,_this3=this;return this.supportsRaf_?(this.clearTimersOnDispose_(),fn=bind(this,fn),id=window$3.requestAnimationFrame((function(){_this3.rafIds_.has(id)&&_this3.rafIds_.delete(id),fn()})),this.rafIds_.add(id),id):this.setTimeout(fn,1e3/60)},_proto.cancelAnimationFrame=function(id){return this.supportsRaf_?(this.rafIds_.has(id)&&(this.rafIds_.delete(id),window$3.cancelAnimationFrame(id)),id):this.clearTimeout(id)},_proto.clearTimersOnDispose_=function(){var _this4=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one("dispose",(function(){[["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEach((function(_ref){var idName=_ref[0],cancelName=_ref[1];_this4[idName].forEach(_this4[cancelName],_this4)})),_this4.clearingTimersOnDispose_=!1})))},Component.registerComponent=function(name,ComponentToRegister){if("string"!=typeof name||!name)throw new Error('Illegal component name, "'+name+'"; must be a non-empty string.');var reason,Tech=Component.getComponent("Tech"),isTech=Tech&&Tech.isTech(ComponentToRegister),isComp=Component===ComponentToRegister||Component.prototype.isPrototypeOf(ComponentToRegister.prototype);if(isTech||!isComp)throw reason=isTech?"techs must be registered using Tech.registerTech()":"must be a Component subclass",new Error('Illegal component, "'+name+'"; '+reason+".");name=toTitleCase(name),Component.components_||(Component.components_={});var Player=Component.getComponent("Player");if("Player"===name&&Player&&Player.players){var players=Player.players,playerNames=Object.keys(players);if(players&&playerNames.length>0&&playerNames.map((function(pname){return players[pname]})).every(Boolean))throw new Error("Can not register Player component after player has been created.")}return Component.components_[name]=ComponentToRegister,Component.components_[toLowerCase(name)]=ComponentToRegister,ComponentToRegister},Component.getComponent=function(name){if(name&&Component.components_)return Component.components_[name]},Component}();Component.prototype.supportsRaf_="function"==typeof window$3.requestAnimationFrame&&"function"==typeof window$3.cancelAnimationFrame,Component.registerComponent("Component",Component);var assertThisInitialized=function(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self};createCommonjsModule((function(module){function _typeof(obj){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?module.exports=_typeof=function(obj){return typeof obj}:module.exports=_typeof=function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}module.exports=_typeof})),createCommonjsModule((function(module){function _getPrototypeOf(o){return module.exports=_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)},_getPrototypeOf(o)}module.exports=_getPrototypeOf}));var match,inheritsLoose=function(subClass,superClass){subClass.prototype=Object.create(superClass.prototype),subClass.prototype.constructor=subClass,subClass.__proto__=superClass},USER_AGENT=window$3.navigator&&window$3.navigator.userAgent||"",webkitVersionMap=/AppleWebKit\/([\d.]+)/i.exec(USER_AGENT),appleWebkitVersion=webkitVersionMap?parseFloat(webkitVersionMap.pop()):null,IS_IPOD=/iPod/i.test(USER_AGENT),IOS_VERSION=(match=USER_AGENT.match(/OS (\d+)_/i))&&match[1]?match[1]:null,IS_ANDROID=/Android/i.test(USER_AGENT),ANDROID_VERSION=function(){var match=USER_AGENT.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!match)return null;var major=match[1]&&parseFloat(match[1]),minor=match[2]&&parseFloat(match[2]);return major&&minor?parseFloat(match[1]+"."+match[2]):major||null}(),IS_NATIVE_ANDROID=IS_ANDROID&&ANDROID_VERSION<5&&appleWebkitVersion<537,IS_FIREFOX=/Firefox/i.test(USER_AGENT),IS_EDGE=/Edg/i.test(USER_AGENT),IS_CHROME=!IS_EDGE&&(/Chrome/i.test(USER_AGENT)||/CriOS/i.test(USER_AGENT)),CHROME_VERSION=function(){var match=USER_AGENT.match(/(Chrome|CriOS)\/(\d+)/);return match&&match[2]?parseFloat(match[2]):null}(),IE_VERSION=function(){var result=/MSIE\s(\d+)\.\d/.exec(USER_AGENT),version=result&&parseFloat(result[1]);return!version&&/Trident\/7.0/i.test(USER_AGENT)&&/rv:11.0/.test(USER_AGENT)&&(version=11),version}(),IS_SAFARI=/Safari/i.test(USER_AGENT)&&!IS_CHROME&&!IS_ANDROID&&!IS_EDGE,IS_WINDOWS=/Windows/i.test(USER_AGENT),TOUCH_ENABLED=isReal()&&("ontouchstart"in window$3||window$3.navigator.maxTouchPoints||window$3.DocumentTouch&&window$3.document instanceof window$3.DocumentTouch),IS_IPAD=/iPad/i.test(USER_AGENT)||IS_SAFARI&&TOUCH_ENABLED&&!/iPhone/i.test(USER_AGENT),IS_IPHONE=/iPhone/i.test(USER_AGENT)&&!IS_IPAD,IS_IOS=IS_IPHONE||IS_IPAD||IS_IPOD,IS_ANY_SAFARI=(IS_SAFARI||IS_IOS)&&!IS_CHROME,browser=Object.freeze({IS_IPOD:IS_IPOD,IOS_VERSION:IOS_VERSION,IS_ANDROID:IS_ANDROID,ANDROID_VERSION:ANDROID_VERSION,IS_NATIVE_ANDROID:IS_NATIVE_ANDROID,IS_FIREFOX:IS_FIREFOX,IS_EDGE:IS_EDGE,IS_CHROME:IS_CHROME,CHROME_VERSION:CHROME_VERSION,IE_VERSION:IE_VERSION,IS_SAFARI:IS_SAFARI,IS_WINDOWS:IS_WINDOWS,TOUCH_ENABLED:TOUCH_ENABLED,IS_IPAD:IS_IPAD,IS_IPHONE:IS_IPHONE,IS_IOS:IS_IOS,IS_ANY_SAFARI:IS_ANY_SAFARI});function getRange(fnName,valueIndex,ranges,rangeIndex){return function(fnName,index,maxIndex){if("number"!=typeof index||index<0||index>maxIndex)throw new Error("Failed to execute '"+fnName+"' on 'TimeRanges': The index provided ("+index+") is non-numeric or out of bounds (0-"+maxIndex+").")}(fnName,rangeIndex,ranges.length-1),ranges[rangeIndex][valueIndex]}function createTimeRangesObj(ranges){return void 0===ranges||0===ranges.length?{length:0,start:function(){throw new Error("This TimeRanges object is empty")},end:function(){throw new Error("This TimeRanges object is empty")}}:{length:ranges.length,start:getRange.bind(null,"start",0,ranges),end:getRange.bind(null,"end",1,ranges)}}function createTimeRanges(start,end){return Array.isArray(start)?createTimeRangesObj(start):void 0===start||void 0===end?createTimeRangesObj():createTimeRangesObj([[start,end]])}function bufferedPercent(buffered,duration){var start,end,bufferedDuration=0;if(!duration)return 0;buffered&&buffered.length||(buffered=createTimeRanges(0,0));for(var i=0;i<buffered.length;i++)start=buffered.start(i),(end=buffered.end(i))>duration&&(end=duration),bufferedDuration+=end-start;return bufferedDuration/duration}for(var browserApi,FullscreenApi={prefixed:!0},apiMap=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullscreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"]],specApi=apiMap[0],i=0;i<apiMap.length;i++)if(apiMap[i][1]in document){browserApi=apiMap[i];break}if(browserApi){for(var _i=0;_i<browserApi.length;_i++)FullscreenApi[specApi[_i]]=browserApi[_i];FullscreenApi.prefixed=browserApi[0]!==specApi[0]}function MediaError(value){if(value instanceof MediaError)return value;"number"==typeof value?this.code=value:"string"==typeof value?this.message=value:isObject(value)&&("number"==typeof value.code&&(this.code=value.code),assign(this,value)),this.message||(this.message=MediaError.defaultMessages[this.code]||"")}MediaError.prototype.code=0,MediaError.prototype.message="",MediaError.prototype.status=null,MediaError.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"],MediaError.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."};for(var errNum=0;errNum<MediaError.errorTypes.length;errNum++)MediaError[MediaError.errorTypes[errNum]]=errNum,MediaError.prototype[MediaError.errorTypes[errNum]]=errNum;var tuple=function(obj,reviver){var json,error=null;try{json=JSON.parse(obj,reviver)}catch(err){error=err}return[error,json]};function isPromise(value){return null!=value&&"function"==typeof value.then}function silencePromise(value){isPromise(value)&&value.then(null,(function(e){}))}var trackToJson_=function(track){return["kind","label","language","id","inBandMetadataTrackDispatchType","mode","src"].reduce((function(acc,prop,i){return track[prop]&&(acc[prop]=track[prop]),acc}),{cues:track.cues&&Array.prototype.map.call(track.cues,(function(cue){return{startTime:cue.startTime,endTime:cue.endTime,text:cue.text,id:cue.id}}))})},textTrackConverter_textTracksToJson=function(tech){var trackEls=tech.$$("track"),trackObjs=Array.prototype.map.call(trackEls,(function(t){return t.track}));return Array.prototype.map.call(trackEls,(function(trackEl){var json=trackToJson_(trackEl.track);return trackEl.src&&(json.src=trackEl.src),json})).concat(Array.prototype.filter.call(tech.textTracks(),(function(track){return-1===trackObjs.indexOf(track)})).map(trackToJson_))},textTrackConverter_jsonToTextTracks=function(json,tech){return json.forEach((function(track){var addedTrack=tech.addRemoteTextTrack(track).track;!track.src&&track.cues&&track.cues.forEach((function(cue){return addedTrack.addCue(cue)}))})),tech.textTracks()},keycode=createCommonjsModule((function(module,exports){function keyCode(searchInput){if(searchInput&&"object"===_typeof2(searchInput)){var hasKeyCode=searchInput.which||searchInput.keyCode||searchInput.charCode;hasKeyCode&&(searchInput=hasKeyCode)}if("number"==typeof searchInput)return names[searchInput];var foundNamedKey,search=String(searchInput);return(foundNamedKey=codes[search.toLowerCase()])?foundNamedKey:(foundNamedKey=aliases[search.toLowerCase()])||(1===search.length?search.charCodeAt(0):void 0)}keyCode.isEventKey=function(event,nameOrCode){if(event&&"object"===_typeof2(event)){var keyCode=event.which||event.keyCode||event.charCode;if(null==keyCode)return!1;if("string"==typeof nameOrCode){var foundNamedKey;if(foundNamedKey=codes[nameOrCode.toLowerCase()])return foundNamedKey===keyCode;if(foundNamedKey=aliases[nameOrCode.toLowerCase()])return foundNamedKey===keyCode}else if("number"==typeof nameOrCode)return nameOrCode===keyCode;return!1}};var codes=(exports=module.exports=keyCode).code=exports.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},aliases=exports.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(i=97;i<123;i++)codes[String.fromCharCode(i)]=i-32;for(var i=48;i<58;i++)codes[i-48]=i;for(i=1;i<13;i++)codes["f"+i]=i+111;for(i=0;i<10;i++)codes["numpad "+i]=i+96;var names=exports.names=exports.title={};for(i in codes)names[codes[i]]=i;for(var alias in aliases)codes[alias]=aliases[alias]})),ModalDialog=(keycode.code,keycode.codes,keycode.aliases,keycode.names,keycode.title,function(_Component){function ModalDialog(player,options){var _this;return(_this=_Component.call(this,player,options)||this).opened_=_this.hasBeenOpened_=_this.hasBeenFilled_=!1,_this.closeable(!_this.options_.uncloseable),_this.content(_this.options_.content),_this.contentEl_=createEl("div",{className:"vjs-modal-dialog-content"},{role:"document"}),_this.descEl_=createEl("p",{className:"vjs-modal-dialog-description vjs-control-text",id:_this.el().getAttribute("aria-describedby")}),textContent(_this.descEl_,_this.description()),_this.el_.appendChild(_this.descEl_),_this.el_.appendChild(_this.contentEl_),_this}inheritsLoose(ModalDialog,_Component);var _proto=ModalDialog.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":this.id()+"_description","aria-hidden":"true","aria-label":this.label(),role:"dialog"})},_proto.dispose=function(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,_Component.prototype.dispose.call(this)},_proto.buildCSSClass=function(){return"vjs-modal-dialog vjs-hidden "+_Component.prototype.buildCSSClass.call(this)},_proto.label=function(){return this.localize(this.options_.label||"Modal Window")},_proto.description=function(){var desc=this.options_.description||this.localize("This is a modal window.");return this.closeable()&&(desc+=" "+this.localize("This modal can be closed by pressing the Escape key or activating the close button.")),desc},_proto.open=function(){if(!this.opened_){var player=this.player();this.trigger("beforemodalopen"),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!player.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&player.pause(),this.on("keydown",this.handleKeyDown),this.hadControls_=player.controls(),player.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute("aria-hidden","false"),this.trigger("modalopen"),this.hasBeenOpened_=!0}},_proto.opened=function(value){return"boolean"==typeof value&&this[value?"open":"close"](),this.opened_},_proto.close=function(){if(this.opened_){var player=this.player();this.trigger("beforemodalclose"),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&player.play(),this.off("keydown",this.handleKeyDown),this.hadControls_&&player.controls(!0),this.hide(),this.el().setAttribute("aria-hidden","true"),this.trigger("modalclose"),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}},_proto.closeable=function(value){if("boolean"==typeof value){var closeable=this.closeable_=!!value,close=this.getChild("closeButton");if(closeable&&!close){var temp=this.contentEl_;this.contentEl_=this.el_,close=this.addChild("closeButton",{controlText:"Close Modal Dialog"}),this.contentEl_=temp,this.on(close,"close",this.close)}!closeable&&close&&(this.off(close,"close",this.close),this.removeChild(close),close.dispose())}return this.closeable_},_proto.fill=function(){this.fillWith(this.content())},_proto.fillWith=function(content){var contentEl=this.contentEl(),parentEl=contentEl.parentNode,nextSiblingEl=contentEl.nextSibling;this.trigger("beforemodalfill"),this.hasBeenFilled_=!0,parentEl.removeChild(contentEl),this.empty(),insertContent(contentEl,content),this.trigger("modalfill"),nextSiblingEl?parentEl.insertBefore(contentEl,nextSiblingEl):parentEl.appendChild(contentEl);var closeButton=this.getChild("closeButton");closeButton&&parentEl.appendChild(closeButton.el_)},_proto.empty=function(){this.trigger("beforemodalempty"),emptyEl(this.contentEl()),this.trigger("modalempty")},_proto.content=function(value){return void 0!==value&&(this.content_=value),this.content_},_proto.conditionalFocus_=function(){var activeEl=document.activeElement,playerEl=this.player_.el_;this.previouslyActiveEl_=null,(playerEl.contains(activeEl)||playerEl===activeEl)&&(this.previouslyActiveEl_=activeEl,this.focus())},_proto.conditionalBlur_=function(){this.previouslyActiveEl_&&(this.previouslyActiveEl_.focus(),this.previouslyActiveEl_=null)},_proto.handleKeyDown=function(event){if(event.stopPropagation(),keycode.isEventKey(event,"Escape")&&this.closeable())return event.preventDefault(),void this.close();if(keycode.isEventKey(event,"Tab")){for(var focusIndex,focusableEls=this.focusableEls_(),activeEl=this.el_.querySelector(":focus"),i=0;i<focusableEls.length;i++)if(activeEl===focusableEls[i]){focusIndex=i;break}document.activeElement===this.el_&&(focusIndex=0),event.shiftKey&&0===focusIndex?(focusableEls[focusableEls.length-1].focus(),event.preventDefault()):event.shiftKey||focusIndex!==focusableEls.length-1||(focusableEls[0].focus(),event.preventDefault())}},_proto.focusableEls_=function(){var allChildren=this.el_.querySelectorAll("*");return Array.prototype.filter.call(allChildren,(function(child){return(child instanceof window$3.HTMLAnchorElement||child instanceof window$3.HTMLAreaElement)&&child.hasAttribute("href")||(child instanceof window$3.HTMLInputElement||child instanceof window$3.HTMLSelectElement||child instanceof window$3.HTMLTextAreaElement||child instanceof window$3.HTMLButtonElement)&&!child.hasAttribute("disabled")||child instanceof window$3.HTMLIFrameElement||child instanceof window$3.HTMLObjectElement||child instanceof window$3.HTMLEmbedElement||child.hasAttribute("tabindex")&&-1!==child.getAttribute("tabindex")||child.hasAttribute("contenteditable")}))},ModalDialog}(Component));ModalDialog.prototype.options_={pauseOnOpen:!0,temporary:!0},Component.registerComponent("ModalDialog",ModalDialog);var TrackList=function(_EventTarget){function TrackList(tracks){var _this;void 0===tracks&&(tracks=[]),(_this=_EventTarget.call(this)||this).tracks_=[],Object.defineProperty(assertThisInitialized(_this),"length",{get:function(){return this.tracks_.length}});for(var i=0;i<tracks.length;i++)_this.addTrack(tracks[i]);return _this}inheritsLoose(TrackList,_EventTarget);var _proto=TrackList.prototype;return _proto.addTrack=function(track){var index=this.tracks_.length;""+index in this||Object.defineProperty(this,index,{get:function(){return this.tracks_[index]}}),-1===this.tracks_.indexOf(track)&&(this.tracks_.push(track),this.trigger({track:track,type:"addtrack",target:this}))},_proto.removeTrack=function(rtrack){for(var track,i=0,l=this.length;i<l;i++)if(this[i]===rtrack){(track=this[i]).off&&track.off(),this.tracks_.splice(i,1);break}track&&this.trigger({track:track,type:"removetrack",target:this})},_proto.getTrackById=function(id){for(var result=null,i=0,l=this.length;i<l;i++){var track=this[i];if(track.id===id){result=track;break}}return result},TrackList}(EventTarget);for(var event in TrackList.prototype.allowedEvents_={change:"change",addtrack:"addtrack",removetrack:"removetrack"},TrackList.prototype.allowedEvents_)TrackList.prototype["on"+event]=null;var disableOthers=function(list,track){for(var i=0;i<list.length;i++)Object.keys(list[i]).length&&track.id!==list[i].id&&(list[i].enabled=!1)},AudioTrackList=function(_TrackList){function AudioTrackList(tracks){var _this;void 0===tracks&&(tracks=[]);for(var i=tracks.length-1;i>=0;i--)if(tracks[i].enabled){disableOthers(tracks,tracks[i]);break}return(_this=_TrackList.call(this,tracks)||this).changing_=!1,_this}inheritsLoose(AudioTrackList,_TrackList);var _proto=AudioTrackList.prototype;return _proto.addTrack=function(track){var _this2=this;track.enabled&&disableOthers(this,track),_TrackList.prototype.addTrack.call(this,track),track.addEventListener&&(track.enabledChange_=function(){_this2.changing_||(_this2.changing_=!0,disableOthers(_this2,track),_this2.changing_=!1,_this2.trigger("change"))},track.addEventListener("enabledchange",track.enabledChange_))},_proto.removeTrack=function(rtrack){_TrackList.prototype.removeTrack.call(this,rtrack),rtrack.removeEventListener&&rtrack.enabledChange_&&(rtrack.removeEventListener("enabledchange",rtrack.enabledChange_),rtrack.enabledChange_=null)},AudioTrackList}(TrackList),disableOthers$1=function(list,track){for(var i=0;i<list.length;i++)Object.keys(list[i]).length&&track.id!==list[i].id&&(list[i].selected=!1)},VideoTrackList=function(_TrackList){function VideoTrackList(tracks){var _this;void 0===tracks&&(tracks=[]);for(var i=tracks.length-1;i>=0;i--)if(tracks[i].selected){disableOthers$1(tracks,tracks[i]);break}return(_this=_TrackList.call(this,tracks)||this).changing_=!1,Object.defineProperty(assertThisInitialized(_this),"selectedIndex",{get:function(){for(var _i=0;_i<this.length;_i++)if(this[_i].selected)return _i;return-1},set:function(){}}),_this}inheritsLoose(VideoTrackList,_TrackList);var _proto=VideoTrackList.prototype;return _proto.addTrack=function(track){var _this2=this;track.selected&&disableOthers$1(this,track),_TrackList.prototype.addTrack.call(this,track),track.addEventListener&&(track.selectedChange_=function(){_this2.changing_||(_this2.changing_=!0,disableOthers$1(_this2,track),_this2.changing_=!1,_this2.trigger("change"))},track.addEventListener("selectedchange",track.selectedChange_))},_proto.removeTrack=function(rtrack){_TrackList.prototype.removeTrack.call(this,rtrack),rtrack.removeEventListener&&rtrack.selectedChange_&&(rtrack.removeEventListener("selectedchange",rtrack.selectedChange_),rtrack.selectedChange_=null)},VideoTrackList}(TrackList),TextTrackList=function(_TrackList){function TextTrackList(){return _TrackList.apply(this,arguments)||this}inheritsLoose(TextTrackList,_TrackList);var _proto=TextTrackList.prototype;return _proto.addTrack=function(track){var _this=this;_TrackList.prototype.addTrack.call(this,track),this.queueChange_||(this.queueChange_=function(){return _this.queueTrigger("change")}),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=function(){return _this.trigger("selectedlanguagechange")}),track.addEventListener("modechange",this.queueChange_),-1===["metadata","chapters"].indexOf(track.kind)&&track.addEventListener("modechange",this.triggerSelectedlanguagechange_)},_proto.removeTrack=function(rtrack){_TrackList.prototype.removeTrack.call(this,rtrack),rtrack.removeEventListener&&(this.queueChange_&&rtrack.removeEventListener("modechange",this.queueChange_),this.selectedlanguagechange_&&rtrack.removeEventListener("modechange",this.triggerSelectedlanguagechange_))},TextTrackList}(TrackList),HtmlTrackElementList=function(){function HtmlTrackElementList(trackElements){void 0===trackElements&&(trackElements=[]),this.trackElements_=[],Object.defineProperty(this,"length",{get:function(){return this.trackElements_.length}});for(var i=0,length=trackElements.length;i<length;i++)this.addTrackElement_(trackElements[i])}var _proto=HtmlTrackElementList.prototype;return _proto.addTrackElement_=function(trackElement){var index=this.trackElements_.length;""+index in this||Object.defineProperty(this,index,{get:function(){return this.trackElements_[index]}}),-1===this.trackElements_.indexOf(trackElement)&&this.trackElements_.push(trackElement)},_proto.getTrackElementByTrack_=function(track){for(var trackElement_,i=0,length=this.trackElements_.length;i<length;i++)if(track===this.trackElements_[i].track){trackElement_=this.trackElements_[i];break}return trackElement_},_proto.removeTrackElement_=function(trackElement){for(var i=0,length=this.trackElements_.length;i<length;i++)if(trackElement===this.trackElements_[i]){this.trackElements_[i].track&&"function"==typeof this.trackElements_[i].track.off&&this.trackElements_[i].track.off(),"function"==typeof this.trackElements_[i].off&&this.trackElements_[i].off(),this.trackElements_.splice(i,1);break}},HtmlTrackElementList}(),TextTrackCueList=function(){function TextTrackCueList(cues){TextTrackCueList.prototype.setCues_.call(this,cues),Object.defineProperty(this,"length",{get:function(){return this.length_}})}var _proto=TextTrackCueList.prototype;return _proto.setCues_=function(cues){var oldLength=this.length||0,i=0,l=cues.length;this.cues_=cues,this.length_=cues.length;var defineProp=function(index){""+index in this||Object.defineProperty(this,""+index,{get:function(){return this.cues_[index]}})};if(oldLength<l)for(i=oldLength;i<l;i++)defineProp.call(this,i)},_proto.getCueById=function(id){for(var result=null,i=0,l=this.length;i<l;i++){var cue=this[i];if(cue.id===id){result=cue;break}}return result},TextTrackCueList}(),VideoTrackKind={alternative:"alternative",captions:"captions",main:"main",sign:"sign",subtitles:"subtitles",commentary:"commentary"},AudioTrackKind={alternative:"alternative",descriptions:"descriptions",main:"main","main-desc":"main-desc",translation:"translation",commentary:"commentary"},TextTrackKind={subtitles:"subtitles",captions:"captions",descriptions:"descriptions",chapters:"chapters",metadata:"metadata"},TextTrackMode={disabled:"disabled",hidden:"hidden",showing:"showing"},Track=function(_EventTarget){function Track(options){var _this;void 0===options&&(options={}),_this=_EventTarget.call(this)||this;var trackProps={id:options.id||"vjs_track_"+newGUID(),kind:options.kind||"",label:options.label||"",language:options.language||""},_loop=function(key){Object.defineProperty(assertThisInitialized(_this),key,{get:function(){return trackProps[key]},set:function(){}})};for(var key in trackProps)_loop(key);return _this}return inheritsLoose(Track,_EventTarget),Track}(EventTarget),parseUrl=function(url){var props=["protocol","hostname","port","pathname","search","hash","host"],a=document.createElement("a");a.href=url;var div,addToBody=""===a.host&&"file:"!==a.protocol;addToBody&&((div=document.createElement("div")).innerHTML='<a href="'+url+'"></a>',a=div.firstChild,div.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(div));for(var details={},i=0;i<props.length;i++)details[props[i]]=a[props[i]];return"http:"===details.protocol&&(details.host=details.host.replace(/:80$/,"")),"https:"===details.protocol&&(details.host=details.host.replace(/:443$/,"")),details.protocol||(details.protocol=window$3.location.protocol),addToBody&&document.body.removeChild(div),details},getAbsoluteURL=function(url){if(!url.match(/^https?:\/\//)){var div=document.createElement("div");div.innerHTML='<a href="'+url+'">x</a>',url=div.firstChild.href}return url},getFileExtension=function(path){if("string"==typeof path){var pathParts=/^(\/?)([\s\S]*?)((?:\.{1,2}|[^\/]+?)(\.([^\.\/\?]+)))(?:[\/]*|[\?].*)$/.exec(path);if(pathParts)return pathParts.pop().toLowerCase()}return""},isCrossOrigin=function(url,winLoc){void 0===winLoc&&(winLoc=window$3.location);var urlInfo=parseUrl(url);return(":"===urlInfo.protocol?winLoc.protocol:urlInfo.protocol)+urlInfo.host!==winLoc.protocol+winLoc.host},Url=Object.freeze({parseUrl:parseUrl,getAbsoluteURL:getAbsoluteURL,getFileExtension:getFileExtension,isCrossOrigin:isCrossOrigin}),isFunction_1=function(fn){var string=toString$1.call(fn);return"[object Function]"===string||"function"==typeof fn&&"[object RegExp]"!==string||"undefined"!=typeof window&&(fn===window.setTimeout||fn===window.alert||fn===window.confirm||fn===window.prompt)} /** * @license * slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/> * Copyright (c) 2014 David Björklund * Available under the MIT license * <https://github.com/kesla/parse-headers/blob/master/LICENCE> */,toString$1=Object.prototype.toString,xhr=createXHR,default_1=createXHR;function initParams(uri,options,callback){var params=uri;return isFunction_1(options)?(callback=options,"string"==typeof uri&&(params={uri:uri})):params=_extends_1({},options,{uri:uri}),params.callback=callback,params}function createXHR(uri,options,callback){return _createXHR(options=initParams(uri,options,callback))}function _createXHR(options){if(void 0===options.callback)throw new Error("callback argument missing");var called=!1,callback=function(err,response,body){called||(called=!0,options.callback(err,response,body))};function getBody(){var body=void 0;if(body=xhr.response?xhr.response:xhr.responseText||function(xhr){try{if("document"===xhr.responseType)return xhr.responseXML;var firefoxBugTakenEffect=xhr.responseXML&&"parsererror"===xhr.responseXML.documentElement.nodeName;if(""===xhr.responseType&&!firefoxBugTakenEffect)return xhr.responseXML}catch(e){}return null}(xhr),isJson)try{body=JSON.parse(body)}catch(e){}return body}function errorFunc(evt){return clearTimeout(timeoutTimer),evt instanceof Error||(evt=new Error(""+(evt||"Unknown XMLHttpRequest Error"))),evt.statusCode=0,callback(evt,failureResponse)}function loadFunc(){if(!aborted){var status;clearTimeout(timeoutTimer),status=options.useXDR&&void 0===xhr.status?200:1223===xhr.status?204:xhr.status;var response=failureResponse,err=null;return 0!==status?(response={body:getBody(),statusCode:status,method:method,headers:{},url:uri,rawRequest:xhr},xhr.getAllResponseHeaders&&(response.headers=function(headers){var result={};return headers?(headers.trim().split("\n").forEach((function(row){var index=row.indexOf(":"),key=row.slice(0,index).trim().toLowerCase(),value=row.slice(index+1).trim();void 0===result[key]?result[key]=value:Array.isArray(result[key])?result[key].push(value):result[key]=[result[key],value]})),result):result}(xhr.getAllResponseHeaders()))):err=new Error("Internal XMLHttpRequest Error"),callback(err,response,response.body)}}var key,aborted,xhr=options.xhr||null;xhr||(xhr=options.cors||options.useXDR?new createXHR.XDomainRequest:new createXHR.XMLHttpRequest);var timeoutTimer,uri=xhr.url=options.uri||options.url,method=xhr.method=options.method||"GET",body=options.body||options.data,headers=xhr.headers=options.headers||{},sync=!!options.sync,isJson=!1,failureResponse={body:void 0,headers:{},statusCode:0,method:method,url:uri,rawRequest:xhr};if("json"in options&&!1!==options.json&&(isJson=!0,headers.accept||headers.Accept||(headers.Accept="application/json"),"GET"!==method&&"HEAD"!==method&&(headers["content-type"]||headers["Content-Type"]||(headers["Content-Type"]="application/json"),body=JSON.stringify(!0===options.json?body:options.json))),xhr.onreadystatechange=function(){4===xhr.readyState&&setTimeout(loadFunc,0)},xhr.onload=loadFunc,xhr.onerror=errorFunc,xhr.onprogress=function(){},xhr.onabort=function(){aborted=!0},xhr.ontimeout=errorFunc,xhr.open(method,uri,!sync,options.username,options.password),sync||(xhr.withCredentials=!!options.withCredentials),!sync&&options.timeout>0&&(timeoutTimer=setTimeout((function(){if(!aborted){aborted=!0,xhr.abort("timeout");var e=new Error("XMLHttpRequest timeout");e.code="ETIMEDOUT",errorFunc(e)}}),options.timeout)),xhr.setRequestHeader)for(key in headers)headers.hasOwnProperty(key)&&xhr.setRequestHeader(key,headers[key]);else if(options.headers&&!function(obj){for(var i in obj)if(obj.hasOwnProperty(i))return!1;return!0}(options.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in options&&(xhr.responseType=options.responseType),"beforeSend"in options&&"function"==typeof options.beforeSend&&options.beforeSend(xhr),xhr.send(body||null),xhr}createXHR.XMLHttpRequest=window$3.XMLHttpRequest||function(){},createXHR.XDomainRequest="withCredentials"in new createXHR.XMLHttpRequest?createXHR.XMLHttpRequest:window$3.XDomainRequest,function(array,iterator){for(var i=0;i<array.length;i++)iterator(array[i])}(["get","put","post","patch","head","delete"],(function(method){createXHR["delete"===method?"del":method]=function(uri,options,callback){return(options=initParams(uri,options,callback)).method=method.toUpperCase(),_createXHR(options)}})),xhr.default=default_1;var parseCues=function(srcContent,track){var parser=new window$3.WebVTT.Parser(window$3,window$3.vttjs,window$3.WebVTT.StringDecoder()),errors=[];parser.oncue=function(cue){track.addCue(cue)},parser.onparsingerror=function(error){errors.push(error)},parser.onflush=function(){track.trigger({type:"loadeddata",target:track})},parser.parse(srcContent),errors.length>0&&(window$3.console&&window$3.console.groupCollapsed&&window$3.console.groupCollapsed("Text Track parsing errors for "+track.src),errors.forEach((function(error){return log.error(error)})),window$3.console&&window$3.console.groupEnd&&window$3.console.groupEnd()),parser.flush()},loadTrack=function(src,track){var opts={uri:src},crossOrigin=isCrossOrigin(src);crossOrigin&&(opts.cors=crossOrigin),xhr(opts,bind(this,(function(err,response,responseBody){if(err)return log.error(err,response);track.loaded_=!0,"function"!=typeof window$3.WebVTT?track.tech_&&track.tech_.any(["vttjsloaded","vttjserror"],(function(event){if("vttjserror"!==event.type)return parseCues(responseBody,track);log.error("vttjs failed to load, stopping trying to process "+track.src)})):parseCues(responseBody,track)})))},TextTrack=function(_Track){function TextTrack(options){var _this;if(void 0===options&&(options={}),!options.tech)throw new Error("A tech was not provided.");var settings=mergeOptions(options,{kind:TextTrackKind[options.kind]||"subtitles",language:options.language||options.srclang||""}),mode=TextTrackMode[settings.mode]||"disabled",default_=settings.default;"metadata"!==settings.kind&&"chapters"!==settings.kind||(mode="hidden"),(_this=_Track.call(this,settings)||this).tech_=settings.tech,_this.cues_=[],_this.activeCues_=[],_this.preload_=!1!==_this.tech_.preloadTextTracks;var cues=new TextTrackCueList(_this.cues_),activeCues=new TextTrackCueList(_this.activeCues_),changed=!1,timeupdateHandler=bind(assertThisInitialized(_this),(function(){this.activeCues=this.activeCues,changed&&(this.trigger("cuechange"),changed=!1)}));return"disabled"!==mode&&_this.tech_.ready((function(){_this.tech_.on("timeupdate",timeupdateHandler)}),!0),Object.defineProperties(assertThisInitialized(_this),{default:{get:function(){return default_},set:function(){}},mode:{get:function(){return mode},set:function(newMode){var _this2=this;TextTrackMode[newMode]&&(mode=newMode,this.preload_||"disabled"===mode||0!==this.cues.length||loadTrack(this.src,this),"disabled"!==mode?this.tech_.ready((function(){_this2.tech_.on("timeupdate",timeupdateHandler)}),!0):this.tech_.off("timeupdate",timeupdateHandler),this.trigger("modechange"))}},cues:{get:function(){return this.loaded_?cues:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return activeCues;for(var ct=this.tech_.currentTime(),active=[],i=0,l=this.cues.length;i<l;i++){var cue=this.cues[i];(cue.startTime<=ct&&cue.endTime>=ct||cue.startTime===cue.endTime&&cue.startTime<=ct&&cue.startTime+.5>=ct)&&active.push(cue)}if(changed=!1,active.length!==this.activeCues_.length)changed=!0;else for(var _i=0;_i<active.length;_i++)-1===this.activeCues_.indexOf(active[_i])&&(changed=!0);return this.activeCues_=active,activeCues.setCues_(this.activeCues_),activeCues},set:function(){}}}),settings.src?(_this.src=settings.src,_this.preload_||(_this.loaded_=!0),(_this.preload_||default_||"subtitles"!==settings.kind&&"captions"!==settings.kind)&&loadTrack(_this.src,assertThisInitialized(_this))):_this.loaded_=!0,_this}inheritsLoose(TextTrack,_Track);var _proto=TextTrack.prototype;return _proto.addCue=function(originalCue){var cue=originalCue;if(window$3.vttjs&&!(originalCue instanceof window$3.vttjs.VTTCue)){for(var prop in cue=new window$3.vttjs.VTTCue(originalCue.startTime,originalCue.endTime,originalCue.text),originalCue)prop in cue||(cue[prop]=originalCue[prop]);cue.id=originalCue.id,cue.originalCue_=originalCue}for(var tracks=this.tech_.textTracks(),i=0;i<tracks.length;i++)tracks[i]!==this&&tracks[i].removeCue(cue);this.cues_.push(cue),this.cues.setCues_(this.cues_)},_proto.removeCue=function(_removeCue){for(var i=this.cues_.length;i--;){var cue=this.cues_[i];if(cue===_removeCue||cue.originalCue_&&cue.originalCue_===_removeCue){this.cues_.splice(i,1),this.cues.setCues_(this.cues_);break}}},TextTrack}(Track);TextTrack.prototype.allowedEvents_={cuechange:"cuechange"};var AudioTrack=function(_Track){function AudioTrack(options){var _this;void 0===options&&(options={});var settings=mergeOptions(options,{kind:AudioTrackKind[options.kind]||""});_this=_Track.call(this,settings)||this;var enabled=!1;return Object.defineProperty(assertThisInitialized(_this),"enabled",{get:function(){return enabled},set:function(newEnabled){"boolean"==typeof newEnabled&&newEnabled!==enabled&&(enabled=newEnabled,this.trigger("enabledchange"))}}),settings.enabled&&(_this.enabled=settings.enabled),_this.loaded_=!0,_this}return inheritsLoose(AudioTrack,_Track),AudioTrack}(Track),VideoTrack=function(_Track){function VideoTrack(options){var _this;void 0===options&&(options={});var settings=mergeOptions(options,{kind:VideoTrackKind[options.kind]||""});_this=_Track.call(this,settings)||this;var selected=!1;return Object.defineProperty(assertThisInitialized(_this),"selected",{get:function(){return selected},set:function(newSelected){"boolean"==typeof newSelected&&newSelected!==selected&&(selected=newSelected,this.trigger("selectedchange"))}}),settings.selected&&(_this.selected=settings.selected),_this}return inheritsLoose(VideoTrack,_Track),VideoTrack}(Track),HTMLTrackElement=function(_EventTarget){function HTMLTrackElement(options){var _this,readyState;void 0===options&&(options={}),_this=_EventTarget.call(this)||this;var track=new TextTrack(options);return _this.kind=track.kind,_this.src=track.src,_this.srclang=track.language,_this.label=track.label,_this.default=track.default,Object.defineProperties(assertThisInitialized(_this),{readyState:{get:function(){return readyState}},track:{get:function(){return track}}}),readyState=0,track.addEventListener("loadeddata",(function(){readyState=2,_this.trigger({type:"load",target:assertThisInitialized(_this)})})),_this}return inheritsLoose(HTMLTrackElement,_EventTarget),HTMLTrackElement}(EventTarget);HTMLTrackElement.prototype.allowedEvents_={load:"load"},HTMLTrackElement.NONE=0,HTMLTrackElement.LOADING=1,HTMLTrackElement.LOADED=2,HTMLTrackElement.ERROR=3;var NORMAL={audio:{ListClass:AudioTrackList,TrackClass:AudioTrack,capitalName:"Audio"},video:{ListClass:VideoTrackList,TrackClass:VideoTrack,capitalName:"Video"},text:{ListClass:TextTrackList,TrackClass:TextTrack,capitalName:"Text"}};Object.keys(NORMAL).forEach((function(type){NORMAL[type].getterName=type+"Tracks",NORMAL[type].privateName=type+"Tracks_"}));var REMOTE={remoteText:{ListClass:TextTrackList,TrackClass:TextTrack,capitalName:"RemoteText",getterName:"remoteTextTracks",privateName:"remoteTextTracks_"},remoteTextEl:{ListClass:HtmlTrackElementList,TrackClass:HTMLTrackElement,capitalName:"RemoteTextTrackEls",getterName:"remoteTextTrackEls",privateName:"remoteTextTrackEls_"}},ALL=_extends_1({},NORMAL,REMOTE);REMOTE.names=Object.keys(REMOTE),NORMAL.names=Object.keys(NORMAL),ALL.names=[].concat(REMOTE.names).concat(NORMAL.names);var _objCreate=Object.create||function(){function F(){}return function(o){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return F.prototype=o,new F}}();function ParsingError(errorData,message){this.name="ParsingError",this.code=errorData.code,this.message=message||errorData.message}function parseTimeStamp(input){function computeSeconds(h,m,s,f){return 3600*(0|h)+60*(0|m)+(0|s)+(0|f)/1e3}var m=input.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return m?m[3]?computeSeconds(m[1],m[2],m[3].replace(":",""),m[4]):m[1]>59?computeSeconds(m[1],m[2],0,m[4]):computeSeconds(0,m[1],m[2],m[4]):null}function Settings(){this.values=_objCreate(null)}function parseOptions(input,callback,keyValueDelim,groupDelim){var groups=groupDelim?input.split(groupDelim):[input];for(var i in groups)if("string"==typeof groups[i]){var kv=groups[i].split(keyValueDelim);2===kv.length&&callback(kv[0],kv[1])}}function parseCue(input,cue,regionList){var oInput=input;function consumeTimeStamp(){var ts=parseTimeStamp(input);if(null===ts)throw new ParsingError(ParsingError.Errors.BadTimeStamp,"Malformed timestamp: "+oInput);return input=input.replace(/^[^\sa-zA-Z-]+/,""),ts}function skipWhitespace(){input=input.replace(/^\s+/,"")}if(skipWhitespace(),cue.startTime=consumeTimeStamp(),skipWhitespace(),"--\x3e"!==input.substr(0,3))throw new ParsingError(ParsingError.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+oInput);input=input.substr(3),skipWhitespace(),cue.endTime=consumeTimeStamp(),skipWhitespace(),function(input,cue){var settings=new Settings;parseOptions(input,(function(k,v){switch(k){case"region":for(var i=regionList.length-1;i>=0;i--)if(regionList[i].id===v){settings.set(k,regionList[i].region);break}break;case"vertical":settings.alt(k,v,["rl","lr"]);break;case"line":var vals=v.split(","),vals0=vals[0];settings.integer(k,vals0),settings.percent(k,vals0)&&settings.set("snapToLines",!1),settings.alt(k,vals0,["auto"]),2===vals.length&&settings.alt("lineAlign",vals[1],["start","center","end"]);break;case"position":vals=v.split(","),settings.percent(k,vals[0]),2===vals.length&&settings.alt("positionAlign",vals[1],["start","center","end"]);break;case"size":settings.percent(k,v);break;case"align":settings.alt(k,v,["start","center","end","left","right"])}}),/:/,/\s/),cue.region=settings.get("region",null),cue.vertical=settings.get("vertical","");try{cue.line=settings.get("line","auto")}catch(e){}cue.lineAlign=settings.get("lineAlign","start"),cue.snapToLines=settings.get("snapToLines",!0),cue.size=settings.get("size",100);try{cue.align=settings.get("align","center")}catch(e){cue.align=settings.get("align","middle")}try{cue.position=settings.get("position","auto")}catch(e){cue.position=settings.get("position",{start:0,left:0,center:50,middle:50,end:100,right:100},cue.align)}cue.positionAlign=settings.get("positionAlign",{start:"start",left:"start",center:"center",middle:"center",end:"end",right:"end"},cue.align)}(input,cue)}ParsingError.prototype=_objCreate(Error.prototype),ParsingError.prototype.constructor=ParsingError,ParsingError.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},Settings.prototype={set:function(k,v){this.get(k)||""===v||(this.values[k]=v)},get:function(k,dflt,defaultKey){return defaultKey?this.has(k)?this.values[k]:dflt[defaultKey]:this.has(k)?this.values[k]:dflt},has:function(k){return k in this.values},alt:function(k,v,a){for(var n=0;n<a.length;++n)if(v===a[n]){this.set(k,v);break}},integer:function(k,v){/^-?\d+$/.test(v)&&this.set(k,parseInt(v,10))},percent:function(k,v){return!!(v.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(v=parseFloat(v))>=0&&v<=100)&&(this.set(k,v),!0)}};var TEXTAREA_ELEMENT=document.createElement("textarea"),TAG_NAME={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},DEFAULT_COLOR_CLASS={white:"rgba(255,255,255,1)",lime:"rgba(0,255,0,1)",cyan:"rgba(0,255,255,1)",red:"rgba(255,0,0,1)",yellow:"rgba(255,255,0,1)",magenta:"rgba(255,0,255,1)",blue:"rgba(0,0,255,1)",black:"rgba(0,0,0,1)"},TAG_ANNOTATION={v:"title",lang:"lang"},NEEDS_PARENT={rt:"ruby"};function parseContent(window,input){function nextToken(){if(!input)return null;var result,m=input.match(/^([^<]*)(<[^>]*>?)?/);return result=m[1]?m[1]:m[2],input=input.substr(result.length),result}function shouldAdd(current,element){return!NEEDS_PARENT[element.localName]||NEEDS_PARENT[element.localName]===current.localName}function createElement(type,annotation){var tagName=TAG_NAME[type];if(!tagName)return null;var element=window.document.createElement(tagName),name=TAG_ANNOTATION[type];return name&&annotation&&(element[name]=annotation.trim()),element}for(var t,s,rootDiv=window.document.createElement("div"),current=rootDiv,tagStack=[];null!==(t=nextToken());)if("<"!==t[0])current.appendChild(window.document.createTextNode((s=t,TEXTAREA_ELEMENT.innerHTML=s,s=TEXTAREA_ELEMENT.textContent,TEXTAREA_ELEMENT.textContent="",s)));else{if("/"===t[1]){tagStack.length&&tagStack[tagStack.length-1]===t.substr(2).replace(">","")&&(tagStack.pop(),current=current.parentNode);continue}var node,ts=parseTimeStamp(t.substr(1,t.length-2));if(ts){node=window.document.createProcessingInstruction("timestamp",ts),current.appendChild(node);continue}var m=t.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!m)continue;if(!(node=createElement(m[1],m[3])))continue;if(!shouldAdd(current,node))continue;if(m[2]){var classes=m[2].split(".");classes.forEach((function(cl){var bgColor=/^bg_/.test(cl),colorName=bgColor?cl.slice(3):cl;if(DEFAULT_COLOR_CLASS.hasOwnProperty(colorName)){var propName=bgColor?"background-color":"color",propValue=DEFAULT_COLOR_CLASS[colorName];node.style[propName]=propValue}})),node.className=classes.join(" ")}tagStack.push(m[1]),current.appendChild(node),current=node}return rootDiv}var strongRTLRanges=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function isStrongRTLChar(charCode){for(var i=0;i<strongRTLRanges.length;i++){var currentRange=strongRTLRanges[i];if(charCode>=currentRange[0]&&charCode<=currentRange[1])return!0}return!1}function determineBidi(cueDiv){var nodeStack=[],text="";if(!cueDiv||!cueDiv.childNodes)return"ltr";function pushNodes(nodeStack,node){for(var i=node.childNodes.length-1;i>=0;i--)nodeStack.push(node.childNodes[i])}function nextTextNode(nodeStack){if(!nodeStack||!nodeStack.length)return null;var node=nodeStack.pop(),text=node.textContent||node.innerText;if(text){var m=text.match(/^.*(\n|\r)/);return m?(nodeStack.length=0,m[0]):text}return"ruby"===node.tagName?nextTextNode(nodeStack):node.childNodes?(pushNodes(nodeStack,node),nextTextNode(nodeStack)):void 0}for(pushNodes(nodeStack,cueDiv);text=nextTextNode(nodeStack);)for(var i=0;i<text.length;i++)if(isStrongRTLChar(text.charCodeAt(i)))return"rtl";return"ltr"}function StyleBox(){}function CueStyleBox(window,cue,styleOptions){StyleBox.call(this),this.cue=cue,this.cueDiv=parseContent(window,cue.text);var styles={color:"rgba(255, 255, 255, 1)",backgroundColor:"rgba(0, 0, 0, 0.8)",position:"relative",left:0,right:0,top:0,bottom:0,display:"inline",writingMode:""===cue.vertical?"horizontal-tb":"lr"===cue.vertical?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext"};this.applyStyles(styles,this.cueDiv),this.div=window.document.createElement("div"),styles={direction:determineBidi(this.cueDiv),writingMode:""===cue.vertical?"horizontal-tb":"lr"===cue.vertical?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext",textAlign:"middle"===cue.align?"center":cue.align,font:styleOptions.font,whiteSpace:"pre-line",position:"absolute"},this.applyStyles(styles),this.div.appendChild(this.cueDiv);var textPos=0;switch(cue.positionAlign){case"start":textPos=cue.position;break;case"center":textPos=cue.position-cue.size/2;break;case"end":textPos=cue.position-cue.size}""===cue.vertical?this.applyStyles({left:this.formatStyle(textPos,"%"),width:this.formatStyle(cue.size,"%")}):this.applyStyles({top:this.formatStyle(textPos,"%"),height:this.formatStyle(cue.size,"%")}),this.move=function(box){this.applyStyles({top:this.formatStyle(box.top,"px"),bottom:this.formatStyle(box.bottom,"px"),left:this.formatStyle(box.left,"px"),right:this.formatStyle(box.right,"px"),height:this.formatStyle(box.height,"px"),width:this.formatStyle(box.width,"px")})}}function BoxPosition(obj){var lh,height,width,top;if(obj.div){height=obj.div.offsetHeight,width=obj.div.offsetWidth,top=obj.div.offsetTop;var rects=(rects=obj.div.childNodes)&&(rects=rects[0])&&rects.getClientRects&&rects.getClientRects();obj=obj.div.getBoundingClientRect(),lh=rects?Math.max(rects[0]&&rects[0].height||0,obj.height/rects.length):0}this.left=obj.left,this.right=obj.right,this.top=obj.top||top,this.height=obj.height||height,this.bottom=obj.bottom||top+(obj.height||height),this.width=obj.width||width,this.lineHeight=void 0!==lh?lh:obj.lineHeight}function moveBoxToLinePosition(window,styleBox,containerBox,boxPositions){var boxPosition=new BoxPosition(styleBox),cue=styleBox.cue,linePos=function(cue){if("number"==typeof cue.line&&(cue.snapToLines||cue.line>=0&&cue.line<=100))return cue.line;if(!cue.track||!cue.track.textTrackList||!cue.track.textTrackList.mediaElement)return-1;for(var track=cue.track,trackList=track.textTrackList,count=0,i=0;i<trackList.length&&trackList[i]!==track;i++)"showing"===trackList[i].mode&&count++;return-1*++count}(cue),axis=[];if(cue.snapToLines){var size;switch(cue.vertical){case"":axis=["+y","-y"],size="height";break;case"rl":axis=["+x","-x"],size="width";break;case"lr":axis=["-x","+x"],size="width"}var step=boxPosition.lineHeight,position=step*Math.round(linePos),maxPosition=containerBox[size]+step,initialAxis=axis[0];Math.abs(position)>maxPosition&&(position=position<0?-1:1,position*=Math.ceil(maxPosition/step)*step),linePos<0&&(position+=""===cue.vertical?containerBox.height:containerBox.width,axis=axis.reverse()),boxPosition.move(initialAxis,position)}else{var calculatedPercentage=boxPosition.lineHeight/containerBox.height*100;switch(cue.lineAlign){case"center":linePos-=calculatedPercentage/2;break;case"end":linePos-=calculatedPercentage}switch(cue.vertical){case"":styleBox.applyStyles({top:styleBox.formatStyle(linePos,"%")});break;case"rl":styleBox.applyStyles({left:styleBox.formatStyle(linePos,"%")});break;case"lr":styleBox.applyStyles({right:styleBox.formatStyle(linePos,"%")})}axis=["+y","-x","+x","-y"],boxPosition=new BoxPosition(styleBox)}var bestPosition=function(b,axis){for(var bestPosition,specifiedPosition=new BoxPosition(b),percentage=1,i=0;i<axis.length;i++){for(;b.overlapsOppositeAxis(containerBox,axis[i])||b.within(containerBox)&&b.overlapsAny(boxPositions);)b.move(axis[i]);if(b.within(containerBox))return b;var p=b.intersectPercentage(containerBox);percentage>p&&(bestPosition=new BoxPosition(b),percentage=p),b=new BoxPosition(specifiedPosition)}return bestPosition||specifiedPosition}(boxPosition,axis);styleBox.move(bestPosition.toCSSCompatValues(containerBox))}function WebVTT$1(){}StyleBox.prototype.applyStyles=function(styles,div){for(var prop in div=div||this.div,styles)styles.hasOwnProperty(prop)&&(div.style[prop]=styles[prop])},StyleBox.prototype.formatStyle=function(val,unit){return 0===val?0:val+unit},CueStyleBox.prototype=_objCreate(StyleBox.prototype),CueStyleBox.prototype.constructor=CueStyleBox,BoxPosition.prototype.move=function(axis,toMove){switch(toMove=void 0!==toMove?toMove:this.lineHeight,axis){case"+x":this.left+=toMove,this.right+=toMove;break;case"-x":this.left-=toMove,this.right-=toMove;break;case"+y":this.top+=toMove,this.bottom+=toMove;break;case"-y":this.top-=toMove,this.bottom-=toMove}},BoxPosition.prototype.overlaps=function(b2){return this.left<b2.right&&this.right>b2.left&&this.top<b2.bottom&&this.bottom>b2.top},BoxPosition.prototype.overlapsAny=function(boxes){for(var i=0;i<boxes.length;i++)if(this.overlaps(boxes[i]))return!0;return!1},BoxPosition.prototype.within=function(container){return this.top>=container.top&&this.bottom<=container.bottom&&this.left>=container.left&&this.right<=container.right},BoxPosition.prototype.overlapsOppositeAxis=function(container,axis){switch(axis){case"+x":return this.left<container.left;case"-x":return this.right>container.right;case"+y":return this.top<container.top;case"-y":return this.bottom>container.bottom}},BoxPosition.prototype.intersectPercentage=function(b2){return Math.max(0,Math.min(this.right,b2.right)-Math.max(this.left,b2.left))*Math.max(0,Math.min(this.bottom,b2.bottom)-Math.max(this.top,b2.top))/(this.height*this.width)},BoxPosition.prototype.toCSSCompatValues=function(reference){return{top:this.top-reference.top,bottom:reference.bottom-this.bottom,left:this.left-reference.left,right:reference.right-this.right,height:this.height,width:this.width}},BoxPosition.getSimpleBoxPosition=function(obj){var height=obj.div?obj.div.offsetHeight:obj.tagName?obj.offsetHeight:0,width=obj.div?obj.div.offsetWidth:obj.tagName?obj.offsetWidth:0,top=obj.div?obj.div.offsetTop:obj.tagName?obj.offsetTop:0;return{left:(obj=obj.div?obj.div.getBoundingClientRect():obj.tagName?obj.getBoundingClientRect():obj).left,right:obj.right,top:obj.top||top,height:obj.height||height,bottom:obj.bottom||top+(obj.height||height),width:obj.width||width}},WebVTT$1.StringDecoder=function(){return{decode:function(data){if(!data)return"";if("string"!=typeof data)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(data))}}},WebVTT$1.convertCueToDOMTree=function(window,cuetext){return window&&cuetext?parseContent(window,cuetext):null},WebVTT$1.processCues=function(window,cues,overlay){if(!window||!cues||!overlay)return null;for(;overlay.firstChild;)overlay.removeChild(overlay.firstChild);var paddedOverlay=window.document.createElement("div");if(paddedOverlay.style.position="absolute",paddedOverlay.style.left="0",paddedOverlay.style.right="0",paddedOverlay.style.top="0",paddedOverlay.style.bottom="0",paddedOverlay.style.margin="1.5%",overlay.appendChild(paddedOverlay),function(cues){for(var i=0;i<cues.length;i++)if(cues[i].hasBeenReset||!cues[i].displayState)return!0;return!1}(cues)){var boxPositions=[],containerBox=BoxPosition.getSimpleBoxPosition(paddedOverlay),styleOptions={font:Math.round(.05*containerBox.height*100)/100+"px sans-serif"};!function(){for(var styleBox,cue,i=0;i<cues.length;i++)cue=cues[i],styleBox=new CueStyleBox(window,cue,styleOptions),paddedOverlay.appendChild(styleBox.div),moveBoxToLinePosition(0,styleBox,containerBox,boxPositions),cue.displayState=styleBox.div,boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox))}()}else for(var i=0;i<cues.length;i++)paddedOverlay.appendChild(cues[i].displayState)},WebVTT$1.Parser=function(window,vttjs,decoder){decoder||(decoder=vttjs,vttjs={}),vttjs||(vttjs={}),this.window=window,this.vttjs=vttjs,this.state="INITIAL",this.buffer="",this.decoder=decoder||new TextDecoder("utf8"),this.regionList=[]},WebVTT$1.Parser.prototype={reportOrThrowError:function(e){if(!(e instanceof ParsingError))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(data){var self=this;function collectNextLine(){for(var buffer=self.buffer,pos=0;pos<buffer.length&&"\r"!==buffer[pos]&&"\n"!==buffer[pos];)++pos;var line=buffer.substr(0,pos);return"\r"===buffer[pos]&&++pos,"\n"===buffer[pos]&&++pos,self.buffer=buffer.substr(pos),line}function parseHeader(input){input.match(/X-TIMESTAMP-MAP/)?parseOptions(input,(function(k,v){"X-TIMESTAMP-MAP"===k&&function(input){var settings=new Settings;parseOptions(input,(function(k,v){switch(k){case"MPEGT":settings.integer(k+"S",v);break;case"LOCA":settings.set(k+"L",parseTimeStamp(v))}}),/[^\d]:/,/,/),self.ontimestampmap&&self.ontimestampmap({MPEGTS:settings.get("MPEGTS"),LOCAL:settings.get("LOCAL")})}(v)}),/=/):parseOptions(input,(function(k,v){"Region"===k&&function(input){var settings=new Settings;if(parseOptions(input,(function(k,v){switch(k){case"id":settings.set(k,v);break;case"width":settings.percent(k,v);break;case"lines":settings.integer(k,v);break;case"regionanchor":case"viewportanchor":var xy=v.split(",");if(2!==xy.length)break;var anchor=new Settings;if(anchor.percent("x",xy[0]),anchor.percent("y",xy[1]),!anchor.has("x")||!anchor.has("y"))break;settings.set(k+"X",anchor.get("x")),settings.set(k+"Y",anchor.get("y"));break;case"scroll":settings.alt(k,v,["up"])}}),/=/,/\s/),settings.has("id")){var region=new(self.vttjs.VTTRegion||self.window.VTTRegion);region.width=settings.get("width",100),region.lines=settings.get("lines",3),region.regionAnchorX=settings.get("regionanchorX",0),region.regionAnchorY=settings.get("regionanchorY",100),region.viewportAnchorX=settings.get("viewportanchorX",0),region.viewportAnchorY=settings.get("viewportanchorY",100),region.scroll=settings.get("scroll",""),self.onregion&&self.onregion(region),self.regionList.push({id:settings.get("id"),region:region})}}(v)}),/:/)}data&&(self.buffer+=self.decoder.decode(data,{stream:!0}));try{var line;if("INITIAL"===self.state){if(!/\r\n|\n/.test(self.buffer))return this;var m=(line=collectNextLine()).match(/^WEBVTT([ \t].*)?$/);if(!m||!m[0])throw new ParsingError(ParsingError.Errors.BadSignature);self.state="HEADER"}for(var alreadyCollectedLine=!1;self.buffer;){if(!/\r\n|\n/.test(self.buffer))return this;switch(alreadyCollectedLine?alreadyCollectedLine=!1:line=collectNextLine(),self.state){case"HEADER":/:/.test(line)?parseHeader(line):line||(self.state="ID");continue;case"NOTE":line||(self.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(line)){self.state="NOTE";break}if(!line)continue;self.cue=new(self.vttjs.VTTCue||self.window.VTTCue)(0,0,"");try{self.cue.align="center"}catch(e){self.cue.align="middle"}if(self.state="CUE",-1===line.indexOf("--\x3e")){self.cue.id=line;continue}case"CUE":try{parseCue(line,self.cue,self.regionList)}catch(e){self.reportOrThrowError(e),self.cue=null,self.state="BADCUE";continue}self.state="CUETEXT";continue;case"CUETEXT":var hasSubstring=-1!==line.indexOf("--\x3e");if(!line||hasSubstring&&(alreadyCollectedLine=!0)){self.oncue&&self.oncue(self.cue),self.cue=null,self.state="ID";continue}self.cue.text&&(self.cue.text+="\n"),self.cue.text+=line.replace(/\u2028/g,"\n").replace(/u2029/g,"\n");continue;case"BADCUE":line||(self.state="ID");continue}}}catch(e){self.reportOrThrowError(e),"CUETEXT"===self.state&&self.cue&&self.oncue&&self.oncue(self.cue),self.cue=null,self.state="INITIAL"===self.state?"BADWEBVTT":"BADCUE"}return this},flush:function(){try{if(this.buffer+=this.decoder.decode(),(this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state)throw new ParsingError(ParsingError.Errors.BadSignature)}catch(e){this.reportOrThrowError(e)}return this.onflush&&this.onflush(),this}};var vtt=WebVTT$1,directionSetting={"":1,lr:1,rl:1},alignSetting={start:1,center:1,end:1,left:1,right:1,auto:1,"line-left":1,"line-right":1};function findAlignSetting(value){return"string"==typeof value&&!!alignSetting[value.toLowerCase()]&&value.toLowerCase()}function VTTCue(startTime,endTime,text){this.hasBeenReset=!1;var _id="",_pauseOnExit=!1,_startTime=startTime,_endTime=endTime,_text=text,_region=null,_vertical="",_snapToLines=!0,_line="auto",_lineAlign="start",_position="auto",_positionAlign="auto",_size=100,_align="center";Object.defineProperties(this,{id:{enumerable:!0,get:function(){return _id},set:function(value){_id=""+value}},pauseOnExit:{enumerable:!0,get:function(){return _pauseOnExit},set:function(value){_pauseOnExit=!!value}},startTime:{enumerable:!0,get:function(){return _startTime},set:function(value){if("number"!=typeof value)throw new TypeError("Start time must be set to a number.");_startTime=value,this.hasBeenReset=!0}},endTime:{enumerable:!0,get:function(){return _endTime},set:function(value){if("number"!=typeof value)throw new TypeError("End time must be set to a number.");_endTime=value,this.hasBeenReset=!0}},text:{enumerable:!0,get:function(){return _text},set:function(value){_text=""+value,this.hasBeenReset=!0}},region:{enumerable:!0,get:function(){return _region},set:function(value){_region=value,this.hasBeenReset=!0}},vertical:{enumerable:!0,get:function(){return _vertical},set:function(value){var setting=function(value){return"string"==typeof value&&!!directionSetting[value.toLowerCase()]&&value.toLowerCase()}(value);if(!1===setting)throw new SyntaxError("Vertical: an invalid or illegal direction string was specified.");_vertical=setting,this.hasBeenReset=!0}},snapToLines:{enumerable:!0,get:function(){return _snapToLines},set:function(value){_snapToLines=!!value,this.hasBeenReset=!0}},line:{enumerable:!0,get:function(){return _line},set:function(value){if("number"!=typeof value&&"auto"!==value)throw new SyntaxError("Line: an invalid number or illegal string was specified.");_line=value,this.hasBeenReset=!0}},lineAlign:{enumerable:!0,get:function(){return _lineAlign},set:function(value){var setting=findAlignSetting(value);setting?(_lineAlign=setting,this.hasBeenReset=!0):console.warn("lineAlign: an invalid or illegal string was specified.")}},position:{enumerable:!0,get:function(){return _position},set:function(value){if(value<0||value>100)throw new Error("Position must be between 0 and 100.");_position=value,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return _positionAlign},set:function(value){var setting=findAlignSetting(value);setting?(_positionAlign=setting,this.hasBeenReset=!0):console.warn("positionAlign: an invalid or illegal string was specified.")}},size:{enumerable:!0,get:function(){return _size},set:function(value){if(value<0||value>100)throw new Error("Size must be between 0 and 100.");_size=value,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return _align},set:function(value){var setting=findAlignSetting(value);if(!setting)throw new SyntaxError("align: an invalid or illegal alignment string was specified.");_align=setting,this.hasBeenReset=!0}}}),this.displayState=void 0}VTTCue.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)};var vttcue=VTTCue,scrollSetting={"":!0,up:!0};function isValidPercentValue(value){return"number"==typeof value&&value>=0&&value<=100}var vttregion=function(){var _width=100,_lines=3,_regionAnchorX=0,_regionAnchorY=100,_viewportAnchorX=0,_viewportAnchorY=100,_scroll="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return _width},set:function(value){if(!isValidPercentValue(value))throw new Error("Width must be between 0 and 100.");_width=value}},lines:{enumerable:!0,get:function(){return _lines},set:function(value){if("number"!=typeof value)throw new TypeError("Lines must be set to a number.");_lines=value}},regionAnchorY:{enumerable:!0,get:function(){return _regionAnchorY},set:function(value){if(!isValidPercentValue(value))throw new Error("RegionAnchorX must be between 0 and 100.");_regionAnchorY=value}},regionAnchorX:{enumerable:!0,get:function(){return _regionAnchorX},set:function(value){if(!isValidPercentValue(value))throw new Error("RegionAnchorY must be between 0 and 100.");_regionAnchorX=value}},viewportAnchorY:{enumerable:!0,get:function(){return _viewportAnchorY},set:function(value){if(!isValidPercentValue(value))throw new Error("ViewportAnchorY must be between 0 and 100.");_viewportAnchorY=value}},viewportAnchorX:{enumerable:!0,get:function(){return _viewportAnchorX},set:function(value){if(!isValidPercentValue(value))throw new Error("ViewportAnchorX must be between 0 and 100.");_viewportAnchorX=value}},scroll:{enumerable:!0,get:function(){return _scroll},set:function(value){var setting=function(value){return"string"==typeof value&&!!scrollSetting[value.toLowerCase()]&&value.toLowerCase()}(value);!1===setting?console.warn("Scroll: an invalid or illegal string was specified."):_scroll=setting}}})},browserIndex=createCommonjsModule((function(module){var vttjs=module.exports={WebVTT:vtt,VTTCue:vttcue,VTTRegion:vttregion};window$3.vttjs=vttjs,window$3.WebVTT=vttjs.WebVTT;var cueShim=vttjs.VTTCue,regionShim=vttjs.VTTRegion,nativeVTTCue=window$3.VTTCue,nativeVTTRegion=window$3.VTTRegion;vttjs.shim=function(){window$3.VTTCue=cueShim,window$3.VTTRegion=regionShim},vttjs.restore=function(){window$3.VTTCue=nativeVTTCue,window$3.VTTRegion=nativeVTTRegion},window$3.VTTCue||vttjs.shim()}));browserIndex.WebVTT,browserIndex.VTTCue,browserIndex.VTTRegion;var Tech=function(_Component){function Tech(options,ready){var _this;return void 0===options&&(options={}),void 0===ready&&(ready=function(){}),options.reportTouchActivity=!1,(_this=_Component.call(this,null,options,ready)||this).hasStarted_=!1,_this.on("playing",(function(){this.hasStarted_=!0})),_this.on("loadstart",(function(){this.hasStarted_=!1})),ALL.names.forEach((function(name){var props=ALL[name];options&&options[props.getterName]&&(_this[props.privateName]=options[props.getterName])})),_this.featuresProgressEvents||_this.manualProgressOn(),_this.featuresTimeupdateEvents||_this.manualTimeUpdatesOn(),["Text","Audio","Video"].forEach((function(track){!1===options["native"+track+"Tracks"]&&(_this["featuresNative"+track+"Tracks"]=!1)})),!1===options.nativeCaptions||!1===options.nativeTextTracks?_this.featuresNativeTextTracks=!1:!0!==options.nativeCaptions&&!0!==options.nativeTextTracks||(_this.featuresNativeTextTracks=!0),_this.featuresNativeTextTracks||_this.emulateTextTracks(),_this.preloadTextTracks=!1!==options.preloadTextTracks,_this.autoRemoteTextTracks_=new ALL.text.ListClass,_this.initTrackListeners(),options.nativeControlsForTouch||_this.emitTapEvents(),_this.constructor&&(_this.name_=_this.constructor.name||"Unknown Tech"),_this}inheritsLoose(Tech,_Component);var _proto=Tech.prototype;return _proto.triggerSourceset=function(src){var _this2=this;this.isReady_||this.one("ready",(function(){return _this2.setTimeout((function(){return _this2.triggerSourceset(src)}),1)})),this.trigger({src:src,type:"sourceset"})},_proto.manualProgressOn=function(){this.on("durationchange",this.onDurationChange),this.manualProgress=!0,this.one("ready",this.trackProgress)},_proto.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off("durationchange",this.onDurationChange)},_proto.trackProgress=function(event){this.stopTrackingProgress(),this.progressInterval=this.setInterval(bind(this,(function(){var numBufferedPercent=this.bufferedPercent();this.bufferedPercent_!==numBufferedPercent&&this.trigger("progress"),this.bufferedPercent_=numBufferedPercent,1===numBufferedPercent&&this.stopTrackingProgress()})),500)},_proto.onDurationChange=function(event){this.duration_=this.duration()},_proto.buffered=function(){return createTimeRanges(0,0)},_proto.bufferedPercent=function(){return bufferedPercent(this.buffered(),this.duration_)},_proto.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)},_proto.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on("play",this.trackCurrentTime),this.on("pause",this.stopTrackingCurrentTime)},_proto.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off("play",this.trackCurrentTime),this.off("pause",this.stopTrackingCurrentTime)},_proto.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval((function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})}),250)},_proto.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},_proto.dispose=function(){this.clearTracks(NORMAL.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),_Component.prototype.dispose.call(this)},_proto.clearTracks=function(types){var _this3=this;(types=[].concat(types)).forEach((function(type){for(var list=_this3[type+"Tracks"]()||[],i=list.length;i--;){var track=list[i];"text"===type&&_this3.removeRemoteTextTrack(track),list.removeTrack(track)}}))},_proto.cleanupAutoTextTracks=function(){for(var list=this.autoRemoteTextTracks_||[],i=list.length;i--;){var track=list[i];this.removeRemoteTextTrack(track)}},_proto.reset=function(){},_proto.error=function(err){return void 0!==err&&(this.error_=new MediaError(err),this.trigger("error")),this.error_},_proto.played=function(){return this.hasStarted_?createTimeRanges(0,0):createTimeRanges()},_proto.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},_proto.initTrackListeners=function(){var _this4=this;NORMAL.names.forEach((function(name){var props=NORMAL[name],trackListChanges=function(){_this4.trigger(name+"trackchange")},tracks=_this4[props.getterName]();tracks.addEventListener("removetrack",trackListChanges),tracks.addEventListener("addtrack",trackListChanges),_this4.on("dispose",(function(){tracks.removeEventListener("removetrack",trackListChanges),tracks.removeEventListener("addtrack",trackListChanges)}))}))},_proto.addWebVttScript_=function(){var _this5=this;if(!window$3.WebVTT)if(document.body.contains(this.el())){if(!this.options_["vtt.js"]&&isPlain(browserIndex)&&Object.keys(browserIndex).length>0)return void this.trigger("vttjsloaded");var script=document.createElement("script");script.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js",script.onload=function(){_this5.trigger("vttjsloaded")},script.onerror=function(){_this5.trigger("vttjserror")},this.on("dispose",(function(){script.onload=null,script.onerror=null})),window$3.WebVTT=!0,this.el().parentNode.appendChild(script)}else this.ready(this.addWebVttScript_)},_proto.emulateTextTracks=function(){var _this6=this,tracks=this.textTracks(),remoteTracks=this.remoteTextTracks(),handleAddTrack=function(e){return tracks.addTrack(e.track)},handleRemoveTrack=function(e){return tracks.removeTrack(e.track)};remoteTracks.on("addtrack",handleAddTrack),remoteTracks.on("removetrack",handleRemoveTrack),this.addWebVttScript_();var updateDisplay=function(){return _this6.trigger("texttrackchange")},textTracksChanges=function(){updateDisplay();for(var i=0;i<tracks.length;i++){var track=tracks[i];track.removeEventListener("cuechange",updateDisplay),"showing"===track.mode&&track.addEventListener("cuechange",updateDisplay)}};textTracksChanges(),tracks.addEventListener("change",textTracksChanges),tracks.addEventListener("addtrack",textTracksChanges),tracks.addEventListener("removetrack",textTracksChanges),this.on("dispose",(function(){remoteTracks.off("addtrack",handleAddTrack),remoteTracks.off("removetrack",handleRemoveTrack),tracks.removeEventListener("change",textTracksChanges),tracks.removeEventListener("addtrack",textTracksChanges),tracks.removeEventListener("removetrack",textTracksChanges);for(var i=0;i<tracks.length;i++)tracks[i].removeEventListener("cuechange",updateDisplay)}))},_proto.addTextTrack=function(kind,label,language){if(!kind)throw new Error("TextTrack kind is required but was not provided");return function(self,kind,label,language,options){void 0===options&&(options={});var tracks=self.textTracks();options.kind=kind,label&&(options.label=label),language&&(options.language=language),options.tech=self;var track=new ALL.text.TrackClass(options);return tracks.addTrack(track),track}(this,kind,label,language)},_proto.createRemoteTextTrack=function(options){var track=mergeOptions(options,{tech:this});return new REMOTE.remoteTextEl.TrackClass(track)},_proto.addRemoteTextTrack=function(options,manualCleanup){var _this7=this;void 0===options&&(options={});var htmlTrackElement=this.createRemoteTextTrack(options);return!0!==manualCleanup&&!1!==manualCleanup&&(log.warn('Calling addRemoteTextTrack without explicitly setting the "manualCleanup" parameter to `true` is deprecated and default to `false` in future version of video.js'),manualCleanup=!0),this.remoteTextTrackEls().addTrackElement_(htmlTrackElement),this.remoteTextTracks().addTrack(htmlTrackElement.track),!0!==manualCleanup&&this.ready((function(){return _this7.autoRemoteTextTracks_.addTrack(htmlTrackElement.track)})),htmlTrackElement},_proto.removeRemoteTextTrack=function(track){var trackElement=this.remoteTextTrackEls().getTrackElementByTrack_(track);this.remoteTextTrackEls().removeTrackElement_(trackElement),this.remoteTextTracks().removeTrack(track),this.autoRemoteTextTracks_.removeTrack(track)},_proto.getVideoPlaybackQuality=function(){return{}},_proto.requestPictureInPicture=function(){var PromiseClass=this.options_.Promise||window$3.Promise;if(PromiseClass)return PromiseClass.reject()},_proto.setPoster=function(){},_proto.playsinline=function(){},_proto.setPlaysinline=function(){},_proto.overrideNativeAudioTracks=function(){},_proto.overrideNativeVideoTracks=function(){},_proto.canPlayType=function(){return""},Tech.canPlayType=function(){return""},Tech.canPlaySource=function(srcObj,options){return Tech.canPlayType(srcObj.type)},Tech.isTech=function(component){return component.prototype instanceof Tech||component instanceof Tech||component===Tech},Tech.registerTech=function(name,tech){if(Tech.techs_||(Tech.techs_={}),!Tech.isTech(tech))throw new Error("Tech "+name+" must be a Tech");if(!Tech.canPlayType)throw new Error("Techs must have a static canPlayType method on them");if(!Tech.canPlaySource)throw new Error("Techs must have a static canPlaySource method on them");return name=toTitleCase(name),Tech.techs_[name]=tech,Tech.techs_[toLowerCase(name)]=tech,"Tech"!==name&&Tech.defaultTechOrder_.push(name),tech},Tech.getTech=function(name){if(name)return Tech.techs_&&Tech.techs_[name]?Tech.techs_[name]:(name=toTitleCase(name),window$3&&window$3.videojs&&window$3.videojs[name]?(log.warn("The "+name+" tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)"),window$3.videojs[name]):void 0)},Tech}(Component);ALL.names.forEach((function(name){var props=ALL[name];Tech.prototype[props.getterName]=function(){return this[props.privateName]=this[props.privateName]||new props.ListClass,this[props.privateName]}})),Tech.prototype.featuresVolumeControl=!0,Tech.prototype.featuresMuteControl=!0,Tech.prototype.featuresFullscreenResize=!1,Tech.prototype.featuresPlaybackRate=!1,Tech.prototype.featuresProgressEvents=!1,Tech.prototype.featuresSourceset=!1,Tech.prototype.featuresTimeupdateEvents=!1,Tech.prototype.featuresNativeTextTracks=!1,Tech.withSourceHandlers=function(_Tech){_Tech.registerSourceHandler=function(handler,index){var handlers=_Tech.sourceHandlers;handlers||(handlers=_Tech.sourceHandlers=[]),void 0===index&&(index=handlers.length),handlers.splice(index,0,handler)},_Tech.canPlayType=function(type){for(var can,handlers=_Tech.sourceHandlers||[],i=0;i<handlers.length;i++)if(can=handlers[i].canPlayType(type))return can;return""},_Tech.selectSourceHandler=function(source,options){for(var handlers=_Tech.sourceHandlers||[],i=0;i<handlers.length;i++)if(handlers[i].canHandleSource(source,options))return handlers[i];return null},_Tech.canPlaySource=function(srcObj,options){var sh=_Tech.selectSourceHandler(srcObj,options);return sh?sh.canHandleSource(srcObj,options):""},["seekable","seeking","duration"].forEach((function(fnName){var originalFn=this[fnName];"function"==typeof originalFn&&(this[fnName]=function(){return this.sourceHandler_&&this.sourceHandler_[fnName]?this.sourceHandler_[fnName].apply(this.sourceHandler_,arguments):originalFn.apply(this,arguments)})}),_Tech.prototype),_Tech.prototype.setSource=function(source){var sh=_Tech.selectSourceHandler(source,this.options_);sh||(_Tech.nativeSourceHandler?sh=_Tech.nativeSourceHandler:log.error("No source handler found for the current source.")),this.disposeSourceHandler(),this.off("dispose",this.disposeSourceHandler),sh!==_Tech.nativeSourceHandler&&(this.currentSource_=source),this.sourceHandler_=sh.handleSource(source,this,this.options_),this.one("dispose",this.disposeSourceHandler)},_Tech.prototype.disposeSourceHandler=function(){this.currentSource_&&(this.clearTracks(["audio","video"]),this.currentSource_=null),this.cleanupAutoTextTracks(),this.sourceHandler_&&(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),this.sourceHandler_=null)}},Component.registerComponent("Tech",Tech),Tech.registerTech("Tech",Tech),Tech.defaultTechOrder_=[];var middlewares={},middlewareInstances={},TERMINATOR={};function setSource(player,src,next){player.setTimeout((function(){return setSourceHelper(src,middlewares[src.type],next,player)}),1)}function mediate(middleware,tech,method,arg){void 0===arg&&(arg=null);var callMethod="call"+toTitleCase(method),middlewareValue=middleware.reduce(middlewareIterator(callMethod),arg),terminated=middlewareValue===TERMINATOR,returnValue=terminated?null:tech[method](middlewareValue);return function(mws,method,value,terminated){for(var i=mws.length-1;i>=0;i--){var mw=mws[i];mw[method]&&mw[method](terminated,value)}}(middleware,method,returnValue,terminated),returnValue}var allowedGetters={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1},allowedSetters={setCurrentTime:1,setMuted:1,setVolume:1},allowedMediators={play:1,pause:1};function middlewareIterator(method){return function(value,mw){return value===TERMINATOR?TERMINATOR:mw[method]?mw[method](value):value}}function setSourceHelper(src,middleware,next,player,acc,lastRun){void 0===src&&(src={}),void 0===middleware&&(middleware=[]),void 0===acc&&(acc=[]),void 0===lastRun&&(lastRun=!1);var _middleware=middleware,mwFactory=_middleware[0],mwrest=_middleware.slice(1);if("string"==typeof mwFactory)setSourceHelper(src,middlewares[mwFactory],next,player,acc,lastRun);else if(mwFactory){var mw=function(player,mwFactory){var mws=middlewareInstances[player.id()],mw=null;if(null==mws)return mw=mwFactory(player),middlewareInstances[player.id()]=[[mwFactory,mw]],mw;for(var i=0;i<mws.length;i++){var _mws$i=mws[i],mwf=_mws$i[0],mwi=_mws$i[1];mwf===mwFactory&&(mw=mwi)}return null===mw&&(mw=mwFactory(player),mws.push([mwFactory,mw])),mw}(player,mwFactory);if(!mw.setSource)return acc.push(mw),setSourceHelper(src,mwrest,next,player,acc,lastRun);mw.setSource(assign({},src),(function(err,_src){if(err)return setSourceHelper(src,mwrest,next,player,acc,lastRun);acc.push(mw),setSourceHelper(_src,src.type===_src.type?mwrest:middlewares[_src.type],next,player,acc,lastRun)}))}else mwrest.length?setSourceHelper(src,mwrest,next,player,acc,lastRun):lastRun?next(src,acc):setSourceHelper(src,middlewares["*"],next,player,acc,!0)}var MimetypesKind={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",oga:"audio/ogg",m3u8:"application/x-mpegURL",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},getMimetype=function(src){void 0===src&&(src="");var ext=getFileExtension(src);return MimetypesKind[ext.toLowerCase()]||""},filterSource=function filterSource(src){if(Array.isArray(src)){var newsrc=[];src.forEach((function(srcobj){srcobj=filterSource(srcobj),Array.isArray(srcobj)?newsrc=newsrc.concat(srcobj):isObject(srcobj)&&newsrc.push(srcobj)})),src=newsrc}else src="string"==typeof src&&src.trim()?[fixSource({src:src})]:isObject(src)&&"string"==typeof src.src&&src.src&&src.src.trim()?[fixSource(src)]:[];return src};function fixSource(src){if(!src.type){var mimetype=getMimetype(src.src);mimetype&&(src.type=mimetype)}return src}var MediaLoader=function(_Component){function MediaLoader(player,options,ready){var _this,options_=mergeOptions({createEl:!1},options);if(_this=_Component.call(this,player,options_,ready)||this,options.playerOptions.sources&&0!==options.playerOptions.sources.length)player.src(options.playerOptions.sources);else for(var i=0,j=options.playerOptions.techOrder;i<j.length;i++){var techName=toTitleCase(j[i]),tech=Tech.getTech(techName);if(techName||(tech=Component.getComponent(techName)),tech&&tech.isSupported()){player.loadTech_(techName);break}}return _this}return inheritsLoose(MediaLoader,_Component),MediaLoader}(Component);Component.registerComponent("MediaLoader",MediaLoader);var ClickableComponent=function(_Component){function ClickableComponent(player,options){var _this;return(_this=_Component.call(this,player,options)||this).emitTapEvents(),_this.enable(),_this}inheritsLoose(ClickableComponent,_Component);var _proto=ClickableComponent.prototype;return _proto.createEl=function(tag,props,attributes){void 0===tag&&(tag="div"),void 0===props&&(props={}),void 0===attributes&&(attributes={}),props=assign({innerHTML:'<span aria-hidden="true" class="vjs-icon-placeholder"></span>',className:this.buildCSSClass(),tabIndex:0},props),"button"===tag&&log.error("Creating a ClickableComponent with an HTML element of "+tag+" is not supported; use a Button instead."),attributes=assign({role:"button"},attributes),this.tabIndex_=props.tabIndex;var el=_Component.prototype.createEl.call(this,tag,props,attributes);return this.createControlTextEl(el),el},_proto.dispose=function(){this.controlTextEl_=null,_Component.prototype.dispose.call(this)},_proto.createControlTextEl=function(el){return this.controlTextEl_=createEl("span",{className:"vjs-control-text"},{"aria-live":"polite"}),el&&el.appendChild(this.controlTextEl_),this.controlText(this.controlText_,el),this.controlTextEl_},_proto.controlText=function(text,el){if(void 0===el&&(el=this.el()),void 0===text)return this.controlText_||"Need Text";var localizedText=this.localize(text);this.controlText_=text,textContent(this.controlTextEl_,localizedText),this.nonIconControl||el.setAttribute("title",localizedText)},_proto.buildCSSClass=function(){return"vjs-control vjs-button "+_Component.prototype.buildCSSClass.call(this)},_proto.enable=function(){this.enabled_||(this.enabled_=!0,this.removeClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","false"),void 0!==this.tabIndex_&&this.el_.setAttribute("tabIndex",this.tabIndex_),this.on(["tap","click"],this.handleClick),this.on("keydown",this.handleKeyDown))},_proto.disable=function(){this.enabled_=!1,this.addClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","true"),void 0!==this.tabIndex_&&this.el_.removeAttribute("tabIndex"),this.off("mouseover",this.handleMouseOver),this.off("mouseout",this.handleMouseOut),this.off(["tap","click"],this.handleClick),this.off("keydown",this.handleKeyDown)},_proto.handleClick=function(event){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments)},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Space")||keycode.isEventKey(event,"Enter")?(event.preventDefault(),event.stopPropagation(),this.trigger("click")):_Component.prototype.handleKeyDown.call(this,event)},ClickableComponent}(Component);Component.registerComponent("ClickableComponent",ClickableComponent);var PosterImage=function(_ClickableComponent){function PosterImage(player,options){var _this;return(_this=_ClickableComponent.call(this,player,options)||this).update(),player.on("posterchange",bind(assertThisInitialized(_this),_this.update)),_this}inheritsLoose(PosterImage,_ClickableComponent);var _proto=PosterImage.prototype;return _proto.dispose=function(){this.player().off("posterchange",this.update),_ClickableComponent.prototype.dispose.call(this)},_proto.createEl=function(){return createEl("div",{className:"vjs-poster",tabIndex:-1})},_proto.update=function(event){var url=this.player().poster();this.setSrc(url),url?this.show():this.hide()},_proto.setSrc=function(url){var backgroundImage="";url&&(backgroundImage='url("'+url+'")'),this.el_.style.backgroundImage=backgroundImage},_proto.handleClick=function(event){if(this.player_.controls()){var sourceIsEncrypted=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0;!this.player_.tech(!0)||(IE_VERSION||IS_EDGE)&&sourceIsEncrypted||this.player_.tech(!0).focus(),this.player_.paused()?silencePromise(this.player_.play()):this.player_.pause()}},PosterImage}(ClickableComponent);Component.registerComponent("PosterImage",PosterImage);var fontMap={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'};function constructColor(color,opacity){var hex;if(4===color.length)hex=color[1]+color[1]+color[2]+color[2]+color[3]+color[3];else{if(7!==color.length)throw new Error("Invalid color code provided, "+color+"; must be formatted as e.g. #f0e or #f604e2.");hex=color.slice(1)}return"rgba("+parseInt(hex.slice(0,2),16)+","+parseInt(hex.slice(2,4),16)+","+parseInt(hex.slice(4,6),16)+","+opacity+")"}function tryUpdateStyle(el,style,rule){try{el.style[style]=rule}catch(e){return}}var TextTrackDisplay=function(_Component){function TextTrackDisplay(player,options,ready){var _this;_this=_Component.call(this,player,options,ready)||this;var updateDisplayHandler=bind(assertThisInitialized(_this),_this.updateDisplay);return player.on("loadstart",bind(assertThisInitialized(_this),_this.toggleDisplay)),player.on("texttrackchange",updateDisplayHandler),player.on("loadedmetadata",bind(assertThisInitialized(_this),_this.preselectTrack)),player.ready(bind(assertThisInitialized(_this),(function(){if(player.tech_&&player.tech_.featuresNativeTextTracks)this.hide();else{player.on("fullscreenchange",updateDisplayHandler),player.on("playerresize",updateDisplayHandler),window$3.addEventListener("orientationchange",updateDisplayHandler),player.on("dispose",(function(){return window$3.removeEventListener("orientationchange",updateDisplayHandler)}));for(var tracks=this.options_.playerOptions.tracks||[],i=0;i<tracks.length;i++)this.player_.addRemoteTextTrack(tracks[i],!0);this.preselectTrack()}}))),_this}inheritsLoose(TextTrackDisplay,_Component);var _proto=TextTrackDisplay.prototype;return _proto.preselectTrack=function(){for(var firstDesc,firstCaptions,preferredTrack,modes={captions:1,subtitles:1},trackList=this.player_.textTracks(),userPref=this.player_.cache_.selectedLanguage,i=0;i<trackList.length;i++){var track=trackList[i];userPref&&userPref.enabled&&userPref.language&&userPref.language===track.language&&track.kind in modes?track.kind===userPref.kind?preferredTrack=track:preferredTrack||(preferredTrack=track):userPref&&!userPref.enabled?(preferredTrack=null,firstDesc=null,firstCaptions=null):track.default&&("descriptions"!==track.kind||firstDesc?track.kind in modes&&!firstCaptions&&(firstCaptions=track):firstDesc=track)}preferredTrack?preferredTrack.mode="showing":firstCaptions?firstCaptions.mode="showing":firstDesc&&(firstDesc.mode="showing")},_proto.toggleDisplay=function(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show()},_proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-text-track-display"},{"aria-live":"off","aria-atomic":"true"})},_proto.clearDisplay=function(){"function"==typeof window$3.WebVTT&&window$3.WebVTT.processCues(window$3,[],this.el_)},_proto.updateDisplay=function(){var tracks=this.player_.textTracks(),allowMultipleShowingTracks=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),allowMultipleShowingTracks){for(var showingTracks=[],_i=0;_i<tracks.length;++_i){var track=tracks[_i];"showing"===track.mode&&showingTracks.push(track)}this.updateForTrack(showingTracks)}else{for(var descriptionsTrack=null,captionsSubtitlesTrack=null,i=tracks.length;i--;){var _track=tracks[i];"showing"===_track.mode&&("descriptions"===_track.kind?descriptionsTrack=_track:captionsSubtitlesTrack=_track)}captionsSubtitlesTrack?("off"!==this.getAttribute("aria-live")&&this.setAttribute("aria-live","off"),this.updateForTrack(captionsSubtitlesTrack)):descriptionsTrack&&("assertive"!==this.getAttribute("aria-live")&&this.setAttribute("aria-live","assertive"),this.updateForTrack(descriptionsTrack))}},_proto.updateDisplayState=function(track){for(var overrides=this.player_.textTrackSettings.getValues(),cues=track.activeCues,i=cues.length;i--;){var cue=cues[i];if(cue){var cueDiv=cue.displayState;if(overrides.color&&(cueDiv.firstChild.style.color=overrides.color),overrides.textOpacity&&tryUpdateStyle(cueDiv.firstChild,"color",constructColor(overrides.color||"#fff",overrides.textOpacity)),overrides.backgroundColor&&(cueDiv.firstChild.style.backgroundColor=overrides.backgroundColor),overrides.backgroundOpacity&&tryUpdateStyle(cueDiv.firstChild,"backgroundColor",constructColor(overrides.backgroundColor||"#000",overrides.backgroundOpacity)),overrides.windowColor&&(overrides.windowOpacity?tryUpdateStyle(cueDiv,"backgroundColor",constructColor(overrides.windowColor,overrides.windowOpacity)):cueDiv.style.backgroundColor=overrides.windowColor),overrides.edgeStyle&&("dropshadow"===overrides.edgeStyle?cueDiv.firstChild.style.textShadow="2px 2px 3px #222, 2px 2px 4px #222, 2px 2px 5px #222":"raised"===overrides.edgeStyle?cueDiv.firstChild.style.textShadow="1px 1px #222, 2px 2px #222, 3px 3px #222":"depressed"===overrides.edgeStyle?cueDiv.firstChild.style.textShadow="1px 1px #ccc, 0 1px #ccc, -1px -1px #222, 0 -1px #222":"uniform"===overrides.edgeStyle&&(cueDiv.firstChild.style.textShadow="0 0 4px #222, 0 0 4px #222, 0 0 4px #222, 0 0 4px #222")),overrides.fontPercent&&1!==overrides.fontPercent){var fontSize=window$3.parseFloat(cueDiv.style.fontSize);cueDiv.style.fontSize=fontSize*overrides.fontPercent+"px",cueDiv.style.height="auto",cueDiv.style.top="auto",cueDiv.style.bottom="2px"}overrides.fontFamily&&"default"!==overrides.fontFamily&&("small-caps"===overrides.fontFamily?cueDiv.firstChild.style.fontVariant="small-caps":cueDiv.firstChild.style.fontFamily=fontMap[overrides.fontFamily])}}},_proto.updateForTrack=function(tracks){if(Array.isArray(tracks)||(tracks=[tracks]),"function"==typeof window$3.WebVTT&&!tracks.every((function(track){return!track.activeCues}))){for(var cues=[],i=0;i<tracks.length;++i)for(var track=tracks[i],j=0;j<track.activeCues.length;++j)cues.push(track.activeCues[j]);window$3.WebVTT.processCues(window$3,cues,this.el_);for(var _i2=0;_i2<tracks.length;++_i2){for(var _track2=tracks[_i2],_j=0;_j<_track2.activeCues.length;++_j){var cueEl=_track2.activeCues[_j].displayState;addClass(cueEl,"vjs-text-track-cue"),addClass(cueEl,"vjs-text-track-cue-"+(_track2.language?_track2.language:_i2))}this.player_.textTrackSettings&&this.updateDisplayState(_track2)}}},TextTrackDisplay}(Component);Component.registerComponent("TextTrackDisplay",TextTrackDisplay);var LoadingSpinner=function(_Component){function LoadingSpinner(){return _Component.apply(this,arguments)||this}return inheritsLoose(LoadingSpinner,_Component),LoadingSpinner.prototype.createEl=function(){var isAudio=this.player_.isAudio(),playerType=this.localize(isAudio?"Audio Player":"Video Player"),controlText=createEl("span",{className:"vjs-control-text",innerHTML:this.localize("{1} is loading.",[playerType])}),el=_Component.prototype.createEl.call(this,"div",{className:"vjs-loading-spinner",dir:"ltr"});return el.appendChild(controlText),el},LoadingSpinner}(Component);Component.registerComponent("LoadingSpinner",LoadingSpinner);var Button=function(_ClickableComponent){function Button(){return _ClickableComponent.apply(this,arguments)||this}inheritsLoose(Button,_ClickableComponent);var _proto=Button.prototype;return _proto.createEl=function(tag,props,attributes){void 0===props&&(props={}),void 0===attributes&&(attributes={}),props=assign({innerHTML:'<span aria-hidden="true" class="vjs-icon-placeholder"></span>',className:this.buildCSSClass()},props),attributes=assign({type:"button"},attributes);var el=Component.prototype.createEl.call(this,"button",props,attributes);return this.createControlTextEl(el),el},_proto.addChild=function(child,options){void 0===options&&(options={});var className=this.constructor.name;return log.warn("Adding an actionable (user controllable) child to a Button ("+className+") is not supported; use a ClickableComponent instead."),Component.prototype.addChild.call(this,child,options)},_proto.enable=function(){_ClickableComponent.prototype.enable.call(this),this.el_.removeAttribute("disabled")},_proto.disable=function(){_ClickableComponent.prototype.disable.call(this),this.el_.setAttribute("disabled","disabled")},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Space")||keycode.isEventKey(event,"Enter")?event.stopPropagation():_ClickableComponent.prototype.handleKeyDown.call(this,event)},Button}(ClickableComponent);Component.registerComponent("Button",Button);var BigPlayButton=function(_Button){function BigPlayButton(player,options){var _this;return(_this=_Button.call(this,player,options)||this).mouseused_=!1,_this.on("mousedown",_this.handleMouseDown),_this}inheritsLoose(BigPlayButton,_Button);var _proto=BigPlayButton.prototype;return _proto.buildCSSClass=function(){return"vjs-big-play-button"},_proto.handleClick=function(event){var playPromise=this.player_.play();if(this.mouseused_&&event.clientX&&event.clientY){var sourceIsEncrypted=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0;return silencePromise(playPromise),void(!this.player_.tech(!0)||(IE_VERSION||IS_EDGE)&&sourceIsEncrypted||this.player_.tech(!0).focus())}var cb=this.player_.getChild("controlBar"),playToggle=cb&&cb.getChild("playToggle");if(playToggle){var playFocus=function(){return playToggle.focus()};isPromise(playPromise)?playPromise.then(playFocus,(function(){})):this.setTimeout(playFocus,1)}else this.player_.tech(!0).focus()},_proto.handleKeyDown=function(event){this.mouseused_=!1,_Button.prototype.handleKeyDown.call(this,event)},_proto.handleMouseDown=function(event){this.mouseused_=!0},BigPlayButton}(Button);BigPlayButton.prototype.controlText_="Play Video",Component.registerComponent("BigPlayButton",BigPlayButton);var CloseButton=function(_Button){function CloseButton(player,options){var _this;return(_this=_Button.call(this,player,options)||this).controlText(options&&options.controlText||_this.localize("Close")),_this}inheritsLoose(CloseButton,_Button);var _proto=CloseButton.prototype;return _proto.buildCSSClass=function(){return"vjs-close-button "+_Button.prototype.buildCSSClass.call(this)},_proto.handleClick=function(event){this.trigger({type:"close",bubbles:!1})},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Esc")?(event.preventDefault(),event.stopPropagation(),this.trigger("click")):_Button.prototype.handleKeyDown.call(this,event)},CloseButton}(Button);Component.registerComponent("CloseButton",CloseButton);var PlayToggle=function(_Button){function PlayToggle(player,options){var _this;return void 0===options&&(options={}),_this=_Button.call(this,player,options)||this,options.replay=void 0===options.replay||options.replay,_this.on(player,"play",_this.handlePlay),_this.on(player,"pause",_this.handlePause),options.replay&&_this.on(player,"ended",_this.handleEnded),_this}inheritsLoose(PlayToggle,_Button);var _proto=PlayToggle.prototype;return _proto.buildCSSClass=function(){return"vjs-play-control "+_Button.prototype.buildCSSClass.call(this)},_proto.handleClick=function(event){this.player_.paused()?this.player_.play():this.player_.pause()},_proto.handleSeeked=function(event){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(event):this.handlePlay(event)},_proto.handlePlay=function(event){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.controlText("Pause")},_proto.handlePause=function(event){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.controlText("Play")},_proto.handleEnded=function(event){this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.controlText("Replay"),this.one(this.player_,"seeked",this.handleSeeked)},PlayToggle}(Button);PlayToggle.prototype.controlText_="Play",Component.registerComponent("PlayToggle",PlayToggle);var defaultImplementation=function(seconds,guide){seconds=seconds<0?0:seconds;var s=Math.floor(seconds%60),m=Math.floor(seconds/60%60),h=Math.floor(seconds/3600),gm=Math.floor(guide/60%60),gh=Math.floor(guide/3600);return(isNaN(seconds)||seconds===1/0)&&(h=m=s="-"),(h=h>0||gh>0?h+":":"")+(m=((h||gm>=10)&&m<10?"0"+m:m)+":")+(s=s<10?"0"+s:s)},implementation=defaultImplementation;function formatTime(seconds,guide){return void 0===guide&&(guide=seconds),implementation(seconds,guide)}var TimeDisplay=function(_Component){function TimeDisplay(player,options){var _this;return(_this=_Component.call(this,player,options)||this).on(player,["timeupdate","ended"],_this.updateContent),_this.updateTextNode_(),_this}inheritsLoose(TimeDisplay,_Component);var _proto=TimeDisplay.prototype;return _proto.createEl=function(){var className=this.buildCSSClass(),el=_Component.prototype.createEl.call(this,"div",{className:className+" vjs-time-control vjs-control",innerHTML:'<span class="vjs-control-text" role="presentation">'+this.localize(this.labelText_)+" </span>"});return this.contentEl_=createEl("span",{className:className+"-display"},{"aria-live":"off",role:"presentation"}),el.appendChild(this.contentEl_),el},_proto.dispose=function(){this.contentEl_=null,this.textNode_=null,_Component.prototype.dispose.call(this)},_proto.updateTextNode_=function(time){var _this2=this;void 0===time&&(time=0),time=formatTime(time),this.formattedTime_!==time&&(this.formattedTime_=time,this.requestAnimationFrame((function(){if(_this2.contentEl_){var oldNode=_this2.textNode_;_this2.textNode_=document.createTextNode(_this2.formattedTime_),_this2.textNode_&&(oldNode?_this2.contentEl_.replaceChild(_this2.textNode_,oldNode):_this2.contentEl_.appendChild(_this2.textNode_))}})))},_proto.updateContent=function(event){},TimeDisplay}(Component);TimeDisplay.prototype.labelText_="Time",TimeDisplay.prototype.controlText_="Time",Component.registerComponent("TimeDisplay",TimeDisplay);var CurrentTimeDisplay=function(_TimeDisplay){function CurrentTimeDisplay(){return _TimeDisplay.apply(this,arguments)||this}inheritsLoose(CurrentTimeDisplay,_TimeDisplay);var _proto=CurrentTimeDisplay.prototype;return _proto.buildCSSClass=function(){return"vjs-current-time"},_proto.updateContent=function(event){var time;time=this.player_.ended()?this.player_.duration():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(time)},CurrentTimeDisplay}(TimeDisplay);CurrentTimeDisplay.prototype.labelText_="Current Time",CurrentTimeDisplay.prototype.controlText_="Current Time",Component.registerComponent("CurrentTimeDisplay",CurrentTimeDisplay);var DurationDisplay=function(_TimeDisplay){function DurationDisplay(player,options){var _this;return(_this=_TimeDisplay.call(this,player,options)||this).on(player,"durationchange",_this.updateContent),_this.on(player,"loadstart",_this.updateContent),_this.on(player,"loadedmetadata",_this.updateContent),_this}inheritsLoose(DurationDisplay,_TimeDisplay);var _proto=DurationDisplay.prototype;return _proto.buildCSSClass=function(){return"vjs-duration"},_proto.updateContent=function(event){var duration=this.player_.duration();this.updateTextNode_(duration)},DurationDisplay}(TimeDisplay);DurationDisplay.prototype.labelText_="Duration",DurationDisplay.prototype.controlText_="Duration",Component.registerComponent("DurationDisplay",DurationDisplay);var TimeDivider=function(_Component){function TimeDivider(){return _Component.apply(this,arguments)||this}return inheritsLoose(TimeDivider,_Component),TimeDivider.prototype.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-time-control vjs-time-divider",innerHTML:"<div><span>/</span></div>"},{"aria-hidden":!0})},TimeDivider}(Component);Component.registerComponent("TimeDivider",TimeDivider);var RemainingTimeDisplay=function(_TimeDisplay){function RemainingTimeDisplay(player,options){var _this;return(_this=_TimeDisplay.call(this,player,options)||this).on(player,"durationchange",_this.updateContent),_this}inheritsLoose(RemainingTimeDisplay,_TimeDisplay);var _proto=RemainingTimeDisplay.prototype;return _proto.buildCSSClass=function(){return"vjs-remaining-time"},_proto.createEl=function(){var el=_TimeDisplay.prototype.createEl.call(this);return el.insertBefore(createEl("span",{},{"aria-hidden":!0},"-"),this.contentEl_),el},_proto.updateContent=function(event){var time;"number"==typeof this.player_.duration()&&(time=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(time))},RemainingTimeDisplay}(TimeDisplay);RemainingTimeDisplay.prototype.labelText_="Remaining Time",RemainingTimeDisplay.prototype.controlText_="Remaining Time",Component.registerComponent("RemainingTimeDisplay",RemainingTimeDisplay);var LiveDisplay=function(_Component){function LiveDisplay(player,options){var _this;return(_this=_Component.call(this,player,options)||this).updateShowing(),_this.on(_this.player(),"durationchange",_this.updateShowing),_this}inheritsLoose(LiveDisplay,_Component);var _proto=LiveDisplay.prototype;return _proto.createEl=function(){var el=_Component.prototype.createEl.call(this,"div",{className:"vjs-live-control vjs-control"});return this.contentEl_=createEl("div",{className:"vjs-live-display",innerHTML:'<span class="vjs-control-text">'+this.localize("Stream Type")+" </span>"+this.localize("LIVE")},{"aria-live":"off"}),el.appendChild(this.contentEl_),el},_proto.dispose=function(){this.contentEl_=null,_Component.prototype.dispose.call(this)},_proto.updateShowing=function(event){this.player().duration()===1/0?this.show():this.hide()},LiveDisplay}(Component);Component.registerComponent("LiveDisplay",LiveDisplay);var SeekToLive=function(_Button){function SeekToLive(player,options){var _this;return(_this=_Button.call(this,player,options)||this).updateLiveEdgeStatus(),_this.player_.liveTracker&&_this.on(_this.player_.liveTracker,"liveedgechange",_this.updateLiveEdgeStatus),_this}inheritsLoose(SeekToLive,_Button);var _proto=SeekToLive.prototype;return _proto.createEl=function(){var el=_Button.prototype.createEl.call(this,"button",{className:"vjs-seek-to-live-control vjs-control"});return this.textEl_=createEl("span",{className:"vjs-seek-to-live-text",innerHTML:this.localize("LIVE")},{"aria-hidden":"true"}),el.appendChild(this.textEl_),el},_proto.updateLiveEdgeStatus=function(e){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute("aria-disabled",!0),this.addClass("vjs-at-live-edge"),this.controlText("Seek to live, currently playing live")):(this.setAttribute("aria-disabled",!1),this.removeClass("vjs-at-live-edge"),this.controlText("Seek to live, currently behind live"))},_proto.handleClick=function(){this.player_.liveTracker.seekToLiveEdge()},_proto.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatus),this.textEl_=null,_Button.prototype.dispose.call(this)},SeekToLive}(Button);SeekToLive.prototype.controlText_="Seek to live, currently playing live",Component.registerComponent("SeekToLive",SeekToLive);var clamp=function(number,min,max){return number=Number(number),Math.min(max,Math.max(min,isNaN(number)?min:number))},Slider=function(_Component){function Slider(player,options){var _this;return(_this=_Component.call(this,player,options)||this).bar=_this.getChild(_this.options_.barName),_this.vertical(!!_this.options_.vertical),_this.enable(),_this}inheritsLoose(Slider,_Component);var _proto=Slider.prototype;return _proto.enabled=function(){return this.enabled_},_proto.enable=function(){this.enabled()||(this.on("mousedown",this.handleMouseDown),this.on("touchstart",this.handleMouseDown),this.on("keydown",this.handleKeyDown),this.on("click",this.handleClick),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0)},_proto.disable=function(){if(this.enabled()){var doc=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown),this.off("touchstart",this.handleMouseDown),this.off("keydown",this.handleKeyDown),this.off("click",this.handleClick),this.off(this.player_,"controlsvisible",this.update),this.off(doc,"mousemove",this.handleMouseMove),this.off(doc,"mouseup",this.handleMouseUp),this.off(doc,"touchmove",this.handleMouseMove),this.off(doc,"touchend",this.handleMouseUp),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},_proto.createEl=function(type,props,attributes){return void 0===props&&(props={}),void 0===attributes&&(attributes={}),props.className=props.className+" vjs-slider",props=assign({tabIndex:0},props),attributes=assign({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},attributes),_Component.prototype.createEl.call(this,type,props,attributes)},_proto.handleMouseDown=function(event){var doc=this.bar.el_.ownerDocument;"mousedown"===event.type&&event.preventDefault(),"touchstart"!==event.type||IS_CHROME||event.preventDefault(),blockTextSelection(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(doc,"mousemove",this.handleMouseMove),this.on(doc,"mouseup",this.handleMouseUp),this.on(doc,"touchmove",this.handleMouseMove),this.on(doc,"touchend",this.handleMouseUp),this.handleMouseMove(event)},_proto.handleMouseMove=function(event){},_proto.handleMouseUp=function(){var doc=this.bar.el_.ownerDocument;unblockTextSelection(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(doc,"mousemove",this.handleMouseMove),this.off(doc,"mouseup",this.handleMouseUp),this.off(doc,"touchmove",this.handleMouseMove),this.off(doc,"touchend",this.handleMouseUp),this.update()},_proto.update=function(){var _this2=this;if(this.el_&&this.bar){var progress=this.getProgress();return progress===this.progress_||(this.progress_=progress,this.requestAnimationFrame((function(){var sizeKey=_this2.vertical()?"height":"width";_this2.bar.el().style[sizeKey]=(100*progress).toFixed(2)+"%"}))),progress}},_proto.getProgress=function(){return Number(clamp(this.getPercent(),0,1).toFixed(4))},_proto.calculateDistance=function(event){var position=getPointerPosition(this.el_,event);return this.vertical()?position.y:position.x},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Left")||keycode.isEventKey(event,"Down")?(event.preventDefault(),event.stopPropagation(),this.stepBack()):keycode.isEventKey(event,"Right")||keycode.isEventKey(event,"Up")?(event.preventDefault(),event.stopPropagation(),this.stepForward()):_Component.prototype.handleKeyDown.call(this,event)},_proto.handleClick=function(event){event.stopPropagation(),event.preventDefault()},_proto.vertical=function(bool){if(void 0===bool)return this.vertical_||!1;this.vertical_=!!bool,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal")},Slider}(Component);Component.registerComponent("Slider",Slider);var percentify=function(time,end){return clamp(time/end*100,0,100).toFixed(2)+"%"},LoadProgressBar=function(_Component){function LoadProgressBar(player,options){var _this;return(_this=_Component.call(this,player,options)||this).partEls_=[],_this.on(player,"progress",_this.update),_this}inheritsLoose(LoadProgressBar,_Component);var _proto=LoadProgressBar.prototype;return _proto.createEl=function(){var el=_Component.prototype.createEl.call(this,"div",{className:"vjs-load-progress"}),wrapper=createEl("span",{className:"vjs-control-text"}),loadedText=createEl("span",{textContent:this.localize("Loaded")}),separator=document.createTextNode(": ");return this.percentageEl_=createEl("span",{className:"vjs-control-text-loaded-percentage",textContent:"0%"}),el.appendChild(wrapper),wrapper.appendChild(loadedText),wrapper.appendChild(separator),wrapper.appendChild(this.percentageEl_),el},_proto.dispose=function(){this.partEls_=null,this.percentageEl_=null,_Component.prototype.dispose.call(this)},_proto.update=function(event){var _this2=this;this.requestAnimationFrame((function(){var liveTracker=_this2.player_.liveTracker,buffered=_this2.player_.buffered(),duration=liveTracker&&liveTracker.isLive()?liveTracker.seekableEnd():_this2.player_.duration(),bufferedEnd=_this2.player_.bufferedEnd(),children=_this2.partEls_,percent=percentify(bufferedEnd,duration);_this2.percent_!==percent&&(_this2.el_.style.width=percent,textContent(_this2.percentageEl_,percent),_this2.percent_=percent);for(var i=0;i<buffered.length;i++){var start=buffered.start(i),end=buffered.end(i),part=children[i];part||(part=_this2.el_.appendChild(createEl()),children[i]=part),part.dataset.start===start&&part.dataset.end===end||(part.dataset.start=start,part.dataset.end=end,part.style.left=percentify(start,bufferedEnd),part.style.width=percentify(end-start,bufferedEnd))}for(var _i=children.length;_i>buffered.length;_i--)_this2.el_.removeChild(children[_i-1]);children.length=buffered.length}))},LoadProgressBar}(Component);Component.registerComponent("LoadProgressBar",LoadProgressBar);var TimeTooltip=function(_Component){function TimeTooltip(player,options){var _this;return(_this=_Component.call(this,player,options)||this).update=throttle(bind(assertThisInitialized(_this),_this.update),30),_this}inheritsLoose(TimeTooltip,_Component);var _proto=TimeTooltip.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-time-tooltip"},{"aria-hidden":"true"})},_proto.update=function(seekBarRect,seekBarPoint,content){var tooltipRect=getBoundingClientRect(this.el_),playerRect=getBoundingClientRect(this.player_.el()),seekBarPointPx=seekBarRect.width*seekBarPoint;if(playerRect&&tooltipRect){var spaceLeftOfPoint=seekBarRect.left-playerRect.left+seekBarPointPx,spaceRightOfPoint=seekBarRect.width-seekBarPointPx+(playerRect.right-seekBarRect.right),pullTooltipBy=tooltipRect.width/2;spaceLeftOfPoint<pullTooltipBy?pullTooltipBy+=pullTooltipBy-spaceLeftOfPoint:spaceRightOfPoint<pullTooltipBy&&(pullTooltipBy=spaceRightOfPoint),pullTooltipBy<0?pullTooltipBy=0:pullTooltipBy>tooltipRect.width&&(pullTooltipBy=tooltipRect.width),this.el_.style.right="-"+pullTooltipBy+"px",this.write(content)}},_proto.write=function(content){textContent(this.el_,content)},_proto.updateTime=function(seekBarRect,seekBarPoint,time,cb){var _this2=this;this.rafId_&&this.cancelAnimationFrame(this.rafId_),this.rafId_=this.requestAnimationFrame((function(){var content,duration=_this2.player_.duration();if(_this2.player_.liveTracker&&_this2.player_.liveTracker.isLive()){var liveWindow=_this2.player_.liveTracker.liveWindow(),secondsBehind=liveWindow-seekBarPoint*liveWindow;content=(secondsBehind<1?"":"-")+formatTime(secondsBehind,liveWindow)}else content=formatTime(time,duration);_this2.update(seekBarRect,seekBarPoint,content),cb&&cb()}))},TimeTooltip}(Component);Component.registerComponent("TimeTooltip",TimeTooltip);var PlayProgressBar=function(_Component){function PlayProgressBar(player,options){var _this;return(_this=_Component.call(this,player,options)||this).update=throttle(bind(assertThisInitialized(_this),_this.update),30),_this}inheritsLoose(PlayProgressBar,_Component);var _proto=PlayProgressBar.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-play-progress vjs-slider-bar"},{"aria-hidden":"true"})},_proto.update=function(seekBarRect,seekBarPoint){var timeTooltip=this.getChild("timeTooltip");if(timeTooltip){var time=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();timeTooltip.updateTime(seekBarRect,seekBarPoint,time)}},PlayProgressBar}(Component);PlayProgressBar.prototype.options_={children:[]},IS_IOS||IS_ANDROID||PlayProgressBar.prototype.options_.children.push("timeTooltip"),Component.registerComponent("PlayProgressBar",PlayProgressBar);var MouseTimeDisplay=function(_Component){function MouseTimeDisplay(player,options){var _this;return(_this=_Component.call(this,player,options)||this).update=throttle(bind(assertThisInitialized(_this),_this.update),30),_this}inheritsLoose(MouseTimeDisplay,_Component);var _proto=MouseTimeDisplay.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"})},_proto.update=function(seekBarRect,seekBarPoint){var _this2=this,time=seekBarPoint*this.player_.duration();this.getChild("timeTooltip").updateTime(seekBarRect,seekBarPoint,time,(function(){_this2.el_.style.left=seekBarRect.width*seekBarPoint+"px"}))},MouseTimeDisplay}(Component);MouseTimeDisplay.prototype.options_={children:["timeTooltip"]},Component.registerComponent("MouseTimeDisplay",MouseTimeDisplay);var SeekBar=function(_Slider){function SeekBar(player,options){var _this;return(_this=_Slider.call(this,player,options)||this).setEventHandlers_(),_this}inheritsLoose(SeekBar,_Slider);var _proto=SeekBar.prototype;return _proto.setEventHandlers_=function(){this.update_=bind(this,this.update),this.update=throttle(this.update_,30),this.on(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,"liveedgechange",this.update),this.updateInterval=null,this.on(this.player_,["playing"],this.enableInterval_),this.on(this.player_,["ended","pause","waiting"],this.disableInterval_),"hidden"in document&&"visibilityState"in document&&this.on(document,"visibilitychange",this.toggleVisibility_)},_proto.toggleVisibility_=function(e){document.hidden?this.disableInterval_(e):(this.enableInterval_(),this.update())},_proto.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,30))},_proto.disableInterval_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&"ended"!==e.type||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null)},_proto.createEl=function(){return _Slider.prototype.createEl.call(this,"div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")})},_proto.update=function(event){var _this2=this,percent=_Slider.prototype.update.call(this);return this.requestAnimationFrame((function(){var currentTime=_this2.player_.ended()?_this2.player_.duration():_this2.getCurrentTime_(),liveTracker=_this2.player_.liveTracker,duration=_this2.player_.duration();liveTracker&&liveTracker.isLive()&&(duration=_this2.player_.liveTracker.liveCurrentTime()),_this2.percent_!==percent&&(_this2.el_.setAttribute("aria-valuenow",(100*percent).toFixed(2)),_this2.percent_=percent),_this2.currentTime_===currentTime&&_this2.duration_===duration||(_this2.el_.setAttribute("aria-valuetext",_this2.localize("progress bar timing: currentTime={1} duration={2}",[formatTime(currentTime,duration),formatTime(duration,duration)],"{1} of {2}")),_this2.currentTime_=currentTime,_this2.duration_=duration),_this2.bar&&_this2.bar.update(getBoundingClientRect(_this2.el()),_this2.getProgress())})),percent},_proto.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},_proto.getPercent=function(){var percent,currentTime=this.getCurrentTime_(),liveTracker=this.player_.liveTracker;return liveTracker&&liveTracker.isLive()?(percent=(currentTime-liveTracker.seekableStart())/liveTracker.liveWindow(),liveTracker.atLiveEdge()&&(percent=1)):percent=currentTime/this.player_.duration(),percent},_proto.handleMouseDown=function(event){isSingleLeftClick(event)&&(event.stopPropagation(),this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),_Slider.prototype.handleMouseDown.call(this,event))},_proto.handleMouseMove=function(event){if(isSingleLeftClick(event)){var newTime,distance=this.calculateDistance(event),liveTracker=this.player_.liveTracker;if(liveTracker&&liveTracker.isLive()){var seekableStart=liveTracker.seekableStart(),seekableEnd=liveTracker.liveCurrentTime();if((newTime=seekableStart+distance*liveTracker.liveWindow())>=seekableEnd&&(newTime=seekableEnd),newTime<=seekableStart&&(newTime=seekableStart+.1),newTime===1/0)return}else(newTime=distance*this.player_.duration())===this.player_.duration()&&(newTime-=.1);this.player_.currentTime(newTime)}},_proto.enable=function(){_Slider.prototype.enable.call(this);var mouseTimeDisplay=this.getChild("mouseTimeDisplay");mouseTimeDisplay&&mouseTimeDisplay.show()},_proto.disable=function(){_Slider.prototype.disable.call(this);var mouseTimeDisplay=this.getChild("mouseTimeDisplay");mouseTimeDisplay&&mouseTimeDisplay.hide()},_proto.handleMouseUp=function(event){_Slider.prototype.handleMouseUp.call(this,event),event&&event.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying?silencePromise(this.player_.play()):this.update_()},_proto.stepForward=function(){this.player_.currentTime(this.player_.currentTime()+5)},_proto.stepBack=function(){this.player_.currentTime(this.player_.currentTime()-5)},_proto.handleAction=function(event){this.player_.paused()?this.player_.play():this.player_.pause()},_proto.handleKeyDown=function(event){if(keycode.isEventKey(event,"Space")||keycode.isEventKey(event,"Enter"))event.preventDefault(),event.stopPropagation(),this.handleAction(event);else if(keycode.isEventKey(event,"Home"))event.preventDefault(),event.stopPropagation(),this.player_.currentTime(0);else if(keycode.isEventKey(event,"End"))event.preventDefault(),event.stopPropagation(),this.player_.currentTime(this.player_.duration());else if(/^[0-9]$/.test(keycode(event))){event.preventDefault(),event.stopPropagation();var gotoFraction=10*(keycode.codes[keycode(event)]-keycode.codes[0])/100;this.player_.currentTime(this.player_.duration()*gotoFraction)}else keycode.isEventKey(event,"PgDn")?(event.preventDefault(),event.stopPropagation(),this.player_.currentTime(this.player_.currentTime()-60)):keycode.isEventKey(event,"PgUp")?(event.preventDefault(),event.stopPropagation(),this.player_.currentTime(this.player_.currentTime()+60)):_Slider.prototype.handleKeyDown.call(this,event)},SeekBar}(Slider);SeekBar.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar"},IS_IOS||IS_ANDROID||SeekBar.prototype.options_.children.splice(1,0,"mouseTimeDisplay"),Component.registerComponent("SeekBar",SeekBar);var ProgressControl=function(_Component){function ProgressControl(player,options){var _this;return(_this=_Component.call(this,player,options)||this).handleMouseMove=throttle(bind(assertThisInitialized(_this),_this.handleMouseMove),30),_this.throttledHandleMouseSeek=throttle(bind(assertThisInitialized(_this),_this.handleMouseSeek),30),_this.enable(),_this}inheritsLoose(ProgressControl,_Component);var _proto=ProgressControl.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"})},_proto.handleMouseMove=function(event){var seekBar=this.getChild("seekBar");if(seekBar){var playProgressBar=seekBar.getChild("playProgressBar"),mouseTimeDisplay=seekBar.getChild("mouseTimeDisplay");if(playProgressBar||mouseTimeDisplay){var seekBarEl=seekBar.el(),seekBarRect=getBoundingClientRect(seekBarEl),seekBarPoint=getPointerPosition(seekBarEl,event).x;seekBarPoint=clamp(0,1,seekBarPoint),mouseTimeDisplay&&mouseTimeDisplay.update(seekBarRect,seekBarPoint),playProgressBar&&playProgressBar.update(seekBarRect,seekBar.getProgress())}}},_proto.handleMouseSeek=function(event){var seekBar=this.getChild("seekBar");seekBar&&seekBar.handleMouseMove(event)},_proto.enabled=function(){return this.enabled_},_proto.disable=function(){this.children().forEach((function(child){return child.disable&&child.disable()})),this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDown),this.off(this.el_,"mousemove",this.handleMouseMove),this.handleMouseUp(),this.addClass("disabled"),this.enabled_=!1)},_proto.enable=function(){this.children().forEach((function(child){return child.enable&&child.enable()})),this.enabled()||(this.on(["mousedown","touchstart"],this.handleMouseDown),this.on(this.el_,"mousemove",this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0)},_proto.handleMouseDown=function(event){var doc=this.el_.ownerDocument,seekBar=this.getChild("seekBar");seekBar&&seekBar.handleMouseDown(event),this.on(doc,"mousemove",this.throttledHandleMouseSeek),this.on(doc,"touchmove",this.throttledHandleMouseSeek),this.on(doc,"mouseup",this.handleMouseUp),this.on(doc,"touchend",this.handleMouseUp)},_proto.handleMouseUp=function(event){var doc=this.el_.ownerDocument,seekBar=this.getChild("seekBar");seekBar&&seekBar.handleMouseUp(event),this.off(doc,"mousemove",this.throttledHandleMouseSeek),this.off(doc,"touchmove",this.throttledHandleMouseSeek),this.off(doc,"mouseup",this.handleMouseUp),this.off(doc,"touchend",this.handleMouseUp)},ProgressControl}(Component);ProgressControl.prototype.options_={children:["seekBar"]},Component.registerComponent("ProgressControl",ProgressControl);var PictureInPictureToggle=function(_Button){function PictureInPictureToggle(player,options){var _this;return(_this=_Button.call(this,player,options)||this).on(player,["enterpictureinpicture","leavepictureinpicture"],_this.handlePictureInPictureChange),document.pictureInPictureEnabled||_this.disable(),_this}inheritsLoose(PictureInPictureToggle,_Button);var _proto=PictureInPictureToggle.prototype;return _proto.buildCSSClass=function(){return"vjs-picture-in-picture-control "+_Button.prototype.buildCSSClass.call(this)},_proto.handlePictureInPictureChange=function(event){this.player_.isInPictureInPicture()?this.controlText("Exit Picture-in-Picture"):this.controlText("Picture-in-Picture")},_proto.handleClick=function(event){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()},PictureInPictureToggle}(Button);PictureInPictureToggle.prototype.controlText_="Picture-in-Picture",Component.registerComponent("PictureInPictureToggle",PictureInPictureToggle);var FullscreenToggle=function(_Button){function FullscreenToggle(player,options){var _this;return(_this=_Button.call(this,player,options)||this).on(player,"fullscreenchange",_this.handleFullscreenChange),!1===document[player.fsApi_.fullscreenEnabled]&&_this.disable(),_this}inheritsLoose(FullscreenToggle,_Button);var _proto=FullscreenToggle.prototype;return _proto.buildCSSClass=function(){return"vjs-fullscreen-control "+_Button.prototype.buildCSSClass.call(this)},_proto.handleFullscreenChange=function(event){this.player_.isFullscreen()?this.controlText("Non-Fullscreen"):this.controlText("Fullscreen")},_proto.handleClick=function(event){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},FullscreenToggle}(Button);FullscreenToggle.prototype.controlText_="Fullscreen",Component.registerComponent("FullscreenToggle",FullscreenToggle);var VolumeLevel=function(_Component){function VolumeLevel(){return _Component.apply(this,arguments)||this}return inheritsLoose(VolumeLevel,_Component),VolumeLevel.prototype.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})},VolumeLevel}(Component);Component.registerComponent("VolumeLevel",VolumeLevel);var VolumeBar=function(_Slider){function VolumeBar(player,options){var _this;return(_this=_Slider.call(this,player,options)||this).on("slideractive",_this.updateLastVolume_),_this.on(player,"volumechange",_this.updateARIAAttributes),player.ready((function(){return _this.updateARIAAttributes()})),_this}inheritsLoose(VolumeBar,_Slider);var _proto=VolumeBar.prototype;return _proto.createEl=function(){return _Slider.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"})},_proto.handleMouseDown=function(event){isSingleLeftClick(event)&&_Slider.prototype.handleMouseDown.call(this,event)},_proto.handleMouseMove=function(event){isSingleLeftClick(event)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(event)))},_proto.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},_proto.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},_proto.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},_proto.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},_proto.updateARIAAttributes=function(event){var ariaValue=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",ariaValue),this.el_.setAttribute("aria-valuetext",ariaValue+"%")},_proto.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},_proto.updateLastVolume_=function(){var _this2=this,volumeBeforeDrag=this.player_.volume();this.one("sliderinactive",(function(){0===_this2.player_.volume()&&_this2.player_.lastVolume_(volumeBeforeDrag)}))},VolumeBar}(Slider);VolumeBar.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},VolumeBar.prototype.playerEvent="volumechange",Component.registerComponent("VolumeBar",VolumeBar);var VolumeControl=function(_Component){function VolumeControl(player,options){var _this;return void 0===options&&(options={}),options.vertical=options.vertical||!1,(void 0===options.volumeBar||isPlain(options.volumeBar))&&(options.volumeBar=options.volumeBar||{},options.volumeBar.vertical=options.vertical),_this=_Component.call(this,player,options)||this,function(self,player){player.tech_&&!player.tech_.featuresVolumeControl&&self.addClass("vjs-hidden"),self.on(player,"loadstart",(function(){player.tech_.featuresVolumeControl?self.removeClass("vjs-hidden"):self.addClass("vjs-hidden")}))}(assertThisInitialized(_this),player),_this.throttledHandleMouseMove=throttle(bind(assertThisInitialized(_this),_this.handleMouseMove),30),_this.on("mousedown",_this.handleMouseDown),_this.on("touchstart",_this.handleMouseDown),_this.on(_this.volumeBar,["focus","slideractive"],(function(){_this.volumeBar.addClass("vjs-slider-active"),_this.addClass("vjs-slider-active"),_this.trigger("slideractive")})),_this.on(_this.volumeBar,["blur","sliderinactive"],(function(){_this.volumeBar.removeClass("vjs-slider-active"),_this.removeClass("vjs-slider-active"),_this.trigger("sliderinactive")})),_this}inheritsLoose(VolumeControl,_Component);var _proto=VolumeControl.prototype;return _proto.createEl=function(){var orientationClass="vjs-volume-horizontal";return this.options_.vertical&&(orientationClass="vjs-volume-vertical"),_Component.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control "+orientationClass})},_proto.handleMouseDown=function(event){var doc=this.el_.ownerDocument;this.on(doc,"mousemove",this.throttledHandleMouseMove),this.on(doc,"touchmove",this.throttledHandleMouseMove),this.on(doc,"mouseup",this.handleMouseUp),this.on(doc,"touchend",this.handleMouseUp)},_proto.handleMouseUp=function(event){var doc=this.el_.ownerDocument;this.off(doc,"mousemove",this.throttledHandleMouseMove),this.off(doc,"touchmove",this.throttledHandleMouseMove),this.off(doc,"mouseup",this.handleMouseUp),this.off(doc,"touchend",this.handleMouseUp)},_proto.handleMouseMove=function(event){this.volumeBar.handleMouseMove(event)},VolumeControl}(Component);VolumeControl.prototype.options_={children:["volumeBar"]},Component.registerComponent("VolumeControl",VolumeControl);var MuteToggle=function(_Button){function MuteToggle(player,options){var _this;return _this=_Button.call(this,player,options)||this,function(self,player){player.tech_&&!player.tech_.featuresMuteControl&&self.addClass("vjs-hidden"),self.on(player,"loadstart",(function(){player.tech_.featuresMuteControl?self.removeClass("vjs-hidden"):self.addClass("vjs-hidden")}))}(assertThisInitialized(_this),player),_this.on(player,["loadstart","volumechange"],_this.update),_this}inheritsLoose(MuteToggle,_Button);var _proto=MuteToggle.prototype;return _proto.buildCSSClass=function(){return"vjs-mute-control "+_Button.prototype.buildCSSClass.call(this)},_proto.handleClick=function(event){var vol=this.player_.volume(),lastVolume=this.player_.lastVolume_();if(0===vol){var volumeToSet=lastVolume<.1?.1:lastVolume;this.player_.volume(volumeToSet),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},_proto.update=function(event){this.updateIcon_(),this.updateControlText_()},_proto.updateIcon_=function(){var vol=this.player_.volume(),level=3;IS_IOS&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),0===vol||this.player_.muted()?level=0:vol<.33?level=1:vol<.67&&(level=2);for(var i=0;i<4;i++)removeClass(this.el_,"vjs-vol-"+i);addClass(this.el_,"vjs-vol-"+level)},_proto.updateControlText_=function(){var text=this.player_.muted()||0===this.player_.volume()?"Unmute":"Mute";this.controlText()!==text&&this.controlText(text)},MuteToggle}(Button);MuteToggle.prototype.controlText_="Mute",Component.registerComponent("MuteToggle",MuteToggle);var VolumePanel=function(_Component){function VolumePanel(player,options){var _this;return void 0===options&&(options={}),void 0!==options.inline?options.inline=options.inline:options.inline=!0,(void 0===options.volumeControl||isPlain(options.volumeControl))&&(options.volumeControl=options.volumeControl||{},options.volumeControl.vertical=!options.inline),(_this=_Component.call(this,player,options)||this).on(player,["loadstart"],_this.volumePanelState_),_this.on(_this.muteToggle,"keyup",_this.handleKeyPress),_this.on(_this.volumeControl,"keyup",_this.handleVolumeControlKeyUp),_this.on("keydown",_this.handleKeyPress),_this.on("mouseover",_this.handleMouseOver),_this.on("mouseout",_this.handleMouseOut),_this.on(_this.volumeControl,["slideractive"],_this.sliderActive_),_this.on(_this.volumeControl,["sliderinactive"],_this.sliderInactive_),_this}inheritsLoose(VolumePanel,_Component);var _proto=VolumePanel.prototype;return _proto.sliderActive_=function(){this.addClass("vjs-slider-active")},_proto.sliderInactive_=function(){this.removeClass("vjs-slider-active")},_proto.volumePanelState_=function(){this.volumeControl.hasClass("vjs-hidden")&&this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-hidden"),this.volumeControl.hasClass("vjs-hidden")&&!this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-mute-toggle-only")},_proto.createEl=function(){var orientationClass="vjs-volume-panel-horizontal";return this.options_.inline||(orientationClass="vjs-volume-panel-vertical"),_Component.prototype.createEl.call(this,"div",{className:"vjs-volume-panel vjs-control "+orientationClass})},_proto.dispose=function(){this.handleMouseOut(),_Component.prototype.dispose.call(this)},_proto.handleVolumeControlKeyUp=function(event){keycode.isEventKey(event,"Esc")&&this.muteToggle.focus()},_proto.handleMouseOver=function(event){this.addClass("vjs-hover"),on(document,"keyup",bind(this,this.handleKeyPress))},_proto.handleMouseOut=function(event){this.removeClass("vjs-hover"),off(document,"keyup",bind(this,this.handleKeyPress))},_proto.handleKeyPress=function(event){keycode.isEventKey(event,"Esc")&&this.handleMouseOut()},VolumePanel}(Component);VolumePanel.prototype.options_={children:["muteToggle","volumeControl"]},Component.registerComponent("VolumePanel",VolumePanel);var Menu=function(_Component){function Menu(player,options){var _this;return _this=_Component.call(this,player,options)||this,options&&(_this.menuButton_=options.menuButton),_this.focusedChild_=-1,_this.on("keydown",_this.handleKeyDown),_this.boundHandleBlur_=bind(assertThisInitialized(_this),_this.handleBlur),_this.boundHandleTapClick_=bind(assertThisInitialized(_this),_this.handleTapClick),_this}inheritsLoose(Menu,_Component);var _proto=Menu.prototype;return _proto.addEventListenerForItem=function(component){component instanceof Component&&(this.on(component,"blur",this.boundHandleBlur_),this.on(component,["tap","click"],this.boundHandleTapClick_))},_proto.removeEventListenerForItem=function(component){component instanceof Component&&(this.off(component,"blur",this.boundHandleBlur_),this.off(component,["tap","click"],this.boundHandleTapClick_))},_proto.removeChild=function(component){"string"==typeof component&&(component=this.getChild(component)),this.removeEventListenerForItem(component),_Component.prototype.removeChild.call(this,component)},_proto.addItem=function(component){var childComponent=this.addChild(component);childComponent&&this.addEventListenerForItem(childComponent)},_proto.createEl=function(){var contentElType=this.options_.contentElType||"ul";this.contentEl_=createEl(contentElType,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");var el=_Component.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return el.appendChild(this.contentEl_),on(el,"click",(function(event){event.preventDefault(),event.stopImmediatePropagation()})),el},_proto.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,_Component.prototype.dispose.call(this)},_proto.handleBlur=function(event){var relatedTarget=event.relatedTarget||document.activeElement;if(!this.children().some((function(element){return element.el()===relatedTarget}))){var btn=this.menuButton_;btn&&btn.buttonPressed_&&relatedTarget!==btn.el().firstChild&&btn.unpressButton()}},_proto.handleTapClick=function(event){if(this.menuButton_){this.menuButton_.unpressButton();var childComponents=this.children();if(!Array.isArray(childComponents))return;var foundComponent=childComponents.filter((function(component){return component.el()===event.target}))[0];if(!foundComponent)return;"CaptionSettingsMenuItem"!==foundComponent.name()&&this.menuButton_.focus()}},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Left")||keycode.isEventKey(event,"Down")?(event.preventDefault(),event.stopPropagation(),this.stepForward()):(keycode.isEventKey(event,"Right")||keycode.isEventKey(event,"Up"))&&(event.preventDefault(),event.stopPropagation(),this.stepBack())},_proto.stepForward=function(){var stepChild=0;void 0!==this.focusedChild_&&(stepChild=this.focusedChild_+1),this.focus(stepChild)},_proto.stepBack=function(){var stepChild=0;void 0!==this.focusedChild_&&(stepChild=this.focusedChild_-1),this.focus(stepChild)},_proto.focus=function(item){void 0===item&&(item=0);var children=this.children().slice();children.length&&children[0].className&&/vjs-menu-title/.test(children[0].className)&&children.shift(),children.length>0&&(item<0?item=0:item>=children.length&&(item=children.length-1),this.focusedChild_=item,children[item].el_.focus())},Menu}(Component);Component.registerComponent("Menu",Menu);var MenuButton=function(_Component){function MenuButton(player,options){var _this;void 0===options&&(options={}),(_this=_Component.call(this,player,options)||this).menuButton_=new Button(player,options),_this.menuButton_.controlText(_this.controlText_),_this.menuButton_.el_.setAttribute("aria-haspopup","true");var buttonClass=Button.prototype.buildCSSClass();return _this.menuButton_.el_.className=_this.buildCSSClass()+" "+buttonClass,_this.menuButton_.removeClass("vjs-control"),_this.addChild(_this.menuButton_),_this.update(),_this.enabled_=!0,_this.on(_this.menuButton_,"tap",_this.handleClick),_this.on(_this.menuButton_,"click",_this.handleClick),_this.on(_this.menuButton_,"keydown",_this.handleKeyDown),_this.on(_this.menuButton_,"mouseenter",(function(){_this.addClass("vjs-hover"),_this.menu.show(),on(document,"keyup",bind(assertThisInitialized(_this),_this.handleMenuKeyUp))})),_this.on("mouseleave",_this.handleMouseLeave),_this.on("keydown",_this.handleSubmenuKeyDown),_this}inheritsLoose(MenuButton,_Component);var _proto=MenuButton.prototype;return _proto.update=function(){var menu=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=menu,this.addChild(menu),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},_proto.createMenu=function(){var menu=new Menu(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var titleEl=createEl("li",{className:"vjs-menu-title",innerHTML:toTitleCase(this.options_.title),tabIndex:-1});this.hideThreshold_+=1;var titleComponent=new Component(this.player_,{el:titleEl});menu.addItem(titleComponent)}if(this.items=this.createItems(),this.items)for(var i=0;i<this.items.length;i++)menu.addItem(this.items[i]);return menu},_proto.createItems=function(){},_proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:this.buildWrapperCSSClass()},{})},_proto.buildWrapperCSSClass=function(){var menuButtonClass="vjs-menu-button";return!0===this.options_.inline?menuButtonClass+="-inline":menuButtonClass+="-popup","vjs-menu-button "+menuButtonClass+" "+Button.prototype.buildCSSClass()+" "+_Component.prototype.buildCSSClass.call(this)},_proto.buildCSSClass=function(){var menuButtonClass="vjs-menu-button";return!0===this.options_.inline?menuButtonClass+="-inline":menuButtonClass+="-popup","vjs-menu-button "+menuButtonClass+" "+_Component.prototype.buildCSSClass.call(this)},_proto.controlText=function(text,el){return void 0===el&&(el=this.menuButton_.el()),this.menuButton_.controlText(text,el)},_proto.dispose=function(){this.handleMouseLeave(),_Component.prototype.dispose.call(this)},_proto.handleClick=function(event){this.buttonPressed_?this.unpressButton():this.pressButton()},_proto.handleMouseLeave=function(event){this.removeClass("vjs-hover"),off(document,"keyup",bind(this,this.handleMenuKeyUp))},_proto.focus=function(){this.menuButton_.focus()},_proto.blur=function(){this.menuButton_.blur()},_proto.handleKeyDown=function(event){keycode.isEventKey(event,"Esc")||keycode.isEventKey(event,"Tab")?(this.buttonPressed_&&this.unpressButton(),keycode.isEventKey(event,"Tab")||(event.preventDefault(),this.menuButton_.focus())):(keycode.isEventKey(event,"Up")||keycode.isEventKey(event,"Down"))&&(this.buttonPressed_||(event.preventDefault(),this.pressButton()))},_proto.handleMenuKeyUp=function(event){(keycode.isEventKey(event,"Esc")||keycode.isEventKey(event,"Tab"))&&this.removeClass("vjs-hover")},_proto.handleSubmenuKeyPress=function(event){this.handleSubmenuKeyDown(event)},_proto.handleSubmenuKeyDown=function(event){(keycode.isEventKey(event,"Esc")||keycode.isEventKey(event,"Tab"))&&(this.buttonPressed_&&this.unpressButton(),keycode.isEventKey(event,"Tab")||(event.preventDefault(),this.menuButton_.focus()))},_proto.pressButton=function(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute("aria-expanded","true"),IS_IOS&&isInFrame())return;this.menu.focus()}},_proto.unpressButton=function(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute("aria-expanded","false"))},_proto.disable=function(){this.unpressButton(),this.enabled_=!1,this.addClass("vjs-disabled"),this.menuButton_.disable()},_proto.enable=function(){this.enabled_=!0,this.removeClass("vjs-disabled"),this.menuButton_.enable()},MenuButton}(Component);Component.registerComponent("MenuButton",MenuButton);var TrackButton=function(_MenuButton){function TrackButton(player,options){var _this,tracks=options.tracks;if((_this=_MenuButton.call(this,player,options)||this).items.length<=1&&_this.hide(),!tracks)return assertThisInitialized(_this);var updateHandler=bind(assertThisInitialized(_this),_this.update);return tracks.addEventListener("removetrack",updateHandler),tracks.addEventListener("addtrack",updateHandler),_this.player_.on("ready",updateHandler),_this.player_.on("dispose",(function(){tracks.removeEventListener("removetrack",updateHandler),tracks.removeEventListener("addtrack",updateHandler)})),_this}return inheritsLoose(TrackButton,_MenuButton),TrackButton}(MenuButton);Component.registerComponent("TrackButton",TrackButton);var MenuKeys=["Tab","Esc","Up","Down","Right","Left"],MenuItem=function(_ClickableComponent){function MenuItem(player,options){var _this;return(_this=_ClickableComponent.call(this,player,options)||this).selectable=options.selectable,_this.isSelected_=options.selected||!1,_this.multiSelectable=options.multiSelectable,_this.selected(_this.isSelected_),_this.selectable?_this.multiSelectable?_this.el_.setAttribute("role","menuitemcheckbox"):_this.el_.setAttribute("role","menuitemradio"):_this.el_.setAttribute("role","menuitem"),_this}inheritsLoose(MenuItem,_ClickableComponent);var _proto=MenuItem.prototype;return _proto.createEl=function(type,props,attrs){return this.nonIconControl=!0,_ClickableComponent.prototype.createEl.call(this,"li",assign({className:"vjs-menu-item",innerHTML:'<span class="vjs-menu-item-text">'+this.localize(this.options_.label)+"</span>",tabIndex:-1},props),attrs)},_proto.handleKeyDown=function(event){MenuKeys.some((function(key){return keycode.isEventKey(event,key)}))||_ClickableComponent.prototype.handleKeyDown.call(this,event)},_proto.handleClick=function(event){this.selected(!0)},_proto.selected=function(_selected){this.selectable&&(_selected?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-checked","true"),this.controlText(", selected"),this.isSelected_=!0):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-checked","false"),this.controlText(""),this.isSelected_=!1))},MenuItem}(ClickableComponent);Component.registerComponent("MenuItem",MenuItem);var TextTrackMenuItem=function(_MenuItem){function TextTrackMenuItem(player,options){var _this,track=options.track,tracks=player.textTracks();options.label=track.label||track.language||"Unknown",options.selected="showing"===track.mode,(_this=_MenuItem.call(this,player,options)||this).track=track,_this.kinds=(options.kinds||[options.kind||_this.track.kind]).filter(Boolean);var event,changeHandler=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];_this.handleTracksChange.apply(assertThisInitialized(_this),args)},selectedLanguageChangeHandler=function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];_this.handleSelectedLanguageChange.apply(assertThisInitialized(_this),args)};return player.on(["loadstart","texttrackchange"],changeHandler),tracks.addEventListener("change",changeHandler),tracks.addEventListener("selectedlanguagechange",selectedLanguageChangeHandler),_this.on("dispose",(function(){player.off(["loadstart","texttrackchange"],changeHandler),tracks.removeEventListener("change",changeHandler),tracks.removeEventListener("selectedlanguagechange",selectedLanguageChangeHandler)})),void 0===tracks.onchange&&_this.on(["tap","click"],(function(){if("object"!==_typeof2(window$3.Event))try{event=new window$3.Event("change")}catch(err){}event||(event=document.createEvent("Event")).initEvent("change",!0,!0),tracks.dispatchEvent(event)})),_this.handleTracksChange(),_this}inheritsLoose(TextTrackMenuItem,_MenuItem);var _proto=TextTrackMenuItem.prototype;return _proto.handleClick=function(event){var referenceTrack=this.track,tracks=this.player_.textTracks();if(_MenuItem.prototype.handleClick.call(this,event),tracks)for(var i=0;i<tracks.length;i++){var track=tracks[i];-1!==this.kinds.indexOf(track.kind)&&(track===referenceTrack?"showing"!==track.mode&&(track.mode="showing"):"disabled"!==track.mode&&(track.mode="disabled"))}},_proto.handleTracksChange=function(event){var shouldBeSelected="showing"===this.track.mode;shouldBeSelected!==this.isSelected_&&this.selected(shouldBeSelected)},_proto.handleSelectedLanguageChange=function(event){if("showing"===this.track.mode){var selectedLanguage=this.player_.cache_.selectedLanguage;if(selectedLanguage&&selectedLanguage.enabled&&selectedLanguage.language===this.track.language&&selectedLanguage.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind}}},_proto.dispose=function(){this.track=null,_MenuItem.prototype.dispose.call(this)},TextTrackMenuItem}(MenuItem);Component.registerComponent("TextTrackMenuItem",TextTrackMenuItem);var OffTextTrackMenuItem=function(_TextTrackMenuItem){function OffTextTrackMenuItem(player,options){return options.track={player:player,kind:options.kind,kinds:options.kinds,default:!1,mode:"disabled"},options.kinds||(options.kinds=[options.kind]),options.label?options.track.label=options.label:options.track.label=options.kinds.join(" and ")+" off",options.selectable=!0,options.multiSelectable=!1,_TextTrackMenuItem.call(this,player,options)||this}inheritsLoose(OffTextTrackMenuItem,_TextTrackMenuItem);var _proto=OffTextTrackMenuItem.prototype;return _proto.handleTracksChange=function(event){for(var tracks=this.player().textTracks(),shouldBeSelected=!0,i=0,l=tracks.length;i<l;i++){var track=tracks[i];if(this.options_.kinds.indexOf(track.kind)>-1&&"showing"===track.mode){shouldBeSelected=!1;break}}shouldBeSelected!==this.isSelected_&&this.selected(shouldBeSelected)},_proto.handleSelectedLanguageChange=function(event){for(var tracks=this.player().textTracks(),allHidden=!0,i=0,l=tracks.length;i<l;i++){var track=tracks[i];if(["captions","descriptions","subtitles"].indexOf(track.kind)>-1&&"showing"===track.mode){allHidden=!1;break}}allHidden&&(this.player_.cache_.selectedLanguage={enabled:!1})},OffTextTrackMenuItem}(TextTrackMenuItem);Component.registerComponent("OffTextTrackMenuItem",OffTextTrackMenuItem);var TextTrackButton=function(_TrackButton){function TextTrackButton(player,options){return void 0===options&&(options={}),options.tracks=player.textTracks(),_TrackButton.call(this,player,options)||this}return inheritsLoose(TextTrackButton,_TrackButton),TextTrackButton.prototype.createItems=function(items,TrackMenuItem){var label;void 0===items&&(items=[]),void 0===TrackMenuItem&&(TrackMenuItem=TextTrackMenuItem),this.label_&&(label=this.label_+" off"),items.push(new OffTextTrackMenuItem(this.player_,{kinds:this.kinds_,kind:this.kind_,label:label})),this.hideThreshold_+=1;var tracks=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var i=0;i<tracks.length;i++){var track=tracks[i];if(this.kinds_.indexOf(track.kind)>-1){var item=new TrackMenuItem(this.player_,{track:track,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});item.addClass("vjs-"+track.kind+"-menu-item"),items.push(item)}}return items},TextTrackButton}(TrackButton);Component.registerComponent("TextTrackButton",TextTrackButton);var ChaptersTrackMenuItem=function(_MenuItem){function ChaptersTrackMenuItem(player,options){var _this,track=options.track,cue=options.cue,currentTime=player.currentTime();return options.selectable=!0,options.multiSelectable=!1,options.label=cue.text,options.selected=cue.startTime<=currentTime&¤tTime<cue.endTime,(_this=_MenuItem.call(this,player,options)||this).track=track,_this.cue=cue,track.addEventListener("cuechange",bind(assertThisInitialized(_this),_this.update)),_this}inheritsLoose(ChaptersTrackMenuItem,_MenuItem);var _proto=ChaptersTrackMenuItem.prototype;return _proto.handleClick=function(event){_MenuItem.prototype.handleClick.call(this),this.player_.currentTime(this.cue.startTime),this.update(this.cue.startTime)},_proto.update=function(event){var cue=this.cue,currentTime=this.player_.currentTime();this.selected(cue.startTime<=currentTime&¤tTime<cue.endTime)},ChaptersTrackMenuItem}(MenuItem);Component.registerComponent("ChaptersTrackMenuItem",ChaptersTrackMenuItem);var ChaptersButton=function(_TextTrackButton){function ChaptersButton(player,options,ready){return _TextTrackButton.call(this,player,options,ready)||this}inheritsLoose(ChaptersButton,_TextTrackButton);var _proto=ChaptersButton.prototype;return _proto.buildCSSClass=function(){return"vjs-chapters-button "+_TextTrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-chapters-button "+_TextTrackButton.prototype.buildWrapperCSSClass.call(this)},_proto.update=function(event){this.track_&&(!event||"addtrack"!==event.type&&"removetrack"!==event.type)||this.setTrack(this.findChaptersTrack()),_TextTrackButton.prototype.update.call(this)},_proto.setTrack=function(track){if(this.track_!==track){if(this.updateHandler_||(this.updateHandler_=this.update.bind(this)),this.track_){var remoteTextTrackEl=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);remoteTextTrackEl&&remoteTextTrackEl.removeEventListener("load",this.updateHandler_),this.track_=null}if(this.track_=track,this.track_){this.track_.mode="hidden";var _remoteTextTrackEl=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);_remoteTextTrackEl&&_remoteTextTrackEl.addEventListener("load",this.updateHandler_)}}},_proto.findChaptersTrack=function(){for(var tracks=this.player_.textTracks()||[],i=tracks.length-1;i>=0;i--){var track=tracks[i];if(track.kind===this.kind_)return track}},_proto.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(toTitleCase(this.kind_))},_proto.createMenu=function(){return this.options_.title=this.getMenuCaption(),_TextTrackButton.prototype.createMenu.call(this)},_proto.createItems=function(){var items=[];if(!this.track_)return items;var cues=this.track_.cues;if(!cues)return items;for(var i=0,l=cues.length;i<l;i++){var cue=cues[i],mi=new ChaptersTrackMenuItem(this.player_,{track:this.track_,cue:cue});items.push(mi)}return items},ChaptersButton}(TextTrackButton);ChaptersButton.prototype.kind_="chapters",ChaptersButton.prototype.controlText_="Chapters",Component.registerComponent("ChaptersButton",ChaptersButton);var DescriptionsButton=function(_TextTrackButton){function DescriptionsButton(player,options,ready){var _this;_this=_TextTrackButton.call(this,player,options,ready)||this;var tracks=player.textTracks(),changeHandler=bind(assertThisInitialized(_this),_this.handleTracksChange);return tracks.addEventListener("change",changeHandler),_this.on("dispose",(function(){tracks.removeEventListener("change",changeHandler)})),_this}inheritsLoose(DescriptionsButton,_TextTrackButton);var _proto=DescriptionsButton.prototype;return _proto.handleTracksChange=function(event){for(var tracks=this.player().textTracks(),disabled=!1,i=0,l=tracks.length;i<l;i++){var track=tracks[i];if(track.kind!==this.kind_&&"showing"===track.mode){disabled=!0;break}}disabled?this.disable():this.enable()},_proto.buildCSSClass=function(){return"vjs-descriptions-button "+_TextTrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-descriptions-button "+_TextTrackButton.prototype.buildWrapperCSSClass.call(this)},DescriptionsButton}(TextTrackButton);DescriptionsButton.prototype.kind_="descriptions",DescriptionsButton.prototype.controlText_="Descriptions",Component.registerComponent("DescriptionsButton",DescriptionsButton);var SubtitlesButton=function(_TextTrackButton){function SubtitlesButton(player,options,ready){return _TextTrackButton.call(this,player,options,ready)||this}inheritsLoose(SubtitlesButton,_TextTrackButton);var _proto=SubtitlesButton.prototype;return _proto.buildCSSClass=function(){return"vjs-subtitles-button "+_TextTrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-subtitles-button "+_TextTrackButton.prototype.buildWrapperCSSClass.call(this)},SubtitlesButton}(TextTrackButton);SubtitlesButton.prototype.kind_="subtitles",SubtitlesButton.prototype.controlText_="Subtitles",Component.registerComponent("SubtitlesButton",SubtitlesButton);var CaptionSettingsMenuItem=function(_TextTrackMenuItem){function CaptionSettingsMenuItem(player,options){var _this;return options.track={player:player,kind:options.kind,label:options.kind+" settings",selectable:!1,default:!1,mode:"disabled"},options.selectable=!1,options.name="CaptionSettingsMenuItem",(_this=_TextTrackMenuItem.call(this,player,options)||this).addClass("vjs-texttrack-settings"),_this.controlText(", opens "+options.kind+" settings dialog"),_this}return inheritsLoose(CaptionSettingsMenuItem,_TextTrackMenuItem),CaptionSettingsMenuItem.prototype.handleClick=function(event){this.player().getChild("textTrackSettings").open()},CaptionSettingsMenuItem}(TextTrackMenuItem);Component.registerComponent("CaptionSettingsMenuItem",CaptionSettingsMenuItem);var CaptionsButton=function(_TextTrackButton){function CaptionsButton(player,options,ready){return _TextTrackButton.call(this,player,options,ready)||this}inheritsLoose(CaptionsButton,_TextTrackButton);var _proto=CaptionsButton.prototype;return _proto.buildCSSClass=function(){return"vjs-captions-button "+_TextTrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-captions-button "+_TextTrackButton.prototype.buildWrapperCSSClass.call(this)},_proto.createItems=function(){var items=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild("textTrackSettings")||(items.push(new CaptionSettingsMenuItem(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),_TextTrackButton.prototype.createItems.call(this,items)},CaptionsButton}(TextTrackButton);CaptionsButton.prototype.kind_="captions",CaptionsButton.prototype.controlText_="Captions",Component.registerComponent("CaptionsButton",CaptionsButton);var SubsCapsMenuItem=function(_TextTrackMenuItem){function SubsCapsMenuItem(){return _TextTrackMenuItem.apply(this,arguments)||this}return inheritsLoose(SubsCapsMenuItem,_TextTrackMenuItem),SubsCapsMenuItem.prototype.createEl=function(type,props,attrs){var innerHTML='<span class="vjs-menu-item-text">'+this.localize(this.options_.label);return"captions"===this.options_.track.kind&&(innerHTML+='\n <span aria-hidden="true" class="vjs-icon-placeholder"></span>\n <span class="vjs-control-text"> '+this.localize("Captions")+"</span>\n "),innerHTML+="</span>",_TextTrackMenuItem.prototype.createEl.call(this,type,assign({innerHTML:innerHTML},props),attrs)},SubsCapsMenuItem}(TextTrackMenuItem);Component.registerComponent("SubsCapsMenuItem",SubsCapsMenuItem);var SubsCapsButton=function(_TextTrackButton){function SubsCapsButton(player,options){var _this;return void 0===options&&(options={}),(_this=_TextTrackButton.call(this,player,options)||this).label_="subtitles",["en","en-us","en-ca","fr-ca"].indexOf(_this.player_.language_)>-1&&(_this.label_="captions"),_this.menuButton_.controlText(toTitleCase(_this.label_)),_this}inheritsLoose(SubsCapsButton,_TextTrackButton);var _proto=SubsCapsButton.prototype;return _proto.buildCSSClass=function(){return"vjs-subs-caps-button "+_TextTrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-subs-caps-button "+_TextTrackButton.prototype.buildWrapperCSSClass.call(this)},_proto.createItems=function(){var items=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild("textTrackSettings")||(items.push(new CaptionSettingsMenuItem(this.player_,{kind:this.label_})),this.hideThreshold_+=1),items=_TextTrackButton.prototype.createItems.call(this,items,SubsCapsMenuItem)},SubsCapsButton}(TextTrackButton);SubsCapsButton.prototype.kinds_=["captions","subtitles"],SubsCapsButton.prototype.controlText_="Subtitles",Component.registerComponent("SubsCapsButton",SubsCapsButton);var AudioTrackMenuItem=function(_MenuItem){function AudioTrackMenuItem(player,options){var _this,track=options.track,tracks=player.audioTracks();options.label=track.label||track.language||"Unknown",options.selected=track.enabled,(_this=_MenuItem.call(this,player,options)||this).track=track,_this.addClass("vjs-"+track.kind+"-menu-item");var changeHandler=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];_this.handleTracksChange.apply(assertThisInitialized(_this),args)};return tracks.addEventListener("change",changeHandler),_this.on("dispose",(function(){tracks.removeEventListener("change",changeHandler)})),_this}inheritsLoose(AudioTrackMenuItem,_MenuItem);var _proto=AudioTrackMenuItem.prototype;return _proto.createEl=function(type,props,attrs){var innerHTML='<span class="vjs-menu-item-text">'+this.localize(this.options_.label);return"main-desc"===this.options_.track.kind&&(innerHTML+='\n <span aria-hidden="true" class="vjs-icon-placeholder"></span>\n <span class="vjs-control-text"> '+this.localize("Descriptions")+"</span>\n "),innerHTML+="</span>",_MenuItem.prototype.createEl.call(this,type,assign({innerHTML:innerHTML},props),attrs)},_proto.handleClick=function(event){var tracks=this.player_.audioTracks();_MenuItem.prototype.handleClick.call(this,event);for(var i=0;i<tracks.length;i++){var track=tracks[i];track.enabled=track===this.track}},_proto.handleTracksChange=function(event){this.selected(this.track.enabled)},AudioTrackMenuItem}(MenuItem);Component.registerComponent("AudioTrackMenuItem",AudioTrackMenuItem);var AudioTrackButton=function(_TrackButton){function AudioTrackButton(player,options){return void 0===options&&(options={}),options.tracks=player.audioTracks(),_TrackButton.call(this,player,options)||this}inheritsLoose(AudioTrackButton,_TrackButton);var _proto=AudioTrackButton.prototype;return _proto.buildCSSClass=function(){return"vjs-audio-button "+_TrackButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-audio-button "+_TrackButton.prototype.buildWrapperCSSClass.call(this)},_proto.createItems=function(items){void 0===items&&(items=[]),this.hideThreshold_=1;for(var tracks=this.player_.audioTracks(),i=0;i<tracks.length;i++){var track=tracks[i];items.push(new AudioTrackMenuItem(this.player_,{track:track,selectable:!0,multiSelectable:!1}))}return items},AudioTrackButton}(TrackButton);AudioTrackButton.prototype.controlText_="Audio Track",Component.registerComponent("AudioTrackButton",AudioTrackButton);var PlaybackRateMenuItem=function(_MenuItem){function PlaybackRateMenuItem(player,options){var _this,label=options.rate,rate=parseFloat(label,10);return options.label=label,options.selected=1===rate,options.selectable=!0,options.multiSelectable=!1,(_this=_MenuItem.call(this,player,options)||this).label=label,_this.rate=rate,_this.on(player,"ratechange",_this.update),_this}inheritsLoose(PlaybackRateMenuItem,_MenuItem);var _proto=PlaybackRateMenuItem.prototype;return _proto.handleClick=function(event){_MenuItem.prototype.handleClick.call(this),this.player().playbackRate(this.rate)},_proto.update=function(event){this.selected(this.player().playbackRate()===this.rate)},PlaybackRateMenuItem}(MenuItem);PlaybackRateMenuItem.prototype.contentElType="button",Component.registerComponent("PlaybackRateMenuItem",PlaybackRateMenuItem);var PlaybackRateMenuButton=function(_MenuButton){function PlaybackRateMenuButton(player,options){var _this;return(_this=_MenuButton.call(this,player,options)||this).updateVisibility(),_this.updateLabel(),_this.on(player,"loadstart",_this.updateVisibility),_this.on(player,"ratechange",_this.updateLabel),_this}inheritsLoose(PlaybackRateMenuButton,_MenuButton);var _proto=PlaybackRateMenuButton.prototype;return _proto.createEl=function(){var el=_MenuButton.prototype.createEl.call(this);return this.labelEl_=createEl("div",{className:"vjs-playback-rate-value",innerHTML:"1x"}),el.appendChild(this.labelEl_),el},_proto.dispose=function(){this.labelEl_=null,_MenuButton.prototype.dispose.call(this)},_proto.buildCSSClass=function(){return"vjs-playback-rate "+_MenuButton.prototype.buildCSSClass.call(this)},_proto.buildWrapperCSSClass=function(){return"vjs-playback-rate "+_MenuButton.prototype.buildWrapperCSSClass.call(this)},_proto.createMenu=function(){var menu=new Menu(this.player()),rates=this.playbackRates();if(rates)for(var i=rates.length-1;i>=0;i--)menu.addChild(new PlaybackRateMenuItem(this.player(),{rate:rates[i]+"x"}));return menu},_proto.updateARIAAttributes=function(){this.el().setAttribute("aria-valuenow",this.player().playbackRate())},_proto.handleClick=function(event){for(var currentRate=this.player().playbackRate(),rates=this.playbackRates(),newRate=rates[0],i=0;i<rates.length;i++)if(rates[i]>currentRate){newRate=rates[i];break}this.player().playbackRate(newRate)},_proto.playbackRates=function(){return this.options_.playbackRates||this.options_.playerOptions&&this.options_.playerOptions.playbackRates},_proto.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0},_proto.updateVisibility=function(event){this.playbackRateSupported()?this.removeClass("vjs-hidden"):this.addClass("vjs-hidden")},_proto.updateLabel=function(event){this.playbackRateSupported()&&(this.labelEl_.innerHTML=this.player().playbackRate()+"x")},PlaybackRateMenuButton}(MenuButton);PlaybackRateMenuButton.prototype.controlText_="Playback Rate",Component.registerComponent("PlaybackRateMenuButton",PlaybackRateMenuButton);var Spacer=function(_Component){function Spacer(){return _Component.apply(this,arguments)||this}inheritsLoose(Spacer,_Component);var _proto=Spacer.prototype;return _proto.buildCSSClass=function(){return"vjs-spacer "+_Component.prototype.buildCSSClass.call(this)},_proto.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:this.buildCSSClass()})},Spacer}(Component);Component.registerComponent("Spacer",Spacer);var CustomControlSpacer=function(_Spacer){function CustomControlSpacer(){return _Spacer.apply(this,arguments)||this}inheritsLoose(CustomControlSpacer,_Spacer);var _proto=CustomControlSpacer.prototype;return _proto.buildCSSClass=function(){return"vjs-custom-control-spacer "+_Spacer.prototype.buildCSSClass.call(this)},_proto.createEl=function(){var el=_Spacer.prototype.createEl.call(this,{className:this.buildCSSClass()});return el.innerHTML=" ",el},CustomControlSpacer}(Spacer);Component.registerComponent("CustomControlSpacer",CustomControlSpacer);var ControlBar=function(_Component){function ControlBar(){return _Component.apply(this,arguments)||this}return inheritsLoose(ControlBar,_Component),ControlBar.prototype.createEl=function(){return _Component.prototype.createEl.call(this,"div",{className:"vjs-control-bar",dir:"ltr"})},ControlBar}(Component);ControlBar.prototype.options_={children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","liveDisplay","seekToLive","remainingTimeDisplay","customControlSpacer","playbackRateMenuButton","chaptersButton","descriptionsButton","subsCapsButton","audioTrackButton","fullscreenToggle"]},"exitPictureInPicture"in document&&ControlBar.prototype.options_.children.splice(ControlBar.prototype.options_.children.length-1,0,"pictureInPictureToggle"),Component.registerComponent("ControlBar",ControlBar);var ErrorDisplay=function(_ModalDialog){function ErrorDisplay(player,options){var _this;return(_this=_ModalDialog.call(this,player,options)||this).on(player,"error",_this.open),_this}inheritsLoose(ErrorDisplay,_ModalDialog);var _proto=ErrorDisplay.prototype;return _proto.buildCSSClass=function(){return"vjs-error-display "+_ModalDialog.prototype.buildCSSClass.call(this)},_proto.content=function(){var error=this.player().error();return error?this.localize(error.message):""},ErrorDisplay}(ModalDialog);ErrorDisplay.prototype.options_=_extends_1({},ModalDialog.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),Component.registerComponent("ErrorDisplay",ErrorDisplay);var COLOR_BLACK=["#000","Black"],COLOR_BLUE=["#00F","Blue"],COLOR_CYAN=["#0FF","Cyan"],COLOR_GREEN=["#0F0","Green"],COLOR_MAGENTA=["#F0F","Magenta"],COLOR_RED=["#F00","Red"],COLOR_WHITE=["#FFF","White"],COLOR_YELLOW=["#FF0","Yellow"],OPACITY_OPAQUE=["1","Opaque"],OPACITY_SEMI=["0.5","Semi-Transparent"],OPACITY_TRANS=["0","Transparent"],selectConfigs={backgroundColor:{selector:".vjs-bg-color > select",id:"captions-background-color-%s",label:"Color",options:[COLOR_BLACK,COLOR_WHITE,COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_YELLOW,COLOR_MAGENTA,COLOR_CYAN]},backgroundOpacity:{selector:".vjs-bg-opacity > select",id:"captions-background-opacity-%s",label:"Transparency",options:[OPACITY_OPAQUE,OPACITY_SEMI,OPACITY_TRANS]},color:{selector:".vjs-fg-color > select",id:"captions-foreground-color-%s",label:"Color",options:[COLOR_WHITE,COLOR_BLACK,COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_YELLOW,COLOR_MAGENTA,COLOR_CYAN]},edgeStyle:{selector:".vjs-edge-style > select",id:"%s",label:"Text Edge Style",options:[["none","None"],["raised","Raised"],["depressed","Depressed"],["uniform","Uniform"],["dropshadow","Dropshadow"]]},fontFamily:{selector:".vjs-font-family > select",id:"captions-font-family-%s",label:"Font Family",options:[["proportionalSansSerif","Proportional Sans-Serif"],["monospaceSansSerif","Monospace Sans-Serif"],["proportionalSerif","Proportional Serif"],["monospaceSerif","Monospace Serif"],["casual","Casual"],["script","Script"],["small-caps","Small Caps"]]},fontPercent:{selector:".vjs-font-percent > select",id:"captions-font-size-%s",label:"Font Size",options:[["0.50","50%"],["0.75","75%"],["1.00","100%"],["1.25","125%"],["1.50","150%"],["1.75","175%"],["2.00","200%"],["3.00","300%"],["4.00","400%"]],default:2,parser:function(v){return"1.00"===v?null:Number(v)}},textOpacity:{selector:".vjs-text-opacity > select",id:"captions-foreground-opacity-%s",label:"Transparency",options:[OPACITY_OPAQUE,OPACITY_SEMI]},windowColor:{selector:".vjs-window-color > select",id:"captions-window-color-%s",label:"Color"},windowOpacity:{selector:".vjs-window-opacity > select",id:"captions-window-opacity-%s",label:"Transparency",options:[OPACITY_TRANS,OPACITY_SEMI,OPACITY_OPAQUE]}};function parseOptionValue(value,parser){if(parser&&(value=parser(value)),value&&"none"!==value)return value}selectConfigs.windowColor.options=selectConfigs.backgroundColor.options;var TextTrackSettings=function(_ModalDialog){function TextTrackSettings(player,options){var _this;return options.temporary=!1,(_this=_ModalDialog.call(this,player,options)||this).updateDisplay=bind(assertThisInitialized(_this),_this.updateDisplay),_this.fill(),_this.hasBeenOpened_=_this.hasBeenFilled_=!0,_this.endDialog=createEl("p",{className:"vjs-control-text",textContent:_this.localize("End of dialog window.")}),_this.el().appendChild(_this.endDialog),_this.setDefaults(),void 0===options.persistTextTrackSettings&&(_this.options_.persistTextTrackSettings=_this.options_.playerOptions.persistTextTrackSettings),_this.on(_this.$(".vjs-done-button"),"click",(function(){_this.saveSettings(),_this.close()})),_this.on(_this.$(".vjs-default-button"),"click",(function(){_this.setDefaults(),_this.updateDisplay()})),each(selectConfigs,(function(config){_this.on(_this.$(config.selector),"change",_this.updateDisplay)})),_this.options_.persistTextTrackSettings&&_this.restoreSettings(),_this}inheritsLoose(TextTrackSettings,_ModalDialog);var _proto=TextTrackSettings.prototype;return _proto.dispose=function(){this.endDialog=null,_ModalDialog.prototype.dispose.call(this)},_proto.createElSelect_=function(key,legendId,type){var _this2=this;void 0===legendId&&(legendId=""),void 0===type&&(type="label");var config=selectConfigs[key],id=config.id.replace("%s",this.id_),selectLabelledbyIds=[legendId,id].join(" ").trim();return["<"+type+' id="'+id+'" class="'+("label"===type?"vjs-label":"")+'">',this.localize(config.label),"</"+type+">",'<select aria-labelledby="'+selectLabelledbyIds+'">'].concat(config.options.map((function(o){var optionId=id+"-"+o[1].replace(/\W+/g,"");return['<option id="'+optionId+'" value="'+o[0]+'" ','aria-labelledby="'+selectLabelledbyIds+" "+optionId+'">',_this2.localize(o[1]),"</option>"].join("")}))).concat("</select>").join("")},_proto.createElFgColor_=function(){var legendId="captions-text-legend-"+this.id_;return['<fieldset class="vjs-fg-color vjs-track-setting">','<legend id="'+legendId+'">',this.localize("Text"),"</legend>",this.createElSelect_("color",legendId),'<span class="vjs-text-opacity vjs-opacity">',this.createElSelect_("textOpacity",legendId),"</span>","</fieldset>"].join("")},_proto.createElBgColor_=function(){var legendId="captions-background-"+this.id_;return['<fieldset class="vjs-bg-color vjs-track-setting">','<legend id="'+legendId+'">',this.localize("Background"),"</legend>",this.createElSelect_("backgroundColor",legendId),'<span class="vjs-bg-opacity vjs-opacity">',this.createElSelect_("backgroundOpacity",legendId),"</span>","</fieldset>"].join("")},_proto.createElWinColor_=function(){var legendId="captions-window-"+this.id_;return['<fieldset class="vjs-window-color vjs-track-setting">','<legend id="'+legendId+'">',this.localize("Window"),"</legend>",this.createElSelect_("windowColor",legendId),'<span class="vjs-window-opacity vjs-opacity">',this.createElSelect_("windowOpacity",legendId),"</span>","</fieldset>"].join("")},_proto.createElColors_=function(){return createEl("div",{className:"vjs-track-settings-colors",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join("")})},_proto.createElFont_=function(){return createEl("div",{className:"vjs-track-settings-font",innerHTML:['<fieldset class="vjs-font-percent vjs-track-setting">',this.createElSelect_("fontPercent","","legend"),"</fieldset>",'<fieldset class="vjs-edge-style vjs-track-setting">',this.createElSelect_("edgeStyle","","legend"),"</fieldset>",'<fieldset class="vjs-font-family vjs-track-setting">',this.createElSelect_("fontFamily","","legend"),"</fieldset>"].join("")})},_proto.createElControls_=function(){var defaultsDescription=this.localize("restore all settings to the default values");return createEl("div",{className:"vjs-track-settings-controls",innerHTML:['<button type="button" class="vjs-default-button" title="'+defaultsDescription+'">',this.localize("Reset"),'<span class="vjs-control-text"> '+defaultsDescription+"</span>","</button>",'<button type="button" class="vjs-done-button">'+this.localize("Done")+"</button>"].join("")})},_proto.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()]},_proto.label=function(){return this.localize("Caption Settings Dialog")},_proto.description=function(){return this.localize("Beginning of dialog window. Escape will cancel and close the window.")},_proto.buildCSSClass=function(){return _ModalDialog.prototype.buildCSSClass.call(this)+" vjs-text-track-settings"},_proto.getValues=function(){var object,fn,initial,_this3=this;return fn=function(accum,config,key){var el,parser,value=(el=_this3.$(config.selector),parser=config.parser,parseOptionValue(el.options[el.options.selectedIndex].value,parser));return void 0!==value&&(accum[key]=value),accum},void 0===(initial={})&&(initial=0),keys(object=selectConfigs).reduce((function(accum,key){return fn(accum,object[key],key)}),initial)},_proto.setValues=function(values){var _this4=this;each(selectConfigs,(function(config,key){!function(el,value,parser){if(value)for(var i=0;i<el.options.length;i++)if(parseOptionValue(el.options[i].value,parser)===value){el.selectedIndex=i;break}}(_this4.$(config.selector),values[key],config.parser)}))},_proto.setDefaults=function(){var _this5=this;each(selectConfigs,(function(config){var index=config.hasOwnProperty("default")?config.default:0;_this5.$(config.selector).selectedIndex=index}))},_proto.restoreSettings=function(){var values;try{values=JSON.parse(window$3.localStorage.getItem("vjs-text-track-settings"))}catch(err){log.warn(err)}values&&this.setValues(values)},_proto.saveSettings=function(){if(this.options_.persistTextTrackSettings){var values=this.getValues();try{Object.keys(values).length?window$3.localStorage.setItem("vjs-text-track-settings",JSON.stringify(values)):window$3.localStorage.removeItem("vjs-text-track-settings")}catch(err){log.warn(err)}}},_proto.updateDisplay=function(){var ttDisplay=this.player_.getChild("textTrackDisplay");ttDisplay&&ttDisplay.updateDisplay()},_proto.conditionalBlur_=function(){this.previouslyActiveEl_=null;var cb=this.player_.controlBar,subsCapsBtn=cb&&cb.subsCapsButton,ccBtn=cb&&cb.captionsButton;subsCapsBtn?subsCapsBtn.focus():ccBtn&&ccBtn.focus()},TextTrackSettings}(ModalDialog);Component.registerComponent("TextTrackSettings",TextTrackSettings);var ResizeManager=function(_Component){function ResizeManager(player,options){var _this,RESIZE_OBSERVER_AVAILABLE=options.ResizeObserver||window$3.ResizeObserver;null===options.ResizeObserver&&(RESIZE_OBSERVER_AVAILABLE=!1);var options_=mergeOptions({createEl:!RESIZE_OBSERVER_AVAILABLE,reportTouchActivity:!1},options);return(_this=_Component.call(this,player,options_)||this).ResizeObserver=options.ResizeObserver||window$3.ResizeObserver,_this.loadListener_=null,_this.resizeObserver_=null,_this.debouncedHandler_=function(func,wait,immediate,context){var timeout;void 0===context&&(context=window$3);var debounced=function(){var self=this,args=arguments,_later=function(){timeout=null,_later=null,immediate||func.apply(self,args)};!timeout&&immediate&&func.apply(self,args),context.clearTimeout(timeout),timeout=context.setTimeout(_later,wait)};return debounced.cancel=function(){context.clearTimeout(timeout),timeout=null},debounced}((function(){_this.resizeHandler()}),100,!1,assertThisInitialized(_this)),RESIZE_OBSERVER_AVAILABLE?(_this.resizeObserver_=new _this.ResizeObserver(_this.debouncedHandler_),_this.resizeObserver_.observe(player.el())):(_this.loadListener_=function(){if(_this.el_&&_this.el_.contentWindow){var debouncedHandler_=_this.debouncedHandler_,unloadListener_=_this.unloadListener_=function(){off(this,"resize",debouncedHandler_),off(this,"unload",unloadListener_),unloadListener_=null};on(_this.el_.contentWindow,"unload",unloadListener_),on(_this.el_.contentWindow,"resize",debouncedHandler_)}},_this.one("load",_this.loadListener_)),_this}inheritsLoose(ResizeManager,_Component);var _proto=ResizeManager.prototype;return _proto.createEl=function(){return _Component.prototype.createEl.call(this,"iframe",{className:"vjs-resize-manager",tabIndex:-1},{"aria-hidden":"true"})},_proto.resizeHandler=function(){this.player_&&this.player_.trigger&&this.player_.trigger("playerresize")},_proto.dispose=function(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off("load",this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,_Component.prototype.dispose.call(this)},ResizeManager}(Component);Component.registerComponent("ResizeManager",ResizeManager);var defaults={trackingThreshold:30},LiveTracker=function(_Component){function LiveTracker(player,options){var _this,options_=mergeOptions(defaults,options,{createEl:!1});return(_this=_Component.call(this,player,options_)||this).reset_(),_this.on(_this.player_,"durationchange",_this.handleDurationchange),IE_VERSION&&"hidden"in document&&"visibilityState"in document&&_this.on(document,"visibilitychange",_this.handleVisibilityChange),_this}inheritsLoose(LiveTracker,_Component);var _proto=LiveTracker.prototype;return _proto.handleVisibilityChange=function(){this.player_.duration()===1/0&&(document.hidden?this.stopTracking():this.startTracking())},_proto.isBehind_=function(){if(!this.timeupdateSeen_)return!1;var liveCurrentTime=this.liveCurrentTime(),currentTime=this.player_.currentTime(),liveEdgeWindow=2*this.seekableIncrement_+.07;return liveCurrentTime!==1/0&&liveCurrentTime-liveEdgeWindow>=currentTime},_proto.trackLive_=function(){this.pastSeekEnd_=this.pastSeekEnd_;var seekable=this.player_.seekable();if(seekable&&seekable.length){var arr,mid,sortedList,newSeekEnd=this.seekableEnd();newSeekEnd!==this.lastSeekEnd_&&(this.lastSeekEnd_&&(this.seekableIncrementList_=this.seekableIncrementList_.slice(-11),this.seekableIncrementList_.push(Math.abs(newSeekEnd-this.lastSeekEnd_)),this.seekableIncrementList_.length>3&&(this.seekableIncrement_=(arr=this.seekableIncrementList_,mid=Math.floor(arr.length/2),sortedList=[].concat(arr).sort((function(a,b){return a-b})),arr.length%2!=0?sortedList[mid]:(sortedList[mid-1]+sortedList[mid])/2))),this.pastSeekEnd_=0,this.lastSeekEnd_=newSeekEnd,this.trigger("seekableendchange")),this.pastSeekEnd()>1.5*this.seekableIncrement_?this.pastSeekEnd_=0:this.pastSeekEnd_=this.pastSeekEnd()+.03,this.isBehind_()!==this.behindLiveEdge()&&(this.behindLiveEdge_=this.isBehind_(),this.trigger("liveedgechange"))}},_proto.handleDurationchange=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass("vjs-liveui"),this.startTracking()):(this.player_.removeClass("vjs-liveui"),this.stopTracking())},_proto.startTracking=function(){var _this2=this;this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLive_,30),this.trackLive_(),this.on(this.player_,"play",this.trackLive_),this.on(this.player_,"pause",this.trackLive_),this.timeupdateSeen_||(this.one(this.player_,"play",this.handlePlay),this.handleTimeupdate=function(){_this2.timeupdateSeen_=!0,_this2.handleTimeupdate=null},this.one(this.player_,"timeupdate",this.handleTimeupdate)))},_proto.handlePlay=function(){this.one(this.player_,"timeupdate",this.seekToLiveEdge)},_proto.reset_=function(){this.pastSeekEnd_=0,this.lastSeekEnd_=null,this.behindLiveEdge_=null,this.timeupdateSeen_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.seekableIncrement_=12,this.seekableIncrementList_=[],this.off(this.player_,"play",this.trackLive_),this.off(this.player_,"pause",this.trackLive_),this.off(this.player_,"play",this.handlePlay),this.off(this.player_,"timeupdate",this.seekToLiveEdge),this.handleTimeupdate&&(this.off(this.player_,"timeupdate",this.handleTimeupdate),this.handleTimeupdate=null)},_proto.stopTracking=function(){this.isTracking()&&this.reset_()},_proto.seekableEnd=function(){for(var seekable=this.player_.seekable(),seekableEnds=[],i=seekable?seekable.length:0;i--;)seekableEnds.push(seekable.end(i));return seekableEnds.length?seekableEnds.sort()[seekableEnds.length-1]:1/0},_proto.seekableStart=function(){for(var seekable=this.player_.seekable(),seekableStarts=[],i=seekable?seekable.length:0;i--;)seekableStarts.push(seekable.start(i));return seekableStarts.length?seekableStarts.sort()[0]:0},_proto.liveWindow=function(){var liveCurrentTime=this.liveCurrentTime();return liveCurrentTime===1/0?1/0:liveCurrentTime-this.seekableStart()},_proto.isLive=function(){return this.isTracking()},_proto.atLiveEdge=function(){return!this.behindLiveEdge()},_proto.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd()},_proto.pastSeekEnd=function(){return this.pastSeekEnd_},_proto.behindLiveEdge=function(){return this.behindLiveEdge_},_proto.isTracking=function(){return"number"==typeof this.trackingInterval_},_proto.seekToLiveEdge=function(){this.atLiveEdge()||(this.player_.currentTime(this.liveCurrentTime()),this.player_.paused()&&this.player_.play())},_proto.dispose=function(){this.stopTracking(),_Component.prototype.dispose.call(this)},LiveTracker}(Component);Component.registerComponent("LiveTracker",LiveTracker);var canPlayType,sourcesetLoad=function(tech){var el=tech.el();if(el.hasAttribute("src"))return tech.triggerSourceset(el.src),!0;var sources=tech.$$("source"),srcUrls=[],src="";if(!sources.length)return!1;for(var i=0;i<sources.length;i++){var url=sources[i].src;url&&-1===srcUrls.indexOf(url)&&srcUrls.push(url)}return!!srcUrls.length&&(1===srcUrls.length&&(src=srcUrls[0]),tech.triggerSourceset(src),!0)},innerHTMLDescriptorPolyfill=Object.defineProperty({},"innerHTML",{get:function(){return this.cloneNode(!0).innerHTML},set:function(v){var dummy=document.createElement(this.nodeName.toLowerCase());dummy.innerHTML=v;for(var docFrag=document.createDocumentFragment();dummy.childNodes.length;)docFrag.appendChild(dummy.childNodes[0]);return this.innerText="",window$3.Element.prototype.appendChild.call(this,docFrag),this.innerHTML}}),getDescriptor=function(priority,prop){for(var descriptor={},i=0;i<priority.length&&!((descriptor=Object.getOwnPropertyDescriptor(priority[i],prop))&&descriptor.set&&descriptor.get);i++);return descriptor.enumerable=!0,descriptor.configurable=!0,descriptor},firstSourceWatch=function(tech){var el=tech.el();if(!el.resetSourceWatch_){var old={},innerDescriptor=function(tech){return getDescriptor([tech.el(),window$3.HTMLMediaElement.prototype,window$3.Element.prototype,innerHTMLDescriptorPolyfill],"innerHTML")}(tech),appendWrapper=function(appendFn){return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var retval=appendFn.apply(el,args);return sourcesetLoad(tech),retval}};["append","appendChild","insertAdjacentHTML"].forEach((function(k){el[k]&&(old[k]=el[k],el[k]=appendWrapper(old[k]))})),Object.defineProperty(el,"innerHTML",mergeOptions(innerDescriptor,{set:appendWrapper(innerDescriptor.set)})),el.resetSourceWatch_=function(){el.resetSourceWatch_=null,Object.keys(old).forEach((function(k){el[k]=old[k]})),Object.defineProperty(el,"innerHTML",innerDescriptor)},tech.one("sourceset",el.resetSourceWatch_)}},srcDescriptorPolyfill=Object.defineProperty({},"src",{get:function(){return this.hasAttribute("src")?getAbsoluteURL(window$3.Element.prototype.getAttribute.call(this,"src")):""},set:function(v){return window$3.Element.prototype.setAttribute.call(this,"src",v),v}}),setupSourceset=function(tech){if(tech.featuresSourceset){var el=tech.el();if(!el.resetSourceset_){var srcDescriptor=function(tech){return getDescriptor([tech.el(),window$3.HTMLMediaElement.prototype,srcDescriptorPolyfill],"src")}(tech),oldSetAttribute=el.setAttribute,oldLoad=el.load;Object.defineProperty(el,"src",mergeOptions(srcDescriptor,{set:function(v){var retval=srcDescriptor.set.call(el,v);return tech.triggerSourceset(el.src),retval}})),el.setAttribute=function(n,v){var retval=oldSetAttribute.call(el,n,v);return/src/i.test(n)&&tech.triggerSourceset(el.src),retval},el.load=function(){var retval=oldLoad.call(el);return sourcesetLoad(tech)||(tech.triggerSourceset(""),firstSourceWatch(tech)),retval},el.currentSrc?tech.triggerSourceset(el.currentSrc):sourcesetLoad(tech)||firstSourceWatch(tech),el.resetSourceset_=function(){el.resetSourceset_=null,el.load=oldLoad,el.setAttribute=oldSetAttribute,Object.defineProperty(el,"src",srcDescriptor),el.resetSourceWatch_&&el.resetSourceWatch_()}}}},defineLazyProperty=function(obj,key,getValue,setter){void 0===setter&&(setter=!0);var set=function(value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,writable:!0})},options={configurable:!0,enumerable:!0,get:function(){var value=getValue();return set(value),value}};return setter&&(options.set=set),Object.defineProperty(obj,key,options)},Html5=function(_Tech){function Html5(options,ready){var _this;_this=_Tech.call(this,options,ready)||this;var source=options.source,crossoriginTracks=!1;if(source&&(_this.el_.currentSrc!==source.src||options.tag&&3===options.tag.initNetworkState_)?_this.setSource(source):_this.handleLateInit_(_this.el_),options.enableSourceset&&_this.setupSourcesetHandling_(),_this.el_.hasChildNodes()){for(var nodes=_this.el_.childNodes,nodesLength=nodes.length,removeNodes=[];nodesLength--;){var node=nodes[nodesLength];"track"===node.nodeName.toLowerCase()&&(_this.featuresNativeTextTracks?(_this.remoteTextTrackEls().addTrackElement_(node),_this.remoteTextTracks().addTrack(node.track),_this.textTracks().addTrack(node.track),crossoriginTracks||_this.el_.hasAttribute("crossorigin")||!isCrossOrigin(node.src)||(crossoriginTracks=!0)):removeNodes.push(node))}for(var i=0;i<removeNodes.length;i++)_this.el_.removeChild(removeNodes[i])}return _this.proxyNativeTracks_(),_this.featuresNativeTextTracks&&crossoriginTracks&&log.warn("Text Tracks are being loaded from another origin but the crossorigin attribute isn't used.\nThis may prevent text tracks from loading."),_this.restoreMetadataTracksInIOSNativePlayer_(),(TOUCH_ENABLED||IS_IPHONE||IS_NATIVE_ANDROID)&&!0===options.nativeControlsForTouch&&_this.setControls(!0),_this.proxyWebkitFullscreen_(),_this.triggerReady(),_this}inheritsLoose(Html5,_Tech);var _proto=Html5.prototype;return _proto.dispose=function(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),Html5.disposeMediaElement(this.el_),this.options_=null,_Tech.prototype.dispose.call(this)},_proto.setupSourcesetHandling_=function(){setupSourceset(this)},_proto.restoreMetadataTracksInIOSNativePlayer_=function(){var metadataTracksPreFullscreenState,textTracks=this.textTracks(),takeMetadataTrackSnapshot=function(){metadataTracksPreFullscreenState=[];for(var i=0;i<textTracks.length;i++){var track=textTracks[i];"metadata"===track.kind&&metadataTracksPreFullscreenState.push({track:track,storedMode:track.mode})}};takeMetadataTrackSnapshot(),textTracks.addEventListener("change",takeMetadataTrackSnapshot),this.on("dispose",(function(){return textTracks.removeEventListener("change",takeMetadataTrackSnapshot)}));var restoreTrackMode=function restoreTrackMode(){for(var i=0;i<metadataTracksPreFullscreenState.length;i++){var storedTrack=metadataTracksPreFullscreenState[i];"disabled"===storedTrack.track.mode&&storedTrack.track.mode!==storedTrack.storedMode&&(storedTrack.track.mode=storedTrack.storedMode)}textTracks.removeEventListener("change",restoreTrackMode)};this.on("webkitbeginfullscreen",(function(){textTracks.removeEventListener("change",takeMetadataTrackSnapshot),textTracks.removeEventListener("change",restoreTrackMode),textTracks.addEventListener("change",restoreTrackMode)})),this.on("webkitendfullscreen",(function(){textTracks.removeEventListener("change",takeMetadataTrackSnapshot),textTracks.addEventListener("change",takeMetadataTrackSnapshot),textTracks.removeEventListener("change",restoreTrackMode)}))},_proto.overrideNative_=function(type,override){var _this2=this;if(override===this["featuresNative"+type+"Tracks"]){var lowerCaseType=type.toLowerCase();this[lowerCaseType+"TracksListeners_"]&&Object.keys(this[lowerCaseType+"TracksListeners_"]).forEach((function(eventName){_this2.el()[lowerCaseType+"Tracks"].removeEventListener(eventName,_this2[lowerCaseType+"TracksListeners_"][eventName])})),this["featuresNative"+type+"Tracks"]=!override,this[lowerCaseType+"TracksListeners_"]=null,this.proxyNativeTracksForType_(lowerCaseType)}},_proto.overrideNativeAudioTracks=function(override){this.overrideNative_("Audio",override)},_proto.overrideNativeVideoTracks=function(override){this.overrideNative_("Video",override)},_proto.proxyNativeTracksForType_=function(name){var _this3=this,props=NORMAL[name],elTracks=this.el()[props.getterName],techTracks=this[props.getterName]();if(this["featuresNative"+props.capitalName+"Tracks"]&&elTracks&&elTracks.addEventListener){var listeners={change:function(e){var event={type:"change",target:techTracks,currentTarget:techTracks,srcElement:techTracks};techTracks.trigger(event),"text"===name&&_this3[REMOTE.remoteText.getterName]().trigger(event)},addtrack:function(e){techTracks.addTrack(e.track)},removetrack:function(e){techTracks.removeTrack(e.track)}},removeOldTracks=function(){for(var removeTracks=[],i=0;i<techTracks.length;i++){for(var found=!1,j=0;j<elTracks.length;j++)if(elTracks[j]===techTracks[i]){found=!0;break}found||removeTracks.push(techTracks[i])}for(;removeTracks.length;)techTracks.removeTrack(removeTracks.shift())};this[props.getterName+"Listeners_"]=listeners,Object.keys(listeners).forEach((function(eventName){var listener=listeners[eventName];elTracks.addEventListener(eventName,listener),_this3.on("dispose",(function(e){return elTracks.removeEventListener(eventName,listener)}))})),this.on("loadstart",removeOldTracks),this.on("dispose",(function(e){return _this3.off("loadstart",removeOldTracks)}))}},_proto.proxyNativeTracks_=function(){var _this4=this;NORMAL.names.forEach((function(name){_this4.proxyNativeTracksForType_(name)}))},_proto.createEl=function(){var el=this.options_.tag;if(!el||!this.options_.playerElIngest&&!this.movingMediaElementInDOM){if(el){var clone=el.cloneNode(!0);el.parentNode&&el.parentNode.insertBefore(clone,el),Html5.disposeMediaElement(el),el=clone}else{el=document.createElement("video");var attributes=mergeOptions({},this.options_.tag&&getAttributes(this.options_.tag));TOUCH_ENABLED&&!0===this.options_.nativeControlsForTouch||delete attributes.controls,setAttributes(el,assign(attributes,{id:this.options_.techId,class:"vjs-tech"}))}el.playerId=this.options_.playerId}void 0!==this.options_.preload&&setAttribute(el,"preload",this.options_.preload);for(var settingsAttrs=["loop","muted","playsinline","autoplay"],i=0;i<settingsAttrs.length;i++){var attr=settingsAttrs[i],value=this.options_[attr];void 0!==value&&(value?setAttribute(el,attr,attr):removeAttribute(el,attr),el[attr]=value)}return el},_proto.handleLateInit_=function(el){if(0!==el.networkState&&3!==el.networkState){if(0===el.readyState){var loadstartFired=!1,setLoadstartFired=function(){loadstartFired=!0};this.on("loadstart",setLoadstartFired);var triggerLoadstart=function(){loadstartFired||this.trigger("loadstart")};return this.on("loadedmetadata",triggerLoadstart),void this.ready((function(){this.off("loadstart",setLoadstartFired),this.off("loadedmetadata",triggerLoadstart),loadstartFired||this.trigger("loadstart")}))}var eventsToTrigger=["loadstart"];eventsToTrigger.push("loadedmetadata"),el.readyState>=2&&eventsToTrigger.push("loadeddata"),el.readyState>=3&&eventsToTrigger.push("canplay"),el.readyState>=4&&eventsToTrigger.push("canplaythrough"),this.ready((function(){eventsToTrigger.forEach((function(type){this.trigger(type)}),this)}))}},_proto.setCurrentTime=function(seconds){try{this.el_.currentTime=seconds}catch(e){log(e,"Video is not ready. (Video.js)")}},_proto.duration=function(){var _this5=this;return this.el_.duration===1/0&&IS_ANDROID&&IS_CHROME&&0===this.el_.currentTime?(this.on("timeupdate",(function checkProgress(){_this5.el_.currentTime>0&&(_this5.el_.duration===1/0&&_this5.trigger("durationchange"),_this5.off("timeupdate",checkProgress))})),NaN):this.el_.duration||NaN},_proto.width=function(){return this.el_.offsetWidth},_proto.height=function(){return this.el_.offsetHeight},_proto.proxyWebkitFullscreen_=function(){var _this6=this;if("webkitDisplayingFullscreen"in this.el_){var endFn=function(){this.trigger("fullscreenchange",{isFullscreen:!1})},beginFn=function(){"webkitPresentationMode"in this.el_&&"picture-in-picture"!==this.el_.webkitPresentationMode&&(this.one("webkitendfullscreen",endFn),this.trigger("fullscreenchange",{isFullscreen:!0}))};this.on("webkitbeginfullscreen",beginFn),this.on("dispose",(function(){_this6.off("webkitbeginfullscreen",beginFn),_this6.off("webkitendfullscreen",endFn)}))}},_proto.supportsFullScreen=function(){if("function"==typeof this.el_.webkitEnterFullScreen){var userAgent=window$3.navigator&&window$3.navigator.userAgent||"";if(/Android/.test(userAgent)||!/Chrome|Mac OS X 10.5/.test(userAgent))return!0}return!1},_proto.enterFullScreen=function(){var video=this.el_;video.paused&&video.networkState<=video.HAVE_METADATA?(this.el_.play(),this.setTimeout((function(){video.pause(),video.webkitEnterFullScreen()}),0)):video.webkitEnterFullScreen()},_proto.exitFullScreen=function(){this.el_.webkitExitFullScreen()},_proto.requestPictureInPicture=function(){return this.el_.requestPictureInPicture()},_proto.src=function(_src){if(void 0===_src)return this.el_.src;this.setSrc(_src)},_proto.reset=function(){Html5.resetMediaElement(this.el_)},_proto.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc},_proto.setControls=function(val){this.el_.controls=!!val},_proto.addTextTrack=function(kind,label,language){return this.featuresNativeTextTracks?this.el_.addTextTrack(kind,label,language):_Tech.prototype.addTextTrack.call(this,kind,label,language)},_proto.createRemoteTextTrack=function(options){if(!this.featuresNativeTextTracks)return _Tech.prototype.createRemoteTextTrack.call(this,options);var htmlTrackElement=document.createElement("track");return options.kind&&(htmlTrackElement.kind=options.kind),options.label&&(htmlTrackElement.label=options.label),(options.language||options.srclang)&&(htmlTrackElement.srclang=options.language||options.srclang),options.default&&(htmlTrackElement.default=options.default),options.id&&(htmlTrackElement.id=options.id),options.src&&(htmlTrackElement.src=options.src),htmlTrackElement},_proto.addRemoteTextTrack=function(options,manualCleanup){var htmlTrackElement=_Tech.prototype.addRemoteTextTrack.call(this,options,manualCleanup);return this.featuresNativeTextTracks&&this.el().appendChild(htmlTrackElement),htmlTrackElement},_proto.removeRemoteTextTrack=function(track){if(_Tech.prototype.removeRemoteTextTrack.call(this,track),this.featuresNativeTextTracks)for(var tracks=this.$$("track"),i=tracks.length;i--;)track!==tracks[i]&&track!==tracks[i].track||this.el().removeChild(tracks[i])},_proto.getVideoPlaybackQuality=function(){if("function"==typeof this.el().getVideoPlaybackQuality)return this.el().getVideoPlaybackQuality();var videoPlaybackQuality={};return void 0!==this.el().webkitDroppedFrameCount&&void 0!==this.el().webkitDecodedFrameCount&&(videoPlaybackQuality.droppedVideoFrames=this.el().webkitDroppedFrameCount,videoPlaybackQuality.totalVideoFrames=this.el().webkitDecodedFrameCount),window$3.performance&&"function"==typeof window$3.performance.now?videoPlaybackQuality.creationTime=window$3.performance.now():window$3.performance&&window$3.performance.timing&&"number"==typeof window$3.performance.timing.navigationStart&&(videoPlaybackQuality.creationTime=window$3.Date.now()-window$3.performance.timing.navigationStart),videoPlaybackQuality},Html5}(Tech);defineLazyProperty(Html5,"TEST_VID",(function(){if(isReal()){var video=document.createElement("video"),track=document.createElement("track");return track.kind="captions",track.srclang="en",track.label="English",video.appendChild(track),video}})),Html5.isSupported=function(){try{Html5.TEST_VID.volume=.5}catch(e){return!1}return!(!Html5.TEST_VID||!Html5.TEST_VID.canPlayType)},Html5.canPlayType=function(type){return Html5.TEST_VID.canPlayType(type)},Html5.canPlaySource=function(srcObj,options){return Html5.canPlayType(srcObj.type)},Html5.canControlVolume=function(){try{var volume=Html5.TEST_VID.volume;return Html5.TEST_VID.volume=volume/2+.1,volume!==Html5.TEST_VID.volume}catch(e){return!1}},Html5.canMuteVolume=function(){try{var muted=Html5.TEST_VID.muted;return Html5.TEST_VID.muted=!muted,Html5.TEST_VID.muted?setAttribute(Html5.TEST_VID,"muted","muted"):removeAttribute(Html5.TEST_VID,"muted"),muted!==Html5.TEST_VID.muted}catch(e){return!1}},Html5.canControlPlaybackRate=function(){if(IS_ANDROID&&IS_CHROME&&CHROME_VERSION<58)return!1;try{var playbackRate=Html5.TEST_VID.playbackRate;return Html5.TEST_VID.playbackRate=playbackRate/2+.1,playbackRate!==Html5.TEST_VID.playbackRate}catch(e){return!1}},Html5.canOverrideAttributes=function(){try{var noop=function(){};Object.defineProperty(document.createElement("video"),"src",{get:noop,set:noop}),Object.defineProperty(document.createElement("audio"),"src",{get:noop,set:noop}),Object.defineProperty(document.createElement("video"),"innerHTML",{get:noop,set:noop}),Object.defineProperty(document.createElement("audio"),"innerHTML",{get:noop,set:noop})}catch(e){return!1}return!0},Html5.supportsNativeTextTracks=function(){return IS_ANY_SAFARI||IS_IOS&&IS_CHROME},Html5.supportsNativeVideoTracks=function(){return!(!Html5.TEST_VID||!Html5.TEST_VID.videoTracks)},Html5.supportsNativeAudioTracks=function(){return!(!Html5.TEST_VID||!Html5.TEST_VID.audioTracks)},Html5.Events=["loadstart","suspend","abort","error","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","play","pause","ratechange","resize","volumechange"],[["featuresVolumeControl","canControlVolume"],["featuresMuteControl","canMuteVolume"],["featuresPlaybackRate","canControlPlaybackRate"],["featuresSourceset","canOverrideAttributes"],["featuresNativeTextTracks","supportsNativeTextTracks"],["featuresNativeVideoTracks","supportsNativeVideoTracks"],["featuresNativeAudioTracks","supportsNativeAudioTracks"]].forEach((function(_ref){var key=_ref[0],fn=_ref[1];defineLazyProperty(Html5.prototype,key,(function(){return Html5[fn]()}),!0)})),Html5.prototype.movingMediaElementInDOM=!IS_IOS,Html5.prototype.featuresFullscreenResize=!0,Html5.prototype.featuresProgressEvents=!0,Html5.prototype.featuresTimeupdateEvents=!0,Html5.patchCanPlayType=function(){ANDROID_VERSION>=4&&!IS_FIREFOX&&!IS_CHROME&&(canPlayType=Html5.TEST_VID&&Html5.TEST_VID.constructor.prototype.canPlayType,Html5.TEST_VID.constructor.prototype.canPlayType=function(type){return type&&/^application\/(?:x-|vnd\.apple\.)mpegurl/i.test(type)?"maybe":canPlayType.call(this,type)})},Html5.unpatchCanPlayType=function(){var r=Html5.TEST_VID.constructor.prototype.canPlayType;return canPlayType&&(Html5.TEST_VID.constructor.prototype.canPlayType=canPlayType),r},Html5.patchCanPlayType(),Html5.disposeMediaElement=function(el){if(el){for(el.parentNode&&el.parentNode.removeChild(el);el.hasChildNodes();)el.removeChild(el.firstChild);el.removeAttribute("src"),"function"==typeof el.load&&function(){try{el.load()}catch(e){}}()}},Html5.resetMediaElement=function(el){if(el){for(var sources=el.querySelectorAll("source"),i=sources.length;i--;)el.removeChild(sources[i]);el.removeAttribute("src"),"function"==typeof el.load&&function(){try{el.load()}catch(e){}}()}},["muted","defaultMuted","autoplay","controls","loop","playsinline"].forEach((function(prop){Html5.prototype[prop]=function(){return this.el_[prop]||this.el_.hasAttribute(prop)}})),["muted","defaultMuted","autoplay","loop","playsinline"].forEach((function(prop){Html5.prototype["set"+toTitleCase(prop)]=function(v){this.el_[prop]=v,v?this.el_.setAttribute(prop,prop):this.el_.removeAttribute(prop)}})),["paused","currentTime","buffered","volume","poster","preload","error","seeking","seekable","ended","playbackRate","defaultPlaybackRate","played","networkState","readyState","videoWidth","videoHeight"].forEach((function(prop){Html5.prototype[prop]=function(){return this.el_[prop]}})),["volume","src","poster","preload","playbackRate","defaultPlaybackRate"].forEach((function(prop){Html5.prototype["set"+toTitleCase(prop)]=function(v){this.el_[prop]=v}})),["pause","load","play"].forEach((function(prop){Html5.prototype[prop]=function(){return this.el_[prop]()}})),Tech.withSourceHandlers(Html5),Html5.nativeSourceHandler={},Html5.nativeSourceHandler.canPlayType=function(type){try{return Html5.TEST_VID.canPlayType(type)}catch(e){return""}},Html5.nativeSourceHandler.canHandleSource=function(source,options){if(source.type)return Html5.nativeSourceHandler.canPlayType(source.type);if(source.src){var ext=getFileExtension(source.src);return Html5.nativeSourceHandler.canPlayType("video/"+ext)}return""},Html5.nativeSourceHandler.handleSource=function(source,tech,options){tech.setSrc(source.src)},Html5.nativeSourceHandler.dispose=function(){},Html5.registerSourceHandler(Html5.nativeSourceHandler),Tech.registerTech("Html5",Html5);var TECH_EVENTS_RETRIGGER=["progress","abort","suspend","emptied","stalled","loadedmetadata","loadeddata","timeupdate","resize","volumechange","texttrackchange"],TECH_EVENTS_QUEUE={canplay:"CanPlay",canplaythrough:"CanPlayThrough",playing:"Playing",seeked:"Seeked"},BREAKPOINT_ORDER=["tiny","xsmall","small","medium","large","xlarge","huge"],BREAKPOINT_CLASSES={};BREAKPOINT_ORDER.forEach((function(k){var v="x"===k.charAt(0)?"x-"+k.substring(1):k;BREAKPOINT_CLASSES[k]="vjs-layout-"+v}));var DEFAULT_BREAKPOINTS={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},Player=function(_Component){function Player(tag,options,ready){var _this;if(tag.id=tag.id||options.id||"vjs_video_"+newGUID(),(options=assign(Player.getTagSettings(tag),options)).initChildren=!1,options.createEl=!1,options.evented=!1,options.reportTouchActivity=!1,!options.language)if("function"==typeof tag.closest){var closest=tag.closest("[lang]");closest&&closest.getAttribute&&(options.language=closest.getAttribute("lang"))}else for(var element=tag;element&&1===element.nodeType;){if(getAttributes(element).hasOwnProperty("lang")){options.language=element.getAttribute("lang");break}element=element.parentNode}if((_this=_Component.call(this,null,options,ready)||this).boundDocumentFullscreenChange_=bind(assertThisInitialized(_this),_this.documentFullscreenChange_),_this.boundFullWindowOnEscKey_=bind(assertThisInitialized(_this),_this.fullWindowOnEscKey),_this.isFullscreen_=!1,_this.log=createLogger$1(_this.id_),_this.fsApi_=FullscreenApi,_this.isPosterFromTech_=!1,_this.queuedCallbacks_=[],_this.isReady_=!1,_this.hasStarted_=!1,_this.userActive_=!1,!_this.options_||!_this.options_.techOrder||!_this.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");if(_this.tag=tag,_this.tagAttributes=tag&&getAttributes(tag),_this.language(_this.options_.language),options.languages){var languagesToLower={};Object.getOwnPropertyNames(options.languages).forEach((function(name){languagesToLower[name.toLowerCase()]=options.languages[name]})),_this.languages_=languagesToLower}else _this.languages_=Player.prototype.options_.languages;_this.resetCache_(),_this.poster_=options.poster||"",_this.controls_=!!options.controls,tag.controls=!1,tag.removeAttribute("controls"),_this.changingSrc_=!1,_this.playCallbacks_=[],_this.playTerminatedQueue_=[],tag.hasAttribute("autoplay")?_this.autoplay(!0):_this.autoplay(_this.options_.autoplay),options.plugins&&Object.keys(options.plugins).forEach((function(name){if("function"!=typeof _this[name])throw new Error('plugin "'+name+'" does not exist')})),_this.scrubbing_=!1,_this.el_=_this.createEl(),evented(assertThisInitialized(_this),{eventBusKey:"el_"}),_this.fsApi_.requestFullscreen&&(on(document,_this.fsApi_.fullscreenchange,_this.boundDocumentFullscreenChange_),_this.on(_this.fsApi_.fullscreenchange,_this.boundDocumentFullscreenChange_)),_this.fluid_&&_this.on("playerreset",_this.updateStyleEl_);var playerOptionsCopy=mergeOptions(_this.options_);options.plugins&&Object.keys(options.plugins).forEach((function(name){_this[name](options.plugins[name])})),_this.options_.playerOptions=playerOptionsCopy,_this.middleware_=[],_this.initChildren(),_this.isAudio("audio"===tag.nodeName.toLowerCase()),_this.controls()?_this.addClass("vjs-controls-enabled"):_this.addClass("vjs-controls-disabled"),_this.el_.setAttribute("role","region"),_this.isAudio()?_this.el_.setAttribute("aria-label",_this.localize("Audio Player")):_this.el_.setAttribute("aria-label",_this.localize("Video Player")),_this.isAudio()&&_this.addClass("vjs-audio"),_this.flexNotSupported_()&&_this.addClass("vjs-no-flex"),TOUCH_ENABLED&&_this.addClass("vjs-touch-enabled"),IS_IOS||_this.addClass("vjs-workinghover"),Player.players[_this.id_]=assertThisInitialized(_this);var majorVersion="7.7.6".split(".")[0];return _this.addClass("vjs-v"+majorVersion),_this.userActive(!0),_this.reportUserActivity(),_this.one("play",_this.listenForUserActivity_),_this.on("stageclick",_this.handleStageClick_),_this.on("keydown",_this.handleKeyDown),_this.breakpoints(_this.options_.breakpoints),_this.responsive(_this.options_.responsive),_this}inheritsLoose(Player,_Component);var _proto=Player.prototype;return _proto.dispose=function(){var _this2=this;this.trigger("dispose"),this.off("dispose"),off(document,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),off(document,"keydown",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),Player.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=""),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),middlewareInstances[this.id()]=null,ALL.names.forEach((function(name){var props=ALL[name],list=_this2[props.getterName]();list&&list.off&&list.off()})),_Component.prototype.dispose.call(this)},_proto.createEl=function(){var el,tag=this.tag,playerElIngest=this.playerElIngest_=tag.parentNode&&tag.parentNode.hasAttribute&&tag.parentNode.hasAttribute("data-vjs-player"),divEmbed="video-js"===this.tag.tagName.toLowerCase();playerElIngest?el=this.el_=tag.parentNode:divEmbed||(el=this.el_=_Component.prototype.createEl.call(this,"div"));var attrs=getAttributes(tag);if(divEmbed){for(el=this.el_=tag,tag=this.tag=document.createElement("video");el.children.length;)tag.appendChild(el.firstChild);hasClass(el,"video-js")||addClass(el,"video-js"),el.appendChild(tag),playerElIngest=this.playerElIngest_=el,Object.keys(el).forEach((function(k){try{tag[k]=el[k]}catch(e){}}))}if(tag.setAttribute("tabindex","-1"),attrs.tabindex="-1",(IE_VERSION||IS_CHROME&&IS_WINDOWS)&&(tag.setAttribute("role","application"),attrs.role="application"),tag.removeAttribute("width"),tag.removeAttribute("height"),"width"in attrs&&delete attrs.width,"height"in attrs&&delete attrs.height,Object.getOwnPropertyNames(attrs).forEach((function(attr){divEmbed&&"class"===attr||el.setAttribute(attr,attrs[attr]),divEmbed&&tag.setAttribute(attr,attrs[attr])})),tag.playerId=tag.id,tag.id+="_html5_api",tag.className="vjs-tech",tag.player=el.player=this,this.addClass("vjs-paused"),!0!==window$3.VIDEOJS_NO_DYNAMIC_STYLE){this.styleEl_=createStyleElement("vjs-styles-dimensions");var defaultsStyleEl=$(".vjs-styles-defaults"),head=$("head");head.insertBefore(this.styleEl_,defaultsStyleEl?defaultsStyleEl.nextSibling:head.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio);for(var links=tag.getElementsByTagName("a"),i=0;i<links.length;i++){var linkEl=links.item(i);addClass(linkEl,"vjs-hidden"),linkEl.setAttribute("hidden","hidden")}return tag.initNetworkState_=tag.networkState,tag.parentNode&&!playerElIngest&&tag.parentNode.insertBefore(el,tag),prependTo(tag,el),this.children_.unshift(tag),this.el_.setAttribute("lang",this.language_),this.el_=el,el},_proto.width=function(value){return this.dimension("width",value)},_proto.height=function(value){return this.dimension("height",value)},_proto.dimension=function(_dimension,value){var privDimension=_dimension+"_";if(void 0===value)return this[privDimension]||0;if(""===value||"auto"===value)return this[privDimension]=void 0,void this.updateStyleEl_();var parsedVal=parseFloat(value);isNaN(parsedVal)?log.error('Improper value "'+value+'" supplied for for '+_dimension):(this[privDimension]=parsedVal,this.updateStyleEl_())},_proto.fluid=function(bool){if(void 0===bool)return!!this.fluid_;var target,callback;this.fluid_=!!bool,isEvented(this)&&this.off("playerreset",this.updateStyleEl_),bool?(this.addClass("vjs-fluid"),this.fill(!1),isEvented(target=function(){this.on("playerreset",this.updateStyleEl_)})?callback():(target.eventedCallbacks||(target.eventedCallbacks=[]),target.eventedCallbacks.push(callback))):this.removeClass("vjs-fluid"),this.updateStyleEl_()},_proto.fill=function(bool){if(void 0===bool)return!!this.fill_;this.fill_=!!bool,bool?(this.addClass("vjs-fill"),this.fluid(!1)):this.removeClass("vjs-fill")},_proto.aspectRatio=function(ratio){if(void 0===ratio)return this.aspectRatio_;if(!/^\d+\:\d+$/.test(ratio))throw new Error("Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.");this.aspectRatio_=ratio,this.fluid(!0),this.updateStyleEl_()},_proto.updateStyleEl_=function(){if(!0!==window$3.VIDEOJS_NO_DYNAMIC_STYLE){var width,height,idClass,ratioParts=(void 0!==this.aspectRatio_&&"auto"!==this.aspectRatio_?this.aspectRatio_:this.videoWidth()>0?this.videoWidth()+":"+this.videoHeight():"16:9").split(":"),ratioMultiplier=ratioParts[1]/ratioParts[0];width=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/ratioMultiplier:this.videoWidth()||300,height=void 0!==this.height_?this.height_:width*ratioMultiplier,idClass=/^[^a-zA-Z]/.test(this.id())?"dimensions-"+this.id():this.id()+"-dimensions",this.addClass(idClass),setTextContent(this.styleEl_,"\n ."+idClass+" {\n width: "+width+"px;\n height: "+height+"px;\n }\n\n ."+idClass+".vjs-fluid {\n padding-top: "+100*ratioMultiplier+"%;\n }\n ")}else{var _width="number"==typeof this.width_?this.width_:this.options_.width,_height="number"==typeof this.height_?this.height_:this.options_.height,techEl=this.tech_&&this.tech_.el();techEl&&(_width>=0&&(techEl.width=_width),_height>=0&&(techEl.height=_height))}},_proto.loadTech_=function(techName,source){var _this3=this;this.tech_&&this.unloadTech_();var titleTechName=toTitleCase(techName),camelTechName=techName.charAt(0).toLowerCase()+techName.slice(1);"Html5"!==titleTechName&&this.tag&&(Tech.getTech("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=titleTechName,this.isReady_=!1;var techOptions={source:source,autoplay:"string"!=typeof this.autoplay()&&this.autoplay(),nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+"_"+camelTechName+"_api",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_["vtt.js"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};ALL.names.forEach((function(name){var props=ALL[name];techOptions[props.getterName]=_this3[props.privateName]})),assign(techOptions,this.options_[titleTechName]),assign(techOptions,this.options_[camelTechName]),assign(techOptions,this.options_[techName.toLowerCase()]),this.tag&&(techOptions.tag=this.tag),source&&source.src===this.cache_.src&&this.cache_.currentTime>0&&(techOptions.startTime=this.cache_.currentTime);var TechClass=Tech.getTech(techName);if(!TechClass)throw new Error("No Tech named '"+titleTechName+"' exists! '"+titleTechName+"' should be registered using videojs.registerTech()'");this.tech_=new TechClass(techOptions),this.tech_.ready(bind(this,this.handleTechReady_),!0),textTrackConverter_jsonToTextTracks(this.textTracksJson_||[],this.tech_),TECH_EVENTS_RETRIGGER.forEach((function(event){_this3.on(_this3.tech_,event,_this3["handleTech"+toTitleCase(event)+"_"])})),Object.keys(TECH_EVENTS_QUEUE).forEach((function(event){_this3.on(_this3.tech_,event,(function(eventObj){0===_this3.tech_.playbackRate()&&_this3.tech_.seeking()?_this3.queuedCallbacks_.push({callback:_this3["handleTech"+TECH_EVENTS_QUEUE[event]+"_"].bind(_this3),event:eventObj}):_this3["handleTech"+TECH_EVENTS_QUEUE[event]+"_"](eventObj)}))})),this.on(this.tech_,"loadstart",this.handleTechLoadStart_),this.on(this.tech_,"sourceset",this.handleTechSourceset_),this.on(this.tech_,"waiting",this.handleTechWaiting_),this.on(this.tech_,"ended",this.handleTechEnded_),this.on(this.tech_,"seeking",this.handleTechSeeking_),this.on(this.tech_,"play",this.handleTechPlay_),this.on(this.tech_,"firstplay",this.handleTechFirstPlay_),this.on(this.tech_,"pause",this.handleTechPause_),this.on(this.tech_,"durationchange",this.handleTechDurationChange_),this.on(this.tech_,"fullscreenchange",this.handleTechFullscreenChange_),this.on(this.tech_,"enterpictureinpicture",this.handleTechEnterPictureInPicture_),this.on(this.tech_,"leavepictureinpicture",this.handleTechLeavePictureInPicture_),this.on(this.tech_,"error",this.handleTechError_),this.on(this.tech_,"loadedmetadata",this.updateStyleEl_),this.on(this.tech_,"posterchange",this.handleTechPosterChange_),this.on(this.tech_,"textdata",this.handleTechTextData_),this.on(this.tech_,"ratechange",this.handleTechRateChange_),this.usingNativeControls(this.techGet_("controls")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode===this.el()||"Html5"===titleTechName&&this.tag||prependTo(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null)},_proto.unloadTech_=function(){var _this4=this;ALL.names.forEach((function(name){var props=ALL[name];_this4[props.privateName]=_this4[props.getterName]()})),this.textTracksJson_=textTrackConverter_textTracksToJson(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_="",this.trigger("posterchange")),this.isPosterFromTech_=!1},_proto.tech=function(safety){return void 0===safety&&log.warn("Using the tech directly can be dangerous. I hope you know what you're doing.\nSee https://github.com/videojs/video.js/issues/2617 for more info.\n"),this.tech_},_proto.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,"mouseup",this.handleTechClick_),this.on(this.tech_,"dblclick",this.handleTechDoubleClick_),this.on(this.tech_,"touchstart",this.handleTechTouchStart_),this.on(this.tech_,"touchmove",this.handleTechTouchMove_),this.on(this.tech_,"touchend",this.handleTechTouchEnd_),this.on(this.tech_,"tap",this.handleTechTap_)},_proto.removeTechControlsListeners_=function(){this.off(this.tech_,"tap",this.handleTechTap_),this.off(this.tech_,"touchstart",this.handleTechTouchStart_),this.off(this.tech_,"touchmove",this.handleTechTouchMove_),this.off(this.tech_,"touchend",this.handleTechTouchEnd_),this.off(this.tech_,"mouseup",this.handleTechClick_),this.off(this.tech_,"dblclick",this.handleTechDoubleClick_)},_proto.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_("setVolume",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()},_proto.handleTechLoadStart_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-seeking"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger("loadstart")):(this.trigger("loadstart"),this.trigger("firstplay")),this.manualAutoplay_(this.autoplay())},_proto.manualAutoplay_=function(type){var _this5=this;if(this.tech_&&"string"==typeof type){var promise,muted=function(){var previouslyMuted=_this5.muted();_this5.muted(!0);var restoreMuted=function(){_this5.muted(previouslyMuted)};_this5.playTerminatedQueue_.push(restoreMuted);var mutedPromise=_this5.play();if(isPromise(mutedPromise))return mutedPromise.catch(restoreMuted)};if("any"===type&&!0!==this.muted()?isPromise(promise=this.play())&&(promise=promise.catch(muted)):promise="muted"===type&&!0!==this.muted()?muted():this.play(),isPromise(promise))return promise.then((function(){_this5.trigger({type:"autoplay-success",autoplay:type})})).catch((function(e){_this5.trigger({type:"autoplay-failure",autoplay:type})}))}},_proto.updateSourceCaches_=function(srcObj){void 0===srcObj&&(srcObj="");var src=srcObj,type="";"string"!=typeof src&&(src=srcObj.src,type=srcObj.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],src&&!type&&(type=function(player,src){if(!src)return"";if(player.cache_.source.src===src&&player.cache_.source.type)return player.cache_.source.type;var matchingSources=player.cache_.sources.filter((function(s){return s.src===src}));if(matchingSources.length)return matchingSources[0].type;for(var sources=player.$$("source"),i=0;i<sources.length;i++){var s=sources[i];if(s.type&&s.src&&s.src===src)return s.type}return getMimetype(src)}(this,src)),this.cache_.source=mergeOptions({},srcObj,{src:src,type:type});for(var matchingSources=this.cache_.sources.filter((function(s){return s.src&&s.src===src})),sourceElSources=[],sourceEls=this.$$("source"),matchingSourceEls=[],i=0;i<sourceEls.length;i++){var sourceObj=getAttributes(sourceEls[i]);sourceElSources.push(sourceObj),sourceObj.src&&sourceObj.src===src&&matchingSourceEls.push(sourceObj.src)}matchingSourceEls.length&&!matchingSources.length?this.cache_.sources=sourceElSources:matchingSources.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=src},_proto.handleTechSourceset_=function(event){var _this6=this;if(!this.changingSrc_){var updateSourceCaches=function(src){return _this6.updateSourceCaches_(src)},playerSrc=this.currentSource().src,eventSrc=event.src;playerSrc&&!/^blob:/.test(playerSrc)&&/^blob:/.test(eventSrc)&&(!this.lastSource_||this.lastSource_.tech!==eventSrc&&this.lastSource_.player!==playerSrc)&&(updateSourceCaches=function(){}),updateSourceCaches(eventSrc),event.src||this.tech_.any(["sourceset","loadstart"],(function(e){if("sourceset"!==e.type){var techSrc=_this6.techGet("currentSrc");_this6.lastSource_.tech=techSrc,_this6.updateSourceCaches_(techSrc)}}))}this.lastSource_={player:this.currentSource().src,tech:event.src},this.trigger({src:event.src,type:"sourceset"})},_proto.hasStarted=function(request){if(void 0===request)return this.hasStarted_;request!==this.hasStarted_&&(this.hasStarted_=request,this.hasStarted_?(this.addClass("vjs-has-started"),this.trigger("firstplay")):this.removeClass("vjs-has-started"))},_proto.handleTechPlay_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.hasStarted(!0),this.trigger("play")},_proto.handleTechRateChange_=function(){this.tech_.playbackRate()>0&&0===this.cache_.lastPlaybackRate&&(this.queuedCallbacks_.forEach((function(queued){return queued.callback(queued.event)})),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger("ratechange")},_proto.handleTechWaiting_=function(){var _this7=this;this.addClass("vjs-waiting"),this.trigger("waiting");var timeWhenWaiting=this.currentTime();this.on("timeupdate",(function timeUpdateListener(){timeWhenWaiting!==_this7.currentTime()&&(_this7.removeClass("vjs-waiting"),_this7.off("timeupdate",timeUpdateListener))}))},_proto.handleTechCanPlay_=function(){this.removeClass("vjs-waiting"),this.trigger("canplay")},_proto.handleTechCanPlayThrough_=function(){this.removeClass("vjs-waiting"),this.trigger("canplaythrough")},_proto.handleTechPlaying_=function(){this.removeClass("vjs-waiting"),this.trigger("playing")},_proto.handleTechSeeking_=function(){this.addClass("vjs-seeking"),this.trigger("seeking")},_proto.handleTechSeeked_=function(){this.removeClass("vjs-seeking"),this.removeClass("vjs-ended"),this.trigger("seeked")},_proto.handleTechFirstPlay_=function(){this.options_.starttime&&(log.warn("Passing the `starttime` option to the player will be deprecated in 6.0"),this.currentTime(this.options_.starttime)),this.addClass("vjs-has-started"),this.trigger("firstplay")},_proto.handleTechPause_=function(){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.trigger("pause")},_proto.handleTechEnded_=function(){this.addClass("vjs-ended"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger("ended")},_proto.handleTechDurationChange_=function(){this.duration(this.techGet_("duration"))},_proto.handleTechClick_=function(event){isSingleLeftClick(event)&&this.controls_&&(this.paused()?silencePromise(this.play()):this.pause())},_proto.handleTechDoubleClick_=function(event){this.controls_&&(Array.prototype.some.call(this.$$(".vjs-control-bar, .vjs-modal-dialog"),(function(el){return el.contains(event.target)}))||void 0!==this.options_&&void 0!==this.options_.userActions&&void 0!==this.options_.userActions.doubleClick&&!1===this.options_.userActions.doubleClick||(void 0!==this.options_&&void 0!==this.options_.userActions&&"function"==typeof this.options_.userActions.doubleClick?this.options_.userActions.doubleClick.call(this,event):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))},_proto.handleTechTap_=function(){this.userActive(!this.userActive())},_proto.handleTechTouchStart_=function(){this.userWasActive=this.userActive()},_proto.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity()},_proto.handleTechTouchEnd_=function(event){event.preventDefault()},_proto.handleStageClick_=function(){this.reportUserActivity()},_proto.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass("vjs-fullscreen"):this.removeClass("vjs-fullscreen")},_proto.documentFullscreenChange_=function(e){var targetPlayer=e.target.player;if(!targetPlayer||targetPlayer===this){var el=this.el(),isFs=document[this.fsApi_.fullscreenElement]===el;!isFs&&el.matches?isFs=el.matches(":"+this.fsApi_.fullscreen):!isFs&&el.msMatchesSelector&&(isFs=el.msMatchesSelector(":"+this.fsApi_.fullscreen)),this.isFullscreen(isFs)}},_proto.handleTechFullscreenChange_=function(event,data){data&&this.isFullscreen(data.isFullscreen)},_proto.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass("vjs-picture-in-picture"):this.removeClass("vjs-picture-in-picture")},_proto.handleTechEnterPictureInPicture_=function(event){this.isInPictureInPicture(!0)},_proto.handleTechLeavePictureInPicture_=function(event){this.isInPictureInPicture(!1)},_proto.handleTechError_=function(){var error=this.tech_.error();this.error(error)},_proto.handleTechTextData_=function(){var data=null;arguments.length>1&&(data=arguments[1]),this.trigger("textdata",data)},_proto.getCache=function(){return this.cache_},_proto.resetCache_=function(){this.cache_={currentTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:"",source:{},sources:[],volume:1}},_proto.techCall_=function(method,arg){this.ready((function(){if(method in allowedSetters)return function(middleware,tech,method,arg){return tech[method](middleware.reduce(middlewareIterator(method),arg))}(this.middleware_,this.tech_,method,arg);if(method in allowedMediators)return mediate(this.middleware_,this.tech_,method,arg);try{this.tech_&&this.tech_[method](arg)}catch(e){throw log(e),e}}),!0)},_proto.techGet_=function(method){if(this.tech_&&this.tech_.isReady_){if(method in allowedGetters)return function(middleware,tech,method){return middleware.reduceRight(middlewareIterator(method),tech[method]())}(this.middleware_,this.tech_,method);if(method in allowedMediators)return mediate(this.middleware_,this.tech_,method);try{return this.tech_[method]()}catch(e){if(void 0===this.tech_[method])throw log("Video.js: "+method+" method not defined for "+this.techName_+" playback technology.",e),e;if("TypeError"===e.name)throw log("Video.js: "+method+" unavailable on "+this.techName_+" playback technology element.",e),this.tech_.isReady_=!1,e;throw log(e),e}}},_proto.play=function(){var _this8=this,PromiseClass=this.options_.Promise||window$3.Promise;return PromiseClass?new PromiseClass((function(resolve){_this8.play_(resolve)})):this.play_()},_proto.play_=function(callback){var _this9=this;void 0===callback&&(callback=silencePromise),this.playCallbacks_.push(callback);var isSrcReady=Boolean(!this.changingSrc_&&(this.src()||this.currentSrc()));if(this.waitToPlay_&&(this.off(["ready","loadstart"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!isSrcReady)return this.waitToPlay_=function(e){_this9.play_()},this.one(["ready","loadstart"],this.waitToPlay_),void(isSrcReady||!IS_ANY_SAFARI&&!IS_IOS||this.load());var val=this.techGet_("play");null===val?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(val)},_proto.runPlayTerminatedQueue_=function(){var queue=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],queue.forEach((function(q){q()}))},_proto.runPlayCallbacks_=function(val){var callbacks=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],callbacks.forEach((function(cb){cb(val)}))},_proto.pause=function(){this.techCall_("pause")},_proto.paused=function(){return!1!==this.techGet_("paused")},_proto.played=function(){return this.techGet_("played")||createTimeRanges(0,0)},_proto.scrubbing=function(isScrubbing){if(void 0===isScrubbing)return this.scrubbing_;this.scrubbing_=!!isScrubbing,isScrubbing?this.addClass("vjs-scrubbing"):this.removeClass("vjs-scrubbing")},_proto.currentTime=function(seconds){return void 0!==seconds?(seconds<0&&(seconds=0),void this.techCall_("setCurrentTime",seconds)):(this.cache_.currentTime=this.techGet_("currentTime")||0,this.cache_.currentTime)},_proto.duration=function(seconds){if(void 0===seconds)return void 0!==this.cache_.duration?this.cache_.duration:NaN;(seconds=parseFloat(seconds))<0&&(seconds=1/0),seconds!==this.cache_.duration&&(this.cache_.duration=seconds,seconds===1/0?this.addClass("vjs-live"):this.removeClass("vjs-live"),isNaN(seconds)||this.trigger("durationchange"))},_proto.remainingTime=function(){return this.duration()-this.currentTime()},_proto.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime())},_proto.buffered=function(){var buffered=this.techGet_("buffered");return buffered&&buffered.length||(buffered=createTimeRanges(0,0)),buffered},_proto.bufferedPercent=function(){return bufferedPercent(this.buffered(),this.duration())},_proto.bufferedEnd=function(){var buffered=this.buffered(),duration=this.duration(),end=buffered.end(buffered.length-1);return end>duration&&(end=duration),end},_proto.volume=function(percentAsDecimal){var vol;return void 0!==percentAsDecimal?(vol=Math.max(0,Math.min(1,parseFloat(percentAsDecimal))),this.cache_.volume=vol,this.techCall_("setVolume",vol),void(vol>0&&this.lastVolume_(vol))):(vol=parseFloat(this.techGet_("volume")),isNaN(vol)?1:vol)},_proto.muted=function(_muted){if(void 0===_muted)return this.techGet_("muted")||!1;this.techCall_("setMuted",_muted)},_proto.defaultMuted=function(_defaultMuted){return void 0!==_defaultMuted?this.techCall_("setDefaultMuted",_defaultMuted):this.techGet_("defaultMuted")||!1},_proto.lastVolume_=function(percentAsDecimal){if(void 0===percentAsDecimal||0===percentAsDecimal)return this.cache_.lastVolume;this.cache_.lastVolume=percentAsDecimal},_proto.supportsFullScreen=function(){return this.techGet_("supportsFullScreen")||!1},_proto.isFullscreen=function(isFS){if(void 0!==isFS){var oldValue=this.isFullscreen_;return this.isFullscreen_=Boolean(isFS),this.isFullscreen_!==oldValue&&this.fsApi_.prefixed&&this.trigger("fullscreenchange"),void this.toggleFullscreenClass_()}return this.isFullscreen_},_proto.requestFullscreen=function(fullscreenOptions){var fsOptions,_this10=this;if(this.fsApi_.prefixed||(fsOptions=this.options_.fullscreen&&this.options_.fullscreen.options||{},void 0!==fullscreenOptions&&(fsOptions=fullscreenOptions)),this.fsApi_.requestFullscreen){var promise=this.el_[this.fsApi_.requestFullscreen](fsOptions);return promise&&promise.then((function(){return _this10.isFullscreen(!0)}),(function(){return _this10.isFullscreen(!1)})),promise}this.tech_.supportsFullScreen()?this.techCall_("enterFullScreen"):this.enterFullWindow()},_proto.exitFullscreen=function(){var _this11=this;if(this.fsApi_.requestFullscreen){var promise=document[this.fsApi_.exitFullscreen]();return promise&&promise.then((function(){return _this11.isFullscreen(!1)})),promise}this.tech_.supportsFullScreen()?this.techCall_("exitFullScreen"):this.exitFullWindow()},_proto.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=document.documentElement.style.overflow,on(document,"keydown",this.boundFullWindowOnEscKey_),document.documentElement.style.overflow="hidden",addClass(document.body,"vjs-full-window"),this.trigger("enterFullWindow")},_proto.fullWindowOnEscKey=function(event){keycode.isEventKey(event,"Esc")&&(!0===this.isFullscreen()?this.exitFullscreen():this.exitFullWindow())},_proto.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,off(document,"keydown",this.boundFullWindowOnEscKey_),document.documentElement.style.overflow=this.docOrigOverflow,removeClass(document.body,"vjs-full-window"),this.trigger("exitFullWindow")},_proto.isInPictureInPicture=function(isPiP){return void 0!==isPiP?(this.isInPictureInPicture_=!!isPiP,void this.togglePictureInPictureClass_()):!!this.isInPictureInPicture_},_proto.requestPictureInPicture=function(){if("pictureInPictureEnabled"in document)return this.techGet_("requestPictureInPicture")},_proto.exitPictureInPicture=function(){if("pictureInPictureEnabled"in document)return document.exitPictureInPicture()},_proto.handleKeyDown=function(event){var el,tagName,userActions=this.options_.userActions;userActions&&userActions.hotkeys&&(el=this.el_.ownerDocument.activeElement,tagName=el.tagName.toLowerCase(),el.isContentEditable||("input"===tagName?-1===["button","checkbox","hidden","radio","reset","submit"].indexOf(el.type):-1!==["textarea"].indexOf(tagName))||("function"==typeof userActions.hotkeys?userActions.hotkeys.call(this,event):this.handleHotkeys(event)))},_proto.handleHotkeys=function(event){var hotkeys=this.options_.userActions?this.options_.userActions.hotkeys:{},_hotkeys$fullscreenKe=hotkeys.fullscreenKey,fullscreenKey=void 0===_hotkeys$fullscreenKe?function(keydownEvent){return keycode.isEventKey(keydownEvent,"f")}:_hotkeys$fullscreenKe,_hotkeys$muteKey=hotkeys.muteKey,muteKey=void 0===_hotkeys$muteKey?function(keydownEvent){return keycode.isEventKey(keydownEvent,"m")}:_hotkeys$muteKey,_hotkeys$playPauseKey=hotkeys.playPauseKey,playPauseKey=void 0===_hotkeys$playPauseKey?function(keydownEvent){return keycode.isEventKey(keydownEvent,"k")||keycode.isEventKey(keydownEvent,"Space")}:_hotkeys$playPauseKey;if(fullscreenKey.call(this,event)){event.preventDefault(),event.stopPropagation();var FSToggle=Component.getComponent("FullscreenToggle");!1!==document[this.fsApi_.fullscreenEnabled]&&FSToggle.prototype.handleClick.call(this,event)}else muteKey.call(this,event)?(event.preventDefault(),event.stopPropagation(),Component.getComponent("MuteToggle").prototype.handleClick.call(this,event)):playPauseKey.call(this,event)&&(event.preventDefault(),event.stopPropagation(),Component.getComponent("PlayToggle").prototype.handleClick.call(this,event))},_proto.canPlayType=function(type){for(var can,i=0,j=this.options_.techOrder;i<j.length;i++){var techName=j[i],tech=Tech.getTech(techName);if(tech||(tech=Component.getComponent(techName)),tech){if(tech.isSupported()&&(can=tech.canPlayType(type)))return can}else log.error('The "'+techName+'" tech is undefined. Skipped browser support check for that tech.')}return""},_proto.selectSource=function(sources){var fn,_this12=this,techs=this.options_.techOrder.map((function(techName){return[techName,Tech.getTech(techName)]})).filter((function(_ref){var techName=_ref[0],tech=_ref[1];return tech?tech.isSupported():(log.error('The "'+techName+'" tech is undefined. Skipped browser support check for that tech.'),!1)})),findFirstPassingTechSourcePair=function(outerArray,innerArray,tester){var found;return outerArray.some((function(outerChoice){return innerArray.some((function(innerChoice){if(found=tester(outerChoice,innerChoice))return!0}))})),found},finder=function(_ref2,source){var techName=_ref2[0];if(_ref2[1].canPlaySource(source,_this12.options_[techName.toLowerCase()]))return{source:source,tech:techName}};return(this.options_.sourceOrder?findFirstPassingTechSourcePair(sources,techs,(fn=finder,function(a,b){return fn(b,a)})):findFirstPassingTechSourcePair(techs,sources,finder))||!1},_proto.src=function(source){var _this13=this;if(void 0===source)return this.cache_.src||"";var sources=filterSource(source);sources.length?(this.changingSrc_=!0,this.cache_.sources=sources,this.updateSourceCaches_(sources[0]),setSource(this,sources[0],(function(middlewareSource,mws){var middleware,tech;if(_this13.middleware_=mws,_this13.cache_.sources=sources,_this13.updateSourceCaches_(middlewareSource),_this13.src_(middlewareSource))return sources.length>1?_this13.src(sources.slice(1)):(_this13.changingSrc_=!1,_this13.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0),void _this13.triggerReady());middleware=mws,tech=_this13.tech_,middleware.forEach((function(mw){return mw.setTech&&mw.setTech(tech)}))}))):this.setTimeout((function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})}),0)},_proto.src_=function(source){var str1,str2,_this14=this,sourceTech=this.selectSource([source]);return!sourceTech||(str1=sourceTech.tech,str2=this.techName_,toTitleCase(str1)!==toTitleCase(str2)?(this.changingSrc_=!0,this.loadTech_(sourceTech.tech,sourceTech.source),this.tech_.ready((function(){_this14.changingSrc_=!1})),!1):(this.ready((function(){this.tech_.constructor.prototype.hasOwnProperty("setSource")?this.techCall_("setSource",source):this.techCall_("src",source.src),this.changingSrc_=!1}),!0),!1))},_proto.load=function(){this.techCall_("load")},_proto.reset=function(){var _this15=this,PromiseClass=this.options_.Promise||window$3.Promise;this.paused()||!PromiseClass?this.doReset_():silencePromise(this.play().then((function(){return _this15.doReset_()})))},_proto.doReset_=function(){this.tech_&&this.tech_.clearTracks("text"),this.resetCache_(),this.poster(""),this.loadTech_(this.options_.techOrder[0],null),this.techCall_("reset"),this.resetControlBarUI_(),isEvented(this)&&this.trigger("playerreset")},_proto.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()},_proto.resetProgressBar_=function(){this.currentTime(0);var _this$controlBar=this.controlBar,durationDisplay=_this$controlBar.durationDisplay,remainingTimeDisplay=_this$controlBar.remainingTimeDisplay;durationDisplay&&durationDisplay.updateContent(),remainingTimeDisplay&&remainingTimeDisplay.updateContent()},_proto.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()},_proto.resetVolumeBar_=function(){this.volume(1),this.trigger("volumechange")},_proto.currentSources=function(){var source=this.currentSource(),sources=[];return 0!==Object.keys(source).length&&sources.push(source),this.cache_.sources||sources},_proto.currentSource=function(){return this.cache_.source||{}},_proto.currentSrc=function(){return this.currentSource()&&this.currentSource().src||""},_proto.currentType=function(){return this.currentSource()&&this.currentSource().type||""},_proto.preload=function(value){return void 0!==value?(this.techCall_("setPreload",value),void(this.options_.preload=value)):this.techGet_("preload")},_proto.autoplay=function(value){if(void 0===value)return this.options_.autoplay||!1;var techAutoplay;"string"==typeof value&&/(any|play|muted)/.test(value)?(this.options_.autoplay=value,this.manualAutoplay_(value),techAutoplay=!1):this.options_.autoplay=!!value,techAutoplay=void 0===techAutoplay?this.options_.autoplay:techAutoplay,this.tech_&&this.techCall_("setAutoplay",techAutoplay)},_proto.playsinline=function(value){return void 0!==value?(this.techCall_("setPlaysinline",value),this.options_.playsinline=value,this):this.techGet_("playsinline")},_proto.loop=function(value){return void 0!==value?(this.techCall_("setLoop",value),void(this.options_.loop=value)):this.techGet_("loop")},_proto.poster=function(src){if(void 0===src)return this.poster_;src||(src=""),src!==this.poster_&&(this.poster_=src,this.techCall_("setPoster",src),this.isPosterFromTech_=!1,this.trigger("posterchange"))},_proto.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var newPoster=this.tech_.poster()||"";newPoster!==this.poster_&&(this.poster_=newPoster,this.isPosterFromTech_=!0,this.trigger("posterchange"))}},_proto.controls=function(bool){if(void 0===bool)return!!this.controls_;bool=!!bool,this.controls_!==bool&&(this.controls_=bool,this.usingNativeControls()&&this.techCall_("setControls",bool),this.controls_?(this.removeClass("vjs-controls-disabled"),this.addClass("vjs-controls-enabled"),this.trigger("controlsenabled"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass("vjs-controls-enabled"),this.addClass("vjs-controls-disabled"),this.trigger("controlsdisabled"),this.usingNativeControls()||this.removeTechControlsListeners_()))},_proto.usingNativeControls=function(bool){if(void 0===bool)return!!this.usingNativeControls_;bool=!!bool,this.usingNativeControls_!==bool&&(this.usingNativeControls_=bool,this.usingNativeControls_?(this.addClass("vjs-using-native-controls"),this.trigger("usingnativecontrols")):(this.removeClass("vjs-using-native-controls"),this.trigger("usingcustomcontrols")))},_proto.error=function(err){if(void 0===err)return this.error_||null;if(this.options_.suppressNotSupportedError&&err&&4===err.code){var triggerSuppressedError=function(){this.error(err)};return this.options_.suppressNotSupportedError=!1,this.any(["click","touchstart"],triggerSuppressedError),void this.one("loadstart",(function(){this.off(["click","touchstart"],triggerSuppressedError)}))}if(null===err)return this.error_=err,this.removeClass("vjs-error"),void(this.errorDisplay&&this.errorDisplay.close());this.error_=new MediaError(err),this.addClass("vjs-error"),log.error("(CODE:"+this.error_.code+" "+MediaError.errorTypes[this.error_.code]+")",this.error_.message,this.error_),this.trigger("error")},_proto.reportUserActivity=function(event){this.userActivity_=!0},_proto.userActive=function(bool){if(void 0===bool)return this.userActive_;if((bool=!!bool)!==this.userActive_){if(this.userActive_=bool,this.userActive_)return this.userActivity_=!0,this.removeClass("vjs-user-inactive"),this.addClass("vjs-user-active"),void this.trigger("useractive");this.tech_&&this.tech_.one("mousemove",(function(e){e.stopPropagation(),e.preventDefault()})),this.userActivity_=!1,this.removeClass("vjs-user-active"),this.addClass("vjs-user-inactive"),this.trigger("userinactive")}},_proto.listenForUserActivity_=function(){var mouseInProgress,lastMoveX,lastMoveY,handleActivity=bind(this,this.reportUserActivity),handleMouseUpAndMouseLeave=function(event){handleActivity(),this.clearInterval(mouseInProgress)};this.on("mousedown",(function(){handleActivity(),this.clearInterval(mouseInProgress),mouseInProgress=this.setInterval(handleActivity,250)})),this.on("mousemove",(function(e){e.screenX===lastMoveX&&e.screenY===lastMoveY||(lastMoveX=e.screenX,lastMoveY=e.screenY,handleActivity())})),this.on("mouseup",handleMouseUpAndMouseLeave),this.on("mouseleave",handleMouseUpAndMouseLeave);var inactivityTimeout,controlBar=this.getChild("controlBar");!controlBar||IS_IOS||IS_ANDROID||(controlBar.on("mouseenter",(function(event){this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout,this.player().options_.inactivityTimeout=0})),controlBar.on("mouseleave",(function(event){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout}))),this.on("keydown",handleActivity),this.on("keyup",handleActivity),this.setInterval((function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(inactivityTimeout);var timeout=this.options_.inactivityTimeout;timeout<=0||(inactivityTimeout=this.setTimeout((function(){this.userActivity_||this.userActive(!1)}),timeout))}}),250)},_proto.playbackRate=function(rate){if(void 0===rate)return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_("playbackRate"):1;this.techCall_("setPlaybackRate",rate)},_proto.defaultPlaybackRate=function(rate){return void 0!==rate?this.techCall_("setDefaultPlaybackRate",rate):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_("defaultPlaybackRate"):1},_proto.isAudio=function(bool){if(void 0===bool)return!!this.isAudio_;this.isAudio_=!!bool},_proto.addTextTrack=function(kind,label,language){if(this.tech_)return this.tech_.addTextTrack(kind,label,language)},_proto.addRemoteTextTrack=function(options,manualCleanup){if(this.tech_)return this.tech_.addRemoteTextTrack(options,manualCleanup)},_proto.removeRemoteTextTrack=function(obj){void 0===obj&&(obj={});var track=obj.track;if(track||(track=obj),this.tech_)return this.tech_.removeRemoteTextTrack(track)},_proto.getVideoPlaybackQuality=function(){return this.techGet_("getVideoPlaybackQuality")},_proto.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0},_proto.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0},_proto.language=function(code){if(void 0===code)return this.language_;this.language_=String(code).toLowerCase()},_proto.languages=function(){return mergeOptions(Player.prototype.options_.languages,this.languages_)},_proto.toJSON=function(){var options=mergeOptions(this.options_),tracks=options.tracks;options.tracks=[];for(var i=0;i<tracks.length;i++){var track=tracks[i];(track=mergeOptions(track)).player=void 0,options.tracks[i]=track}return options},_proto.createModal=function(content,options){var _this16=this;(options=options||{}).content=content||"";var modal=new ModalDialog(this,options);return this.addChild(modal),modal.on("dispose",(function(){_this16.removeChild(modal)})),modal.open(),modal},_proto.updateCurrentBreakpoint_=function(){if(this.responsive())for(var currentBreakpoint=this.currentBreakpoint(),currentWidth=this.currentWidth(),i=0;i<BREAKPOINT_ORDER.length;i++){var candidateBreakpoint=BREAKPOINT_ORDER[i];if(currentWidth<=this.breakpoints_[candidateBreakpoint]){if(currentBreakpoint===candidateBreakpoint)return;currentBreakpoint&&this.removeClass(BREAKPOINT_CLASSES[currentBreakpoint]),this.addClass(BREAKPOINT_CLASSES[candidateBreakpoint]),this.breakpoint_=candidateBreakpoint;break}}},_proto.removeCurrentBreakpoint_=function(){var className=this.currentBreakpointClass();this.breakpoint_="",className&&this.removeClass(className)},_proto.breakpoints=function(_breakpoints){return void 0===_breakpoints||(this.breakpoint_="",this.breakpoints_=assign({},DEFAULT_BREAKPOINTS,_breakpoints),this.updateCurrentBreakpoint_()),assign(this.breakpoints_)},_proto.responsive=function(value){return void 0===value?this.responsive_:(value=Boolean(value))!==this.responsive_?(this.responsive_=value,value?(this.on("playerresize",this.updateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off("playerresize",this.updateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),value):void 0},_proto.currentBreakpoint=function(){return this.breakpoint_},_proto.currentBreakpointClass=function(){return BREAKPOINT_CLASSES[this.breakpoint_]||""},_proto.loadMedia=function(media,ready){var _this17=this;if(media&&"object"===_typeof2(media)){this.reset(),this.cache_.media=mergeOptions(media);var _this$cache_$media=this.cache_.media,artwork=_this$cache_$media.artwork,poster=_this$cache_$media.poster,src=_this$cache_$media.src,textTracks=_this$cache_$media.textTracks;!artwork&&poster&&(this.cache_.media.artwork=[{src:poster,type:getMimetype(poster)}]),src&&this.src(src),poster&&this.poster(poster),Array.isArray(textTracks)&&textTracks.forEach((function(tt){return _this17.addRemoteTextTrack(tt,!1)})),this.ready(ready)}},_proto.getMedia=function(){if(!this.cache_.media){var poster=this.poster(),media={src:this.currentSources(),textTracks:Array.prototype.map.call(this.remoteTextTracks(),(function(tt){return{kind:tt.kind,label:tt.label,language:tt.language,src:tt.src}}))};return poster&&(media.poster=poster,media.artwork=[{src:media.poster,type:getMimetype(media.poster)}]),media}return mergeOptions(this.cache_.media)},Player.getTagSettings=function(tag){var baseOptions={sources:[],tracks:[]},tagOptions=getAttributes(tag),dataSetup=tagOptions["data-setup"];if(hasClass(tag,"vjs-fill")&&(tagOptions.fill=!0),hasClass(tag,"vjs-fluid")&&(tagOptions.fluid=!0),null!==dataSetup){var _safeParseTuple=tuple(dataSetup||"{}"),err=_safeParseTuple[0],data=_safeParseTuple[1];err&&log.error(err),assign(tagOptions,data)}if(assign(baseOptions,tagOptions),tag.hasChildNodes())for(var children=tag.childNodes,i=0,j=children.length;i<j;i++){var child=children[i],childName=child.nodeName.toLowerCase();"source"===childName?baseOptions.sources.push(getAttributes(child)):"track"===childName&&baseOptions.tracks.push(getAttributes(child))}return baseOptions},_proto.flexNotSupported_=function(){var elem=document.createElement("i");return!("flexBasis"in elem.style||"webkitFlexBasis"in elem.style||"mozFlexBasis"in elem.style||"msFlexBasis"in elem.style||"msFlexOrder"in elem.style)},Player}(Component);ALL.names.forEach((function(name){var props=ALL[name];Player.prototype[props.getterName]=function(){return this.tech_?this.tech_[props.getterName]():(this[props.privateName]=this[props.privateName]||new props.ListClass,this[props.privateName])}})),Player.players={};var navigator=window$3.navigator;Player.prototype.options_={techOrder:Tech.defaultTechOrder_,html5:{},flash:{},inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:["mediaLoader","posterImage","textTrackDisplay","loadingSpinner","bigPlayButton","liveTracker","controlBar","errorDisplay","textTrackSettings","resizeManager"],language:navigator&&(navigator.languages&&navigator.languages[0]||navigator.userLanguage||navigator.language)||"en",languages:{},notSupportedMessage:"No compatible source was found for this media.",fullscreen:{options:{navigationUI:"hide"}},breakpoints:{},responsive:!1},["ended","seeking","seekable","networkState","readyState"].forEach((function(fn){Player.prototype[fn]=function(){return this.techGet_(fn)}})),TECH_EVENTS_RETRIGGER.forEach((function(event){Player.prototype["handleTech"+toTitleCase(event)+"_"]=function(){return this.trigger(event)}})),Component.registerComponent("Player",Player);var setPrototypeOf=createCommonjsModule((function(module){function _setPrototypeOf(o,p){return module.exports=_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_setPrototypeOf(o,p)}module.exports=_setPrototypeOf})),isNativeReflectConstruct=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}},construct=createCommonjsModule((function(module){function _construct(Parent,args,Class){return isNativeReflectConstruct()?module.exports=_construct=Reflect.construct:module.exports=_construct=function(Parent,args,Class){var a=[null];a.push.apply(a,args);var instance=new(Function.bind.apply(Parent,a));return Class&&setPrototypeOf(instance,Class.prototype),instance},_construct.apply(null,arguments)}module.exports=_construct})),pluginStorage={},pluginExists=function(name){return pluginStorage.hasOwnProperty(name)},getPlugin=function(name){return pluginExists(name)?pluginStorage[name]:void 0},markPluginAsActive=function(player,name){player.activePlugins_=player.activePlugins_||{},player.activePlugins_[name]=!0},triggerSetupEvent=function(player,hash,before){var eventName=(before?"before":"")+"pluginsetup";player.trigger(eventName,hash),player.trigger(eventName+":"+hash.name,hash)},createPluginFactory=function(name,PluginSubClass){return PluginSubClass.prototype.name=name,function(){triggerSetupEvent(this,{name:name,plugin:PluginSubClass,instance:null},!0);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var instance=construct(PluginSubClass,[this].concat(args));return this[name]=function(){return instance},triggerSetupEvent(this,instance.getEventHash()),instance}},Plugin=function(){function Plugin(player){if(this.constructor===Plugin)throw new Error("Plugin must be sub-classed; not directly instantiated.");this.player=player,evented(this),delete this.trigger,stateful(this,this.constructor.defaultState),markPluginAsActive(player,this.name),this.dispose=bind(this,this.dispose),player.on("dispose",this.dispose)}var _proto=Plugin.prototype;return _proto.version=function(){return this.constructor.VERSION},_proto.getEventHash=function(hash){return void 0===hash&&(hash={}),hash.name=this.name,hash.plugin=this.constructor,hash.instance=this,hash},_proto.trigger=function(event,hash){return void 0===hash&&(hash={}),trigger(this.eventBusEl_,event,this.getEventHash(hash))},_proto.handleStateChanged=function(e){},_proto.dispose=function(){var name=this.name,player=this.player;this.trigger("dispose"),this.off(),player.off("dispose",this.dispose),player.activePlugins_[name]=!1,this.player=this.state=null,player[name]=createPluginFactory(name,pluginStorage[name])},Plugin.isBasic=function(plugin){var p="string"==typeof plugin?getPlugin(plugin):plugin;return"function"==typeof p&&!Plugin.prototype.isPrototypeOf(p.prototype)},Plugin.registerPlugin=function(name,plugin){if("string"!=typeof name)throw new Error('Illegal plugin name, "'+name+'", must be a string, was '+_typeof2(name)+".");if(pluginExists(name))log.warn('A plugin named "'+name+'" already exists. You may want to avoid re-registering plugins!');else if(Player.prototype.hasOwnProperty(name))throw new Error('Illegal plugin name, "'+name+'", cannot share a name with an existing player method!');if("function"!=typeof plugin)throw new Error('Illegal plugin for "'+name+'", must be a function, was '+_typeof2(plugin)+".");return pluginStorage[name]=plugin,"plugin"!==name&&(Plugin.isBasic(plugin)?Player.prototype[name]=function(name,plugin){var basicPluginWrapper=function(){triggerSetupEvent(this,{name:name,plugin:plugin,instance:null},!0);var instance=plugin.apply(this,arguments);return markPluginAsActive(this,name),triggerSetupEvent(this,{name:name,plugin:plugin,instance:instance}),instance};return Object.keys(plugin).forEach((function(prop){basicPluginWrapper[prop]=plugin[prop]})),basicPluginWrapper}(name,plugin):Player.prototype[name]=createPluginFactory(name,plugin)),plugin},Plugin.deregisterPlugin=function(name){if("plugin"===name)throw new Error("Cannot de-register base plugin.");pluginExists(name)&&(delete pluginStorage[name],delete Player.prototype[name])},Plugin.getPlugins=function(names){var result;return void 0===names&&(names=Object.keys(pluginStorage)),names.forEach((function(name){var plugin=getPlugin(name);plugin&&((result=result||{})[name]=plugin)})),result},Plugin.getPluginVersion=function(name){var plugin=getPlugin(name);return plugin&&plugin.VERSION||""},Plugin}();Plugin.getPlugin=getPlugin,Plugin.BASE_PLUGIN_NAME="plugin",Plugin.registerPlugin("plugin",Plugin),Player.prototype.usingPlugin=function(name){return!!this.activePlugins_&&!0===this.activePlugins_[name]},Player.prototype.hasPlugin=function(name){return!!pluginExists(name)};var inherits=function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&setPrototypeOf(subClass,superClass)},normalizeId=function(id){return 0===id.indexOf("#")?id.slice(1):id};function videojs$1(id,options,ready){var player=videojs$1.getPlayer(id);if(player)return options&&log.warn('Player "'+id+'" is already initialised. Options will not be applied.'),ready&&player.ready(ready),player;var el="string"==typeof id?$("#"+normalizeId(id)):id;if(!isEl(el))throw new TypeError("The element or ID supplied is not valid. (videojs)");el.ownerDocument.defaultView&&el.ownerDocument.body.contains(el)||log.warn("The element supplied is not included in the DOM"),options=options||{},videojs$1.hooks("beforesetup").forEach((function(hookFunction){var opts=hookFunction(el,mergeOptions(options));isObject(opts)&&!Array.isArray(opts)?options=mergeOptions(options,opts):log.error("please return an object in beforesetup hooks")}));var PlayerComponent=Component.getComponent("Player");return player=new PlayerComponent(el,options,ready),videojs$1.hooks("setup").forEach((function(hookFunction){return hookFunction(player)})),player}if(videojs$1.hooks_={},videojs$1.hooks=function(type,fn){return videojs$1.hooks_[type]=videojs$1.hooks_[type]||[],fn&&(videojs$1.hooks_[type]=videojs$1.hooks_[type].concat(fn)),videojs$1.hooks_[type]},videojs$1.hook=function(type,fn){videojs$1.hooks(type,fn)},videojs$1.hookOnce=function(type,fn){videojs$1.hooks(type,[].concat(fn).map((function(original){return function wrapper(){return videojs$1.removeHook(type,wrapper),original.apply(void 0,arguments)}})))},videojs$1.removeHook=function(type,fn){var index=videojs$1.hooks(type).indexOf(fn);return!(index<=-1||(videojs$1.hooks_[type]=videojs$1.hooks_[type].slice(),videojs$1.hooks_[type].splice(index,1),0))},!0!==window$3.VIDEOJS_NO_DYNAMIC_STYLE&&isReal()){var style=$(".vjs-styles-defaults");if(!style){style=createStyleElement("vjs-styles-defaults");var head=$("head");head&&head.insertBefore(style,head.firstChild),setTextContent(style,"\n .video-js {\n width: 300px;\n height: 150px;\n }\n\n .vjs-fluid {\n padding-top: 56.25%\n }\n ")}}autoSetupTimeout(1,videojs$1),videojs$1.VERSION="7.7.6",videojs$1.options=Player.prototype.options_,videojs$1.getPlayers=function(){return Player.players},videojs$1.getPlayer=function(id){var tag,players=Player.players;if("string"==typeof id){var nId=normalizeId(id),player=players[nId];if(player)return player;tag=$("#"+nId)}else tag=id;if(isEl(tag)){var _tag=tag,_player=_tag.player,playerId=_tag.playerId;if(_player||players[playerId])return _player||players[playerId]}},videojs$1.getAllPlayers=function(){return Object.keys(Player.players).map((function(k){return Player.players[k]})).filter(Boolean)},videojs$1.players=Player.players,videojs$1.getComponent=Component.getComponent,videojs$1.registerComponent=function(name,comp){Tech.isTech(comp)&&log.warn("The "+name+" tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)"),Component.registerComponent.call(Component,name,comp)},videojs$1.getTech=Tech.getTech,videojs$1.registerTech=Tech.registerTech,videojs$1.use=function(type,middleware){middlewares[type]=middlewares[type]||[],middlewares[type].push(middleware)},Object.defineProperty(videojs$1,"middleware",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(videojs$1.middleware,"TERMINATOR",{value:TERMINATOR,writeable:!1,enumerable:!0}),videojs$1.browser=browser,videojs$1.TOUCH_ENABLED=TOUCH_ENABLED,videojs$1.extend=function(superClass,subClassMethods){void 0===subClassMethods&&(subClassMethods={});var subClass=function(){superClass.apply(this,arguments)},methods={};for(var name in"object"===_typeof2(subClassMethods)?(subClassMethods.constructor!==Object.prototype.constructor&&(subClass=subClassMethods.constructor),methods=subClassMethods):"function"==typeof subClassMethods&&(subClass=subClassMethods),inherits(subClass,superClass),superClass&&(subClass.super_=superClass),methods)methods.hasOwnProperty(name)&&(subClass.prototype[name]=methods[name]);return subClass},videojs$1.mergeOptions=mergeOptions,videojs$1.bind=bind,videojs$1.registerPlugin=Plugin.registerPlugin,videojs$1.deregisterPlugin=Plugin.deregisterPlugin,videojs$1.plugin=function(name,plugin){return log.warn("videojs.plugin() is deprecated; use videojs.registerPlugin() instead"),Plugin.registerPlugin(name,plugin)},videojs$1.getPlugins=Plugin.getPlugins,videojs$1.getPlugin=Plugin.getPlugin,videojs$1.getPluginVersion=Plugin.getPluginVersion,videojs$1.addLanguage=function(code,data){var _mergeOptions;return code=(""+code).toLowerCase(),videojs$1.options.languages=mergeOptions(videojs$1.options.languages,((_mergeOptions={})[code]=data,_mergeOptions)),videojs$1.options.languages[code]},videojs$1.log=log,videojs$1.createLogger=createLogger$1,videojs$1.createTimeRange=videojs$1.createTimeRanges=createTimeRanges,videojs$1.formatTime=formatTime,videojs$1.setFormatTime=function(customImplementation){implementation=customImplementation},videojs$1.resetFormatTime=function(){implementation=defaultImplementation},videojs$1.parseUrl=parseUrl,videojs$1.isCrossOrigin=isCrossOrigin,videojs$1.EventTarget=EventTarget,videojs$1.on=on,videojs$1.one=one,videojs$1.off=off,videojs$1.trigger=trigger,videojs$1.xhr=xhr,videojs$1.TextTrack=TextTrack,videojs$1.AudioTrack=AudioTrack,videojs$1.VideoTrack=VideoTrack,["isEl","isTextNode","createEl","hasClass","addClass","removeClass","toggleClass","setAttributes","getAttributes","emptyEl","appendContent","insertContent"].forEach((function(k){videojs$1[k]=function(){return log.warn("videojs."+k+"() is deprecated; use videojs.dom."+k+"() instead"),Dom[k].apply(null,arguments)}})),videojs$1.computedStyle=computedStyle,videojs$1.dom=Dom,videojs$1.url=Url,videojs$1.defineLazyProperty=defineLazyProperty;var urlToolkit=createCommonjsModule((function(module,exports){!function(root){var URL_REGEX=/^((?:[a-zA-Z0-9+\-.]+:)?)(\/\/[^\/?#]*)?((?:[^\/\?#]*\/)*.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,FIRST_SEGMENT_REGEX=/^([^\/?#]*)(.*)$/,SLASH_DOT_REGEX=/(?:\/|^)\.(?=\/)/g,SLASH_DOT_DOT_REGEX=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,URLToolkit={buildAbsoluteURL:function(baseURL,relativeURL,opts){if(opts=opts||{},baseURL=baseURL.trim(),!(relativeURL=relativeURL.trim())){if(!opts.alwaysNormalize)return baseURL;var basePartsForNormalise=URLToolkit.parseURL(baseURL);if(!basePartsForNormalise)throw new Error("Error trying to parse base URL.");return basePartsForNormalise.path=URLToolkit.normalizePath(basePartsForNormalise.path),URLToolkit.buildURLFromParts(basePartsForNormalise)}var relativeParts=URLToolkit.parseURL(relativeURL);if(!relativeParts)throw new Error("Error trying to parse relative URL.");if(relativeParts.scheme)return opts.alwaysNormalize?(relativeParts.path=URLToolkit.normalizePath(relativeParts.path),URLToolkit.buildURLFromParts(relativeParts)):relativeURL;var baseParts=URLToolkit.parseURL(baseURL);if(!baseParts)throw new Error("Error trying to parse base URL.");if(!baseParts.netLoc&&baseParts.path&&"/"!==baseParts.path[0]){var pathParts=FIRST_SEGMENT_REGEX.exec(baseParts.path);baseParts.netLoc=pathParts[1],baseParts.path=pathParts[2]}baseParts.netLoc&&!baseParts.path&&(baseParts.path="/");var builtParts={scheme:baseParts.scheme,netLoc:relativeParts.netLoc,path:null,params:relativeParts.params,query:relativeParts.query,fragment:relativeParts.fragment};if(!relativeParts.netLoc&&(builtParts.netLoc=baseParts.netLoc,"/"!==relativeParts.path[0]))if(relativeParts.path){var baseURLPath=baseParts.path,newPath=baseURLPath.substring(0,baseURLPath.lastIndexOf("/")+1)+relativeParts.path;builtParts.path=URLToolkit.normalizePath(newPath)}else builtParts.path=baseParts.path,relativeParts.params||(builtParts.params=baseParts.params,relativeParts.query||(builtParts.query=baseParts.query));return null===builtParts.path&&(builtParts.path=opts.alwaysNormalize?URLToolkit.normalizePath(relativeParts.path):relativeParts.path),URLToolkit.buildURLFromParts(builtParts)},parseURL:function(url){var parts=URL_REGEX.exec(url);return parts?{scheme:parts[1]||"",netLoc:parts[2]||"",path:parts[3]||"",params:parts[4]||"",query:parts[5]||"",fragment:parts[6]||""}:null},normalizePath:function(path){for(path=path.split("").reverse().join("").replace(SLASH_DOT_REGEX,"");path.length!==(path=path.replace(SLASH_DOT_DOT_REGEX,"")).length;);return path.split("").reverse().join("")},buildURLFromParts:function(parts){return parts.scheme+parts.netLoc+parts.path+parts.params+parts.query+parts.fragment}};module.exports=URLToolkit}()})); /*! @name m3u8-parser @version 4.4.0 @license Apache-2.0 */function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}function _inheritsLoose$1(subClass,superClass){subClass.prototype=Object.create(superClass.prototype),subClass.prototype.constructor=subClass,subClass.__proto__=superClass}var Stream=function(){function Stream(){this.listeners={}}var _proto=Stream.prototype;return _proto.on=function(type,listener){this.listeners[type]||(this.listeners[type]=[]),this.listeners[type].push(listener)},_proto.off=function(type,listener){if(!this.listeners[type])return!1;var index=this.listeners[type].indexOf(listener);return this.listeners[type].splice(index,1),index>-1},_proto.trigger=function(type){var i,length,args,callbacks=this.listeners[type];if(callbacks)if(2===arguments.length)for(length=callbacks.length,i=0;i<length;++i)callbacks[i].call(this,arguments[1]);else for(args=Array.prototype.slice.call(arguments,1),length=callbacks.length,i=0;i<length;++i)callbacks[i].apply(this,args)},_proto.dispose=function(){this.listeners={}},_proto.pipe=function(destination){this.on("data",(function(data){destination.push(data)}))},Stream}(),LineStream=function(_Stream){function LineStream(){var _this;return(_this=_Stream.call(this)||this).buffer="",_this}return _inheritsLoose$1(LineStream,_Stream),LineStream.prototype.push=function(data){var nextNewline;for(this.buffer+=data,nextNewline=this.buffer.indexOf("\n");nextNewline>-1;nextNewline=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,nextNewline)),this.buffer=this.buffer.substring(nextNewline+1)},LineStream}(Stream),parseAttributes=function(attributes){for(var attr,attrs=attributes.split(new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),result={},i=attrs.length;i--;)""!==attrs[i]&&((attr=/([^=]*)=(.*)/.exec(attrs[i]).slice(1))[0]=attr[0].replace(/^\s+|\s+$/g,""),attr[1]=attr[1].replace(/^\s+|\s+$/g,""),attr[1]=attr[1].replace(/^['"](.*)['"]$/g,"$1"),result[attr[0]]=attr[1]);return result},ParseStream=function(_Stream){function ParseStream(){var _this;return(_this=_Stream.call(this)||this).customParsers=[],_this.tagMappers=[],_this}_inheritsLoose$1(ParseStream,_Stream);var _proto=ParseStream.prototype;return _proto.push=function(line){var match,event,_this2=this;0!==(line=line.trim()).length&&("#"===line[0]?this.tagMappers.reduce((function(acc,mapper){var mappedLine=mapper(line);return mappedLine===line?acc:acc.concat([mappedLine])}),[line]).forEach((function(newLine){for(var i=0;i<_this2.customParsers.length;i++)if(_this2.customParsers[i].call(_this2,newLine))return;if(0===newLine.indexOf("#EXT"))if(newLine=newLine.replace("\r",""),match=/^#EXTM3U/.exec(newLine))_this2.trigger("data",{type:"tag",tagType:"m3u"});else{if(match=/^#EXTINF:?([0-9\.]*)?,?(.*)?$/.exec(newLine))return event={type:"tag",tagType:"inf"},match[1]&&(event.duration=parseFloat(match[1])),match[2]&&(event.title=match[2]),void _this2.trigger("data",event);if(match=/^#EXT-X-TARGETDURATION:?([0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"targetduration"},match[1]&&(event.duration=parseInt(match[1],10)),void _this2.trigger("data",event);if(match=/^#ZEN-TOTAL-DURATION:?([0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"totalduration"},match[1]&&(event.duration=parseInt(match[1],10)),void _this2.trigger("data",event);if(match=/^#EXT-X-VERSION:?([0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"version"},match[1]&&(event.version=parseInt(match[1],10)),void _this2.trigger("data",event);if(match=/^#EXT-X-MEDIA-SEQUENCE:?(\-?[0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"media-sequence"},match[1]&&(event.number=parseInt(match[1],10)),void _this2.trigger("data",event);if(match=/^#EXT-X-DISCONTINUITY-SEQUENCE:?(\-?[0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"discontinuity-sequence"},match[1]&&(event.number=parseInt(match[1],10)),void _this2.trigger("data",event);if(match=/^#EXT-X-PLAYLIST-TYPE:?(.*)?$/.exec(newLine))return event={type:"tag",tagType:"playlist-type"},match[1]&&(event.playlistType=match[1]),void _this2.trigger("data",event);if(match=/^#EXT-X-BYTERANGE:?([0-9.]*)?@?([0-9.]*)?/.exec(newLine))return event={type:"tag",tagType:"byterange"},match[1]&&(event.length=parseInt(match[1],10)),match[2]&&(event.offset=parseInt(match[2],10)),void _this2.trigger("data",event);if(match=/^#EXT-X-ALLOW-CACHE:?(YES|NO)?/.exec(newLine))return event={type:"tag",tagType:"allow-cache"},match[1]&&(event.allowed=!/NO/.test(match[1])),void _this2.trigger("data",event);if(match=/^#EXT-X-MAP:?(.*)$/.exec(newLine)){if(event={type:"tag",tagType:"map"},match[1]){var attributes=parseAttributes(match[1]);if(attributes.URI&&(event.uri=attributes.URI),attributes.BYTERANGE){var _attributes$BYTERANGE=attributes.BYTERANGE.split("@"),length=_attributes$BYTERANGE[0],offset=_attributes$BYTERANGE[1];event.byterange={},length&&(event.byterange.length=parseInt(length,10)),offset&&(event.byterange.offset=parseInt(offset,10))}}_this2.trigger("data",event)}else if(match=/^#EXT-X-STREAM-INF:?(.*)$/.exec(newLine)){if(event={type:"tag",tagType:"stream-inf"},match[1]){if(event.attributes=parseAttributes(match[1]),event.attributes.RESOLUTION){var split=event.attributes.RESOLUTION.split("x"),resolution={};split[0]&&(resolution.width=parseInt(split[0],10)),split[1]&&(resolution.height=parseInt(split[1],10)),event.attributes.RESOLUTION=resolution}event.attributes.BANDWIDTH&&(event.attributes.BANDWIDTH=parseInt(event.attributes.BANDWIDTH,10)),event.attributes["PROGRAM-ID"]&&(event.attributes["PROGRAM-ID"]=parseInt(event.attributes["PROGRAM-ID"],10))}_this2.trigger("data",event)}else{if(match=/^#EXT-X-MEDIA:?(.*)$/.exec(newLine))return event={type:"tag",tagType:"media"},match[1]&&(event.attributes=parseAttributes(match[1])),void _this2.trigger("data",event);if(match=/^#EXT-X-ENDLIST/.exec(newLine))_this2.trigger("data",{type:"tag",tagType:"endlist"});else if(match=/^#EXT-X-DISCONTINUITY/.exec(newLine))_this2.trigger("data",{type:"tag",tagType:"discontinuity"});else{if(match=/^#EXT-X-PROGRAM-DATE-TIME:?(.*)$/.exec(newLine))return event={type:"tag",tagType:"program-date-time"},match[1]&&(event.dateTimeString=match[1],event.dateTimeObject=new Date(match[1])),void _this2.trigger("data",event);if(match=/^#EXT-X-KEY:?(.*)$/.exec(newLine))return event={type:"tag",tagType:"key"},match[1]&&(event.attributes=parseAttributes(match[1]),event.attributes.IV&&("0x"===event.attributes.IV.substring(0,2).toLowerCase()&&(event.attributes.IV=event.attributes.IV.substring(2)),event.attributes.IV=event.attributes.IV.match(/.{8}/g),event.attributes.IV[0]=parseInt(event.attributes.IV[0],16),event.attributes.IV[1]=parseInt(event.attributes.IV[1],16),event.attributes.IV[2]=parseInt(event.attributes.IV[2],16),event.attributes.IV[3]=parseInt(event.attributes.IV[3],16),event.attributes.IV=new Uint32Array(event.attributes.IV))),void _this2.trigger("data",event);if(match=/^#EXT-X-START:?(.*)$/.exec(newLine))return event={type:"tag",tagType:"start"},match[1]&&(event.attributes=parseAttributes(match[1]),event.attributes["TIME-OFFSET"]=parseFloat(event.attributes["TIME-OFFSET"]),event.attributes.PRECISE=/YES/.test(event.attributes.PRECISE)),void _this2.trigger("data",event);if(match=/^#EXT-X-CUE-OUT-CONT:?(.*)?$/.exec(newLine))return event={type:"tag",tagType:"cue-out-cont"},match[1]?event.data=match[1]:event.data="",void _this2.trigger("data",event);if(match=/^#EXT-X-CUE-OUT:?(.*)?$/.exec(newLine))return event={type:"tag",tagType:"cue-out"},match[1]?event.data=match[1]:event.data="",void _this2.trigger("data",event);if(match=/^#EXT-X-CUE-IN:?(.*)?$/.exec(newLine))return event={type:"tag",tagType:"cue-in"},match[1]?event.data=match[1]:event.data="",void _this2.trigger("data",event);_this2.trigger("data",{type:"tag",data:newLine.slice(4)})}}}else _this2.trigger("data",{type:"comment",text:newLine.slice(1)})})):this.trigger("data",{type:"uri",uri:line}))},_proto.addParser=function(_ref){var _this3=this,expression=_ref.expression,customType=_ref.customType,dataParser=_ref.dataParser,segment=_ref.segment;"function"!=typeof dataParser&&(dataParser=function(line){return line}),this.customParsers.push((function(line){if(expression.exec(line))return _this3.trigger("data",{type:"custom",data:dataParser(line),customType:customType,segment:segment}),!0}))},_proto.addTagMapper=function(_ref2){var expression=_ref2.expression,map=_ref2.map;this.tagMappers.push((function(line){return expression.test(line)?map(line):line}))},ParseStream}(Stream);function decodeB64ToUint8Array(b64Text){for(var decodedString=window$3.atob(b64Text||""),array=new Uint8Array(decodedString.length),i=0;i<decodedString.length;i++)array[i]=decodedString.charCodeAt(i);return array}var Parser=function(_Stream){function Parser(){var _this;(_this=_Stream.call(this)||this).lineStream=new LineStream,_this.parseStream=new ParseStream,_this.lineStream.pipe(_this.parseStream);var currentMap,_key,self=function(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}(_this),uris=[],currentUri={},noop=function(){},defaultMediaGroups={AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},currentTimeline=0;return _this.manifest={allowCache:!0,discontinuityStarts:[],segments:[]},_this.parseStream.on("data",(function(entry){var mediaGroup,rendition;({tag:function(){({"allow-cache":function(){this.manifest.allowCache=entry.allowed,"allowed"in entry||(this.trigger("info",{message:"defaulting allowCache to YES"}),this.manifest.allowCache=!0)},byterange:function(){var byterange={};"length"in entry&&(currentUri.byterange=byterange,byterange.length=entry.length,"offset"in entry||(this.trigger("info",{message:"defaulting offset to zero"}),entry.offset=0)),"offset"in entry&&(currentUri.byterange=byterange,byterange.offset=entry.offset)},endlist:function(){this.manifest.endList=!0},inf:function(){"mediaSequence"in this.manifest||(this.manifest.mediaSequence=0,this.trigger("info",{message:"defaulting media sequence to zero"})),"discontinuitySequence"in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger("info",{message:"defaulting discontinuity sequence to zero"})),entry.duration>0&&(currentUri.duration=entry.duration),0===entry.duration&&(currentUri.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=uris},key:function(){if(entry.attributes)if("NONE"!==entry.attributes.METHOD)if(entry.attributes.URI){if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===entry.attributes.KEYFORMAT)return-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(entry.attributes.METHOD)?void this.trigger("warn",{message:"invalid key method provided for Widevine"}):("SAMPLE-AES-CENC"===entry.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==entry.attributes.URI.substring(0,23)?void this.trigger("warn",{message:"invalid key URI provided for Widevine"}):entry.attributes.KEYID&&"0x"===entry.attributes.KEYID.substring(0,2)?void(this.manifest.contentProtection={"com.widevine.alpha":{attributes:{schemeIdUri:entry.attributes.KEYFORMAT,keyId:entry.attributes.KEYID.substring(2)},pssh:decodeB64ToUint8Array(entry.attributes.URI.split(",")[1])}}):void this.trigger("warn",{message:"invalid key ID provided for Widevine"}));entry.attributes.METHOD||this.trigger("warn",{message:"defaulting key method to AES-128"}),_key={method:entry.attributes.METHOD||"AES-128",uri:entry.attributes.URI},void 0!==entry.attributes.IV&&(_key.iv=entry.attributes.IV)}else this.trigger("warn",{message:"ignoring key declaration without URI"});else _key=null;else this.trigger("warn",{message:"ignoring key declaration without attribute list"})},"media-sequence":function(){isFinite(entry.number)?this.manifest.mediaSequence=entry.number:this.trigger("warn",{message:"ignoring invalid media sequence: "+entry.number})},"discontinuity-sequence":function(){isFinite(entry.number)?(this.manifest.discontinuitySequence=entry.number,currentTimeline=entry.number):this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+entry.number})},"playlist-type":function(){/VOD|EVENT/.test(entry.playlistType)?this.manifest.playlistType=entry.playlistType:this.trigger("warn",{message:"ignoring unknown playlist type: "+entry.playlist})},map:function(){currentMap={},entry.uri&&(currentMap.uri=entry.uri),entry.byterange&&(currentMap.byterange=entry.byterange)},"stream-inf":function(){this.manifest.playlists=uris,this.manifest.mediaGroups=this.manifest.mediaGroups||defaultMediaGroups,entry.attributes?(currentUri.attributes||(currentUri.attributes={}),_extends(currentUri.attributes,entry.attributes)):this.trigger("warn",{message:"ignoring empty stream-inf attributes"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||defaultMediaGroups,entry.attributes&&entry.attributes.TYPE&&entry.attributes["GROUP-ID"]&&entry.attributes.NAME){var mediaGroupType=this.manifest.mediaGroups[entry.attributes.TYPE];mediaGroupType[entry.attributes["GROUP-ID"]]=mediaGroupType[entry.attributes["GROUP-ID"]]||{},mediaGroup=mediaGroupType[entry.attributes["GROUP-ID"]],(rendition={default:/yes/i.test(entry.attributes.DEFAULT)}).default?rendition.autoselect=!0:rendition.autoselect=/yes/i.test(entry.attributes.AUTOSELECT),entry.attributes.LANGUAGE&&(rendition.language=entry.attributes.LANGUAGE),entry.attributes.URI&&(rendition.uri=entry.attributes.URI),entry.attributes["INSTREAM-ID"]&&(rendition.instreamId=entry.attributes["INSTREAM-ID"]),entry.attributes.CHARACTERISTICS&&(rendition.characteristics=entry.attributes.CHARACTERISTICS),entry.attributes.FORCED&&(rendition.forced=/yes/i.test(entry.attributes.FORCED)),mediaGroup[entry.attributes.NAME]=rendition}else this.trigger("warn",{message:"ignoring incomplete or missing media group"})},discontinuity:function(){currentTimeline+=1,currentUri.discontinuity=!0,this.manifest.discontinuityStarts.push(uris.length)},"program-date-time":function(){void 0===this.manifest.dateTimeString&&(this.manifest.dateTimeString=entry.dateTimeString,this.manifest.dateTimeObject=entry.dateTimeObject),currentUri.dateTimeString=entry.dateTimeString,currentUri.dateTimeObject=entry.dateTimeObject},targetduration:function(){!isFinite(entry.duration)||entry.duration<0?this.trigger("warn",{message:"ignoring invalid target duration: "+entry.duration}):this.manifest.targetDuration=entry.duration},totalduration:function(){!isFinite(entry.duration)||entry.duration<0?this.trigger("warn",{message:"ignoring invalid total duration: "+entry.duration}):this.manifest.totalDuration=entry.duration},start:function(){entry.attributes&&!isNaN(entry.attributes["TIME-OFFSET"])?this.manifest.start={timeOffset:entry.attributes["TIME-OFFSET"],precise:entry.attributes.PRECISE}:this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"})},"cue-out":function(){currentUri.cueOut=entry.data},"cue-out-cont":function(){currentUri.cueOutCont=entry.data},"cue-in":function(){currentUri.cueIn=entry.data}}[entry.tagType]||noop).call(self)},uri:function(){currentUri.uri=entry.uri,uris.push(currentUri),this.manifest.targetDuration&&!("duration"in currentUri)&&(this.trigger("warn",{message:"defaulting segment duration to the target duration"}),currentUri.duration=this.manifest.targetDuration),_key&&(currentUri.key=_key),currentUri.timeline=currentTimeline,currentMap&&(currentUri.map=currentMap),currentUri={}},comment:function(){},custom:function(){entry.segment?(currentUri.custom=currentUri.custom||{},currentUri.custom[entry.customType]=entry.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[entry.customType]=entry.data)}})[entry.type].call(self)})),_this}_inheritsLoose$1(Parser,_Stream);var _proto=Parser.prototype;return _proto.push=function(chunk){this.lineStream.push(chunk)},_proto.end=function(){this.lineStream.push("\n")},_proto.addParser=function(options){this.parseStream.addParser(options)},_proto.addTagMapper=function(options){this.parseStream.addTagMapper(options)},Parser}(Stream);function _interopDefault(ex){return ex&&"object"===_typeof2(ex)&&"default"in ex?ex.default:ex}var ex,URLToolkit=_interopDefault(urlToolkit),window$1=_interopDefault(window$3),resolveUrl_1=function(baseUrl,relativeUrl){return/^[a-z]+:/i.test(relativeUrl)?relativeUrl:(/\/\//i.test(baseUrl)||(baseUrl=URLToolkit.buildAbsoluteURL(window$1.location&&window$1.location.href||"",baseUrl)),URLToolkit.buildAbsoluteURL(baseUrl,relativeUrl))},window$2=(ex=window$3)&&"object"===_typeof2(ex)&&"default"in ex?ex.default:ex,decodeB64ToUint8Array_1=function(b64Text){for(var s,decodedString=(s=b64Text,window$2.atob?window$2.atob(s):Buffer.from(s,"base64").toString("binary")),array=new Uint8Array(decodedString.length),i=0;i<decodedString.length;i++)array[i]=decodedString.charCodeAt(i);return array},nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),tagNamePattern=new RegExp("^"+nameStartChar.source+nameChar.source+"*(?::"+nameStartChar.source+nameChar.source+"*)?$");function XMLReader(){}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){for(var attrName,p=++start,s=0;;){var c=source.charAt(p);switch(c){case"=":if(1===s)attrName=source.slice(start,p),s=3;else{if(2!==s)throw new Error("attribute equal must after attrName");s=3}break;case"'":case'"':if(3===s||1===s){if(1===s&&(errorHandler.warning('attribute value must after "="'),attrName=source.slice(start,p)),start=p+1,!((p=source.indexOf(c,start))>0))throw new Error("attribute value no end '"+c+"' match");value=source.slice(start,p).replace(/&#?\w+;/g,entityReplacer),el.add(attrName,value,start-1),s=5}else{if(4!=s)throw new Error('attribute value must after "="');value=source.slice(start,p).replace(/&#?\w+;/g,entityReplacer),el.add(attrName,value,start),errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+")!!"),start=p+1,s=5}break;case"/":switch(s){case 0:el.setTagName(source.slice(start,p));case 5:case 6:case 7:s=7,el.closed=!0;case 4:case 1:case 2:break;default:throw new Error("attribute invalid close char('/')")}break;case"":return errorHandler.error("unexpected end of input"),0==s&&el.setTagName(source.slice(start,p)),p;case">":switch(s){case 0:el.setTagName(source.slice(start,p));case 5:case 6:case 7:break;case 4:case 1:"/"===(value=source.slice(start,p)).slice(-1)&&(el.closed=!0,value=value.slice(0,-1));case 2:2===s&&(value=attrName),4==s?(errorHandler.warning('attribute "'+value+'" missed quot(")!!'),el.add(attrName,value.replace(/&#?\w+;/g,entityReplacer),start)):("http://www.w3.org/1999/xhtml"===currentNSMap[""]&&value.match(/^(?:disabled|checked|selected)$/i)||errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!'),el.add(value,value,start));break;case 3:throw new Error("attribute value missed!!")}return p;case"€":c=" ";default:if(c<=" ")switch(s){case 0:el.setTagName(source.slice(start,p)),s=6;break;case 1:attrName=source.slice(start,p),s=2;break;case 4:var value=source.slice(start,p).replace(/&#?\w+;/g,entityReplacer);errorHandler.warning('attribute "'+value+'" missed quot(")!!'),el.add(attrName,value,start);case 5:s=6}else switch(s){case 2:el.tagName,"http://www.w3.org/1999/xhtml"===currentNSMap[""]&&attrName.match(/^(?:disabled|checked|selected)$/i)||errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!'),el.add(attrName,attrName,start),start=p,s=1;break;case 5:errorHandler.warning('attribute space is required"'+attrName+'"!!');case 6:s=1,start=p;break;case 3:s=4,start=p;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}p++}}function appendElement(el,domBuilder,currentNSMap){for(var tagName=el.tagName,localNSMap=null,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value;if((nsp=qName.indexOf(":"))>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix="xmlns"===prefix&&localName;else localName=qName,prefix=null,nsPrefix="xmlns"===qName&&"";a.localName=localName,!1!==nsPrefix&&(null==localNSMap&&(localNSMap={},_copy(currentNSMap,currentNSMap={})),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri="http://www.w3.org/2000/xmlns/",domBuilder.startPrefixMapping(nsPrefix,value))}for(i=el.length;i--;)(prefix=(a=el[i]).prefix)&&("xml"===prefix&&(a.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==prefix&&(a.uri=currentNSMap[prefix||""]));var nsp;(nsp=tagName.indexOf(":"))>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||""];if(domBuilder.startElement(ns,localName,tagName,el),!el.closed)return el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,!0;if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)domBuilder.endPrefixMapping(prefix)}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){if(/^(?:script|textarea)$/i.test(tagName)){var elEndStart=source.indexOf("</"+tagName+">",elStartEnd),text=source.substring(elStartEnd+1,elEndStart);if(/[&<]/.test(text))return/^script$/i.test(tagName)?(domBuilder.characters(text,0,text.length),elEndStart):(text=text.replace(/&#?\w+;/g,entityReplacer),domBuilder.characters(text,0,text.length),elEndStart)}return elStartEnd+1}function fixSelfClosed(source,elStartEnd,tagName,closeMap){var pos=closeMap[tagName];return null==pos&&((pos=source.lastIndexOf("</"+tagName+">"))<elStartEnd&&(pos=source.lastIndexOf("</"+tagName)),closeMap[tagName]=pos),pos<elStartEnd}function _copy(source,target){for(var n in source)target[n]=source[n]}function parseDCC(source,start,domBuilder,errorHandler){if("-"===source.charAt(start+2))return"-"===source.charAt(start+3)?(end=source.indexOf("--\x3e",start+4))>start?(domBuilder.comment(source,start+4,end-start-4),end+3):(errorHandler.error("Unclosed comment"),-1):-1;if("CDATA["==source.substr(start+3,6)){var end=source.indexOf("]]>",start+9);return domBuilder.startCDATA(),domBuilder.characters(source,start+9,end-start-9),domBuilder.endCDATA(),end+3}var matchs=function(source,start){var match,buf=[],reg=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(reg.lastIndex=start,reg.exec(source);match=reg.exec(source);)if(buf.push(match),match[1])return buf}(source,start),len=matchs.length;if(len>1&&/!doctype/i.test(matchs[0][0])){var name=matchs[1][0],pubid=len>3&&/^public$/i.test(matchs[2][0])&&matchs[3][0],sysid=len>4&&matchs[4][0],lastMatch=matchs[len-1];return domBuilder.startDTD(name,pubid&&pubid.replace(/^(['"])(.*?)\1$/,"$2"),sysid&&sysid.replace(/^(['"])(.*?)\1$/,"$2")),domBuilder.endDTD(),lastMatch.index+lastMatch[0].length}return-1}function parseInstruction(source,start,domBuilder){var end=source.indexOf("?>",start);if(end){var match=source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return match?(match[0].length,domBuilder.processingInstruction(match[1],match[2]),end+2):-1}return-1}function ElementAttributes(source){}function _set_proto_(thiz,parent){return thiz.__proto__=parent,thiz}XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap={}),function(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){function fixedFromCharCode(code){if(code>65535){var surrogate1=55296+((code-=65536)>>10),surrogate2=56320+(1023&code);return String.fromCharCode(surrogate1,surrogate2)}return String.fromCharCode(code)}function entityReplacer(a){var k=a.slice(1,-1);return k in entityMap?entityMap[k]:"#"===k.charAt(0)?fixedFromCharCode(parseInt(k.substr(1).replace("x","0x"))):(errorHandler.error("entity not found:"+a),a)}function appendText(end){if(end>start){var xt=source.substring(start,end).replace(/&#?\w+;/g,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end-start),start=end}}function position(p,m){for(;p>=lineEnd&&(m=linePattern.exec(source));)lineStart=m.index,lineEnd=lineStart+m[0].length,locator.lineNumber++;locator.columnNumber=p-lineStart+1}for(var lineStart=0,lineEnd=0,linePattern=/.*(?:\r\n?|\n)|.*$/g,locator=domBuilder.locator,parseStack=[{currentNSMap:defaultNSMapCopy}],closeMap={},start=0;;){try{var tagStart=source.indexOf("<",start);if(tagStart<0){if(!source.substr(start).match(/^\s*$/)){var doc=domBuilder.doc,text=doc.createTextNode(source.substr(start));doc.appendChild(text),domBuilder.currentElement=text}return}switch(tagStart>start&&appendText(tagStart),source.charAt(tagStart+1)){case"/":var end=source.indexOf(">",tagStart+3),tagName=source.substring(tagStart+2,end),config=parseStack.pop();end<0?(tagName=source.substring(tagStart+2).replace(/[\s<].*/,""),errorHandler.error("end tag name: "+tagName+" is not complete:"+config.tagName),end=tagStart+1+tagName.length):tagName.match(/\s</)&&(tagName=tagName.replace(/[\s<].*/,""),errorHandler.error("end tag name: "+tagName+" maybe not complete"),end=tagStart+1+tagName.length);var localNSMap=config.localNSMap,endMatch=config.tagName==tagName;if(endMatch||config.tagName&&config.tagName.toLowerCase()==tagName.toLowerCase()){if(domBuilder.endElement(config.uri,config.localName,tagName),localNSMap)for(var prefix in localNSMap)domBuilder.endPrefixMapping(prefix);endMatch||errorHandler.fatalError("end tag name: "+tagName+" is not match the current start tagName:"+config.tagName)}else parseStack.push(config);end++;break;case"?":locator&&position(tagStart),end=parseInstruction(source,tagStart,domBuilder);break;case"!":locator&&position(tagStart),end=parseDCC(source,tagStart,domBuilder,errorHandler);break;default:locator&&position(tagStart);var el=new ElementAttributes,currentNSMap=parseStack[parseStack.length-1].currentNSMap,len=(end=parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler),el.length);if(!el.closed&&fixSelfClosed(source,end,el.tagName,closeMap)&&(el.closed=!0,entityMap.nbsp||errorHandler.warning("unclosed xml attribute")),locator&&len){for(var locator2=copyLocator(locator,{}),i=0;i<len;i++){var a=el[i];position(a.offset),a.locator=copyLocator(locator,{})}domBuilder.locator=locator2,appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el),domBuilder.locator=locator}else appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el);"http://www.w3.org/1999/xhtml"!==el.uri||el.closed?end++:end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)}}catch(e){errorHandler.error("element parse error: "+e),end=-1}end>start?start=end:appendText(Math.max(tagStart,start)+1)}}(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}},ElementAttributes.prototype={setTagName:function(tagName){if(!tagNamePattern.test(tagName))throw new Error("invalid tagName:"+tagName);this.tagName=tagName},add:function(qName,value,offset){if(!tagNamePattern.test(qName))throw new Error("invalid attribute:"+qName);this[this.length++]={qName:qName,value:value,offset:offset}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}},_set_proto_({},_set_proto_.prototype)instanceof _set_proto_||(_set_proto_=function(thiz,parent){function p(){}for(parent in p.prototype=parent,p=new p,thiz)p[parent]=thiz[parent];return p});var sax={XMLReader:XMLReader};function copy(src,dest){for(var p in src)dest[p]=src[p]}function _extends$1(Class,Super){var pt=Class.prototype;if(Object.create){var ppt=Object.create(Super.prototype);pt.__proto__=ppt}if(!(pt instanceof Super)){var t=function(){};t.prototype=Super.prototype,copy(pt,t=new t),Class.prototype=pt=t}pt.constructor!=Class&&("function"!=typeof Class&&console.error("unknow Class:"+Class),pt.constructor=Class)}var NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,ExceptionCode={},ExceptionMessage={},HIERARCHY_REQUEST_ERR=(ExceptionCode.INDEX_SIZE_ERR=(ExceptionMessage[1]="Index size error",1),ExceptionCode.DOMSTRING_SIZE_ERR=(ExceptionMessage[2]="DOMString size error",2),ExceptionCode.HIERARCHY_REQUEST_ERR=(ExceptionMessage[3]="Hierarchy request error",3)),NOT_FOUND_ERR=(ExceptionCode.WRONG_DOCUMENT_ERR=(ExceptionMessage[4]="Wrong document",4),ExceptionCode.INVALID_CHARACTER_ERR=(ExceptionMessage[5]="Invalid character",5),ExceptionCode.NO_DATA_ALLOWED_ERR=(ExceptionMessage[6]="No data allowed",6),ExceptionCode.NO_MODIFICATION_ALLOWED_ERR=(ExceptionMessage[7]="No modification allowed",7),ExceptionCode.NOT_FOUND_ERR=(ExceptionMessage[8]="Not found",8)),INUSE_ATTRIBUTE_ERR=(ExceptionCode.NOT_SUPPORTED_ERR=(ExceptionMessage[9]="Not supported",9),ExceptionCode.INUSE_ATTRIBUTE_ERR=(ExceptionMessage[10]="Attribute in use",10));function DOMException(code,message){if(message instanceof Error)var error=message;else error=this,Error.call(this,ExceptionMessage[code]),this.message=ExceptionMessage[code],Error.captureStackTrace&&Error.captureStackTrace(this,DOMException);return error.code=code,message&&(this.message=this.message+": "+message),error}function NodeList(){}function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!=inc){var ls=list._refresh(list._node);__set__(list,"length",ls.length),copy(ls,list),list._inc=inc}}function NamedNodeMap(){}function _findNodeIndex(list,node){for(var i=list.length;i--;)if(list[i]===node)return i}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:list[list.length++]=newAttr,el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),function(doc,el,newAttr){doc&&doc._inc++,"http://www.w3.org/2000/xmlns/"==newAttr.namespaceURI&&(el._nsMap[newAttr.prefix?newAttr.localName:""]=newAttr.value)}(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(!(i>=0))throw DOMException(NOT_FOUND_ERR,new Error(el.tagName+"@"+attr));for(var lastIndex=list.length-1;i<lastIndex;)list[i]=list[++i];if(list.length=lastIndex,el){var doc=el.ownerDocument;doc&&(_onRemoveAttribute(doc,el,attr),attr.ownerElement=null)}}function DOMImplementation(features){if(this._features={},features)for(var feature in features)this._features=features[feature]}function Node(){}function _xmlEncoder(c){return("<"==c?"<":">"==c&&">")||"&"==c&&"&"||'"'==c&&"""||"&#"+c.charCodeAt()+";"}function _visitNode(node,callback){if(callback(node))return!0;if(node=node.firstChild)do{if(_visitNode(node,callback))return!0}while(node=node.nextSibling)}function Document(){}function _onRemoveAttribute(doc,el,newAttr,remove){doc&&doc._inc++,"http://www.w3.org/2000/xmlns/"==newAttr.namespaceURI&&delete el._nsMap[newAttr.prefix?newAttr.localName:""]}function _onUpdateChild(doc,el,newChild){if(doc&&doc._inc){doc._inc++;var cs=el.childNodes;if(newChild)cs[cs.length++]=newChild;else{for(var child=el.firstChild,i=0;child;)cs[i++]=child,child=child.nextSibling;cs.length=i}}}function _removeChild(parentNode,child){var previous=child.previousSibling,next=child.nextSibling;return previous?previous.nextSibling=next:parentNode.firstChild=next,next?next.previousSibling=previous:parentNode.lastChild=previous,_onUpdateChild(parentNode.ownerDocument,parentNode),child}function _insertBefore(parentNode,newChild,nextChild){var cp=newChild.parentNode;if(cp&&cp.removeChild(newChild),newChild.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=newChild.firstChild;if(null==newFirst)return newChild;var newLast=newChild.lastChild}else newFirst=newLast=newChild;var pre=nextChild?nextChild.previousSibling:parentNode.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=nextChild,pre?pre.nextSibling=newFirst:parentNode.firstChild=newFirst,null==nextChild?parentNode.lastChild=newLast:nextChild.previousSibling=newLast;do{newFirst.parentNode=parentNode}while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode),newChild.nodeType==DOCUMENT_FRAGMENT_NODE&&(newChild.firstChild=newChild.lastChild=null),newChild}function Element(){this._nsMap={}}function Attr(){}function CharacterData(){}function Text(){}function Comment(){}function CDATASection(){}function DocumentType(){}function Notation(){}function Entity(){}function EntityReference(){}function DocumentFragment(){}function ProcessingInstruction(){}function XMLSerializer(){}function nodeSerializeToString(isHtml,nodeFilter){var buf=[],refNode=9==this.nodeType?this.documentElement:this,prefix=refNode.prefix,uri=refNode.namespaceURI;if(uri&&null==prefix&&null==(prefix=refNode.lookupPrefix(uri)))var visibleNamespaces=[{namespace:uri,prefix:null}];return serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces),buf.join("")}function needNamespaceDefine(node,isHTML,visibleNamespaces){var prefix=node.prefix||"",uri=node.namespaceURI;if(!prefix&&!uri)return!1;if("xml"===prefix&&"http://www.w3.org/XML/1998/namespace"===uri||"http://www.w3.org/2000/xmlns/"==uri)return!1;for(var i=visibleNamespaces.length;i--;){var ns=visibleNamespaces[i];if(ns.prefix==prefix)return ns.namespace!=uri}return!0}function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){if(nodeFilter){if(!(node=nodeFilter(node)))return;if("string"==typeof node)return void buf.push(node)}switch(node.nodeType){case ELEMENT_NODE:visibleNamespaces||(visibleNamespaces=[]),visibleNamespaces.length;var attrs=node.attributes,len=attrs.length,child=node.firstChild,nodeName=node.tagName;isHTML="http://www.w3.org/1999/xhtml"===node.namespaceURI||isHTML,buf.push("<",nodeName);for(var i=0;i<len;i++)"xmlns"==(attr=attrs.item(i)).prefix?visibleNamespaces.push({prefix:attr.localName,namespace:attr.value}):"xmlns"==attr.nodeName&&visibleNamespaces.push({prefix:"",namespace:attr.value});for(i=0;i<len;i++){var attr;if(needNamespaceDefine(attr=attrs.item(i),0,visibleNamespaces)){var prefix=attr.prefix||"",uri=attr.namespaceURI,ns=prefix?" xmlns:"+prefix:" xmlns";buf.push(ns,'="',uri,'"'),visibleNamespaces.push({prefix:prefix,namespace:uri})}serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces)}if(needNamespaceDefine(node,0,visibleNamespaces)&&(prefix=node.prefix||"",uri=node.namespaceURI,ns=prefix?" xmlns:"+prefix:" xmlns",buf.push(ns,'="',uri,'"'),visibleNamespaces.push({prefix:prefix,namespace:uri})),child||isHTML&&!/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){if(buf.push(">"),isHTML&&/^script$/i.test(nodeName))for(;child;)child.data?buf.push(child.data):serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces),child=child.nextSibling;else for(;child;)serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces),child=child.nextSibling;buf.push("</",nodeName,">")}else buf.push("/>");return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(child=node.firstChild;child;)serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces),child=child.nextSibling;return;case ATTRIBUTE_NODE:return buf.push(" ",node.name,'="',node.value.replace(/[<&"]/g,_xmlEncoder),'"');case TEXT_NODE:return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return buf.push("<![CDATA[",node.data,"]]>");case COMMENT_NODE:return buf.push("\x3c!--",node.data,"--\x3e");case DOCUMENT_TYPE_NODE:var pubid=node.publicId,sysid=node.systemId;if(buf.push("<!DOCTYPE ",node.name),pubid)buf.push(' PUBLIC "',pubid),sysid&&"."!=sysid&&buf.push('" "',sysid),buf.push('">');else if(sysid&&"."!=sysid)buf.push(' SYSTEM "',sysid,'">');else{var sub=node.internalSubset;sub&&buf.push(" [",sub,"]"),buf.push(">")}return;case PROCESSING_INSTRUCTION_NODE:return buf.push("<?",node.target," ",node.data,"?>");case ENTITY_REFERENCE_NODE:return buf.push("&",node.nodeName,";");default:buf.push("??",node.nodeName)}}function _importNode(doc,node,deep){var node2;switch(node.nodeType){case ELEMENT_NODE:(node2=node.cloneNode(!1)).ownerDocument=doc;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:deep=!0}if(node2||(node2=node.cloneNode(!1)),node2.ownerDocument=doc,node2.parentNode=null,deep)for(var child=node.firstChild;child;)node2.appendChild(_importNode(doc,child,deep)),child=child.nextSibling;return node2}function _cloneNode(doc,node,deep){var node2=new node.constructor;for(var n in node){var v=node[n];"object"!=_typeof2(v)&&v!=node2[n]&&(node2[n]=v)}switch(node.childNodes&&(node2.childNodes=new NodeList),node2.ownerDocument=doc,node2.nodeType){case ELEMENT_NODE:var attrs=node.attributes,attrs2=node2.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=node2;for(var i=0;i<len;i++)node2.setAttributeNode(_cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:deep=!0}if(deep)for(var child=node.firstChild;child;)node2.appendChild(_cloneNode(doc,child,deep)),child=child.nextSibling;return node2}function __set__(object,key,value){object[key]=value}ExceptionCode.INVALID_STATE_ERR=(ExceptionMessage[11]="Invalid state",11),ExceptionCode.SYNTAX_ERR=(ExceptionMessage[12]="Syntax error",12),ExceptionCode.INVALID_MODIFICATION_ERR=(ExceptionMessage[13]="Invalid modification",13),ExceptionCode.NAMESPACE_ERR=(ExceptionMessage[14]="Invalid namespace",14),ExceptionCode.INVALID_ACCESS_ERR=(ExceptionMessage[15]="Invalid access",15),DOMException.prototype=Error.prototype,copy(ExceptionCode,DOMException),NodeList.prototype={length:0,item:function(index){return this[index]||null},toString:function(isHTML,nodeFilter){for(var buf=[],i=0;i<this.length;i++)serializeToString(this[i],buf,isHTML,nodeFilter);return buf.join("")}},LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]},_extends$1(LiveNodeList,NodeList),NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(key){for(var i=this.length;i--;){var attr=this[i];if(attr.nodeName==key)return attr}},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);var oldAttr=this.getNamedItem(attr.nodeName);return _addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},setNamedItemNS:function(attr){var oldAttr,el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);return oldAttr=this.getNamedItemNS(attr.namespaceURI,attr.localName),_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},removeNamedItem:function(key){var attr=this.getNamedItem(key);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){for(var i=this.length;i--;){var node=this[i];if(node.localName==localName&&node.namespaceURI==namespaceURI)return node}return null}},DOMImplementation.prototype={hasFeature:function(feature,version){var versions=this._features[feature.toLowerCase()];return!(!versions||version&&!(version in versions))},createDocument:function(namespaceURI,qualifiedName,doctype){var doc=new Document;if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId){var node=new DocumentType;return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId,node.systemId=systemId,node}},Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){this.insertBefore(newChild,oldChild),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(deep){return _cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){for(var child=this.firstChild;child;){var next=child.nextSibling;next&&next.nodeType==TEXT_NODE&&child.nodeType==TEXT_NODE?(this.removeChild(next),child.appendData(next.data)):(child.normalize(),child=next)}},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map)for(var n in map)if(map[n]==namespaceURI)return n;el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&prefix in map)return map[prefix];el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){return null==this.lookupPrefix(namespaceURI)}},copy(NodeType,Node),copy(NodeType,Node.prototype),Document.prototype={nodeName:"#document",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType==DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return null==this.documentElement&&newChild.nodeType==ELEMENT_NODE&&(this.documentElement=newChild),_insertBefore(this,newChild,refChild),newChild.ownerDocument=this,newChild},removeChild:function(oldChild){return this.documentElement==oldChild&&(this.documentElement=null),_removeChild(this,oldChild)},importNode:function(importedNode,deep){return _importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,(function(node){if(node.nodeType==ELEMENT_NODE&&node.getAttribute("id")==id)return rtv=node,!0})),rtv},createElement:function(tagName){var node=new Element;return node.ownerDocument=this,node.nodeName=tagName,node.tagName=tagName,node.childNodes=new NodeList,(node.attributes=new NamedNodeMap)._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment;return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text;return node.ownerDocument=this,node.appendData(data),node},createComment:function(data){var node=new Comment;return node.ownerDocument=this,node.appendData(data),node},createCDATASection:function(data){var node=new CDATASection;return node.ownerDocument=this,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction;return node.ownerDocument=this,node.tagName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){var node=new Attr;return node.ownerDocument=this,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){var node=new EntityReference;return node.ownerDocument=this,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var node=new Element,pl=qualifiedName.split(":"),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=namespaceURI,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var node=new Attr,pl=qualifiedName.split(":");return node.ownerDocument=this,node.nodeName=qualifiedName,node.name=qualifiedName,node.namespaceURI=namespaceURI,node.specified=!0,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,node}},_extends$1(Document,Node),Element.prototype={nodeType:ELEMENT_NODE,hasAttribute:function(name){return null!=this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr&&attr.value||""},getAttributeNode:function(name){return this.attributes.getNamedItem(name)},setAttribute:function(name,value){var attr=this.ownerDocument.createAttribute(name);attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr)},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},appendChild:function(newChild){return newChild.nodeType===DOCUMENT_FRAGMENT_NODE?this.insertBefore(newChild,null):function(parentNode,newChild){var cp=newChild.parentNode;if(cp){var pre=parentNode.lastChild;cp.removeChild(newChild),pre=parentNode.lastChild}return pre=parentNode.lastChild,newChild.parentNode=parentNode,newChild.previousSibling=pre,newChild.nextSibling=null,pre?pre.nextSibling=newChild:parentNode.firstChild=newChild,parentNode.lastChild=newChild,_onUpdateChild(parentNode.ownerDocument,parentNode,newChild),newChild}(this,newChild)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return null!=this.getAttributeNodeNS(namespaceURI,localName)},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr&&attr.value||""},setAttributeNS:function(namespaceURI,qualifiedName,value){var attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName);attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr)},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByTagName:function(tagName){return new LiveNodeList(this,(function(base){var ls=[];return _visitNode(base,(function(node){node===base||node.nodeType!=ELEMENT_NODE||"*"!==tagName&&node.tagName!=tagName||ls.push(node)})),ls}))},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,(function(base){var ls=[];return _visitNode(base,(function(node){node===base||node.nodeType!==ELEMENT_NODE||"*"!==namespaceURI&&node.namespaceURI!==namespaceURI||"*"!==localName&&node.localName!=localName||ls.push(node)})),ls}))}},Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName,Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS,_extends$1(Element,Node),Attr.prototype.nodeType=ATTRIBUTE_NODE,_extends$1(Attr,Node),CharacterData.prototype={data:"",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},appendChild:function(newChild){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])},deleteData:function(offset,count){this.replaceData(offset,count,"")},replaceData:function(offset,count,text){text=this.data.substring(0,offset)+text+this.data.substring(offset+count),this.nodeValue=this.data=text,this.length=text.length}},_extends$1(CharacterData,Node),Text.prototype={nodeName:"#text",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}},_extends$1(Text,CharacterData),Comment.prototype={nodeName:"#comment",nodeType:COMMENT_NODE},_extends$1(Comment,CharacterData),CDATASection.prototype={nodeName:"#cdata-section",nodeType:CDATA_SECTION_NODE},_extends$1(CDATASection,CharacterData),DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE,_extends$1(DocumentType,Node),Notation.prototype.nodeType=NOTATION_NODE,_extends$1(Notation,Node),Entity.prototype.nodeType=ENTITY_NODE,_extends$1(Entity,Node),EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE,_extends$1(EntityReference,Node),DocumentFragment.prototype.nodeName="#document-fragment",DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE,_extends$1(DocumentFragment,Node),ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE,_extends$1(ProcessingInstruction,Node),XMLSerializer.prototype.serializeToString=function(node,isHtml,nodeFilter){return nodeSerializeToString.call(node,isHtml,nodeFilter)},Node.prototype.toString=nodeSerializeToString;try{if(Object.defineProperty){var getTextContent=function getTextContent(node){switch(node.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var buf=[];for(node=node.firstChild;node;)7!==node.nodeType&&8!==node.nodeType&&buf.push(getTextContent(node)),node=node.nextSibling;return buf.join("");default:return node.nodeValue}};Object.defineProperty(LiveNodeList.prototype,"length",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,"textContent",{get:function(){return getTextContent(this)},set:function(data){switch(this.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(;this.firstChild;)this.removeChild(this.firstChild);(data||String(data))&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=data,this.nodeValue=data}}}),__set__=function(object,key,value){object["$$"+key]=value}}}catch(e){}var inspectMp4,_textifyMp,dom={DOMImplementation:DOMImplementation,XMLSerializer:XMLSerializer},domParser=createCommonjsModule((function(module,exports){function DOMParser(options){this.options=options||{locator:{}}}function DOMHandler(){this.cdata=!1}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}function _locator(l){if(l)return"\n@"+(l.systemId||"")+"#[line:"+l.lineNumber+",col:"+l.columnNumber+"]"}function _toString(chars,start,length){return"string"==typeof chars?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+"":chars}function appendElement(hander,node){hander.currentElement?hander.currentElement.appendChild(node):hander.doc.appendChild(node)}DOMParser.prototype.parseFromString=function(source,mimeType){var options=this.options,sax=new XMLReader,domBuilder=options.domBuilder||new DOMHandler,errorHandler=options.errorHandler,locator=options.locator,defaultNSMap=options.xmlns||{},entityMap={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return locator&&domBuilder.setDocumentLocator(locator),sax.errorHandler=function(errorImpl,domBuilder,locator){if(!errorImpl){if(domBuilder instanceof DOMHandler)return domBuilder;errorImpl=domBuilder}var errorHandler={},isCallback=errorImpl instanceof Function;function build(key){var fn=errorImpl[key];!fn&&isCallback&&(fn=2==errorImpl.length?function(msg){errorImpl(key,msg)}:errorImpl),errorHandler[key]=fn&&function(msg){fn("[xmldom "+key+"]\t"+msg+_locator(locator))}||function(){}}return locator=locator||{},build("warning"),build("error"),build("fatalError"),errorHandler}(errorHandler,domBuilder,locator),sax.domBuilder=options.domBuilder||domBuilder,/\/x?html?$/.test(mimeType)&&(entityMap.nbsp=" ",entityMap.copy="©",defaultNSMap[""]="http://www.w3.org/1999/xhtml"),defaultNSMap.xml=defaultNSMap.xml||"http://www.w3.org/XML/1998/namespace",source?sax.parse(source,defaultNSMap,entityMap):sax.errorHandler.error("invalid doc source"),domBuilder.doc},DOMHandler.prototype={startDocument:function(){this.doc=(new DOMImplementation).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.doc,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;i<len;i++){namespaceURI=attrs.getURI(i);var value=attrs.getValue(i),attr=(qName=attrs.getQName(i),doc.createAttributeNS(namespaceURI,qName));this.locator&&position(attrs.getLocator(i),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(namespaceURI,localName,qName){var current=this.currentElement;current.tagName,this.currentElement=current.parentNode},startPrefixMapping:function(prefix,uri){},endPrefixMapping:function(prefix){},processingInstruction:function(target,data){var ins=this.doc.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(ch,start,length){},characters:function(chars,start,length){if(chars=_toString.apply(this,arguments)){if(this.cdata)var charNode=this.doc.createCDATASection(chars);else charNode=this.doc.createTextNode(chars);this.currentElement?this.currentElement.appendChild(charNode):/^\s*$/.test(chars)&&this.doc.appendChild(charNode),this.locator&&position(this.locator,charNode)}},skippedEntity:function(name){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(locator){(this.locator=locator)&&(locator.lineNumber=0)},comment:function(chars,start,length){chars=_toString.apply(this,arguments);var comm=this.doc.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId){var impl=this.doc.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId);this.locator&&position(this.locator,dt),appendElement(this,dt)}},warning:function(error){console.warn("[xmldom warning]\t"+error,_locator(this.locator))},error:function(_error){console.error("[xmldom error]\t"+_error,_locator(this.locator))},fatalError:function(error){throw console.error("[xmldom fatalError]\t"+error,_locator(this.locator)),error}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,(function(key){DOMHandler.prototype[key]=function(){return null}}));var XMLReader=sax.XMLReader,DOMImplementation=exports.DOMImplementation=dom.DOMImplementation;exports.XMLSerializer=dom.XMLSerializer,exports.DOMParser=DOMParser})),domParser_3=(domParser.DOMImplementation,domParser.XMLSerializer,domParser.DOMParser),isObject$1=function(obj){return!!obj&&"object"===_typeof2(obj)},merge=function merge(){for(var _len=arguments.length,objects=new Array(_len),_key=0;_key<_len;_key++)objects[_key]=arguments[_key];return objects.reduce((function(result,source){return Object.keys(source).forEach((function(key){Array.isArray(result[key])&&Array.isArray(source[key])?result[key]=result[key].concat(source[key]):isObject$1(result[key])&&isObject$1(source[key])?result[key]=merge(result[key],source[key]):result[key]=source[key]})),result}),{})},flatten=function(lists){return lists.reduce((function(x,y){return x.concat(y)}),[])},from=function(list){if(!list.length)return[];for(var result=[],i=0;i<list.length;i++)result.push(list[i]);return result},errors_INVALID_NUMBER_OF_PERIOD="INVALID_NUMBER_OF_PERIOD",errors_DASH_EMPTY_MANIFEST="DASH_EMPTY_MANIFEST",errors_DASH_INVALID_XML="DASH_INVALID_XML",errors_NO_BASE_URL="NO_BASE_URL",errors_SEGMENT_TIME_UNSPECIFIED="SEGMENT_TIME_UNSPECIFIED",errors_UNSUPPORTED_UTC_TIMING_SCHEME="UNSUPPORTED_UTC_TIMING_SCHEME",urlTypeToSegment=function(_ref){var _ref$baseUrl=_ref.baseUrl,baseUrl=void 0===_ref$baseUrl?"":_ref$baseUrl,_ref$source=_ref.source,source=void 0===_ref$source?"":_ref$source,_ref$range=_ref.range,range=void 0===_ref$range?"":_ref$range,_ref$indexRange=_ref.indexRange,indexRange=void 0===_ref$indexRange?"":_ref$indexRange,segment={uri:source,resolvedUri:resolveUrl_1(baseUrl||"",source)};if(range||indexRange){var ranges=(range||indexRange).split("-"),startRange=parseInt(ranges[0],10),endRange=parseInt(ranges[1],10);segment.byterange={length:endRange-startRange+1,offset:startRange}}return segment},segmentRange={static:function(attributes){var duration=attributes.duration,_attributes$timescale=attributes.timescale,timescale=void 0===_attributes$timescale?1:_attributes$timescale,sourceDuration=attributes.sourceDuration;return{start:0,end:Math.ceil(sourceDuration/(duration/timescale))}},dynamic:function(attributes){var NOW=attributes.NOW,clientOffset=attributes.clientOffset,availabilityStartTime=attributes.availabilityStartTime,_attributes$timescale2=attributes.timescale,timescale=void 0===_attributes$timescale2?1:_attributes$timescale2,duration=attributes.duration,_attributes$start=attributes.start,start=void 0===_attributes$start?0:_attributes$start,_attributes$minimumUp=attributes.minimumUpdatePeriod,minimumUpdatePeriod=void 0===_attributes$minimumUp?0:_attributes$minimumUp,_attributes$timeShift=attributes.timeShiftBufferDepth,timeShiftBufferDepth=void 0===_attributes$timeShift?1/0:_attributes$timeShift,now=(NOW+clientOffset)/1e3,periodStartWC=availabilityStartTime+start,periodDuration=now+minimumUpdatePeriod-periodStartWC,segmentCount=Math.ceil(periodDuration*timescale/duration),availableStart=Math.floor((now-periodStartWC-timeShiftBufferDepth)*timescale/duration),availableEnd=Math.floor((now-periodStartWC)*timescale/duration);return{start:Math.max(0,availableStart),end:Math.min(segmentCount,availableEnd)}}},parseByDuration=function(attributes){var _attributes$type=attributes.type,type=void 0===_attributes$type?"static":_attributes$type,duration=attributes.duration,_attributes$timescale4=attributes.timescale,timescale=void 0===_attributes$timescale4?1:_attributes$timescale4,sourceDuration=attributes.sourceDuration,_segmentRange$type=segmentRange[type](attributes),segments=function(start,end){for(var result=[],i=start;i<end;i++)result.push(i);return result}(_segmentRange$type.start,_segmentRange$type.end).map(function(attributes){return function(number,index){var duration=attributes.duration,_attributes$timescale3=attributes.timescale,timescale=void 0===_attributes$timescale3?1:_attributes$timescale3,periodIndex=attributes.periodIndex,_attributes$startNumb=attributes.startNumber;return{number:(void 0===_attributes$startNumb?1:_attributes$startNumb)+number,duration:duration/timescale,timeline:periodIndex,time:index*duration}}}(attributes));if("static"===type){var index=segments.length-1;segments[index].duration=sourceDuration-duration/timescale*index}return segments},segmentsFromBase=function(attributes){var baseUrl=attributes.baseUrl,_attributes$initializ=attributes.initialization,initialization=void 0===_attributes$initializ?{}:_attributes$initializ,sourceDuration=attributes.sourceDuration,_attributes$timescale=attributes.timescale,timescale=void 0===_attributes$timescale?1:_attributes$timescale,_attributes$indexRang=attributes.indexRange,indexRange=void 0===_attributes$indexRang?"":_attributes$indexRang,duration=attributes.duration;if(!baseUrl)throw new Error(errors_NO_BASE_URL);var initSegment=urlTypeToSegment({baseUrl:baseUrl,source:initialization.sourceURL,range:initialization.range}),segment=urlTypeToSegment({baseUrl:baseUrl,source:baseUrl,indexRange:indexRange});if(segment.map=initSegment,duration){var segmentTimeInfo=parseByDuration(attributes);segmentTimeInfo.length&&(segment.duration=segmentTimeInfo[0].duration,segment.timeline=segmentTimeInfo[0].timeline)}else sourceDuration&&(segment.duration=sourceDuration/timescale,segment.timeline=0);return segment.number=0,[segment]},addSegmentsToPlaylist=function(playlist,sidx,baseUrl){for(var initSegment=playlist.sidx.map?playlist.sidx.map:null,sourceDuration=playlist.sidx.duration,timeline=playlist.timeline||0,sidxByteRange=playlist.sidx.byterange,sidxEnd=sidxByteRange.offset+sidxByteRange.length,timescale=sidx.timescale,mediaReferences=sidx.references.filter((function(r){return 1!==r.referenceType})),segments=[],startIndex=sidxEnd+sidx.firstOffset,i=0;i<mediaReferences.length;i++){var reference=sidx.references[i],size=reference.referencedSize,duration=reference.subsegmentDuration,segment=segmentsFromBase({baseUrl:baseUrl,timescale:timescale,timeline:timeline,periodIndex:timeline,duration:duration,sourceDuration:sourceDuration,indexRange:startIndex+"-"+(startIndex+size-1)})[0];initSegment&&(segment.map=initSegment),segments.push(segment),startIndex+=size}return playlist.segments=segments,playlist},mergeDiscontiguousPlaylists=function(playlists){var o;return(o=playlists.reduce((function(acc,playlist){var _acc$name$segments,name=playlist.attributes.id+(playlist.attributes.lang||"");return acc[name]?(playlist.segments[0]&&(playlist.segments[0].discontinuity=!0),(_acc$name$segments=acc[name].segments).push.apply(_acc$name$segments,playlist.segments),playlist.attributes.contentProtection&&(acc[name].attributes.contentProtection=playlist.attributes.contentProtection)):acc[name]=playlist,acc}),{}),Object.keys(o).map((function(k){return o[k]}))).map((function(playlist){var l,key;return playlist.discontinuityStarts=(l=playlist.segments,key="discontinuity",l.reduce((function(a,e,i){return e[key]&&a.push(i),a}),[])),playlist}))},addSegmentInfoFromSidx=function(playlists,sidxMapping){if(void 0===sidxMapping&&(sidxMapping={}),!Object.keys(sidxMapping).length)return playlists;for(var i in playlists){var playlist=playlists[i];if(playlist.sidx){var sidxKey=playlist.sidx.uri+"-"+(byterange=playlist.sidx.byterange,endRange=void 0,endRange=byterange.offset+byterange.length-1,byterange.offset+"-"+endRange),sidxMatch=sidxMapping[sidxKey]&&sidxMapping[sidxKey].sidx;playlist.sidx&&sidxMatch&&addSegmentsToPlaylist(playlist,sidxMatch,playlist.sidx.resolvedUri)}}var byterange,endRange;return playlists},formatAudioPlaylist=function(_ref){var _attributes,attributes=_ref.attributes,segments=_ref.segments,sidx=_ref.sidx,playlist={attributes:(_attributes={NAME:attributes.id,BANDWIDTH:attributes.bandwidth,CODECS:attributes.codecs},_attributes["PROGRAM-ID"]=1,_attributes),uri:"",endList:"static"===(attributes.type||"static"),timeline:attributes.periodIndex,resolvedUri:"",targetDuration:attributes.duration,segments:segments,mediaSequence:segments.length?segments[0].number:1};return attributes.contentProtection&&(playlist.contentProtection=attributes.contentProtection),sidx&&(playlist.sidx=sidx),playlist},formatVideoPlaylist=function(_ref3){var _attributes3,attributes=_ref3.attributes,segments=_ref3.segments,sidx=_ref3.sidx,playlist={attributes:(_attributes3={NAME:attributes.id,AUDIO:"audio",SUBTITLES:"subs",RESOLUTION:{width:attributes.width,height:attributes.height},CODECS:attributes.codecs,BANDWIDTH:attributes.bandwidth},_attributes3["PROGRAM-ID"]=1,_attributes3),uri:"",endList:"static"===(attributes.type||"static"),timeline:attributes.periodIndex,resolvedUri:"",targetDuration:attributes.duration,segments:segments,mediaSequence:segments.length?segments[0].number:1};return attributes.contentProtection&&(playlist.contentProtection=attributes.contentProtection),sidx&&(playlist.sidx=sidx),playlist},toM3u8=function(dashPlaylists,sidxMapping){var _mediaGroups;if(void 0===sidxMapping&&(sidxMapping={}),!dashPlaylists.length)return{};var _dashPlaylists$0$attr=dashPlaylists[0].attributes,duration=_dashPlaylists$0$attr.sourceDuration,_dashPlaylists$0$attr2=_dashPlaylists$0$attr.type,type=void 0===_dashPlaylists$0$attr2?"static":_dashPlaylists$0$attr2,suggestedPresentationDelay=_dashPlaylists$0$attr.suggestedPresentationDelay,_dashPlaylists$0$attr3=_dashPlaylists$0$attr.minimumUpdatePeriod,minimumUpdatePeriod=void 0===_dashPlaylists$0$attr3?0:_dashPlaylists$0$attr3,videoPlaylists=mergeDiscontiguousPlaylists(dashPlaylists.filter((function(_ref4){var attributes=_ref4.attributes;return"video/mp4"===attributes.mimeType||"video"===attributes.contentType}))).map(formatVideoPlaylist),audioPlaylists=mergeDiscontiguousPlaylists(dashPlaylists.filter((function(_ref5){var attributes=_ref5.attributes;return"audio/mp4"===attributes.mimeType||"audio"===attributes.contentType}))),vttPlaylists=dashPlaylists.filter((function(_ref6){var attributes=_ref6.attributes;return"text/vtt"===attributes.mimeType||"text"===attributes.contentType})),master={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:(_mediaGroups={AUDIO:{},VIDEO:{}},_mediaGroups["CLOSED-CAPTIONS"]={},_mediaGroups.SUBTITLES={},_mediaGroups),uri:"",duration:duration,playlists:addSegmentInfoFromSidx(videoPlaylists,sidxMapping),minimumUpdatePeriod:1e3*minimumUpdatePeriod};return"dynamic"===type&&(master.suggestedPresentationDelay=suggestedPresentationDelay),audioPlaylists.length&&(master.mediaGroups.AUDIO.audio=function(playlists,sidxMapping){var mainPlaylist;void 0===sidxMapping&&(sidxMapping={});var formattedPlaylists=playlists.reduce((function(a,playlist){var role=playlist.attributes.role&&playlist.attributes.role.value||"",language=playlist.attributes.lang||"",label="main";if(language){var roleLabel=role?" ("+role+")":"";label=""+playlist.attributes.lang+roleLabel}return a[label]&&a[label].playlists[0].attributes.BANDWIDTH>playlist.attributes.bandwidth||(a[label]={language:language,autoselect:!0,default:"main"===role,playlists:addSegmentInfoFromSidx([formatAudioPlaylist(playlist)],sidxMapping),uri:""},void 0===mainPlaylist&&"main"===role&&((mainPlaylist=playlist).default=!0)),a}),{});return mainPlaylist||(formattedPlaylists[Object.keys(formattedPlaylists)[0]].default=!0),formattedPlaylists}(audioPlaylists,sidxMapping)),vttPlaylists.length&&(master.mediaGroups.SUBTITLES.subs=function(playlists,sidxMapping){return void 0===sidxMapping&&(sidxMapping={}),playlists.reduce((function(a,playlist){var _ref2,_attributes2,attributes,segments,label=playlist.attributes.lang||"text";return a[label]||(a[label]={language:label,default:!1,autoselect:!1,playlists:addSegmentInfoFromSidx([(_ref2=playlist,attributes=_ref2.attributes,segments=_ref2.segments,void 0===segments&&(segments=[{uri:attributes.baseUrl,timeline:attributes.periodIndex,resolvedUri:attributes.baseUrl||"",duration:attributes.sourceDuration,number:0}],attributes.duration=attributes.sourceDuration),{attributes:(_attributes2={NAME:attributes.id,BANDWIDTH:attributes.bandwidth},_attributes2["PROGRAM-ID"]=1,_attributes2),uri:"",endList:"static"===(attributes.type||"static"),timeline:attributes.periodIndex,resolvedUri:attributes.baseUrl||"",targetDuration:attributes.duration,segments:segments,mediaSequence:segments.length?segments[0].number:1})],sidxMapping),uri:""}),a}),{})}(vttPlaylists,sidxMapping)),master},getLiveRValue=function(attributes,time,duration){var NOW=attributes.NOW,clientOffset=attributes.clientOffset,availabilityStartTime=attributes.availabilityStartTime,_attributes$timescale=attributes.timescale,timescale=void 0===_attributes$timescale?1:_attributes$timescale,_attributes$start=attributes.start,start=void 0===_attributes$start?0:_attributes$start,_attributes$minimumUp=attributes.minimumUpdatePeriod,periodDuration=(NOW+clientOffset)/1e3+(void 0===_attributes$minimumUp?0:_attributes$minimumUp)-(availabilityStartTime+start);return Math.ceil((periodDuration*timescale-time)/duration)},parseByTimeline=function(attributes,segmentTimeline){for(var _attributes$type=attributes.type,type=void 0===_attributes$type?"static":_attributes$type,_attributes$minimumUp2=attributes.minimumUpdatePeriod,minimumUpdatePeriod=void 0===_attributes$minimumUp2?0:_attributes$minimumUp2,_attributes$media=attributes.media,media=void 0===_attributes$media?"":_attributes$media,sourceDuration=attributes.sourceDuration,_attributes$timescale2=attributes.timescale,timescale=void 0===_attributes$timescale2?1:_attributes$timescale2,_attributes$startNumb=attributes.startNumber,startNumber=void 0===_attributes$startNumb?1:_attributes$startNumb,timeline=attributes.periodIndex,segments=[],time=-1,sIndex=0;sIndex<segmentTimeline.length;sIndex++){var S=segmentTimeline[sIndex],duration=S.d,repeat=S.r||0,segmentTime=S.t||0;time<0&&(time=segmentTime),segmentTime&&segmentTime>time&&(time=segmentTime);var count=void 0;if(repeat<0){var nextS=sIndex+1;count=nextS===segmentTimeline.length?"dynamic"===type&&minimumUpdatePeriod>0&&media.indexOf("$Number$")>0?getLiveRValue(attributes,time,duration):(sourceDuration*timescale-time)/duration:(segmentTimeline[nextS].t-time)/duration}else count=repeat+1;for(var end=startNumber+segments.length+count,number=startNumber+segments.length;number<end;)segments.push({number:number,duration:duration/timescale,time:time,timeline:timeline}),time+=duration,number++}return segments},identifierPattern=/\$([A-z]*)(?:(%0)([0-9]+)d)?\$/g,constructTemplateUrl=function(url,values){return url.replace(identifierPattern,function(values){return function(match,identifier,format,width){if("$$"===match)return"$";if(void 0===values[identifier])return match;var value=""+values[identifier];return"RepresentationID"===identifier?value:(width=format?parseInt(width,10):1,value.length>=width?value:""+new Array(width-value.length+1).join("0")+value)}}(values))},segmentsFromTemplate=function(attributes,segmentTimeline){var templateValues={RepresentationID:attributes.id,Bandwidth:attributes.bandwidth||0},_attributes$initializ=attributes.initialization,initialization=void 0===_attributes$initializ?{sourceURL:"",range:""}:_attributes$initializ,mapSegment=urlTypeToSegment({baseUrl:attributes.baseUrl,source:constructTemplateUrl(initialization.sourceURL,templateValues),range:initialization.range}),segments=function(attributes,segmentTimeline){return attributes.duration||segmentTimeline?attributes.duration?parseByDuration(attributes):parseByTimeline(attributes,segmentTimeline):[{number:attributes.startNumber||1,duration:attributes.sourceDuration,time:0,timeline:attributes.periodIndex}]}(attributes,segmentTimeline);return segments.map((function(segment){templateValues.Number=segment.number,templateValues.Time=segment.time;var uri=constructTemplateUrl(attributes.media||"",templateValues);return{uri:uri,timeline:segment.timeline,duration:segment.duration,resolvedUri:resolveUrl_1(attributes.baseUrl||"",uri),map:mapSegment,number:segment.number}}))},segmentsFromList=function(attributes,segmentTimeline){var duration=attributes.duration,_attributes$segmentUr=attributes.segmentUrls,segmentUrls=void 0===_attributes$segmentUr?[]:_attributes$segmentUr;if(!duration&&!segmentTimeline||duration&&segmentTimeline)throw new Error(errors_SEGMENT_TIME_UNSPECIFIED);var segmentTimeInfo,segmentUrlMap=segmentUrls.map((function(segmentUrlObject){return function(attributes,segmentUrl){var baseUrl=attributes.baseUrl,_attributes$initializ=attributes.initialization,initialization=void 0===_attributes$initializ?{}:_attributes$initializ,initSegment=urlTypeToSegment({baseUrl:baseUrl,source:initialization.sourceURL,range:initialization.range}),segment=urlTypeToSegment({baseUrl:baseUrl,source:segmentUrl.media,range:segmentUrl.mediaRange});return segment.map=initSegment,segment}(attributes,segmentUrlObject)}));return duration&&(segmentTimeInfo=parseByDuration(attributes)),segmentTimeline&&(segmentTimeInfo=parseByTimeline(attributes,segmentTimeline)),segmentTimeInfo.map((function(segmentTime,index){if(segmentUrlMap[index]){var segment=segmentUrlMap[index];return segment.timeline=segmentTime.timeline,segment.duration=segmentTime.duration,segment.number=segmentTime.number,segment}})).filter((function(segment){return segment}))},generateSegments=function(_ref){var segmentAttributes,segmentsFn,attributes=_ref.attributes,segmentInfo=_ref.segmentInfo;segmentInfo.template?(segmentsFn=segmentsFromTemplate,segmentAttributes=merge(attributes,segmentInfo.template)):segmentInfo.base?(segmentsFn=segmentsFromBase,segmentAttributes=merge(attributes,segmentInfo.base)):segmentInfo.list&&(segmentsFn=segmentsFromList,segmentAttributes=merge(attributes,segmentInfo.list));var segmentsInfo={attributes:attributes};if(!segmentsFn)return segmentsInfo;var segments=segmentsFn(segmentAttributes,segmentInfo.timeline);if(segmentAttributes.duration){var _segmentAttributes=segmentAttributes,duration=_segmentAttributes.duration,_segmentAttributes$ti=_segmentAttributes.timescale,timescale=void 0===_segmentAttributes$ti?1:_segmentAttributes$ti;segmentAttributes.duration=duration/timescale}else segments.length?segmentAttributes.duration=segments.reduce((function(max,segment){return Math.max(max,Math.ceil(segment.duration))}),0):segmentAttributes.duration=0;return segmentsInfo.attributes=segmentAttributes,segmentsInfo.segments=segments,segmentInfo.base&&segmentAttributes.indexRange&&(segmentsInfo.sidx=segments[0],segmentsInfo.segments=[]),segmentsInfo},findChildren=function(element,name){return from(element.childNodes).filter((function(_ref){return _ref.tagName===name}))},getContent=function(element){return element.textContent.trim()},parseDuration=function(str){var match=/P(?:(\d*)Y)?(?:(\d*)M)?(?:(\d*)D)?(?:T(?:(\d*)H)?(?:(\d*)M)?(?:([\d.]*)S)?)?/.exec(str);if(!match)return 0;var _match$slice=match.slice(1),year=_match$slice[0],month=_match$slice[1],day=_match$slice[2],hour=_match$slice[3],minute=_match$slice[4],second=_match$slice[5];return 31536e3*parseFloat(year||0)+2592e3*parseFloat(month||0)+86400*parseFloat(day||0)+3600*parseFloat(hour||0)+60*parseFloat(minute||0)+parseFloat(second||0)},parsers={mediaPresentationDuration:function(value){return parseDuration(value)},availabilityStartTime:function(value){return/^\d+-\d+-\d+T\d+:\d+:\d+(\.\d+)?$/.test(str=value)&&(str+="Z"),Date.parse(str)/1e3;var str},minimumUpdatePeriod:function(value){return parseDuration(value)},suggestedPresentationDelay:function(value){return parseDuration(value)},type:function(value){return value},timeShiftBufferDepth:function(value){return parseDuration(value)},start:function(value){return parseDuration(value)},width:function(value){return parseInt(value,10)},height:function(value){return parseInt(value,10)},bandwidth:function(value){return parseInt(value,10)},startNumber:function(value){return parseInt(value,10)},timescale:function(value){return parseInt(value,10)},duration:function(value){var parsedValue=parseInt(value,10);return isNaN(parsedValue)?parseDuration(value):parsedValue},d:function(value){return parseInt(value,10)},t:function(value){return parseInt(value,10)},r:function(value){return parseInt(value,10)},DEFAULT:function(value){return value}},parseAttributes$1=function(el){return el&&el.attributes?from(el.attributes).reduce((function(a,e){var parseFn=parsers[e.name]||parsers.DEFAULT;return a[e.name]=parseFn(e.value),a}),{}):{}},keySystemsMap={"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b":"org.w3.clearkey","urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":"com.widevine.alpha","urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95":"com.microsoft.playready","urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb":"com.adobe.primetime"},buildBaseUrls=function(referenceUrls,baseUrlElements){return baseUrlElements.length?flatten(referenceUrls.map((function(reference){return baseUrlElements.map((function(baseUrlElement){return resolveUrl_1(reference,getContent(baseUrlElement))}))}))):referenceUrls},getSegmentInformation=function(adaptationSet){var segmentTemplate=findChildren(adaptationSet,"SegmentTemplate")[0],segmentList=findChildren(adaptationSet,"SegmentList")[0],segmentUrls=segmentList&&findChildren(segmentList,"SegmentURL").map((function(s){return merge({tag:"SegmentURL"},parseAttributes$1(s))})),segmentBase=findChildren(adaptationSet,"SegmentBase")[0],segmentTimelineParentNode=segmentList||segmentTemplate,segmentTimeline=segmentTimelineParentNode&&findChildren(segmentTimelineParentNode,"SegmentTimeline")[0],segmentInitializationParentNode=segmentList||segmentBase||segmentTemplate,segmentInitialization=segmentInitializationParentNode&&findChildren(segmentInitializationParentNode,"Initialization")[0],template=segmentTemplate&&parseAttributes$1(segmentTemplate);template&&segmentInitialization?template.initialization=segmentInitialization&&parseAttributes$1(segmentInitialization):template&&template.initialization&&(template.initialization={sourceURL:template.initialization});var segmentInfo={template:template,timeline:segmentTimeline&&findChildren(segmentTimeline,"S").map((function(s){return parseAttributes$1(s)})),list:segmentList&&merge(parseAttributes$1(segmentList),{segmentUrls:segmentUrls,initialization:parseAttributes$1(segmentInitialization)}),base:segmentBase&&merge(parseAttributes$1(segmentBase),{initialization:parseAttributes$1(segmentInitialization)})};return Object.keys(segmentInfo).forEach((function(key){segmentInfo[key]||delete segmentInfo[key]})),segmentInfo},toRepresentations=function(periodAttributes,periodBaseUrls,periodSegmentInfo){return function(adaptationSet){var adaptationSetAttributes=parseAttributes$1(adaptationSet),adaptationSetBaseUrls=buildBaseUrls(periodBaseUrls,findChildren(adaptationSet,"BaseURL")),role=findChildren(adaptationSet,"Role")[0],roleAttributes={role:parseAttributes$1(role)},attrs=merge(periodAttributes,adaptationSetAttributes,roleAttributes),contentProtection=findChildren(adaptationSet,"ContentProtection").reduce((function(acc,node){var attributes=parseAttributes$1(node),keySystem=keySystemsMap[attributes.schemeIdUri];if(keySystem){acc[keySystem]={attributes:attributes};var psshNode=findChildren(node,"cenc:pssh")[0];if(psshNode){var pssh=getContent(psshNode),psshBuffer=pssh&&decodeB64ToUint8Array_1(pssh);acc[keySystem].pssh=psshBuffer}}return acc}),{});Object.keys(contentProtection).length&&(attrs=merge(attrs,{contentProtection:contentProtection}));var segmentInfo=getSegmentInformation(adaptationSet),representations=findChildren(adaptationSet,"Representation"),adaptationSetSegmentInfo=merge(periodSegmentInfo,segmentInfo);return flatten(representations.map(function(adaptationSetAttributes,adaptationSetBaseUrls,adaptationSetSegmentInfo){return function(representation){var repBaseUrlElements=findChildren(representation,"BaseURL"),repBaseUrls=buildBaseUrls(adaptationSetBaseUrls,repBaseUrlElements),attributes=merge(adaptationSetAttributes,parseAttributes$1(representation)),representationSegmentInfo=getSegmentInformation(representation);return repBaseUrls.map((function(baseUrl){return{segmentInfo:merge(adaptationSetSegmentInfo,representationSegmentInfo),attributes:merge(attributes,{baseUrl:baseUrl})}}))}}(attrs,adaptationSetBaseUrls,adaptationSetSegmentInfo)))}},inheritAttributes=function(mpd,options){void 0===options&&(options={});var _options=options,_options$manifestUri=_options.manifestUri,manifestUri=void 0===_options$manifestUri?"":_options$manifestUri,_options$NOW=_options.NOW,NOW=void 0===_options$NOW?Date.now():_options$NOW,_options$clientOffset=_options.clientOffset,clientOffset=void 0===_options$clientOffset?0:_options$clientOffset,periods=findChildren(mpd,"Period");if(!periods.length)throw new Error(errors_INVALID_NUMBER_OF_PERIOD);var mpdAttributes=parseAttributes$1(mpd),mpdBaseUrls=buildBaseUrls([manifestUri],findChildren(mpd,"BaseURL"));return mpdAttributes.sourceDuration=mpdAttributes.mediaPresentationDuration||0,mpdAttributes.NOW=NOW,mpdAttributes.clientOffset=clientOffset,flatten(periods.map(function(mpdAttributes,mpdBaseUrls){return function(period,index){var periodBaseUrls=buildBaseUrls(mpdBaseUrls,findChildren(period,"BaseURL")),periodAtt=parseAttributes$1(period),parsedPeriodId=parseInt(periodAtt.id,10),periodIndex=window$3.isNaN(parsedPeriodId)?index:parsedPeriodId,periodAttributes=merge(mpdAttributes,{periodIndex:periodIndex}),adaptationSets=findChildren(period,"AdaptationSet"),periodSegmentInfo=getSegmentInformation(period);return flatten(adaptationSets.map(toRepresentations(periodAttributes,periodBaseUrls,periodSegmentInfo)))}}(mpdAttributes,mpdBaseUrls)))},stringToMpdXml=function(manifestString){if(""===manifestString)throw new Error(errors_DASH_EMPTY_MANIFEST);var xml=(new domParser_3).parseFromString(manifestString,"application/xml"),mpd=xml&&"MPD"===xml.documentElement.tagName?xml.documentElement:null;if(!mpd||mpd&&mpd.getElementsByTagName("parsererror").length>0)throw new Error(errors_DASH_INVALID_XML);return mpd},parse=function(manifestString,options){return void 0===options&&(options={}),toM3u8(inheritAttributes(stringToMpdXml(manifestString),options).map(generateSegments),options.sidxMapping)},parseUTCTiming=function(manifestString){return function(mpd){var UTCTimingNode=findChildren(mpd,"UTCTiming")[0];if(!UTCTimingNode)return null;var attributes=parseAttributes$1(UTCTimingNode);switch(attributes.schemeIdUri){case"urn:mpeg:dash:utc:http-head:2014":case"urn:mpeg:dash:utc:http-head:2012":attributes.method="HEAD";break;case"urn:mpeg:dash:utc:http-xsdate:2014":case"urn:mpeg:dash:utc:http-iso:2014":case"urn:mpeg:dash:utc:http-xsdate:2012":case"urn:mpeg:dash:utc:http-iso:2012":attributes.method="GET";break;case"urn:mpeg:dash:utc:direct:2014":case"urn:mpeg:dash:utc:direct:2012":attributes.method="DIRECT",attributes.value=Date.parse(attributes.value);break;default:throw new Error(errors_UNSUPPORTED_UTC_TIMING_SCHEME)}return attributes}(stringToMpdXml(manifestString))},bin_toUnsigned=function(value){return value>>>0},bin_toHexString=function(value){return("00"+value.toString(16)).slice(-2)},toUnsigned$1=bin_toUnsigned,parseMp4Date=function(seconds){return new Date(1e3*seconds-20828448e5)},parseSampleFlags=function(flags){return{isLeading:(12&flags[0])>>>2,dependsOn:3&flags[0],isDependedOn:(192&flags[1])>>>6,hasRedundancy:(48&flags[1])>>>4,paddingValue:(14&flags[1])>>>1,isNonSyncSample:1&flags[1],degradationPriority:flags[2]<<8|flags[3]}},parseType=function(buffer){var result="";return result+=String.fromCharCode(buffer[0]),result+=String.fromCharCode(buffer[1]),result+=String.fromCharCode(buffer[2]),result+=String.fromCharCode(buffer[3])},nalParse=function(avcStream){var i,length,avcView=new DataView(avcStream.buffer,avcStream.byteOffset,avcStream.byteLength),result=[];for(i=0;i+4<avcStream.length;i+=length)if(length=avcView.getUint32(i),i+=4,length<=0)result.push("<span style='color:red;'>MALFORMED DATA</span>");else switch(31&avcStream[i]){case 1:result.push("slice_layer_without_partitioning_rbsp");break;case 5:result.push("slice_layer_without_partitioning_rbsp_idr");break;case 6:result.push("sei_rbsp");break;case 7:result.push("seq_parameter_set_rbsp");break;case 8:result.push("pic_parameter_set_rbsp");break;case 9:result.push("access_unit_delimiter_rbsp");break;default:result.push("UNKNOWN NAL - "+avcStream[i]&31)}return result},parse$1={avc1:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength);return{dataReferenceIndex:view.getUint16(6),width:view.getUint16(24),height:view.getUint16(26),horizresolution:view.getUint16(28)+view.getUint16(30)/16,vertresolution:view.getUint16(32)+view.getUint16(34)/16,frameCount:view.getUint16(40),depth:view.getUint16(74),config:inspectMp4(data.subarray(78,data.byteLength))}},avcC:function(data){var numOfPictureParameterSets,nalSize,offset,i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={configurationVersion:data[0],avcProfileIndication:data[1],profileCompatibility:data[2],avcLevelIndication:data[3],lengthSizeMinusOne:3&data[4],sps:[],pps:[]},numOfSequenceParameterSets=31&data[5];for(offset=6,i=0;i<numOfSequenceParameterSets;i++)nalSize=view.getUint16(offset),offset+=2,result.sps.push(new Uint8Array(data.subarray(offset,offset+nalSize))),offset+=nalSize;for(numOfPictureParameterSets=data[offset],offset++,i=0;i<numOfPictureParameterSets;i++)nalSize=view.getUint16(offset),offset+=2,result.pps.push(new Uint8Array(data.subarray(offset,offset+nalSize))),offset+=nalSize;return result},btrt:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength);return{bufferSizeDB:view.getUint32(0),maxBitrate:view.getUint32(4),avgBitrate:view.getUint32(8)}},esds:function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),esId:data[6]<<8|data[7],streamPriority:31&data[8],decoderConfig:{objectProfileIndication:data[11],streamType:data[12]>>>2&63,bufferSize:data[13]<<16|data[14]<<8|data[15],maxBitrate:data[16]<<24|data[17]<<16|data[18]<<8|data[19],avgBitrate:data[20]<<24|data[21]<<16|data[22]<<8|data[23],decoderConfigDescriptor:{tag:data[24],length:data[25],audioObjectType:data[26]>>>3&31,samplingFrequencyIndex:(7&data[26])<<1|data[27]>>>7&1,channelConfiguration:data[27]>>>3&15}}}},ftyp:function(data){for(var view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={majorBrand:parseType(data.subarray(0,4)),minorVersion:view.getUint32(4),compatibleBrands:[]},i=8;i<data.byteLength;)result.compatibleBrands.push(parseType(data.subarray(i,i+4))),i+=4;return result},dinf:function(data){return{boxes:inspectMp4(data)}},dref:function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),dataReferences:inspectMp4(data.subarray(8))}},hdlr:function(data){var result={version:new DataView(data.buffer,data.byteOffset,data.byteLength).getUint8(0),flags:new Uint8Array(data.subarray(1,4)),handlerType:parseType(data.subarray(8,12)),name:""},i=8;for(i=24;i<data.byteLength;i++){if(0===data[i]){i++;break}result.name+=String.fromCharCode(data[i])}return result.name=decodeURIComponent(escape(result.name)),result},mdat:function(data){return{byteLength:data.byteLength,nals:nalParse(data)}},mdhd:function(data){var language,view=new DataView(data.buffer,data.byteOffset,data.byteLength),i=4,result={version:view.getUint8(0),flags:new Uint8Array(data.subarray(1,4)),language:""};return 1===result.version?(i+=4,result.creationTime=parseMp4Date(view.getUint32(i)),i+=8,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.timescale=view.getUint32(i),i+=8,result.duration=view.getUint32(i)):(result.creationTime=parseMp4Date(view.getUint32(i)),i+=4,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.timescale=view.getUint32(i),i+=4,result.duration=view.getUint32(i)),i+=4,language=view.getUint16(i),result.language+=String.fromCharCode(96+(language>>10)),result.language+=String.fromCharCode(96+((992&language)>>5)),result.language+=String.fromCharCode(96+(31&language)),result},mdia:function(data){return{boxes:inspectMp4(data)}},mfhd:function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),sequenceNumber:data[4]<<24|data[5]<<16|data[6]<<8|data[7]}},minf:function(data){return{boxes:inspectMp4(data)}},mp4a:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={dataReferenceIndex:view.getUint16(6),channelcount:view.getUint16(16),samplesize:view.getUint16(18),samplerate:view.getUint16(24)+view.getUint16(26)/65536};return data.byteLength>28&&(result.streamDescriptor=inspectMp4(data.subarray(28))[0]),result},moof:function(data){return{boxes:inspectMp4(data)}},moov:function(data){return{boxes:inspectMp4(data)}},mvex:function(data){return{boxes:inspectMp4(data)}},mvhd:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength),i=4,result={version:view.getUint8(0),flags:new Uint8Array(data.subarray(1,4))};return 1===result.version?(i+=4,result.creationTime=parseMp4Date(view.getUint32(i)),i+=8,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.timescale=view.getUint32(i),i+=8,result.duration=view.getUint32(i)):(result.creationTime=parseMp4Date(view.getUint32(i)),i+=4,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.timescale=view.getUint32(i),i+=4,result.duration=view.getUint32(i)),i+=4,result.rate=view.getUint16(i)+view.getUint16(i+2)/16,i+=4,result.volume=view.getUint8(i)+view.getUint8(i+1)/8,i+=2,i+=2,i+=8,result.matrix=new Uint32Array(data.subarray(i,i+36)),i+=36,i+=24,result.nextTrackId=view.getUint32(i),result},pdin:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength);return{version:view.getUint8(0),flags:new Uint8Array(data.subarray(1,4)),rate:view.getUint32(4),initialDelay:view.getUint32(8)}},sdtp:function(data){var i,result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),samples:[]};for(i=4;i<data.byteLength;i++)result.samples.push({dependsOn:(48&data[i])>>4,isDependedOn:(12&data[i])>>2,hasRedundancy:3&data[i]});return result},sidx:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),references:[],referenceId:view.getUint32(4),timescale:view.getUint32(8),earliestPresentationTime:view.getUint32(12),firstOffset:view.getUint32(16)},referenceCount=view.getUint16(22);for(i=24;referenceCount;i+=12,referenceCount--)result.references.push({referenceType:(128&data[i])>>>7,referencedSize:2147483647&view.getUint32(i),subsegmentDuration:view.getUint32(i+4),startsWithSap:!!(128&data[i+8]),sapType:(112&data[i+8])>>>4,sapDeltaTime:268435455&view.getUint32(i+8)});return result},smhd:function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),balance:data[4]+data[5]/256}},stbl:function(data){return{boxes:inspectMp4(data)}},stco:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),chunkOffsets:[]},entryCount=view.getUint32(4);for(i=8;entryCount;i+=4,entryCount--)result.chunkOffsets.push(view.getUint32(i));return result},stsc:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),entryCount=view.getUint32(4),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),sampleToChunks:[]};for(i=8;entryCount;i+=12,entryCount--)result.sampleToChunks.push({firstChunk:view.getUint32(i),samplesPerChunk:view.getUint32(i+4),sampleDescriptionIndex:view.getUint32(i+8)});return result},stsd:function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),sampleDescriptions:inspectMp4(data.subarray(8))}},stsz:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),sampleSize:view.getUint32(4),entries:[]};for(i=12;i<data.byteLength;i+=4)result.entries.push(view.getUint32(i));return result},stts:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),timeToSamples:[]},entryCount=view.getUint32(4);for(i=8;entryCount;i+=8,entryCount--)result.timeToSamples.push({sampleCount:view.getUint32(i),sampleDelta:view.getUint32(i+4)});return result},styp:function(data){return parse$1.ftyp(data)},tfdt:function(data){var result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),baseMediaDecodeTime:toUnsigned$1(data[4]<<24|data[5]<<16|data[6]<<8|data[7])};return 1===result.version&&(result.baseMediaDecodeTime*=Math.pow(2,32),result.baseMediaDecodeTime+=toUnsigned$1(data[8]<<24|data[9]<<16|data[10]<<8|data[11])),result},tfhd:function(data){var i,view=new DataView(data.buffer,data.byteOffset,data.byteLength),result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),trackId:view.getUint32(4)},baseDataOffsetPresent=1&result.flags[2],sampleDescriptionIndexPresent=2&result.flags[2],defaultSampleDurationPresent=8&result.flags[2],defaultSampleSizePresent=16&result.flags[2],defaultSampleFlagsPresent=32&result.flags[2],durationIsEmpty=65536&result.flags[0],defaultBaseIsMoof=131072&result.flags[0];return i=8,baseDataOffsetPresent&&(i+=4,result.baseDataOffset=view.getUint32(12),i+=4),sampleDescriptionIndexPresent&&(result.sampleDescriptionIndex=view.getUint32(i),i+=4),defaultSampleDurationPresent&&(result.defaultSampleDuration=view.getUint32(i),i+=4),defaultSampleSizePresent&&(result.defaultSampleSize=view.getUint32(i),i+=4),defaultSampleFlagsPresent&&(result.defaultSampleFlags=view.getUint32(i)),durationIsEmpty&&(result.durationIsEmpty=!0),!baseDataOffsetPresent&&defaultBaseIsMoof&&(result.baseDataOffsetIsMoof=!0),result},tkhd:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength),i=4,result={version:view.getUint8(0),flags:new Uint8Array(data.subarray(1,4))};return 1===result.version?(i+=4,result.creationTime=parseMp4Date(view.getUint32(i)),i+=8,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.trackId=view.getUint32(i),i+=4,i+=8,result.duration=view.getUint32(i)):(result.creationTime=parseMp4Date(view.getUint32(i)),i+=4,result.modificationTime=parseMp4Date(view.getUint32(i)),i+=4,result.trackId=view.getUint32(i),i+=4,i+=4,result.duration=view.getUint32(i)),i+=4,i+=8,result.layer=view.getUint16(i),i+=2,result.alternateGroup=view.getUint16(i),i+=2,result.volume=view.getUint8(i)+view.getUint8(i+1)/8,i+=2,i+=2,result.matrix=new Uint32Array(data.subarray(i,i+36)),i+=36,result.width=view.getUint16(i)+view.getUint16(i+2)/16,i+=4,result.height=view.getUint16(i)+view.getUint16(i+2)/16,result},traf:function(data){return{boxes:inspectMp4(data)}},trak:function(data){return{boxes:inspectMp4(data)}},trex:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength);return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),trackId:view.getUint32(4),defaultSampleDescriptionIndex:view.getUint32(8),defaultSampleDuration:view.getUint32(12),defaultSampleSize:view.getUint32(16),sampleDependsOn:3&data[20],sampleIsDependedOn:(192&data[21])>>6,sampleHasRedundancy:(48&data[21])>>4,samplePaddingValue:(14&data[21])>>1,sampleIsDifferenceSample:!!(1&data[21]),sampleDegradationPriority:view.getUint16(22)}},trun:function(data){var sample,result={version:data[0],flags:new Uint8Array(data.subarray(1,4)),samples:[]},view=new DataView(data.buffer,data.byteOffset,data.byteLength),dataOffsetPresent=1&result.flags[2],firstSampleFlagsPresent=4&result.flags[2],sampleDurationPresent=1&result.flags[1],sampleSizePresent=2&result.flags[1],sampleFlagsPresent=4&result.flags[1],sampleCompositionTimeOffsetPresent=8&result.flags[1],sampleCount=view.getUint32(4),offset=8;for(dataOffsetPresent&&(result.dataOffset=view.getInt32(offset),offset+=4),firstSampleFlagsPresent&&sampleCount&&(sample={flags:parseSampleFlags(data.subarray(offset,offset+4))},offset+=4,sampleDurationPresent&&(sample.duration=view.getUint32(offset),offset+=4),sampleSizePresent&&(sample.size=view.getUint32(offset),offset+=4),sampleCompositionTimeOffsetPresent&&(sample.compositionTimeOffset=view.getUint32(offset),offset+=4),result.samples.push(sample),sampleCount--);sampleCount--;)sample={},sampleDurationPresent&&(sample.duration=view.getUint32(offset),offset+=4),sampleSizePresent&&(sample.size=view.getUint32(offset),offset+=4),sampleFlagsPresent&&(sample.flags=parseSampleFlags(data.subarray(offset,offset+4)),offset+=4),sampleCompositionTimeOffsetPresent&&(sample.compositionTimeOffset=view.getUint32(offset),offset+=4),result.samples.push(sample);return result},"url ":function(data){return{version:data[0],flags:new Uint8Array(data.subarray(1,4))}},vmhd:function(data){var view=new DataView(data.buffer,data.byteOffset,data.byteLength);return{version:data[0],flags:new Uint8Array(data.subarray(1,4)),graphicsmode:view.getUint16(4),opcolor:new Uint16Array([view.getUint16(6),view.getUint16(8),view.getUint16(10)])}}};inspectMp4=function(data){for(var view,size,type,end,box,i=0,result=[],ab=new ArrayBuffer(data.length),v=new Uint8Array(ab),z=0;z<data.length;++z)v[z]=data[z];for(view=new DataView(ab);i<data.byteLength;)size=view.getUint32(i),type=parseType(data.subarray(i+4,i+8)),end=size>1?i+size:data.byteLength,(box=(parse$1[type]||function(data){return{data:data}})(data.subarray(i+8,end))).size=size,box.type=type,result.push(box),i=end;return result};var timescale,startTime,compositionStartTime,getVideoTrackIds,getTracks,mp4Inspector={inspect:inspectMp4,textify:_textifyMp=function(inspectedMp4,depth){var indent;return depth=depth||0,indent=new Array(2*depth+1).join(" "),inspectedMp4.map((function(box,index){return indent+box.type+"\n"+Object.keys(box).filter((function(key){return"type"!==key&&"boxes"!==key})).map((function(key){var prefix=indent+" "+key+": ",value=box[key];if(value instanceof Uint8Array||value instanceof Uint32Array){var bytes=Array.prototype.slice.call(new Uint8Array(value.buffer,value.byteOffset,value.byteLength)).map((function(_byte){return" "+("00"+_byte.toString(16)).slice(-2)})).join("").match(/.{1,24}/g);return bytes?1===bytes.length?prefix+"<"+bytes.join("").slice(1)+">":prefix+"<\n"+bytes.map((function(line){return indent+" "+line})).join("\n")+"\n"+indent+" >":prefix+"<>"}return prefix+JSON.stringify(value,null,2).split("\n").map((function(line,index){return 0===index?line:indent+" "+line})).join("\n")})).join("\n")+(box.boxes?"\n"+_textifyMp(box.boxes,depth+1):"")})).join("\n")},parseType:parseType,findBox:function findBox(data,path){var i,size,type,end,subresults,results=[];if(!path.length)return null;for(i=0;i<data.byteLength;)size=toUnsigned$1(data[i]<<24|data[i+1]<<16|data[i+2]<<8|data[i+3]),type=parseType(data.subarray(i+4,i+8)),end=size>1?i+size:data.byteLength,type===path[0]&&(1===path.length?results.push(data.subarray(i+8,end)):(subresults=findBox(data.subarray(i+8,end),path.slice(1))).length&&(results=results.concat(subresults))),i=end;return results},parseTraf:parse$1.traf,parseTfdt:parse$1.tfdt,parseHdlr:parse$1.hdlr,parseTfhd:parse$1.tfhd,parseTrun:parse$1.trun,parseSidx:parse$1.sidx},toUnsigned$2=bin_toUnsigned,toHexString$1=bin_toHexString;timescale=function(init){return mp4Inspector.findBox(init,["moov","trak"]).reduce((function(result,trak){var tkhd,version,index,id,mdhd;return(tkhd=mp4Inspector.findBox(trak,["tkhd"])[0])?(version=tkhd[0],id=toUnsigned$2(tkhd[index=0===version?12:20]<<24|tkhd[index+1]<<16|tkhd[index+2]<<8|tkhd[index+3]),(mdhd=mp4Inspector.findBox(trak,["mdia","mdhd"])[0])?(index=0===(version=mdhd[0])?12:20,result[id]=toUnsigned$2(mdhd[index]<<24|mdhd[index+1]<<16|mdhd[index+2]<<8|mdhd[index+3]),result):null):null}),{})},startTime=function(timescale,fragment){var trafs,baseTimes,result;return trafs=mp4Inspector.findBox(fragment,["moof","traf"]),baseTimes=[].concat.apply([],trafs.map((function(traf){return mp4Inspector.findBox(traf,["tfhd"]).map((function(tfhd){var id,scale,baseTime;return id=toUnsigned$2(tfhd[4]<<24|tfhd[5]<<16|tfhd[6]<<8|tfhd[7]),scale=timescale[id]||9e4,baseTime=mp4Inspector.findBox(traf,["tfdt"]).map((function(tfdt){var version,result;return version=tfdt[0],result=toUnsigned$2(tfdt[4]<<24|tfdt[5]<<16|tfdt[6]<<8|tfdt[7]),1===version&&(result*=Math.pow(2,32),result+=toUnsigned$2(tfdt[8]<<24|tfdt[9]<<16|tfdt[10]<<8|tfdt[11])),result}))[0],(baseTime=baseTime||1/0)/scale}))}))),result=Math.min.apply(null,baseTimes),isFinite(result)?result:0},compositionStartTime=function(timescales,fragment){var trackId,trafBoxes=mp4Inspector.findBox(fragment,["moof","traf"]),baseMediaDecodeTime=0,compositionTimeOffset=0;if(trafBoxes&&trafBoxes.length)for(var parsedTraf=mp4Inspector.parseTraf(trafBoxes[0]),i=0;i<parsedTraf.boxes.length;i++)"tfhd"===parsedTraf.boxes[i].type?trackId=parsedTraf.boxes[i].trackId:"tfdt"===parsedTraf.boxes[i].type?baseMediaDecodeTime=parsedTraf.boxes[i].baseMediaDecodeTime:"trun"===parsedTraf.boxes[i].type&&parsedTraf.boxes[i].samples.length&&(compositionTimeOffset=parsedTraf.boxes[i].samples[0].compositionTimeOffset||0);return(baseMediaDecodeTime+compositionTimeOffset)/(timescales[trackId]||9e4)},getVideoTrackIds=function(init){var traks=mp4Inspector.findBox(init,["moov","trak"]),videoTrackIds=[];return traks.forEach((function(trak){var hdlrs=mp4Inspector.findBox(trak,["mdia","hdlr"]),tkhds=mp4Inspector.findBox(trak,["tkhd"]);hdlrs.forEach((function(hdlr,index){var view,trackId,handlerType=mp4Inspector.parseType(hdlr.subarray(8,12)),tkhd=tkhds[index];"vide"===handlerType&&(trackId=0===(view=new DataView(tkhd.buffer,tkhd.byteOffset,tkhd.byteLength)).getUint8(0)?view.getUint32(12):view.getUint32(20),videoTrackIds.push(trackId))}))})),videoTrackIds},getTracks=function(init){var traks=mp4Inspector.findBox(init,["moov","trak"]),tracks=[];return traks.forEach((function(trak){var view,version,track={},tkhd=mp4Inspector.findBox(trak,["tkhd"])[0];tkhd&&(version=(view=new DataView(tkhd.buffer,tkhd.byteOffset,tkhd.byteLength)).getUint8(0),track.id=0===version?view.getUint32(12):view.getUint32(20));var hdlr=mp4Inspector.findBox(trak,["mdia","hdlr"])[0];if(hdlr){var type=mp4Inspector.parseType(hdlr.subarray(8,12));track.type="vide"===type?"video":"soun"===type?"audio":type}var stsd=mp4Inspector.findBox(trak,["mdia","minf","stbl","stsd"])[0];if(stsd){var sampleDescriptions=stsd.subarray(8);track.codec=mp4Inspector.parseType(sampleDescriptions.subarray(4,8));var codecConfig,codecBox=mp4Inspector.findBox(sampleDescriptions,[track.codec])[0];codecBox&&(/^[a-z]vc[1-9]$/i.test(track.codec)?(codecConfig=codecBox.subarray(78),"avcC"===mp4Inspector.parseType(codecConfig.subarray(4,8))&&codecConfig.length>11?(track.codec+=".",track.codec+=toHexString$1(codecConfig[9]),track.codec+=toHexString$1(codecConfig[10]),track.codec+=toHexString$1(codecConfig[11])):track.codec="avc1.4d400d"):/^mp4[a,v]$/i.test(track.codec)&&(codecConfig=codecBox.subarray(28),"esds"===mp4Inspector.parseType(codecConfig.subarray(4,8))&&codecConfig.length>20&&0!==codecConfig[19]?(track.codec+="."+toHexString$1(codecConfig[19]),track.codec+="."+toHexString$1(codecConfig[20]>>>2&63).replace(/^0/,"")):track.codec="mp4a.40.2"))}var mdhd=mp4Inspector.findBox(trak,["mdia","mdhd"])[0];if(mdhd&&tkhd){var index=0===version?12:20;track.timescale=toUnsigned$2(mdhd[index]<<24|mdhd[index+1]<<16|mdhd[index+2]<<8|mdhd[index+3])}tracks.push(track)})),tracks};var probe={findBox:mp4Inspector.findBox,parseType:mp4Inspector.parseType,timescale:timescale,startTime:startTime,compositionStartTime:compositionStartTime,videoTrackIds:getVideoTrackIds,tracks:getTracks},captionPacketParser_parseSei=function(bytes){for(var i=0,result={payloadType:-1,payloadSize:0},payloadType=0,payloadSize=0;i<bytes.byteLength&&128!==bytes[i];){for(;255===bytes[i];)payloadType+=255,i++;for(payloadType+=bytes[i++];255===bytes[i];)payloadSize+=255,i++;if(payloadSize+=bytes[i++],!result.payload&&4===payloadType){result.payloadType=payloadType,result.payloadSize=payloadSize,result.payload=bytes.subarray(i,i+payloadSize);break}i+=payloadSize,payloadType=0,payloadSize=0}return result},captionPacketParser_parseUserData=function(sei){return 181!==sei.payload[0]||49!=(sei.payload[1]<<8|sei.payload[2])||"GA94"!==String.fromCharCode(sei.payload[3],sei.payload[4],sei.payload[5],sei.payload[6])||3!==sei.payload[7]?null:sei.payload.subarray(8,sei.payload.length-1)},captionPacketParser_parseCaptionPackets=function(pts,userData){var i,count,offset,data,results=[];if(!(64&userData[0]))return results;for(count=31&userData[0],i=0;i<count;i++)data={type:3&userData[2+(offset=3*i)],pts:pts},4&userData[offset+2]&&(data.ccData=userData[offset+3]<<8|userData[offset+4],results.push(data));return results},captionPacketParser_discardEmulationPreventionBytes=function(data){for(var newLength,newData,length=data.byteLength,emulationPreventionBytesPositions=[],i=1;i<length-2;)0===data[i]&&0===data[i+1]&&3===data[i+2]?(emulationPreventionBytesPositions.push(i+2),i+=2):i++;if(0===emulationPreventionBytesPositions.length)return data;newLength=length-emulationPreventionBytesPositions.length,newData=new Uint8Array(newLength);var sourceIndex=0;for(i=0;i<newLength;sourceIndex++,i++)sourceIndex===emulationPreventionBytesPositions[0]&&(sourceIndex++,emulationPreventionBytesPositions.shift()),newData[i]=data[sourceIndex];return newData},captionPacketParser_USER_DATA_REGISTERED_ITU_T_T35=4,Stream$1=function(){this.init=function(){var listeners={};this.on=function(type,listener){listeners[type]||(listeners[type]=[]),listeners[type]=listeners[type].concat(listener)},this.off=function(type,listener){var index;return!!listeners[type]&&(index=listeners[type].indexOf(listener),listeners[type]=listeners[type].slice(),listeners[type].splice(index,1),index>-1)},this.trigger=function(type){var callbacks,i,length,args;if(callbacks=listeners[type])if(2===arguments.length)for(length=callbacks.length,i=0;i<length;++i)callbacks[i].call(this,arguments[1]);else{for(args=[],i=arguments.length,i=1;i<arguments.length;++i)args.push(arguments[i]);for(length=callbacks.length,i=0;i<length;++i)callbacks[i].apply(this,args)}},this.dispose=function(){listeners={}}}};Stream$1.prototype.pipe=function(destination){return this.on("data",(function(data){destination.push(data)})),this.on("done",(function(flushSource){destination.flush(flushSource)})),this.on("partialdone",(function(flushSource){destination.partialFlush(flushSource)})),this.on("endedtimeline",(function(flushSource){destination.endTimeline(flushSource)})),this.on("reset",(function(flushSource){destination.reset(flushSource)})),destination},Stream$1.prototype.push=function(data){this.trigger("data",data)},Stream$1.prototype.flush=function(flushSource){this.trigger("done",flushSource)},Stream$1.prototype.partialFlush=function(flushSource){this.trigger("partialdone",flushSource)},Stream$1.prototype.endTimeline=function(flushSource){this.trigger("endedtimeline",flushSource)},Stream$1.prototype.reset=function(flushSource){this.trigger("reset",flushSource)};var stream=Stream$1,CaptionStream=function CaptionStream(){CaptionStream.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new Cea608Stream(0,0),new Cea608Stream(0,1),new Cea608Stream(1,0),new Cea608Stream(1,1)],this.reset(),this.ccStreams_.forEach((function(cc){cc.on("data",this.trigger.bind(this,"data")),cc.on("partialdone",this.trigger.bind(this,"partialdone")),cc.on("done",this.trigger.bind(this,"done"))}),this)};(CaptionStream.prototype=new stream).push=function(event){var sei,userData,newCaptionPackets;if("sei_rbsp"===event.nalUnitType&&(sei=captionPacketParser_parseSei(event.escapedRBSP)).payloadType===captionPacketParser_USER_DATA_REGISTERED_ITU_T_T35&&(userData=captionPacketParser_parseUserData(sei)))if(event.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(event.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));newCaptionPackets=captionPacketParser_parseCaptionPackets(event.pts,userData),this.captionPackets_=this.captionPackets_.concat(newCaptionPackets),this.latestDts_!==event.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=event.dts}},CaptionStream.prototype.flushCCStreams=function(flushType){this.ccStreams_.forEach((function(cc){return"flush"===flushType?cc.flush():cc.partialFlush()}),this)},CaptionStream.prototype.flushStream=function(flushType){this.captionPackets_.length?(this.captionPackets_.forEach((function(elem,idx){elem.presortIndex=idx})),this.captionPackets_.sort((function(a,b){return a.pts===b.pts?a.presortIndex-b.presortIndex:a.pts-b.pts})),this.captionPackets_.forEach((function(packet){packet.type<2&&this.dispatchCea608Packet(packet)}),this),this.captionPackets_.length=0,this.flushCCStreams(flushType)):this.flushCCStreams(flushType)},CaptionStream.prototype.flush=function(){return this.flushStream("flush")},CaptionStream.prototype.partialFlush=function(){return this.flushStream("partialFlush")},CaptionStream.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach((function(ccStream){ccStream.reset()}))},CaptionStream.prototype.dispatchCea608Packet=function(packet){this.setsTextOrXDSActive(packet)?this.activeCea608Channel_[packet.type]=null:this.setsChannel1Active(packet)?this.activeCea608Channel_[packet.type]=0:this.setsChannel2Active(packet)&&(this.activeCea608Channel_[packet.type]=1),null!==this.activeCea608Channel_[packet.type]&&this.ccStreams_[(packet.type<<1)+this.activeCea608Channel_[packet.type]].push(packet)},CaptionStream.prototype.setsChannel1Active=function(packet){return 4096==(30720&packet.ccData)},CaptionStream.prototype.setsChannel2Active=function(packet){return 6144==(30720&packet.ccData)},CaptionStream.prototype.setsTextOrXDSActive=function(packet){return 256==(28928&packet.ccData)||4138==(30974&packet.ccData)||6186==(30974&packet.ccData)};var CHARACTER_TRANSLATION={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},getCharFromCode=function(code){return null===code?"":(code=CHARACTER_TRANSLATION[code]||code,String.fromCharCode(code))},ROWS=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],createDisplayBuffer=function(){for(var result=[],i=15;i--;)result.push("");return result},Cea608Stream=function Cea608Stream(field,dataChannel){Cea608Stream.prototype.init.call(this),this.field_=field||0,this.dataChannel_=dataChannel||0,this.name_="CC"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(packet){var data,swap,char0,char1,text;if((data=32639&packet.ccData)!==this.lastControlCode_){if(4096==(61440&data)?this.lastControlCode_=data:data!==this.PADDING_&&(this.lastControlCode_=null),char0=data>>>8,char1=255&data,data!==this.PADDING_)if(data===this.RESUME_CAPTION_LOADING_)this.mode_="popOn";else if(data===this.END_OF_CAPTION_)this.mode_="popOn",this.clearFormatting(packet.pts),this.flushDisplayed(packet.pts),swap=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=swap,this.startPts_=packet.pts;else if(data===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(packet.pts);else if(data===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(packet.pts);else if(data===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(packet.pts);else if(data===this.CARRIAGE_RETURN_)this.clearFormatting(packet.pts),this.flushDisplayed(packet.pts),this.shiftRowsUp_(),this.startPts_=packet.pts;else if(data===this.BACKSPACE_)"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(data===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(packet.pts),this.displayed_=createDisplayBuffer();else if(data===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=createDisplayBuffer();else if(data===this.RESUME_DIRECT_CAPTIONING_)"paintOn"!==this.mode_&&(this.flushDisplayed(packet.pts),this.displayed_=createDisplayBuffer()),this.mode_="paintOn",this.startPts_=packet.pts;else if(this.isSpecialCharacter(char0,char1))text=getCharFromCode((char0=(3&char0)<<8)|char1),this[this.mode_](packet.pts,text),this.column_++;else if(this.isExtCharacter(char0,char1))"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),text=getCharFromCode((char0=(3&char0)<<8)|char1),this[this.mode_](packet.pts,text),this.column_++;else if(this.isMidRowCode(char0,char1))this.clearFormatting(packet.pts),this[this.mode_](packet.pts," "),this.column_++,14==(14&char1)&&this.addFormatting(packet.pts,["i"]),1==(1&char1)&&this.addFormatting(packet.pts,["u"]);else if(this.isOffsetControlCode(char0,char1))this.column_+=3&char1;else if(this.isPAC(char0,char1)){var row=ROWS.indexOf(7968&data);"rollUp"===this.mode_&&(row-this.rollUpRows_+1<0&&(row=this.rollUpRows_-1),this.setRollUp(packet.pts,row)),row!==this.row_&&(this.clearFormatting(packet.pts),this.row_=row),1&char1&&-1===this.formatting_.indexOf("u")&&this.addFormatting(packet.pts,["u"]),16==(16&data)&&(this.column_=4*((14&data)>>1)),this.isColorPAC(char1)&&14==(14&char1)&&this.addFormatting(packet.pts,["i"])}else this.isNormalChar(char0)&&(0===char1&&(char1=null),text=getCharFromCode(char0),text+=getCharFromCode(char1),this[this.mode_](packet.pts,text),this.column_+=text.length)}else this.lastControlCode_=null}};Cea608Stream.prototype=new stream,Cea608Stream.prototype.flushDisplayed=function(pts){var content=this.displayed_.map((function(row){try{return row.trim()}catch(e){return console.error("Skipping malformed caption."),""}})).join("\n").replace(/^\n+|\n+$/g,"");content.length&&this.trigger("data",{startPts:this.startPts_,endPts:pts,text:content,stream:this.name_})},Cea608Stream.prototype.reset=function(){this.mode_="popOn",this.topRow_=0,this.startPts_=0,this.displayed_=createDisplayBuffer(),this.nonDisplayed_=createDisplayBuffer(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Cea608Stream.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Cea608Stream.prototype.isSpecialCharacter=function(char0,char1){return char0===this.EXT_&&char1>=48&&char1<=63},Cea608Stream.prototype.isExtCharacter=function(char0,char1){return(char0===this.EXT_+1||char0===this.EXT_+2)&&char1>=32&&char1<=63},Cea608Stream.prototype.isMidRowCode=function(char0,char1){return char0===this.EXT_&&char1>=32&&char1<=47},Cea608Stream.prototype.isOffsetControlCode=function(char0,char1){return char0===this.OFFSET_&&char1>=33&&char1<=35},Cea608Stream.prototype.isPAC=function(char0,char1){return char0>=this.BASE_&&char0<this.BASE_+8&&char1>=64&&char1<=127},Cea608Stream.prototype.isColorPAC=function(char1){return char1>=64&&char1<=79||char1>=96&&char1<=127},Cea608Stream.prototype.isNormalChar=function(_char){return _char>=32&&_char<=127},Cea608Stream.prototype.setRollUp=function(pts,newBaseRow){if("rollUp"!==this.mode_&&(this.row_=14,this.mode_="rollUp",this.flushDisplayed(pts),this.nonDisplayed_=createDisplayBuffer(),this.displayed_=createDisplayBuffer()),void 0!==newBaseRow&&newBaseRow!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[newBaseRow-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]="";void 0===newBaseRow&&(newBaseRow=this.row_),this.topRow_=newBaseRow-this.rollUpRows_+1},Cea608Stream.prototype.addFormatting=function(pts,format){this.formatting_=this.formatting_.concat(format);var text=format.reduce((function(text,format){return text+"<"+format+">"}),"");this[this.mode_](pts,text)},Cea608Stream.prototype.clearFormatting=function(pts){if(this.formatting_.length){var text=this.formatting_.reverse().reduce((function(text,format){return text+"</"+format+">"}),"");this.formatting_=[],this[this.mode_](pts,text)}},Cea608Stream.prototype.popOn=function(pts,text){var baseRow=this.nonDisplayed_[this.row_];baseRow+=text,this.nonDisplayed_[this.row_]=baseRow},Cea608Stream.prototype.rollUp=function(pts,text){var baseRow=this.displayed_[this.row_];baseRow+=text,this.displayed_[this.row_]=baseRow},Cea608Stream.prototype.shiftRowsUp_=function(){var i;for(i=0;i<this.topRow_;i++)this.displayed_[i]="";for(i=this.row_+1;i<15;i++)this.displayed_[i]="";for(i=this.topRow_;i<this.row_;i++)this.displayed_[i]=this.displayed_[i+1];this.displayed_[this.row_]=""},Cea608Stream.prototype.paintOn=function(pts,text){var baseRow=this.displayed_[this.row_];baseRow+=text,this.displayed_[this.row_]=baseRow};var discardEmulationPreventionBytes$1=captionPacketParser_discardEmulationPreventionBytes,CaptionStream$1=CaptionStream,mapToSample=function(offset,samples){for(var approximateOffset=offset,i=0;i<samples.length;i++){var sample=samples[i];if(approximateOffset<sample.size)return sample;approximateOffset-=sample.size}return null},parseCaptionNals=function(segment,videoTrackId){var trafs=probe.findBox(segment,["moof","traf"]),mdats=probe.findBox(segment,["mdat"]),captionNals={},mdatTrafPairs=[];return mdats.forEach((function(mdat,index){var matchingTraf=trafs[index];mdatTrafPairs.push({mdat:mdat,traf:matchingTraf})})),mdatTrafPairs.forEach((function(pair){var samples,seiNals,mdat=pair.mdat,traf=pair.traf,tfhd=probe.findBox(traf,["tfhd"]),headerInfo=mp4Inspector.parseTfhd(tfhd[0]),trackId=headerInfo.trackId,tfdt=probe.findBox(traf,["tfdt"]),baseMediaDecodeTime=tfdt.length>0?mp4Inspector.parseTfdt(tfdt[0]).baseMediaDecodeTime:0,truns=probe.findBox(traf,["trun"]);videoTrackId===trackId&&truns.length>0&&(samples=function(truns,baseMediaDecodeTime,tfhd){var currentDts=baseMediaDecodeTime,defaultSampleDuration=tfhd.defaultSampleDuration||0,defaultSampleSize=tfhd.defaultSampleSize||0,trackId=tfhd.trackId,allSamples=[];return truns.forEach((function(trun){var samples=mp4Inspector.parseTrun(trun).samples;samples.forEach((function(sample){void 0===sample.duration&&(sample.duration=defaultSampleDuration),void 0===sample.size&&(sample.size=defaultSampleSize),sample.trackId=trackId,sample.dts=currentDts,void 0===sample.compositionTimeOffset&&(sample.compositionTimeOffset=0),sample.pts=currentDts+sample.compositionTimeOffset,currentDts+=sample.duration})),allSamples=allSamples.concat(samples)})),allSamples}(truns,baseMediaDecodeTime,headerInfo),seiNals=function(avcStream,samples,trackId){var seiNal,i,length,lastMatchedSample,avcView=new DataView(avcStream.buffer,avcStream.byteOffset,avcStream.byteLength),result=[];for(i=0;i+4<avcStream.length;i+=length)if(length=avcView.getUint32(i),i+=4,!(length<=0)&&6==(31&avcStream[i])){var data=avcStream.subarray(i+1,i+1+length),matchingSample=mapToSample(i,samples);seiNal={nalUnitType:"sei_rbsp",size:length,data:data,escapedRBSP:discardEmulationPreventionBytes$1(data),trackId:trackId},matchingSample?(seiNal.pts=matchingSample.pts,seiNal.dts=matchingSample.dts,lastMatchedSample=matchingSample):(seiNal.pts=lastMatchedSample.pts,seiNal.dts=lastMatchedSample.dts),result.push(seiNal)}return result}(mdat,samples,trackId),captionNals[trackId]||(captionNals[trackId]=[]),captionNals[trackId]=captionNals[trackId].concat(seiNals))})),captionNals},captionParser=function(){var captionStream,segmentCache,trackId,timescale,parsedCaptions,parsingPartial,isInitialized=!1;this.isInitialized=function(){return isInitialized},this.init=function(options){captionStream=new CaptionStream$1,isInitialized=!0,parsingPartial=!!options&&options.isPartial,captionStream.on("data",(function(event){event.startTime=event.startPts/timescale,event.endTime=event.endPts/timescale,parsedCaptions.captions.push(event),parsedCaptions.captionStreams[event.stream]=!0}))},this.isNewInit=function(videoTrackIds,timescales){return!(videoTrackIds&&0===videoTrackIds.length||timescales&&"object"===_typeof2(timescales)&&0===Object.keys(timescales).length||trackId===videoTrackIds[0]&×cale===timescales[trackId])},this.parse=function(segment,videoTrackIds,timescales){var parsedData;if(!this.isInitialized())return null;if(!videoTrackIds||!timescales)return null;if(this.isNewInit(videoTrackIds,timescales))trackId=videoTrackIds[0],timescale=timescales[trackId];else if(null===trackId||!timescale)return segmentCache.push(segment),null;for(;segmentCache.length>0;){var cachedSegment=segmentCache.shift();this.parse(cachedSegment,videoTrackIds,timescales)}return parsedData=function(segment,trackId,timescale){return null===trackId?null:{seiNals:parseCaptionNals(segment,trackId)[trackId],timescale:timescale}}(segment,trackId,timescale),null!==parsedData&&parsedData.seiNals?(this.pushNals(parsedData.seiNals),this.flushStream(),parsedCaptions):null},this.pushNals=function(nals){if(!this.isInitialized()||!nals||0===nals.length)return null;nals.forEach((function(nal){captionStream.push(nal)}))},this.flushStream=function(){if(!this.isInitialized())return null;parsingPartial?captionStream.partialFlush():captionStream.flush()},this.clearParsedCaptions=function(){parsedCaptions.captions=[],parsedCaptions.captionStreams={}},this.resetCaptionStream=function(){if(!this.isInitialized())return null;captionStream.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){segmentCache=[],trackId=null,timescale=null,parsedCaptions?this.clearParsedCaptions():parsedCaptions={captions:[],captionStreams:{}},this.resetCaptionStream()},this.reset()},streamTypes_H264_STREAM_TYPE=27,streamTypes_ADTS_STREAM_TYPE=15,streamTypes_METADATA_STREAM_TYPE=21,handleRollover=function(value,reference){var direction=1;for(value>reference&&(direction=-1);Math.abs(reference-value)>4294967296;)value+=8589934592*direction;return value},TimestampRolloverStream=function TimestampRolloverStream(type){var lastDTS,referenceDTS;TimestampRolloverStream.prototype.init.call(this),this.type_=type||"shared",this.push=function(data){"shared"!==this.type_&&data.type!==this.type_||(void 0===referenceDTS&&(referenceDTS=data.dts),data.dts=handleRollover(data.dts,referenceDTS),data.pts=handleRollover(data.pts,referenceDTS),lastDTS=data.dts,this.trigger("data",data))},this.flush=function(){referenceDTS=lastDTS,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")},this.discontinuity=function(){referenceDTS=void 0,lastDTS=void 0},this.reset=function(){this.discontinuity(),this.trigger("reset")}};TimestampRolloverStream.prototype=new stream;var parsePid=function(packet){var pid=31&packet[1];return pid<<=8,pid|=packet[2]},parsePayloadUnitStartIndicator=function(packet){return!!(64&packet[1])},parseAdaptionField=function(packet){var offset=0;return(48&packet[3])>>>4>1&&(offset+=packet[4]+1),offset},parseNalUnitType=function(type){switch(type){case 5:return"slice_layer_without_partitioning_rbsp_idr";case 6:return"sei_rbsp";case 7:return"seq_parameter_set_rbsp";case 8:return"pic_parameter_set_rbsp";case 9:return"access_unit_delimiter_rbsp";default:return null}},probe$1={parseType:function(packet,pmtPid){var pid=parsePid(packet);return 0===pid?"pat":pid===pmtPid?"pmt":pmtPid?"pes":null},parsePat:function(packet){var pusi=parsePayloadUnitStartIndicator(packet),offset=4+parseAdaptionField(packet);return pusi&&(offset+=packet[offset]+1),(31&packet[offset+10])<<8|packet[offset+11]},parsePmt:function(packet){var programMapTable={},pusi=parsePayloadUnitStartIndicator(packet),payloadOffset=4+parseAdaptionField(packet);if(pusi&&(payloadOffset+=packet[payloadOffset]+1),1&packet[payloadOffset+5]){var tableEnd;tableEnd=3+((15&packet[payloadOffset+1])<<8|packet[payloadOffset+2])-4;for(var offset=12+((15&packet[payloadOffset+10])<<8|packet[payloadOffset+11]);offset<tableEnd;){var i=payloadOffset+offset;programMapTable[(31&packet[i+1])<<8|packet[i+2]]=packet[i],offset+=5+((15&packet[i+3])<<8|packet[i+4])}return programMapTable}},parsePayloadUnitStartIndicator:parsePayloadUnitStartIndicator,parsePesType:function(packet,programMapTable){switch(programMapTable[parsePid(packet)]){case streamTypes_H264_STREAM_TYPE:return"video";case streamTypes_ADTS_STREAM_TYPE:return"audio";case streamTypes_METADATA_STREAM_TYPE:return"timed-metadata";default:return null}},parsePesTime:function(packet){if(!parsePayloadUnitStartIndicator(packet))return null;var offset=4+parseAdaptionField(packet);if(offset>=packet.byteLength)return null;var ptsDtsFlags,pes=null;return 192&(ptsDtsFlags=packet[offset+7])&&((pes={}).pts=(14&packet[offset+9])<<27|(255&packet[offset+10])<<20|(254&packet[offset+11])<<12|(255&packet[offset+12])<<5|(254&packet[offset+13])>>>3,pes.pts*=4,pes.pts+=(6&packet[offset+13])>>>1,pes.dts=pes.pts,64&ptsDtsFlags&&(pes.dts=(14&packet[offset+14])<<27|(255&packet[offset+15])<<20|(254&packet[offset+16])<<12|(255&packet[offset+17])<<5|(254&packet[offset+18])>>>3,pes.dts*=4,pes.dts+=(6&packet[offset+18])>>>1)),pes},videoPacketContainsKeyFrame:function(packet){for(var offset=4+parseAdaptionField(packet),frameBuffer=packet.subarray(offset),frameI=0,frameSyncPoint=0,foundKeyFrame=!1;frameSyncPoint<frameBuffer.byteLength-3;frameSyncPoint++)if(1===frameBuffer[frameSyncPoint+2]){frameI=frameSyncPoint+5;break}for(;frameI<frameBuffer.byteLength;)switch(frameBuffer[frameI]){case 0:if(0!==frameBuffer[frameI-1]){frameI+=2;break}if(0!==frameBuffer[frameI-2]){frameI++;break}frameSyncPoint+3!==frameI-2&&"slice_layer_without_partitioning_rbsp_idr"===parseNalUnitType(31&frameBuffer[frameSyncPoint+3])&&(foundKeyFrame=!0);do{frameI++}while(1!==frameBuffer[frameI]&&frameI<frameBuffer.length);frameSyncPoint=frameI-2,frameI+=3;break;case 1:if(0!==frameBuffer[frameI-1]||0!==frameBuffer[frameI-2]){frameI+=3;break}"slice_layer_without_partitioning_rbsp_idr"===parseNalUnitType(31&frameBuffer[frameSyncPoint+3])&&(foundKeyFrame=!0),frameSyncPoint=frameI-2,frameI+=3;break;default:frameI+=3}return frameBuffer=frameBuffer.subarray(frameSyncPoint),frameI-=frameSyncPoint,frameSyncPoint=0,frameBuffer&&frameBuffer.byteLength>3&&"slice_layer_without_partitioning_rbsp_idr"===parseNalUnitType(31&frameBuffer[frameSyncPoint+3])&&(foundKeyFrame=!0),foundKeyFrame}},ADTS_SAMPLING_FREQUENCIES=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],parseSyncSafeInteger=function(data){return data[0]<<21|data[1]<<14|data[2]<<7|data[3]},utils={isLikelyAacData:function(data){return data[0]==="I".charCodeAt(0)&&data[1]==="D".charCodeAt(0)&&data[2]==="3".charCodeAt(0)},parseId3TagSize:function(header,byteIndex){var returnSize=header[byteIndex+6]<<21|header[byteIndex+7]<<14|header[byteIndex+8]<<7|header[byteIndex+9];return(16&header[byteIndex+5])>>4?returnSize+20:returnSize+10},parseAdtsSize:function(header,byteIndex){var lowThree=(224&header[byteIndex+5])>>5,middle=header[byteIndex+4]<<3;return 6144&header[byteIndex+3]|middle|lowThree},parseType:function(header,byteIndex){return header[byteIndex]==="I".charCodeAt(0)&&header[byteIndex+1]==="D".charCodeAt(0)&&header[byteIndex+2]==="3".charCodeAt(0)?"timed-metadata":!0&header[byteIndex]&&240==(240&header[byteIndex+1])?"audio":null},parseSampleRate:function(packet){for(var i=0;i+5<packet.length;){if(255===packet[i]&&240==(246&packet[i+1]))return ADTS_SAMPLING_FREQUENCIES[(60&packet[i+2])>>>2];i++}return null},parseAacTimestamp:function(packet){var frameStart,frameSize,frame;frameStart=10,64&packet[5]&&(frameStart+=4,frameStart+=parseSyncSafeInteger(packet.subarray(10,14)));do{if((frameSize=parseSyncSafeInteger(packet.subarray(frameStart+4,frameStart+8)))<1)return null;if("PRIV"===String.fromCharCode(packet[frameStart],packet[frameStart+1],packet[frameStart+2],packet[frameStart+3])){frame=packet.subarray(frameStart+10,frameStart+frameSize+10);for(var i=0;i<frame.byteLength;i++)if(0===frame[i]){var owner=unescape(function(bytes,start,end){var i,result="";for(i=start;i<end;i++)result+="%"+("00"+bytes[i].toString(16)).slice(-2);return result}(frame,0,i));if("com.apple.streaming.transportStreamTimestamp"===owner){var d=frame.subarray(i+1),size=(1&d[3])<<30|d[4]<<22|d[5]<<14|d[6]<<6|d[7]>>>2;return size*=4,size+=3&d[7]}break}}frameStart+=10,frameStart+=frameSize}while(frameStart<packet.byteLength);return null}},clock_ONE_SECOND_IN_TS=9e4,handleRollover$1=(function(seconds){return 9e4*seconds},function(seconds,sampleRate){return seconds*sampleRate},function(timestamp){return timestamp/9e4},function(timestamp,sampleRate){return timestamp/sampleRate},handleRollover),probe$2={};probe$2.ts=probe$1,probe$2.aac=utils;var ONE_SECOND_IN_TS$1=clock_ONE_SECOND_IN_TS,parseAudioPes_=function(bytes,pmt,result){for(var packet,pesType,pusi,parsed,startIndex=0,endIndex=188,endLoop=!1;endIndex<=bytes.byteLength;)if(71!==bytes[startIndex]||71!==bytes[endIndex]&&endIndex!==bytes.byteLength)startIndex++,endIndex++;else{if(packet=bytes.subarray(startIndex,endIndex),"pes"===probe$2.ts.parseType(packet,pmt.pid)&&(pesType=probe$2.ts.parsePesType(packet,pmt.table),pusi=probe$2.ts.parsePayloadUnitStartIndicator(packet),"audio"===pesType&&pusi&&(parsed=probe$2.ts.parsePesTime(packet))&&(parsed.type="audio",result.audio.push(parsed),endLoop=!0)),endLoop)break;startIndex+=188,endIndex+=188}for(startIndex=(endIndex=bytes.byteLength)-188,endLoop=!1;startIndex>=0;)if(71!==bytes[startIndex]||71!==bytes[endIndex]&&endIndex!==bytes.byteLength)startIndex--,endIndex--;else{if(packet=bytes.subarray(startIndex,endIndex),"pes"===probe$2.ts.parseType(packet,pmt.pid)&&(pesType=probe$2.ts.parsePesType(packet,pmt.table),pusi=probe$2.ts.parsePayloadUnitStartIndicator(packet),"audio"===pesType&&pusi&&(parsed=probe$2.ts.parsePesTime(packet))&&(parsed.type="audio",result.audio.push(parsed),endLoop=!0)),endLoop)break;startIndex-=188,endIndex-=188}},parseVideoPes_=function(bytes,pmt,result){for(var packet,pesType,pusi,parsed,frame,i,pes,startIndex=0,endIndex=188,endLoop=!1,currentFrame={data:[],size:0};endIndex<bytes.byteLength;)if(71!==bytes[startIndex]||71!==bytes[endIndex])startIndex++,endIndex++;else{if(packet=bytes.subarray(startIndex,endIndex),"pes"===probe$2.ts.parseType(packet,pmt.pid)&&(pesType=probe$2.ts.parsePesType(packet,pmt.table),pusi=probe$2.ts.parsePayloadUnitStartIndicator(packet),"video"===pesType&&(pusi&&!endLoop&&(parsed=probe$2.ts.parsePesTime(packet))&&(parsed.type="video",result.video.push(parsed),endLoop=!0),!result.firstKeyFrame))){if(pusi&&0!==currentFrame.size){for(frame=new Uint8Array(currentFrame.size),i=0;currentFrame.data.length;)pes=currentFrame.data.shift(),frame.set(pes,i),i+=pes.byteLength;if(probe$2.ts.videoPacketContainsKeyFrame(frame)){var firstKeyFrame=probe$2.ts.parsePesTime(frame);firstKeyFrame?(result.firstKeyFrame=firstKeyFrame,result.firstKeyFrame.type="video"):console.warn("Failed to extract PTS/DTS from PES at first keyframe. This could be an unusual TS segment, or else mux.js did not parse your TS segment correctly. If you know your TS segments do contain PTS/DTS on keyframes please file a bug report! You can try ffprobe to double check for yourself.")}currentFrame.size=0}currentFrame.data.push(packet),currentFrame.size+=packet.byteLength}if(endLoop&&result.firstKeyFrame)break;startIndex+=188,endIndex+=188}for(startIndex=(endIndex=bytes.byteLength)-188,endLoop=!1;startIndex>=0;)if(71!==bytes[startIndex]||71!==bytes[endIndex])startIndex--,endIndex--;else{if(packet=bytes.subarray(startIndex,endIndex),"pes"===probe$2.ts.parseType(packet,pmt.pid)&&(pesType=probe$2.ts.parsePesType(packet,pmt.table),pusi=probe$2.ts.parsePayloadUnitStartIndicator(packet),"video"===pesType&&pusi&&(parsed=probe$2.ts.parsePesTime(packet))&&(parsed.type="video",result.video.push(parsed),endLoop=!0)),endLoop)break;startIndex-=188,endIndex-=188}},inspectTs_=function(bytes){var pmt={pid:null,table:null},result={};for(var pid in function(bytes,pmt){for(var packet,startIndex=0,endIndex=188;endIndex<bytes.byteLength;)if(71!==bytes[startIndex]||71!==bytes[endIndex])startIndex++,endIndex++;else{switch(packet=bytes.subarray(startIndex,endIndex),probe$2.ts.parseType(packet,pmt.pid)){case"pat":pmt.pid||(pmt.pid=probe$2.ts.parsePat(packet));break;case"pmt":pmt.table||(pmt.table=probe$2.ts.parsePmt(packet))}if(pmt.pid&&pmt.table)return;startIndex+=188,endIndex+=188}}(bytes,pmt),pmt.table)if(pmt.table.hasOwnProperty(pid))switch(pmt.table[pid]){case streamTypes_H264_STREAM_TYPE:result.video=[],parseVideoPes_(bytes,pmt,result),0===result.video.length&&delete result.video;break;case streamTypes_ADTS_STREAM_TYPE:result.audio=[],parseAudioPes_(bytes,pmt,result),0===result.audio.length&&delete result.audio}return result},tsInspector_inspect=function(bytes,baseTimestamp){var result;return result=probe$2.aac.isLikelyAacData(bytes)?function(bytes){for(var packet,endLoop=!1,audioCount=0,sampleRate=null,timestamp=null,frameSize=0,byteIndex=0;bytes.length-byteIndex>=3;){switch(probe$2.aac.parseType(bytes,byteIndex)){case"timed-metadata":if(bytes.length-byteIndex<10){endLoop=!0;break}if((frameSize=probe$2.aac.parseId3TagSize(bytes,byteIndex))>bytes.length){endLoop=!0;break}null===timestamp&&(packet=bytes.subarray(byteIndex,byteIndex+frameSize),timestamp=probe$2.aac.parseAacTimestamp(packet)),byteIndex+=frameSize;break;case"audio":if(bytes.length-byteIndex<7){endLoop=!0;break}if((frameSize=probe$2.aac.parseAdtsSize(bytes,byteIndex))>bytes.length){endLoop=!0;break}null===sampleRate&&(packet=bytes.subarray(byteIndex,byteIndex+frameSize),sampleRate=probe$2.aac.parseSampleRate(packet)),audioCount++,byteIndex+=frameSize;break;default:byteIndex++}if(endLoop)return null}if(null===sampleRate||null===timestamp)return null;var audioTimescale=ONE_SECOND_IN_TS$1/sampleRate;return{audio:[{type:"audio",dts:timestamp,pts:timestamp},{type:"audio",dts:timestamp+1024*audioCount*audioTimescale,pts:timestamp+1024*audioCount*audioTimescale}]}}(bytes):inspectTs_(bytes),result&&(result.audio||result.video)?(function(segmentInfo,baseTimestamp){if(segmentInfo.audio&&segmentInfo.audio.length){var audioBaseTimestamp=baseTimestamp;void 0===audioBaseTimestamp&&(audioBaseTimestamp=segmentInfo.audio[0].dts),segmentInfo.audio.forEach((function(info){info.dts=handleRollover$1(info.dts,audioBaseTimestamp),info.pts=handleRollover$1(info.pts,audioBaseTimestamp),info.dtsTime=info.dts/ONE_SECOND_IN_TS$1,info.ptsTime=info.pts/ONE_SECOND_IN_TS$1}))}if(segmentInfo.video&&segmentInfo.video.length){var videoBaseTimestamp=baseTimestamp;if(void 0===videoBaseTimestamp&&(videoBaseTimestamp=segmentInfo.video[0].dts),segmentInfo.video.forEach((function(info){info.dts=handleRollover$1(info.dts,videoBaseTimestamp),info.pts=handleRollover$1(info.pts,videoBaseTimestamp),info.dtsTime=info.dts/ONE_SECOND_IN_TS$1,info.ptsTime=info.pts/ONE_SECOND_IN_TS$1})),segmentInfo.firstKeyFrame){var frame=segmentInfo.firstKeyFrame;frame.dts=handleRollover$1(frame.dts,videoBaseTimestamp),frame.pts=handleRollover$1(frame.pts,videoBaseTimestamp),frame.dtsTime=frame.dts/ONE_SECOND_IN_TS$1,frame.ptsTime=frame.dts/ONE_SECOND_IN_TS$1}}}(result,baseTimestamp),result):null},classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),aesTables=null,AES=function(){function AES(key){classCallCheck(this,AES),aesTables||(aesTables=function(){var tables=[[[],[],[],[],[]],[[],[],[],[],[]]],encTable=tables[0],decTable=tables[1],sbox=encTable[4],sboxInv=decTable[4],i=void 0,x=void 0,xInv=void 0,d=[],th=[],x2=void 0,x4=void 0,s=void 0,tEnc=void 0,tDec=void 0;for(i=0;i<256;i++)th[(d[i]=i<<1^283*(i>>7))^i]=i;for(x=xInv=0;!sbox[x];x^=x2||1,xInv=th[xInv]||1)for(s=(s=xInv^xInv<<1^xInv<<2^xInv<<3^xInv<<4)>>8^255&s^99,sbox[x]=s,sboxInv[s]=x,tDec=16843009*d[x4=d[x2=d[x]]]^65537*x4^257*x2^16843008*x,tEnc=257*d[s]^16843008*s,i=0;i<4;i++)encTable[i][x]=tEnc=tEnc<<24^tEnc>>>8,decTable[i][s]=tDec=tDec<<24^tDec>>>8;for(i=0;i<5;i++)encTable[i]=encTable[i].slice(0),decTable[i]=decTable[i].slice(0);return tables}()),this._tables=[[aesTables[0][0].slice(),aesTables[0][1].slice(),aesTables[0][2].slice(),aesTables[0][3].slice(),aesTables[0][4].slice()],[aesTables[1][0].slice(),aesTables[1][1].slice(),aesTables[1][2].slice(),aesTables[1][3].slice(),aesTables[1][4].slice()]];var i=void 0,j=void 0,tmp=void 0,encKey=void 0,decKey=void 0,sbox=this._tables[0][4],decTable=this._tables[1],keyLen=key.length,rcon=1;if(4!==keyLen&&6!==keyLen&&8!==keyLen)throw new Error("Invalid aes key size");for(encKey=key.slice(0),decKey=[],this._key=[encKey,decKey],i=keyLen;i<4*keyLen+28;i++)tmp=encKey[i-1],(i%keyLen==0||8===keyLen&&i%keyLen==4)&&(tmp=sbox[tmp>>>24]<<24^sbox[tmp>>16&255]<<16^sbox[tmp>>8&255]<<8^sbox[255&tmp],i%keyLen==0&&(tmp=tmp<<8^tmp>>>24^rcon<<24,rcon=rcon<<1^283*(rcon>>7))),encKey[i]=encKey[i-keyLen]^tmp;for(j=0;i;j++,i--)tmp=encKey[3&j?i:i-4],decKey[j]=i<=4||j<4?tmp:decTable[0][sbox[tmp>>>24]]^decTable[1][sbox[tmp>>16&255]]^decTable[2][sbox[tmp>>8&255]]^decTable[3][sbox[255&tmp]]}return AES.prototype.decrypt=function(encrypted0,encrypted1,encrypted2,encrypted3,out,offset){var key=this._key[1],a=encrypted0^key[0],b=encrypted3^key[1],c=encrypted2^key[2],d=encrypted1^key[3],a2=void 0,b2=void 0,c2=void 0,nInnerRounds=key.length/4-2,i=void 0,kIndex=4,table=this._tables[1],table0=table[0],table1=table[1],table2=table[2],table3=table[3],sbox=table[4];for(i=0;i<nInnerRounds;i++)a2=table0[a>>>24]^table1[b>>16&255]^table2[c>>8&255]^table3[255&d]^key[kIndex],b2=table0[b>>>24]^table1[c>>16&255]^table2[d>>8&255]^table3[255&a]^key[kIndex+1],c2=table0[c>>>24]^table1[d>>16&255]^table2[a>>8&255]^table3[255&b]^key[kIndex+2],d=table0[d>>>24]^table1[a>>16&255]^table2[b>>8&255]^table3[255&c]^key[kIndex+3],kIndex+=4,a=a2,b=b2,c=c2;for(i=0;i<4;i++)out[(3&-i)+offset]=sbox[a>>>24]<<24^sbox[b>>16&255]<<16^sbox[c>>8&255]<<8^sbox[255&d]^key[kIndex++],a2=a,a=b,b=c,c=d,d=a2},AES}(),Stream$2=function(){function Stream(){classCallCheck(this,Stream),this.listeners={}}return Stream.prototype.on=function(type,listener){this.listeners[type]||(this.listeners[type]=[]),this.listeners[type].push(listener)},Stream.prototype.off=function(type,listener){if(!this.listeners[type])return!1;var index=this.listeners[type].indexOf(listener);return this.listeners[type].splice(index,1),index>-1},Stream.prototype.trigger=function(type){var callbacks=this.listeners[type];if(callbacks)if(2===arguments.length)for(var length=callbacks.length,i=0;i<length;++i)callbacks[i].call(this,arguments[1]);else for(var args=Array.prototype.slice.call(arguments,1),_length=callbacks.length,_i=0;_i<_length;++_i)callbacks[_i].apply(this,args)},Stream.prototype.dispose=function(){this.listeners={}},Stream.prototype.pipe=function(destination){this.on("data",(function(data){destination.push(data)}))},Stream}(),AsyncStream=function(_Stream){function AsyncStream(){classCallCheck(this,AsyncStream);var _this=function(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==_typeof2(call)&&"function"!=typeof call?self:call}(this,_Stream.call(this,Stream$2));return _this.jobs=[],_this.delay=1,_this.timeout_=null,_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}(AsyncStream,_Stream),AsyncStream.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},AsyncStream.prototype.push=function(job){this.jobs.push(job),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},AsyncStream}(Stream$2),ntoh=function(word){return word<<24|(65280&word)<<8|(16711680&word)>>8|word>>>24},decrypt=function(encrypted,key,initVector){var encrypted32=new Int32Array(encrypted.buffer,encrypted.byteOffset,encrypted.byteLength>>2),decipher=new AES(Array.prototype.slice.call(key)),decrypted=new Uint8Array(encrypted.byteLength),decrypted32=new Int32Array(decrypted.buffer),init0=void 0,init1=void 0,init2=void 0,init3=void 0,encrypted0=void 0,encrypted1=void 0,encrypted2=void 0,encrypted3=void 0,wordIx=void 0;for(init0=initVector[0],init1=initVector[1],init2=initVector[2],init3=initVector[3],wordIx=0;wordIx<encrypted32.length;wordIx+=4)encrypted0=ntoh(encrypted32[wordIx]),encrypted1=ntoh(encrypted32[wordIx+1]),encrypted2=ntoh(encrypted32[wordIx+2]),encrypted3=ntoh(encrypted32[wordIx+3]),decipher.decrypt(encrypted0,encrypted1,encrypted2,encrypted3,decrypted32,wordIx),decrypted32[wordIx]=ntoh(decrypted32[wordIx]^init0),decrypted32[wordIx+1]=ntoh(decrypted32[wordIx+1]^init1),decrypted32[wordIx+2]=ntoh(decrypted32[wordIx+2]^init2),decrypted32[wordIx+3]=ntoh(decrypted32[wordIx+3]^init3),init0=encrypted0,init1=encrypted1,init2=encrypted2,init3=encrypted3;return decrypted},Decrypter=function(){function Decrypter(encrypted,key,initVector,done){classCallCheck(this,Decrypter);var step=Decrypter.STEP,encrypted32=new Int32Array(encrypted.buffer),decrypted=new Uint8Array(encrypted.byteLength),i=0;for(this.asyncStream_=new AsyncStream,this.asyncStream_.push(this.decryptChunk_(encrypted32.subarray(i,i+step),key,initVector,decrypted)),i=step;i<encrypted32.length;i+=step)initVector=new Uint32Array([ntoh(encrypted32[i-4]),ntoh(encrypted32[i-3]),ntoh(encrypted32[i-2]),ntoh(encrypted32[i-1])]),this.asyncStream_.push(this.decryptChunk_(encrypted32.subarray(i,i+step),key,initVector,decrypted));this.asyncStream_.push((function(){var padded;done(null,(padded=decrypted).subarray(0,padded.byteLength-padded[padded.byteLength-1]))}))}return Decrypter.prototype.decryptChunk_=function(encrypted,key,initVector,decrypted){return function(){var bytes=decrypt(encrypted,key,initVector);decrypted.set(bytes,encrypted.byteOffset)}},createClass(Decrypter,null,[{key:"STEP",get:function(){return 32e3}}]),Decrypter}(),resolveUrl$1=function(baseURL,relativeURL){return/^[a-z]+:/i.test(relativeURL)?relativeURL:(/\/\//i.test(baseURL)||(baseURL=urlToolkit.buildAbsoluteURL(window$3.location.href,baseURL)),urlToolkit.buildAbsoluteURL(baseURL,relativeURL))},resolveManifestRedirect=function(handleManifestRedirect,url,req){return handleManifestRedirect&&req.responseURL&&url!==req.responseURL?req.responseURL:url},classCallCheck$1=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},createClass$1=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),get$1=function get(object,property,receiver){null===object&&(object=Function.prototype);var desc=Object.getOwnPropertyDescriptor(object,property);if(void 0===desc){var parent=Object.getPrototypeOf(object);return null===parent?void 0:get(parent,property,receiver)}if("value"in desc)return desc.value;var getter=desc.get;return void 0!==getter?getter.call(receiver):void 0},inherits$2=function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)},possibleConstructorReturn$1=function(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==_typeof2(call)&&"function"!=typeof call?self:call},slicedToArray=function(arr,i){if(Array.isArray(arr))return arr;if(Symbol.iterator in Object(arr))return function(arr,i){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{!_n&&_i.return&&_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")},mergeOptions$1=videojs$1.mergeOptions,EventTarget$1=videojs$1.EventTarget,log$1=videojs$1.log,forEachMediaGroup=function(master,callback){["AUDIO","SUBTITLES"].forEach((function(mediaType){for(var groupKey in master.mediaGroups[mediaType])for(var labelKey in master.mediaGroups[mediaType][groupKey]){var mediaProperties=master.mediaGroups[mediaType][groupKey][labelKey];callback(mediaProperties,mediaType,groupKey,labelKey)}}))},updateMaster=function(master,media){var result=mergeOptions$1(master,{}),playlist=result.playlists[media.id];if(!playlist)return null;if(playlist.segments&&media.segments&&playlist.segments.length===media.segments.length&&playlist.endList===media.endList&&playlist.mediaSequence===media.mediaSequence)return null;var mergedPlaylist=mergeOptions$1(playlist,media);playlist.segments&&(mergedPlaylist.segments=function(original,update,offset){var result=update.slice();offset=offset||0;for(var length=Math.min(original.length,update.length+offset),i=offset;i<length;i++)result[i-offset]=mergeOptions$1(original[i],result[i-offset]);return result}(playlist.segments,media.segments,media.mediaSequence-playlist.mediaSequence)),mergedPlaylist.segments.forEach((function(segment){!function(segment,baseUri){segment.resolvedUri||(segment.resolvedUri=resolveUrl$1(baseUri,segment.uri)),segment.key&&!segment.key.resolvedUri&&(segment.key.resolvedUri=resolveUrl$1(baseUri,segment.key.uri)),segment.map&&!segment.map.resolvedUri&&(segment.map.resolvedUri=resolveUrl$1(baseUri,segment.map.uri))}(segment,mergedPlaylist.resolvedUri)}));for(var i=0;i<result.playlists.length;i++)result.playlists[i].id===media.id&&(result.playlists[i]=mergedPlaylist);return result.playlists[media.id]=mergedPlaylist,result.playlists[media.uri]=mergedPlaylist,result},createPlaylistID=function(index,uri){return index+"-"+uri},setupMediaPlaylists=function(master){for(var i=master.playlists.length;i--;){var playlist=master.playlists[i];playlist.resolvedUri=resolveUrl$1(master.uri,playlist.uri),playlist.id=createPlaylistID(i,playlist.uri),master.playlists[playlist.id]=playlist,master.playlists[playlist.uri]=playlist,playlist.attributes||(playlist.attributes={},log$1.warn("Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute."))}},resolveMediaGroupUris=function(master){forEachMediaGroup(master,(function(properties){properties.uri&&(properties.resolvedUri=resolveUrl$1(master.uri,properties.uri))}))},refreshDelay=function(media,update){var lastSegment=media.segments[media.segments.length-1];return update&&lastSegment&&lastSegment.duration?1e3*lastSegment.duration:500*(media.targetDuration||10)},PlaylistLoader=function(_EventTarget){function PlaylistLoader(srcUrl,hls){var options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};classCallCheck$1(this,PlaylistLoader);var _this=possibleConstructorReturn$1(this,(PlaylistLoader.__proto__||Object.getPrototypeOf(PlaylistLoader)).call(this)),_options$withCredenti=options.withCredentials,withCredentials=void 0!==_options$withCredenti&&_options$withCredenti,_options$handleManife=options.handleManifestRedirects,handleManifestRedirects=void 0!==_options$handleManife&&_options$handleManife;_this.srcUrl=srcUrl,_this.hls_=hls,_this.withCredentials=withCredentials,_this.handleManifestRedirects=handleManifestRedirects;var hlsOptions=hls.options_;if(_this.customTagParsers=hlsOptions&&hlsOptions.customTagParsers||[],_this.customTagMappers=hlsOptions&&hlsOptions.customTagMappers||[],!_this.srcUrl)throw new Error("A non-empty playlist URL is required");return _this.state="HAVE_NOTHING",_this.on("mediaupdatetimeout",(function(){"HAVE_METADATA"===_this.state&&(_this.state="HAVE_CURRENT_METADATA",_this.request=_this.hls_.xhr({uri:resolveUrl$1(_this.master.uri,_this.media().uri),withCredentials:_this.withCredentials},(function(error,req){if(_this.request)return error?_this.playlistRequestError(_this.request,_this.media(),"HAVE_METADATA"):void _this.haveMetadata(_this.request,_this.media().uri,_this.media().id)})))})),_this}return inherits$2(PlaylistLoader,_EventTarget),createClass$1(PlaylistLoader,[{key:"playlistRequestError",value:function(xhr,playlist,startingState){var uri=playlist.uri,id=playlist.id;this.request=null,startingState&&(this.state=startingState),this.error={playlist:this.master.playlists[id],status:xhr.status,message:"HLS playlist request error at URL: "+uri+".",responseText:xhr.responseText,code:xhr.status>=500?4:2},this.trigger("error")}},{key:"haveMetadata",value:function(xhr,url,id){var _this2=this;this.request=null,this.state="HAVE_METADATA";var parser=new Parser;this.customTagParsers.forEach((function(customParser){return parser.addParser(customParser)})),this.customTagMappers.forEach((function(mapper){return parser.addTagMapper(mapper)})),parser.push(xhr.responseText),parser.end(),parser.manifest.uri=url,parser.manifest.id=id,parser.manifest.attributes=parser.manifest.attributes||{};var update=updateMaster(this.master,parser.manifest);this.targetDuration=parser.manifest.targetDuration,update?(this.master=update,this.media_=this.master.playlists[id]):this.trigger("playlistunchanged"),this.media().endList||(window$3.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=window$3.setTimeout((function(){_this2.trigger("mediaupdatetimeout")}),refreshDelay(this.media(),!!update))),this.trigger("loadedplaylist")}},{key:"dispose",value:function(){this.trigger("dispose"),this.stopRequest(),window$3.clearTimeout(this.mediaUpdateTimeout),window$3.clearTimeout(this.finalRenditionTimeout),this.off()}},{key:"stopRequest",value:function(){if(this.request){var oldRequest=this.request;this.request=null,oldRequest.onreadystatechange=null,oldRequest.abort()}}},{key:"media",value:function(playlist,isFinalRendition){var _this3=this;if(!playlist)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);if("string"==typeof playlist){if(!this.master.playlists[playlist])throw new Error("Unknown playlist URI: "+playlist);playlist=this.master.playlists[playlist]}if(window$3.clearTimeout(this.finalRenditionTimeout),isFinalRendition){var delay=playlist.targetDuration/2*1e3||5e3;this.finalRenditionTimeout=window$3.setTimeout(this.media.bind(this,playlist,!1),delay)}else{var startingState=this.state,mediaChange=!this.media_||playlist.id!==this.media_.id;if(this.master.playlists[playlist.id].endList)return this.request&&(this.request.onreadystatechange=null,this.request.abort(),this.request=null),this.state="HAVE_METADATA",this.media_=playlist,void(mediaChange&&(this.trigger("mediachanging"),this.trigger("mediachange")));if(mediaChange){if(this.state="SWITCHING_MEDIA",this.request){if(playlist.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger("mediachanging"),this.request=this.hls_.xhr({uri:playlist.resolvedUri,withCredentials:this.withCredentials},(function(error,req){if(_this3.request){if(playlist.resolvedUri=resolveManifestRedirect(_this3.handleManifestRedirects,playlist.resolvedUri,req),error)return _this3.playlistRequestError(_this3.request,playlist,startingState);_this3.haveMetadata(req,playlist.uri,playlist.id),"HAVE_MASTER"===startingState?_this3.trigger("loadedmetadata"):_this3.trigger("mediachange")}}))}}}},{key:"pause",value:function(){this.stopRequest(),window$3.clearTimeout(this.mediaUpdateTimeout),"HAVE_NOTHING"===this.state&&(this.started=!1),"SWITCHING_MEDIA"===this.state?this.media_?this.state="HAVE_METADATA":this.state="HAVE_MASTER":"HAVE_CURRENT_METADATA"===this.state&&(this.state="HAVE_METADATA")}},{key:"load",value:function(isFinalRendition){var _this4=this;window$3.clearTimeout(this.mediaUpdateTimeout);var media=this.media();if(isFinalRendition){var delay=media?media.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=window$3.setTimeout((function(){return _this4.load()}),delay)}else this.started?media&&!media.endList?this.trigger("mediaupdatetimeout"):this.trigger("loadedplaylist"):this.start()}},{key:"start",value:function(){var _this5=this;this.started=!0,this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},(function(error,req){if(_this5.request){if(_this5.request=null,error)return _this5.error={status:req.status,message:"HLS playlist request error at URL: "+_this5.srcUrl+".",responseText:req.responseText,code:2},"HAVE_NOTHING"===_this5.state&&(_this5.started=!1),_this5.trigger("error");var parser=new Parser;if(_this5.customTagParsers.forEach((function(customParser){return parser.addParser(customParser)})),_this5.customTagMappers.forEach((function(mapper){return parser.addTagMapper(mapper)})),parser.push(req.responseText),parser.end(),_this5.state="HAVE_MASTER",_this5.srcUrl=resolveManifestRedirect(_this5.handleManifestRedirects,_this5.srcUrl,req),parser.manifest.uri=_this5.srcUrl,parser.manifest.playlists)return _this5.master=parser.manifest,setupMediaPlaylists(_this5.master),resolveMediaGroupUris(_this5.master),_this5.trigger("loadedplaylist"),void(_this5.request||_this5.media(parser.manifest.playlists[0]));var id=createPlaylistID(0,_this5.srcUrl);return _this5.master={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:window$3.location.href,playlists:[{uri:_this5.srcUrl,id:id,resolvedUri:_this5.srcUrl,attributes:{}}]},_this5.master.playlists[id]=_this5.master.playlists[0],_this5.master.playlists[_this5.srcUrl]=_this5.master.playlists[0],_this5.haveMetadata(req,_this5.srcUrl,id),_this5.trigger("loadedmetadata")}}))}}]),PlaylistLoader}(EventTarget$1),createTimeRange=videojs$1.createTimeRange,intervalDuration=function(playlist,endSequence,expired){var backward,forward;return void 0===endSequence&&(endSequence=playlist.mediaSequence+playlist.segments.length),endSequence<playlist.mediaSequence?0:(backward=function(playlist,endSequence){var result=0,i=endSequence-playlist.mediaSequence,segment=playlist.segments[i];if(segment){if(void 0!==segment.start)return{result:segment.start,precise:!0};if(void 0!==segment.end)return{result:segment.end-segment.duration,precise:!0}}for(;i--;){if(void 0!==(segment=playlist.segments[i]).end)return{result:result+segment.end,precise:!0};if(result+=segment.duration,void 0!==segment.start)return{result:result+segment.start,precise:!0}}return{result:result,precise:!1}}(playlist,endSequence),backward.precise?backward.result:(forward=function(playlist,endSequence){for(var result=0,segment=void 0,i=endSequence-playlist.mediaSequence;i<playlist.segments.length;i++){if(void 0!==(segment=playlist.segments[i]).start)return{result:segment.start-result,precise:!0};if(result+=segment.duration,void 0!==segment.end)return{result:segment.end-result,precise:!0}}return{result:-1,precise:!1}}(playlist,endSequence),forward.precise?forward.result:backward.result+expired))},duration=function(playlist,endSequence,expired){if(!playlist)return 0;if("number"!=typeof expired&&(expired=0),void 0===endSequence){if(playlist.totalDuration)return playlist.totalDuration;if(!playlist.endList)return window$3.Infinity}return intervalDuration(playlist,endSequence,expired)},sumDurations=function(playlist,startIndex,endIndex){var durations=0;if(startIndex>endIndex){var _ref=[endIndex,startIndex];startIndex=_ref[0],endIndex=_ref[1]}if(startIndex<0){for(var i=startIndex;i<Math.min(0,endIndex);i++)durations+=playlist.targetDuration;startIndex=0}for(var _i=startIndex;_i<endIndex;_i++)durations+=playlist.segments[_i].duration;return durations},safeLiveIndex=function(playlist,liveEdgePadding){if(!playlist.segments.length)return 0;var i=playlist.segments.length,lastSegmentDuration=playlist.segments[i-1].duration||playlist.targetDuration,safeDistance="number"==typeof liveEdgePadding?liveEdgePadding:lastSegmentDuration+2*playlist.targetDuration;if(0===safeDistance)return i;for(var distanceFromEnd=0;i--&&!((distanceFromEnd+=playlist.segments[i].duration)>=safeDistance););return Math.max(0,i)},playlistEnd=function(playlist,expired,useSafeLiveEnd,liveEdgePadding){if(!playlist||!playlist.segments)return null;if(playlist.endList)return duration(playlist);if(null===expired)return null;expired=expired||0;var endSequence=useSafeLiveEnd?safeLiveIndex(playlist,liveEdgePadding):playlist.segments.length;return intervalDuration(playlist,playlist.mediaSequence+endSequence,expired)},isWholeNumber=function(num){return num-Math.floor(num)==0},roundSignificantDigit=function(increment,num){if(isWholeNumber(num))return num+.1*increment;for(var numDecimalDigits=num.toString().split(".")[1].length,i=1;i<=numDecimalDigits;i++){var scale=Math.pow(10,i),temp=num*scale;if(isWholeNumber(temp)||i===numDecimalDigits)return(temp+increment)/scale}},ceilLeastSignificantDigit=roundSignificantDigit.bind(null,1),floorLeastSignificantDigit=roundSignificantDigit.bind(null,-1),isBlacklisted=function(playlist){return playlist.excludeUntil&&playlist.excludeUntil>Date.now()},isIncompatible=function(playlist){return playlist.excludeUntil&&playlist.excludeUntil===1/0},isEnabled=function(playlist){var blacklisted=isBlacklisted(playlist);return!playlist.disabled&&!blacklisted},hasAttribute=function(attr,playlist){return playlist.attributes&&playlist.attributes[attr]},isLowestEnabledRendition=function(master,media){if(1===master.playlists.length)return!0;var currentBandwidth=media.attributes.BANDWIDTH||Number.MAX_VALUE;return 0===master.playlists.filter((function(playlist){return!!isEnabled(playlist)&&(playlist.attributes.BANDWIDTH||0)<currentBandwidth})).length},Playlist={duration:duration,seekable:function(playlist,expired,liveEdgePadding){var seekableStart=expired||0,seekableEnd=playlistEnd(playlist,expired,!0,liveEdgePadding);return null===seekableEnd?createTimeRange():createTimeRange(seekableStart,seekableEnd)},safeLiveIndex:safeLiveIndex,getMediaInfoForTime:function(playlist,currentTime,startIndex,startTime){var i=void 0,segment=void 0,numSegments=playlist.segments.length,time=currentTime-startTime;if(time<0){if(startIndex>0)for(i=startIndex-1;i>=0;i--)if(segment=playlist.segments[i],(time+=floorLeastSignificantDigit(segment.duration))>0)return{mediaIndex:i,startTime:startTime-sumDurations(playlist,startIndex,i)};return{mediaIndex:0,startTime:currentTime}}if(startIndex<0){for(i=startIndex;i<0;i++)if((time-=playlist.targetDuration)<0)return{mediaIndex:0,startTime:currentTime};startIndex=0}for(i=startIndex;i<numSegments;i++)if(segment=playlist.segments[i],(time-=ceilLeastSignificantDigit(segment.duration))<0)return{mediaIndex:i,startTime:startTime+sumDurations(playlist,startIndex,i)};return{mediaIndex:numSegments-1,startTime:currentTime}},isEnabled:isEnabled,isDisabled:function(playlist){return playlist.disabled},isBlacklisted:isBlacklisted,isIncompatible:isIncompatible,playlistEnd:playlistEnd,isAes:function(media){for(var i=0;i<media.segments.length;i++)if(media.segments[i].key)return!0;return!1},isFmp4:function(media){for(var i=0;i<media.segments.length;i++)if(media.segments[i].map)return!0;return!1},hasAttribute:hasAttribute,estimateSegmentRequestTime:function(segmentDuration,bandwidth,playlist){var bytesReceived=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(!hasAttribute("BANDWIDTH",playlist))return NaN;var size=segmentDuration*playlist.attributes.BANDWIDTH;return(size-8*bytesReceived)/bandwidth},isLowestEnabledRendition:isLowestEnabledRendition},videojsXHR=videojs$1.xhr,mergeOptions$1$1=videojs$1.mergeOptions,xhrFactory=function(){return function XhrFunction(options,callback){options=mergeOptions$1$1({timeout:45e3},options);var beforeRequest=XhrFunction.beforeRequest||videojs$1.Hls.xhr.beforeRequest;if(beforeRequest&&"function"==typeof beforeRequest){var newOptions=beforeRequest(options);newOptions&&(options=newOptions)}var request=videojsXHR(options,(function(error,response){var reqResponse=request.response;!error&&reqResponse&&(request.responseTime=Date.now(),request.roundTripTime=request.responseTime-request.requestTime,request.bytesReceived=reqResponse.byteLength||reqResponse.length,request.bandwidth||(request.bandwidth=Math.floor(request.bytesReceived/request.roundTripTime*8*1e3))),response.headers&&(request.responseHeaders=response.headers),error&&"ETIMEDOUT"===error.code&&(request.timedout=!0),error||request.aborted||200===response.statusCode||206===response.statusCode||0===response.statusCode||(error=new Error("XHR Failed with a response of: "+(request&&(reqResponse||request.responseText)))),callback(error,request)})),originalAbort=request.abort;return request.abort=function(){return request.aborted=!0,originalAbort.apply(request,arguments)},request.uri=options.uri,request.requestTime=Date.now(),request}},segmentXhrHeaders=function(segment){var byterange,byterangeEnd,headers={};return segment.byterange&&(headers.Range=(byterange=segment.byterange,byterangeEnd=byterange.offset+byterange.length-1,"bytes="+byterange.offset+"-"+byterangeEnd)),headers},textRange=function(range,i){return range.start(i)+"-"+range.end(i)},formatHexString=function(e,i){var value=e.toString(16);return"00".substring(0,2-value.length)+value+(i%2?" ":"")},formatAsciiString=function(e){return e>=32&&e<126?String.fromCharCode(e):"."},createTransferableMessage=function(message){var transferable={};return Object.keys(message).forEach((function(key){var value=message[key];ArrayBuffer.isView(value)?transferable[key]={bytes:value.buffer,byteOffset:value.byteOffset,byteLength:value.byteLength}:transferable[key]=value})),transferable},initSegmentId=function(initSegment){var byterange=initSegment.byterange||{length:1/0,offset:0};return[byterange.length,byterange.offset,initSegment.resolvedUri].join(",")},segmentKeyId=function(key){return key.resolvedUri},hexDump=function(data){for(var bytes=Array.prototype.slice.call(data),result="",j=0;j<bytes.length/16;j++)result+=bytes.slice(16*j,16*j+16).map(formatHexString).join("")+" "+bytes.slice(16*j,16*j+16).map(formatAsciiString).join("")+"\n";return result},utils$1=Object.freeze({createTransferableMessage:createTransferableMessage,initSegmentId:initSegmentId,segmentKeyId:segmentKeyId,hexDump:hexDump,tagDump:function(_ref){var bytes=_ref.bytes;return hexDump(bytes)},textRanges:function(ranges){var result="",i=void 0;for(i=0;i<ranges.length;i++)result+=textRange(ranges,i)+" ";return result}}),getProgramTime=function(_ref){var playlist=_ref.playlist,_ref$time=_ref.time,time=void 0===_ref$time?void 0:_ref$time,callback=_ref.callback;if(!callback)throw new Error("getProgramTime: callback must be provided");if(!playlist||void 0===time)return callback({message:"getProgramTime: playlist and time must be provided"});var matchedSegment=function(time,playlist){if(!playlist||!playlist.segments||0===playlist.segments.length)return null;for(var segmentEnd=0,segment=void 0,i=0;i<playlist.segments.length&&!(time<=(segmentEnd=(segment=playlist.segments[i]).videoTimingInfo?segment.videoTimingInfo.transmuxedPresentationEnd:segmentEnd+segment.duration));i++);var lastSegment=playlist.segments[playlist.segments.length-1];if(lastSegment.videoTimingInfo&&lastSegment.videoTimingInfo.transmuxedPresentationEnd<time)return null;if(time>segmentEnd){if(time>segmentEnd+.25*lastSegment.duration)return null;segment=lastSegment}return{segment:segment,estimatedStart:segment.videoTimingInfo?segment.videoTimingInfo.transmuxedPresentationStart:segmentEnd-segment.duration,type:segment.videoTimingInfo?"accurate":"estimate"}}(time,playlist);if(!matchedSegment)return callback({message:"valid programTime was not found"});if("estimate"===matchedSegment.type)return callback({message:"Accurate programTime could not be determined. Please seek to e.seekTime and try again",seekTime:matchedSegment.estimatedStart});var programTimeObject={mediaSeconds:time},programTime=function(playerTime,segment){if(!segment.dateTimeObject)return null;var transmuxerPrependedSeconds=segment.videoTimingInfo.transmuxerPrependedSeconds,offsetFromSegmentStart=playerTime-(segment.videoTimingInfo.transmuxedPresentationStart+transmuxerPrependedSeconds);return new Date(segment.dateTimeObject.getTime()+1e3*offsetFromSegmentStart)}(time,matchedSegment.segment);return programTime&&(programTimeObject.programDateTime=programTime.toISOString()),callback(null,programTimeObject)},seekToProgramTime=function seekToProgramTime(_ref2){var programTime=_ref2.programTime,playlist=_ref2.playlist,_ref2$retryCount=_ref2.retryCount,retryCount=void 0===_ref2$retryCount?2:_ref2$retryCount,seekTo=_ref2.seekTo,_ref2$pauseAfterSeek=_ref2.pauseAfterSeek,pauseAfterSeek=void 0===_ref2$pauseAfterSeek||_ref2$pauseAfterSeek,tech=_ref2.tech,callback=_ref2.callback;if(!callback)throw new Error("seekToProgramTime: callback must be provided");if(void 0===programTime||!playlist||!seekTo)return callback({message:"seekToProgramTime: programTime, seekTo and playlist must be provided"});if(!playlist.endList&&!tech.hasStarted_)return callback({message:"player must be playing a live stream to start buffering"});if(!function(playlist){if(!playlist.segments||0===playlist.segments.length)return!1;for(var i=0;i<playlist.segments.length;i++)if(!playlist.segments[i].dateTimeObject)return!1;return!0}(playlist))return callback({message:"programDateTime tags must be provided in the manifest "+playlist.resolvedUri});var matchedSegment=function(programTime,playlist){var dateTimeObject=void 0;try{dateTimeObject=new Date(programTime)}catch(e){return null}if(!playlist||!playlist.segments||0===playlist.segments.length)return null;var segment=playlist.segments[0];if(dateTimeObject<segment.dateTimeObject)return null;for(var i=0;i<playlist.segments.length-1&&(segment=playlist.segments[i],!(dateTimeObject<playlist.segments[i+1].dateTimeObject));i++);var videoTimingInfo,lastSegment=playlist.segments[playlist.segments.length-1],lastSegmentStart=lastSegment.dateTimeObject,lastSegmentDuration=lastSegment.videoTimingInfo?(videoTimingInfo=lastSegment.videoTimingInfo).transmuxedPresentationEnd-videoTimingInfo.transmuxedPresentationStart-videoTimingInfo.transmuxerPrependedSeconds:lastSegment.duration+.25*lastSegment.duration;return dateTimeObject>new Date(lastSegmentStart.getTime()+1e3*lastSegmentDuration)?null:(dateTimeObject>lastSegmentStart&&(segment=lastSegment),{segment:segment,estimatedStart:segment.videoTimingInfo?segment.videoTimingInfo.transmuxedPresentationStart:Playlist.duration(playlist,playlist.mediaSequence+playlist.segments.indexOf(segment)),type:segment.videoTimingInfo?"accurate":"estimate"})}(programTime,playlist);if(!matchedSegment)return callback({message:programTime+" was not found in the stream"});var segment=matchedSegment.segment,mediaOffset=function(comparisonTimeStamp,programTime){var segmentDateTime=void 0,programDateTime=void 0;try{segmentDateTime=new Date(comparisonTimeStamp),programDateTime=new Date(programTime)}catch(e){}var segmentTimeEpoch=segmentDateTime.getTime();return(programDateTime.getTime()-segmentTimeEpoch)/1e3}(segment.dateTimeObject,programTime);if("estimate"===matchedSegment.type)return 0===retryCount?callback({message:programTime+" is not buffered yet. Try again"}):(seekTo(matchedSegment.estimatedStart+mediaOffset),void tech.one("seeked",(function(){seekToProgramTime({programTime:programTime,playlist:playlist,retryCount:retryCount-1,seekTo:seekTo,pauseAfterSeek:pauseAfterSeek,tech:tech,callback:callback})})));var seekToTime=segment.start+mediaOffset;tech.one("seeked",(function(){return callback(null,tech.currentTime())})),pauseAfterSeek&&tech.pause(),seekTo(seekToTime)},filterRanges=function(timeRanges,predicate){var results=[],i=void 0;if(timeRanges&&timeRanges.length)for(i=0;i<timeRanges.length;i++)predicate(timeRanges.start(i),timeRanges.end(i))&&results.push([timeRanges.start(i),timeRanges.end(i)]);return videojs$1.createTimeRanges(results)},findRange=function(buffered,time){return filterRanges(buffered,(function(start,end){return start-.1<=time&&end+.1>=time}))},findNextRange=function(timeRanges,time){return filterRanges(timeRanges,(function(start){return start-.03333333333333333>=time}))},printableRange=function(range){var strArr=[];if(!range||!range.length)return"";for(var i=0;i<range.length;i++)strArr.push(range.start(i)+" => "+range.end(i));return strArr.join(", ")},timeRangesToArray=function(timeRanges){for(var timeRangesList=[],i=0;i<timeRanges.length;i++)timeRangesList.push({start:timeRanges.start(i),end:timeRanges.end(i)});return timeRangesList},removeCuesFromTrack=function(start,end,track){var i=void 0,cue=void 0;if(track&&track.cues)for(i=track.cues.length;i--;)(cue=track.cues[i]).startTime<=end&&cue.endTime>=start&&track.removeCue(cue)},durationOfVideo=function(duration){return isNaN(duration)||Math.abs(duration)===1/0?Number.MAX_VALUE:duration},addTextTrackData=function(sourceHandler,captionArray,metadataArray){var Cue=window$3.WebKitDataCue||window$3.VTTCue;if(captionArray&&captionArray.forEach((function(caption){var track=caption.stream;this.inbandTextTracks_[track].addCue(new Cue(caption.startTime+this.timestampOffset,caption.endTime+this.timestampOffset,caption.text))}),sourceHandler),metadataArray){var videoDuration=durationOfVideo(sourceHandler.mediaSource_.duration);if(metadataArray.forEach((function(metadata){var time=metadata.cueTime+this.timestampOffset;!("number"!=typeof time||window$3.isNaN(time)||time<0)&&time<1/0&&metadata.frames.forEach((function(frame){var cue=new Cue(time,time,frame.value||frame.url||frame.data||"");cue.frame=frame,cue.value=frame,function(cue){Object.defineProperties(cue.frame,{id:{get:function(){return videojs$1.log.warn("cue.frame.id is deprecated. Use cue.value.key instead."),cue.value.key}},value:{get:function(){return videojs$1.log.warn("cue.frame.value is deprecated. Use cue.value.data instead."),cue.value.data}},privateData:{get:function(){return videojs$1.log.warn("cue.frame.privateData is deprecated. Use cue.value.data instead."),cue.value.data}}})}(cue),this.metadataTrack_.addCue(cue)}),this)}),sourceHandler),sourceHandler.metadataTrack_&&sourceHandler.metadataTrack_.cues&&sourceHandler.metadataTrack_.cues.length){for(var cues=sourceHandler.metadataTrack_.cues,cuesArray=[],i=0;i<cues.length;i++)cues[i]&&cuesArray.push(cues[i]);var cuesGroupedByStartTime=cuesArray.reduce((function(obj,cue){var timeSlot=obj[cue.startTime]||[];return timeSlot.push(cue),obj[cue.startTime]=timeSlot,obj}),{}),sortedStartTimes=Object.keys(cuesGroupedByStartTime).sort((function(a,b){return Number(a)-Number(b)}));sortedStartTimes.forEach((function(startTime,idx){var cueGroup=cuesGroupedByStartTime[startTime],nextTime=Number(sortedStartTimes[idx+1])||videoDuration;cueGroup.forEach((function(cue){cue.endTime=nextTime}))}))}}},win="undefined"!=typeof window?window:{},TARGET="undefined"==typeof Symbol?"__target":Symbol(),BlobBuilder=win.BlobBuilder||win.WebKitBlobBuilder||win.MozBlobBuilder||win.MSBlobBuilder,URL=win.URL||win.webkitURL||URL&&URL.msURL,Worker=win.Worker;function shimWorker(filename,fn){return function(forceFallback){var o=this;if(!fn)return new Worker(filename);if(Worker&&!forceFallback){var objURL=createSourceObject(fn.toString().replace(/^function.+?{/,"").slice(0,-1));return this[TARGET]=new Worker(objURL),function(worker,objURL){if(worker&&objURL){var term=worker.terminate;worker.objURL=objURL,worker.terminate=function(){worker.objURL&&URL.revokeObjectURL(worker.objURL),term.call(worker)}}}(this[TARGET],objURL),this[TARGET]}var selfShim={postMessage:function(m){o.onmessage&&setTimeout((function(){o.onmessage({data:m,target:selfShim})}))}};fn.call(selfShim),this.postMessage=function(m){setTimeout((function(){selfShim.onmessage({data:m,target:o})}))},this.isThisThread=!0}}if(Worker){var testWorker,objURL=createSourceObject("self.onmessage = function () {}"),testArray=new Uint8Array(1);try{(testWorker=new Worker(objURL)).postMessage(testArray,[testArray.buffer])}catch(e){Worker=null}finally{URL.revokeObjectURL(objURL),testWorker&&testWorker.terminate()}}function createSourceObject(str){try{return URL.createObjectURL(new Blob([str],{type:"application/javascript"}))}catch(e){var blob=new BlobBuilder;return blob.append(str),URL.createObjectURL(blob.getBlob(type))}}var TransmuxWorker=new shimWorker("./transmuxer-worker.worker.js",(function(window,document$$1){var self=this;!function(){var Stream=function(){this.init=function(){var listeners={};this.on=function(type,listener){listeners[type]||(listeners[type]=[]),listeners[type]=listeners[type].concat(listener)},this.off=function(type,listener){var index;return!!listeners[type]&&(index=listeners[type].indexOf(listener),listeners[type]=listeners[type].slice(),listeners[type].splice(index,1),index>-1)},this.trigger=function(type){var callbacks,i,length,args;if(callbacks=listeners[type])if(2===arguments.length)for(length=callbacks.length,i=0;i<length;++i)callbacks[i].call(this,arguments[1]);else{for(args=[],i=arguments.length,i=1;i<arguments.length;++i)args.push(arguments[i]);for(length=callbacks.length,i=0;i<length;++i)callbacks[i].apply(this,args)}},this.dispose=function(){listeners={}}}};Stream.prototype.pipe=function(destination){return this.on("data",(function(data){destination.push(data)})),this.on("done",(function(flushSource){destination.flush(flushSource)})),this.on("partialdone",(function(flushSource){destination.partialFlush(flushSource)})),this.on("endedtimeline",(function(flushSource){destination.endTimeline(flushSource)})),this.on("reset",(function(flushSource){destination.reset(flushSource)})),destination},Stream.prototype.push=function(data){this.trigger("data",data)},Stream.prototype.flush=function(flushSource){this.trigger("done",flushSource)},Stream.prototype.partialFlush=function(flushSource){this.trigger("partialdone",flushSource)},Stream.prototype.endTimeline=function(flushSource){this.trigger("endedtimeline",flushSource)},Stream.prototype.reset=function(flushSource){this.trigger("reset",flushSource)};var box,dinf,esds,ftyp,mfhd,minf,moof,moov,mvex,mvhd,trak,tkhd,mdia,mdhd,hdlr,sdtp,stbl,stsd,traf,trex,trun,types,MAJOR_BRAND,MINOR_VERSION,AVC1_BRAND,VIDEO_HDLR,AUDIO_HDLR,HDLR_TYPES,VMHD,SMHD,DREF,STCO,STSC,STSZ,STTS,videoSample,audioSample,audioTrun,videoTrun,trunHeader,stream=Stream,UINT32_MAX=Math.pow(2,32)-1;!function(){var i;if(types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},"undefined"!=typeof Uint8Array){for(i in types)types.hasOwnProperty(i)&&(types[i]=[i.charCodeAt(0),i.charCodeAt(1),i.charCodeAt(2),i.charCodeAt(3)]);MAJOR_BRAND=new Uint8Array(["i".charCodeAt(0),"s".charCodeAt(0),"o".charCodeAt(0),"m".charCodeAt(0)]),AVC1_BRAND=new Uint8Array(["a".charCodeAt(0),"v".charCodeAt(0),"c".charCodeAt(0),"1".charCodeAt(0)]),MINOR_VERSION=new Uint8Array([0,0,0,1]),VIDEO_HDLR=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),AUDIO_HDLR=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),HDLR_TYPES={video:VIDEO_HDLR,audio:AUDIO_HDLR},DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),STCO=new Uint8Array([0,0,0,0,0,0,0,0]),STSC=STCO,STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),STTS=STCO,VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}}(),box=function(type){var i,result,payload=[],size=0;for(i=1;i<arguments.length;i++)payload.push(arguments[i]);for(i=payload.length;i--;)size+=payload[i].byteLength;for(result=new Uint8Array(size+8),new DataView(result.buffer,result.byteOffset,result.byteLength).setUint32(0,result.byteLength),result.set(type,4),i=0,size=8;i<payload.length;i++)result.set(payload[i],size),size+=payload[i].byteLength;return result},dinf=function(){return box(types.dinf,box(types.dref,DREF))},esds=function(track){return box(types.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,track.audioobjecttype<<3|track.samplingfrequencyindex>>>1,track.samplingfrequencyindex<<7|track.channelcount<<3,6,1,2]))},hdlr=function(type){return box(types.hdlr,HDLR_TYPES[type])},mdhd=function(track){var result=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,track.duration>>>24&255,track.duration>>>16&255,track.duration>>>8&255,255&track.duration,85,196,0,0]);return track.samplerate&&(result[12]=track.samplerate>>>24&255,result[13]=track.samplerate>>>16&255,result[14]=track.samplerate>>>8&255,result[15]=255&track.samplerate),box(types.mdhd,result)},mdia=function(track){return box(types.mdia,mdhd(track),hdlr(track.type),minf(track))},mfhd=function(sequenceNumber){return box(types.mfhd,new Uint8Array([0,0,0,0,(4278190080&sequenceNumber)>>24,(16711680&sequenceNumber)>>16,(65280&sequenceNumber)>>8,255&sequenceNumber]))},minf=function(track){return box(types.minf,"video"===track.type?box(types.vmhd,VMHD):box(types.smhd,SMHD),dinf(),stbl(track))},moof=function(sequenceNumber,tracks){for(var trackFragments=[],i=tracks.length;i--;)trackFragments[i]=traf(tracks[i]);return box.apply(null,[types.moof,mfhd(sequenceNumber)].concat(trackFragments))},moov=function(tracks){for(var i=tracks.length,boxes=[];i--;)boxes[i]=trak(tracks[i]);return box.apply(null,[types.moov,mvhd(4294967295)].concat(boxes).concat(mvex(tracks)))},mvex=function(tracks){for(var i=tracks.length,boxes=[];i--;)boxes[i]=trex(tracks[i]);return box.apply(null,[types.mvex].concat(boxes))},mvhd=function(duration){var bytes=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(4278190080&duration)>>24,(16711680&duration)>>16,(65280&duration)>>8,255&duration,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return box(types.mvhd,bytes)},sdtp=function(track){var flags,i,samples=track.samples||[],bytes=new Uint8Array(4+samples.length);for(i=0;i<samples.length;i++)flags=samples[i].flags,bytes[i+4]=flags.dependsOn<<4|flags.isDependedOn<<2|flags.hasRedundancy;return box(types.sdtp,bytes)},stbl=function(track){return box(types.stbl,stsd(track),box(types.stts,STTS),box(types.stsc,STSC),box(types.stsz,STSZ),box(types.stco,STCO))},stsd=function(track){return box(types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),"video"===track.type?videoSample(track):audioSample(track))},videoSample=function(track){var i,avc1Box,sps=track.sps||[],pps=track.pps||[],sequenceParameterSets=[],pictureParameterSets=[];for(i=0;i<sps.length;i++)sequenceParameterSets.push((65280&sps[i].byteLength)>>>8),sequenceParameterSets.push(255&sps[i].byteLength),sequenceParameterSets=sequenceParameterSets.concat(Array.prototype.slice.call(sps[i]));for(i=0;i<pps.length;i++)pictureParameterSets.push((65280&pps[i].byteLength)>>>8),pictureParameterSets.push(255&pps[i].byteLength),pictureParameterSets=pictureParameterSets.concat(Array.prototype.slice.call(pps[i]));if(avc1Box=[types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(65280&track.width)>>8,255&track.width,(65280&track.height)>>8,255&track.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),box(types.avcC,new Uint8Array([1,track.profileIdc,track.profileCompatibility,track.levelIdc,255].concat([sps.length],sequenceParameterSets,[pps.length],pictureParameterSets))),box(types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],track.sarRatio){var hSpacing=track.sarRatio[0],vSpacing=track.sarRatio[1];avc1Box.push(box(types.pasp,new Uint8Array([(4278190080&hSpacing)>>24,(16711680&hSpacing)>>16,(65280&hSpacing)>>8,255&hSpacing,(4278190080&vSpacing)>>24,(16711680&vSpacing)>>16,(65280&vSpacing)>>8,255&vSpacing])))}return box.apply(null,avc1Box)},audioSample=function(track){return box(types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(65280&track.channelcount)>>8,255&track.channelcount,(65280&track.samplesize)>>8,255&track.samplesize,0,0,0,0,(65280&track.samplerate)>>8,255&track.samplerate,0,0]),esds(track))},tkhd=function(track){var result=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(4278190080&track.id)>>24,(16711680&track.id)>>16,(65280&track.id)>>8,255&track.id,0,0,0,0,(4278190080&track.duration)>>24,(16711680&track.duration)>>16,(65280&track.duration)>>8,255&track.duration,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(65280&track.width)>>8,255&track.width,0,0,(65280&track.height)>>8,255&track.height,0,0]);return box(types.tkhd,result)},traf=function(track){var trackFragmentHeader,trackFragmentDecodeTime,trackFragmentRun,sampleDependencyTable,upperWordBaseMediaDecodeTime,lowerWordBaseMediaDecodeTime;return trackFragmentHeader=box(types.tfhd,new Uint8Array([0,0,0,58,(4278190080&track.id)>>24,(16711680&track.id)>>16,(65280&track.id)>>8,255&track.id,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),upperWordBaseMediaDecodeTime=Math.floor(track.baseMediaDecodeTime/(UINT32_MAX+1)),lowerWordBaseMediaDecodeTime=Math.floor(track.baseMediaDecodeTime%(UINT32_MAX+1)),trackFragmentDecodeTime=box(types.tfdt,new Uint8Array([1,0,0,0,upperWordBaseMediaDecodeTime>>>24&255,upperWordBaseMediaDecodeTime>>>16&255,upperWordBaseMediaDecodeTime>>>8&255,255&upperWordBaseMediaDecodeTime,lowerWordBaseMediaDecodeTime>>>24&255,lowerWordBaseMediaDecodeTime>>>16&255,lowerWordBaseMediaDecodeTime>>>8&255,255&lowerWordBaseMediaDecodeTime])),"audio"===track.type?(trackFragmentRun=trun(track,92),box(types.traf,trackFragmentHeader,trackFragmentDecodeTime,trackFragmentRun)):(sampleDependencyTable=sdtp(track),trackFragmentRun=trun(track,sampleDependencyTable.length+92),box(types.traf,trackFragmentHeader,trackFragmentDecodeTime,trackFragmentRun,sampleDependencyTable))},trak=function(track){return track.duration=track.duration||4294967295,box(types.trak,tkhd(track),mdia(track))},trex=function(track){var result=new Uint8Array([0,0,0,0,(4278190080&track.id)>>24,(16711680&track.id)>>16,(65280&track.id)>>8,255&track.id,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return"video"!==track.type&&(result[result.length-1]=0),box(types.trex,result)},trunHeader=function(samples,offset){var durationPresent=0,sizePresent=0,flagsPresent=0,compositionTimeOffset=0;return samples.length&&(void 0!==samples[0].duration&&(durationPresent=1),void 0!==samples[0].size&&(sizePresent=2),void 0!==samples[0].flags&&(flagsPresent=4),void 0!==samples[0].compositionTimeOffset&&(compositionTimeOffset=8)),[0,0,durationPresent|sizePresent|flagsPresent|compositionTimeOffset,1,(4278190080&samples.length)>>>24,(16711680&samples.length)>>>16,(65280&samples.length)>>>8,255&samples.length,(4278190080&offset)>>>24,(16711680&offset)>>>16,(65280&offset)>>>8,255&offset]},videoTrun=function(track,offset){var bytes,samples,sample,i;for(offset+=20+16*(samples=track.samples||[]).length,bytes=trunHeader(samples,offset),i=0;i<samples.length;i++)sample=samples[i],bytes=bytes.concat([(4278190080&sample.duration)>>>24,(16711680&sample.duration)>>>16,(65280&sample.duration)>>>8,255&sample.duration,(4278190080&sample.size)>>>24,(16711680&sample.size)>>>16,(65280&sample.size)>>>8,255&sample.size,sample.flags.isLeading<<2|sample.flags.dependsOn,sample.flags.isDependedOn<<6|sample.flags.hasRedundancy<<4|sample.flags.paddingValue<<1|sample.flags.isNonSyncSample,61440&sample.flags.degradationPriority,15&sample.flags.degradationPriority,(4278190080&sample.compositionTimeOffset)>>>24,(16711680&sample.compositionTimeOffset)>>>16,(65280&sample.compositionTimeOffset)>>>8,255&sample.compositionTimeOffset]);return box(types.trun,new Uint8Array(bytes))},audioTrun=function(track,offset){var bytes,samples,sample,i;for(offset+=20+8*(samples=track.samples||[]).length,bytes=trunHeader(samples,offset),i=0;i<samples.length;i++)sample=samples[i],bytes=bytes.concat([(4278190080&sample.duration)>>>24,(16711680&sample.duration)>>>16,(65280&sample.duration)>>>8,255&sample.duration,(4278190080&sample.size)>>>24,(16711680&sample.size)>>>16,(65280&sample.size)>>>8,255&sample.size]);return box(types.trun,new Uint8Array(bytes))},trun=function(track,offset){return"audio"===track.type?audioTrun(track,offset):videoTrun(track,offset)},ftyp=function(){return box(types.ftyp,MAJOR_BRAND,MINOR_VERSION,MAJOR_BRAND,AVC1_BRAND)};var metaTable,secondsToVideoTs,secondsToAudioTs,videoTsToSeconds,audioTsToSeconds,audioTsToVideoTs,videoTsToAudioTs,metadataTsToSeconds,mp4Generator_mdat=function(data){return box(types.mdat,data)},mp4Generator_moof=moof,mp4Generator_initSegment=function(tracks){var result,fileType=ftyp(),movie=moov(tracks);return(result=new Uint8Array(fileType.byteLength+movie.byteLength)).set(fileType),result.set(movie,fileType.byteLength),result},sampleForFrame=function(frame,dataOffset){var sample={size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}};return sample.dataOffset=dataOffset,sample.compositionTimeOffset=frame.pts-frame.dts,sample.duration=frame.duration,sample.size=4*frame.length,sample.size+=frame.byteLength,frame.keyFrame&&(sample.flags.dependsOn=2,sample.flags.isNonSyncSample=0),sample},frameUtils_groupNalsIntoFrames=function(nalUnits){var i,currentNal,currentFrame=[],frames=[];for(frames.byteLength=0,frames.nalCount=0,frames.duration=0,currentFrame.byteLength=0,i=0;i<nalUnits.length;i++)"access_unit_delimiter_rbsp"===(currentNal=nalUnits[i]).nalUnitType?(currentFrame.length&&(currentFrame.duration=currentNal.dts-currentFrame.dts,frames.byteLength+=currentFrame.byteLength,frames.nalCount+=currentFrame.length,frames.duration+=currentFrame.duration,frames.push(currentFrame)),(currentFrame=[currentNal]).byteLength=currentNal.data.byteLength,currentFrame.pts=currentNal.pts,currentFrame.dts=currentNal.dts):("slice_layer_without_partitioning_rbsp_idr"===currentNal.nalUnitType&&(currentFrame.keyFrame=!0),currentFrame.duration=currentNal.dts-currentFrame.dts,currentFrame.byteLength+=currentNal.data.byteLength,currentFrame.push(currentNal));return frames.length&&(!currentFrame.duration||currentFrame.duration<=0)&&(currentFrame.duration=frames[frames.length-1].duration),frames.byteLength+=currentFrame.byteLength,frames.nalCount+=currentFrame.length,frames.duration+=currentFrame.duration,frames.push(currentFrame),frames},frameUtils_groupFramesIntoGops=function(frames){var i,currentFrame,currentGop=[],gops=[];for(currentGop.byteLength=0,currentGop.nalCount=0,currentGop.duration=0,currentGop.pts=frames[0].pts,currentGop.dts=frames[0].dts,gops.byteLength=0,gops.nalCount=0,gops.duration=0,gops.pts=frames[0].pts,gops.dts=frames[0].dts,i=0;i<frames.length;i++)(currentFrame=frames[i]).keyFrame?(currentGop.length&&(gops.push(currentGop),gops.byteLength+=currentGop.byteLength,gops.nalCount+=currentGop.nalCount,gops.duration+=currentGop.duration),(currentGop=[currentFrame]).nalCount=currentFrame.length,currentGop.byteLength=currentFrame.byteLength,currentGop.pts=currentFrame.pts,currentGop.dts=currentFrame.dts,currentGop.duration=currentFrame.duration):(currentGop.duration+=currentFrame.duration,currentGop.nalCount+=currentFrame.length,currentGop.byteLength+=currentFrame.byteLength,currentGop.push(currentFrame));return gops.length&¤tGop.duration<=0&&(currentGop.duration=gops[gops.length-1].duration),gops.byteLength+=currentGop.byteLength,gops.nalCount+=currentGop.nalCount,gops.duration+=currentGop.duration,gops.push(currentGop),gops},frameUtils_extendFirstKeyFrame=function(gops){var currentGop;return!gops[0][0].keyFrame&&gops.length>1&&(currentGop=gops.shift(),gops.byteLength-=currentGop.byteLength,gops.nalCount-=currentGop.nalCount,gops[0][0].dts=currentGop.dts,gops[0][0].pts=currentGop.pts,gops[0][0].duration+=currentGop.duration),gops},frameUtils_generateSampleTable=function(gops,baseDataOffset){var h,i,sample,currentGop,currentFrame,dataOffset=baseDataOffset||0,samples=[];for(h=0;h<gops.length;h++)for(currentGop=gops[h],i=0;i<currentGop.length;i++)currentFrame=currentGop[i],dataOffset+=(sample=sampleForFrame(currentFrame,dataOffset)).size,samples.push(sample);return samples},frameUtils_concatenateNalData=function(gops){var h,i,j,currentGop,currentFrame,currentNal,dataOffset=0,nalsByteLength=gops.byteLength,numberOfNals=gops.nalCount,data=new Uint8Array(nalsByteLength+4*numberOfNals),view=new DataView(data.buffer);for(h=0;h<gops.length;h++)for(currentGop=gops[h],i=0;i<currentGop.length;i++)for(currentFrame=currentGop[i],j=0;j<currentFrame.length;j++)currentNal=currentFrame[j],view.setUint32(dataOffset,currentNal.data.byteLength),dataOffset+=4,data.set(currentNal.data,dataOffset),dataOffset+=currentNal.data.byteLength;return data},highPrefix=[33,16,5,32,164,27],lowPrefix=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],zeroFill=function(count){for(var a=[];count--;)a.push(0);return a},coneOfSilence={96e3:[highPrefix,[227,64],zeroFill(154),[56]],88200:[highPrefix,[231],zeroFill(170),[56]],64e3:[highPrefix,[248,192],zeroFill(240),[56]],48e3:[highPrefix,[255,192],zeroFill(268),[55,148,128],zeroFill(54),[112]],44100:[highPrefix,[255,192],zeroFill(268),[55,163,128],zeroFill(84),[112]],32e3:[highPrefix,[255,192],zeroFill(268),[55,234],zeroFill(226),[112]],24e3:[highPrefix,[255,192],zeroFill(268),[55,255,128],zeroFill(268),[111,112],zeroFill(126),[224]],16e3:[highPrefix,[255,192],zeroFill(268),[55,255,128],zeroFill(268),[111,255],zeroFill(269),[223,108],zeroFill(195),[1,192]],12e3:[lowPrefix,zeroFill(268),[3,127,248],zeroFill(268),[6,255,240],zeroFill(268),[13,255,224],zeroFill(268),[27,253,128],zeroFill(259),[56]],11025:[lowPrefix,zeroFill(268),[3,127,248],zeroFill(268),[6,255,240],zeroFill(268),[13,255,224],zeroFill(268),[27,255,192],zeroFill(268),[55,175,128],zeroFill(108),[112]],8e3:[lowPrefix,zeroFill(268),[3,121,16],zeroFill(47),[7]]},silence=(metaTable=coneOfSilence,Object.keys(metaTable).reduce((function(obj,key){return obj[key]=new Uint8Array(metaTable[key].reduce((function(arr,part){return arr.concat(part)}),[])),obj}),{}));audioTsToVideoTs=function(timestamp,sampleRate){return secondsToVideoTs(audioTsToSeconds(timestamp,sampleRate))},videoTsToAudioTs=function(timestamp,sampleRate){return secondsToAudioTs(videoTsToSeconds(timestamp),sampleRate)},metadataTsToSeconds=function(timestamp,timelineStartPts,keepOriginalTimestamps){return videoTsToSeconds(keepOriginalTimestamps?timestamp:timestamp-timelineStartPts)};var clock_ONE_SECOND_IN_TS$0=9e4,clock_audioTsToVideoTs$0=(secondsToVideoTs=function(seconds){return 9e4*seconds},secondsToAudioTs=function(seconds,sampleRate){return seconds*sampleRate},videoTsToSeconds=function(timestamp){return timestamp/9e4},audioTsToSeconds=function(timestamp,sampleRate){return timestamp/sampleRate},audioTsToVideoTs),clock_videoTsToAudioTs$0=videoTsToAudioTs,clock_metadataTsToSeconds$0=metadataTsToSeconds,audioFrameUtils_prefixWithSilence=function(track,frames,audioAppendStartTs,videoBaseMediaDecodeTime){var baseMediaDecodeTimeTs,frameDuration,silentFrame,i,firstFrame,audioGapDuration=0,audioFillFrameCount=0,audioFillDuration=0;if(frames.length&&(baseMediaDecodeTimeTs=clock_audioTsToVideoTs$0(track.baseMediaDecodeTime,track.samplerate),frameDuration=Math.ceil(clock_ONE_SECOND_IN_TS$0/(track.samplerate/1024)),audioAppendStartTs&&videoBaseMediaDecodeTime&&(audioGapDuration=baseMediaDecodeTimeTs-Math.max(audioAppendStartTs,videoBaseMediaDecodeTime),audioFillDuration=(audioFillFrameCount=Math.floor(audioGapDuration/frameDuration))*frameDuration),!(audioFillFrameCount<1||audioFillDuration>clock_ONE_SECOND_IN_TS$0/2))){for((silentFrame=silence[track.samplerate])||(silentFrame=frames[0].data),i=0;i<audioFillFrameCount;i++)firstFrame=frames[0],frames.splice(0,0,{data:silentFrame,dts:firstFrame.dts-frameDuration,pts:firstFrame.pts-frameDuration});track.baseMediaDecodeTime-=Math.floor(clock_videoTsToAudioTs$0(audioFillDuration,track.samplerate))}},audioFrameUtils_trimAdtsFramesByEarliestDts=function(adtsFrames,track,earliestAllowedDts){return track.minSegmentDts>=earliestAllowedDts?adtsFrames:(track.minSegmentDts=1/0,adtsFrames.filter((function(currentFrame){return currentFrame.dts>=earliestAllowedDts&&(track.minSegmentDts=Math.min(track.minSegmentDts,currentFrame.dts),track.minSegmentPts=track.minSegmentDts,!0)})))},audioFrameUtils_generateSampleTable=function(frames){var i,currentFrame,samples=[];for(i=0;i<frames.length;i++)currentFrame=frames[i],samples.push({size:currentFrame.data.byteLength,duration:1024});return samples},audioFrameUtils_concatenateFrameData=function(frames){var i,currentFrame,dataOffset=0,data=new Uint8Array(function(array){var i,sum=0;for(i=0;i<array.length;i++)sum+=array[i].data.byteLength;return sum}(frames));for(i=0;i<frames.length;i++)currentFrame=frames[i],data.set(currentFrame.data,dataOffset),dataOffset+=currentFrame.data.byteLength;return data},ONE_SECOND_IN_TS$1=clock_ONE_SECOND_IN_TS$0,trackDecodeInfo_clearDtsInfo=function(track){delete track.minSegmentDts,delete track.maxSegmentDts,delete track.minSegmentPts,delete track.maxSegmentPts},trackDecodeInfo_calculateTrackBaseMediaDecodeTime=function(track,keepOriginalTimestamps){var baseMediaDecodeTime,minSegmentDts=track.minSegmentDts;return keepOriginalTimestamps||(minSegmentDts-=track.timelineStartInfo.dts),baseMediaDecodeTime=track.timelineStartInfo.baseMediaDecodeTime,baseMediaDecodeTime+=minSegmentDts,baseMediaDecodeTime=Math.max(0,baseMediaDecodeTime),"audio"===track.type&&(baseMediaDecodeTime*=track.samplerate/ONE_SECOND_IN_TS$1,baseMediaDecodeTime=Math.floor(baseMediaDecodeTime)),baseMediaDecodeTime},trackDecodeInfo_collectDtsInfo=function(track,data){"number"==typeof data.pts&&(void 0===track.timelineStartInfo.pts&&(track.timelineStartInfo.pts=data.pts),void 0===track.minSegmentPts?track.minSegmentPts=data.pts:track.minSegmentPts=Math.min(track.minSegmentPts,data.pts),void 0===track.maxSegmentPts?track.maxSegmentPts=data.pts:track.maxSegmentPts=Math.max(track.maxSegmentPts,data.pts)),"number"==typeof data.dts&&(void 0===track.timelineStartInfo.dts&&(track.timelineStartInfo.dts=data.dts),void 0===track.minSegmentDts?track.minSegmentDts=data.dts:track.minSegmentDts=Math.min(track.minSegmentDts,data.dts),void 0===track.maxSegmentDts?track.maxSegmentDts=data.dts:track.maxSegmentDts=Math.max(track.maxSegmentDts,data.dts))},captionPacketParser_parseSei$0=function(bytes){for(var i=0,result={payloadType:-1,payloadSize:0},payloadType=0,payloadSize=0;i<bytes.byteLength&&128!==bytes[i];){for(;255===bytes[i];)payloadType+=255,i++;for(payloadType+=bytes[i++];255===bytes[i];)payloadSize+=255,i++;if(payloadSize+=bytes[i++],!result.payload&&4===payloadType){result.payloadType=payloadType,result.payloadSize=payloadSize,result.payload=bytes.subarray(i,i+payloadSize);break}i+=payloadSize,payloadType=0,payloadSize=0}return result},captionPacketParser_parseUserData$0=function(sei){return 181!==sei.payload[0]||49!=(sei.payload[1]<<8|sei.payload[2])||"GA94"!==String.fromCharCode(sei.payload[3],sei.payload[4],sei.payload[5],sei.payload[6])||3!==sei.payload[7]?null:sei.payload.subarray(8,sei.payload.length-1)},captionPacketParser_parseCaptionPackets$0=function(pts,userData){var i,count,offset,data,results=[];if(!(64&userData[0]))return results;for(count=31&userData[0],i=0;i<count;i++)data={type:3&userData[2+(offset=3*i)],pts:pts},4&userData[offset+2]&&(data.ccData=userData[offset+3]<<8|userData[offset+4],results.push(data));return results},captionPacketParser_USER_DATA_REGISTERED_ITU_T_T35$0=4,CaptionStream=function CaptionStream(){CaptionStream.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new Cea608Stream(0,0),new Cea608Stream(0,1),new Cea608Stream(1,0),new Cea608Stream(1,1)],this.reset(),this.ccStreams_.forEach((function(cc){cc.on("data",this.trigger.bind(this,"data")),cc.on("partialdone",this.trigger.bind(this,"partialdone")),cc.on("done",this.trigger.bind(this,"done"))}),this)};(CaptionStream.prototype=new stream).push=function(event){var sei,userData,newCaptionPackets;if("sei_rbsp"===event.nalUnitType&&(sei=captionPacketParser_parseSei$0(event.escapedRBSP)).payloadType===captionPacketParser_USER_DATA_REGISTERED_ITU_T_T35$0&&(userData=captionPacketParser_parseUserData$0(sei)))if(event.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(event.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));newCaptionPackets=captionPacketParser_parseCaptionPackets$0(event.pts,userData),this.captionPackets_=this.captionPackets_.concat(newCaptionPackets),this.latestDts_!==event.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=event.dts}},CaptionStream.prototype.flushCCStreams=function(flushType){this.ccStreams_.forEach((function(cc){return"flush"===flushType?cc.flush():cc.partialFlush()}),this)},CaptionStream.prototype.flushStream=function(flushType){this.captionPackets_.length?(this.captionPackets_.forEach((function(elem,idx){elem.presortIndex=idx})),this.captionPackets_.sort((function(a,b){return a.pts===b.pts?a.presortIndex-b.presortIndex:a.pts-b.pts})),this.captionPackets_.forEach((function(packet){packet.type<2&&this.dispatchCea608Packet(packet)}),this),this.captionPackets_.length=0,this.flushCCStreams(flushType)):this.flushCCStreams(flushType)},CaptionStream.prototype.flush=function(){return this.flushStream("flush")},CaptionStream.prototype.partialFlush=function(){return this.flushStream("partialFlush")},CaptionStream.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach((function(ccStream){ccStream.reset()}))},CaptionStream.prototype.dispatchCea608Packet=function(packet){this.setsTextOrXDSActive(packet)?this.activeCea608Channel_[packet.type]=null:this.setsChannel1Active(packet)?this.activeCea608Channel_[packet.type]=0:this.setsChannel2Active(packet)&&(this.activeCea608Channel_[packet.type]=1),null!==this.activeCea608Channel_[packet.type]&&this.ccStreams_[(packet.type<<1)+this.activeCea608Channel_[packet.type]].push(packet)},CaptionStream.prototype.setsChannel1Active=function(packet){return 4096==(30720&packet.ccData)},CaptionStream.prototype.setsChannel2Active=function(packet){return 6144==(30720&packet.ccData)},CaptionStream.prototype.setsTextOrXDSActive=function(packet){return 256==(28928&packet.ccData)||4138==(30974&packet.ccData)||6186==(30974&packet.ccData)};var CHARACTER_TRANSLATION={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},getCharFromCode=function(code){return null===code?"":(code=CHARACTER_TRANSLATION[code]||code,String.fromCharCode(code))},ROWS=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],createDisplayBuffer=function(){for(var result=[],i=15;i--;)result.push("");return result},Cea608Stream=function Cea608Stream(field,dataChannel){Cea608Stream.prototype.init.call(this),this.field_=field||0,this.dataChannel_=dataChannel||0,this.name_="CC"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(packet){var data,swap,char0,char1,text;if((data=32639&packet.ccData)!==this.lastControlCode_){if(4096==(61440&data)?this.lastControlCode_=data:data!==this.PADDING_&&(this.lastControlCode_=null),char0=data>>>8,char1=255&data,data!==this.PADDING_)if(data===this.RESUME_CAPTION_LOADING_)this.mode_="popOn";else if(data===this.END_OF_CAPTION_)this.mode_="popOn",this.clearFormatting(packet.pts),this.flushDisplayed(packet.pts),swap=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=swap,this.startPts_=packet.pts;else if(data===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(packet.pts);else if(data===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(packet.pts);else if(data===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(packet.pts);else if(data===this.CARRIAGE_RETURN_)this.clearFormatting(packet.pts),this.flushDisplayed(packet.pts),this.shiftRowsUp_(),this.startPts_=packet.pts;else if(data===this.BACKSPACE_)"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(data===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(packet.pts),this.displayed_=createDisplayBuffer();else if(data===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=createDisplayBuffer();else if(data===this.RESUME_DIRECT_CAPTIONING_)"paintOn"!==this.mode_&&(this.flushDisplayed(packet.pts),this.displayed_=createDisplayBuffer()),this.mode_="paintOn",this.startPts_=packet.pts;else if(this.isSpecialCharacter(char0,char1))text=getCharFromCode((char0=(3&char0)<<8)|char1),this[this.mode_](packet.pts,text),this.column_++;else if(this.isExtCharacter(char0,char1))"popOn"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),text=getCharFromCode((char0=(3&char0)<<8)|char1),this[this.mode_](packet.pts,text),this.column_++;else if(this.isMidRowCode(char0,char1))this.clearFormatting(packet.pts),this[this.mode_](packet.pts," "),this.column_++,14==(14&char1)&&this.addFormatting(packet.pts,["i"]),1==(1&char1)&&this.addFormatting(packet.pts,["u"]);else if(this.isOffsetControlCode(char0,char1))this.column_+=3&char1;else if(this.isPAC(char0,char1)){var row=ROWS.indexOf(7968&data);"rollUp"===this.mode_&&(row-this.rollUpRows_+1<0&&(row=this.rollUpRows_-1),this.setRollUp(packet.pts,row)),row!==this.row_&&(this.clearFormatting(packet.pts),this.row_=row),1&char1&&-1===this.formatting_.indexOf("u")&&this.addFormatting(packet.pts,["u"]),16==(16&data)&&(this.column_=4*((14&data)>>1)),this.isColorPAC(char1)&&14==(14&char1)&&this.addFormatting(packet.pts,["i"])}else this.isNormalChar(char0)&&(0===char1&&(char1=null),text=getCharFromCode(char0),text+=getCharFromCode(char1),this[this.mode_](packet.pts,text),this.column_+=text.length)}else this.lastControlCode_=null}};Cea608Stream.prototype=new stream,Cea608Stream.prototype.flushDisplayed=function(pts){var content=this.displayed_.map((function(row){try{return row.trim()}catch(e){return console.error("Skipping malformed caption."),""}})).join("\n").replace(/^\n+|\n+$/g,"");content.length&&this.trigger("data",{startPts:this.startPts_,endPts:pts,text:content,stream:this.name_})},Cea608Stream.prototype.reset=function(){this.mode_="popOn",this.topRow_=0,this.startPts_=0,this.displayed_=createDisplayBuffer(),this.nonDisplayed_=createDisplayBuffer(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Cea608Stream.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Cea608Stream.prototype.isSpecialCharacter=function(char0,char1){return char0===this.EXT_&&char1>=48&&char1<=63},Cea608Stream.prototype.isExtCharacter=function(char0,char1){return(char0===this.EXT_+1||char0===this.EXT_+2)&&char1>=32&&char1<=63},Cea608Stream.prototype.isMidRowCode=function(char0,char1){return char0===this.EXT_&&char1>=32&&char1<=47},Cea608Stream.prototype.isOffsetControlCode=function(char0,char1){return char0===this.OFFSET_&&char1>=33&&char1<=35},Cea608Stream.prototype.isPAC=function(char0,char1){return char0>=this.BASE_&&char0<this.BASE_+8&&char1>=64&&char1<=127},Cea608Stream.prototype.isColorPAC=function(char1){return char1>=64&&char1<=79||char1>=96&&char1<=127},Cea608Stream.prototype.isNormalChar=function(_char){return _char>=32&&_char<=127},Cea608Stream.prototype.setRollUp=function(pts,newBaseRow){if("rollUp"!==this.mode_&&(this.row_=14,this.mode_="rollUp",this.flushDisplayed(pts),this.nonDisplayed_=createDisplayBuffer(),this.displayed_=createDisplayBuffer()),void 0!==newBaseRow&&newBaseRow!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[newBaseRow-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]="";void 0===newBaseRow&&(newBaseRow=this.row_),this.topRow_=newBaseRow-this.rollUpRows_+1},Cea608Stream.prototype.addFormatting=function(pts,format){this.formatting_=this.formatting_.concat(format);var text=format.reduce((function(text,format){return text+"<"+format+">"}),"");this[this.mode_](pts,text)},Cea608Stream.prototype.clearFormatting=function(pts){if(this.formatting_.length){var text=this.formatting_.reverse().reduce((function(text,format){return text+"</"+format+">"}),"");this.formatting_=[],this[this.mode_](pts,text)}},Cea608Stream.prototype.popOn=function(pts,text){var baseRow=this.nonDisplayed_[this.row_];baseRow+=text,this.nonDisplayed_[this.row_]=baseRow},Cea608Stream.prototype.rollUp=function(pts,text){var baseRow=this.displayed_[this.row_];baseRow+=text,this.displayed_[this.row_]=baseRow},Cea608Stream.prototype.shiftRowsUp_=function(){var i;for(i=0;i<this.topRow_;i++)this.displayed_[i]="";for(i=this.row_+1;i<15;i++)this.displayed_[i]="";for(i=this.topRow_;i<this.row_;i++)this.displayed_[i]=this.displayed_[i+1];this.displayed_[this.row_]=""},Cea608Stream.prototype.paintOn=function(pts,text){var baseRow=this.displayed_[this.row_];baseRow+=text,this.displayed_[this.row_]=baseRow};var captionStream={CaptionStream:CaptionStream,Cea608Stream:Cea608Stream},streamTypes={H264_STREAM_TYPE:27,ADTS_STREAM_TYPE:15,METADATA_STREAM_TYPE:21},handleRollover=function(value,reference){var direction=1;for(value>reference&&(direction=-1);Math.abs(reference-value)>4294967296;)value+=8589934592*direction;return value},TimestampRolloverStream=function TimestampRolloverStream(type){var lastDTS,referenceDTS;TimestampRolloverStream.prototype.init.call(this),this.type_=type||"shared",this.push=function(data){"shared"!==this.type_&&data.type!==this.type_||(void 0===referenceDTS&&(referenceDTS=data.dts),data.dts=handleRollover(data.dts,referenceDTS),data.pts=handleRollover(data.pts,referenceDTS),lastDTS=data.dts,this.trigger("data",data))},this.flush=function(){referenceDTS=lastDTS,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")},this.discontinuity=function(){referenceDTS=void 0,lastDTS=void 0},this.reset=function(){this.discontinuity(),this.trigger("reset")}};TimestampRolloverStream.prototype=new stream;var _MetadataStream,timestampRolloverStream_TimestampRolloverStream$0=TimestampRolloverStream,percentEncode=function(bytes,start,end){var i,result="";for(i=start;i<end;i++)result+="%"+("00"+bytes[i].toString(16)).slice(-2);return result},parseUtf8=function(bytes,start,end){return decodeURIComponent(percentEncode(bytes,start,end))},parseSyncSafeInteger=function(data){return data[0]<<21|data[1]<<14|data[2]<<7|data[3]},tagParsers={TXXX:function(tag){var i;if(3===tag.data[0]){for(i=1;i<tag.data.length;i++)if(0===tag.data[i]){tag.description=parseUtf8(tag.data,1,i),tag.value=parseUtf8(tag.data,i+1,tag.data.length).replace(/\0*$/,"");break}tag.data=tag.value}},WXXX:function(tag){var i;if(3===tag.data[0])for(i=1;i<tag.data.length;i++)if(0===tag.data[i]){tag.description=parseUtf8(tag.data,1,i),tag.url=parseUtf8(tag.data,i+1,tag.data.length);break}},PRIV:function(tag){var i,bytes;for(i=0;i<tag.data.length;i++)if(0===tag.data[i]){tag.owner=(bytes=tag.data,unescape(percentEncode(bytes,0,i)));break}tag.privateData=tag.data.subarray(i+1),tag.data=tag.privateData}};_MetadataStream=function(options){var i,settings={debug:!(!options||!options.debug),descriptor:options&&options.descriptor},tagSize=0,buffer=[],bufferSize=0;if(_MetadataStream.prototype.init.call(this),this.dispatchType=streamTypes.METADATA_STREAM_TYPE.toString(16),settings.descriptor)for(i=0;i<settings.descriptor.length;i++)this.dispatchType+=("00"+settings.descriptor[i].toString(16)).slice(-2);this.push=function(chunk){var tag,frameStart,frameSize,frame,i;if("timed-metadata"===chunk.type)if(chunk.dataAlignmentIndicator&&(bufferSize=0,buffer.length=0),0===buffer.length&&(chunk.data.length<10||chunk.data[0]!=="I".charCodeAt(0)||chunk.data[1]!=="D".charCodeAt(0)||chunk.data[2]!=="3".charCodeAt(0)))settings.debug&&console.log("Skipping unrecognized metadata packet");else if(buffer.push(chunk),bufferSize+=chunk.data.byteLength,1===buffer.length&&(tagSize=parseSyncSafeInteger(chunk.data.subarray(6,10)),tagSize+=10),!(bufferSize<tagSize)){for(tag={data:new Uint8Array(tagSize),frames:[],pts:buffer[0].pts,dts:buffer[0].dts},i=0;i<tagSize;)tag.data.set(buffer[0].data.subarray(0,tagSize-i),i),i+=buffer[0].data.byteLength,bufferSize-=buffer[0].data.byteLength,buffer.shift();frameStart=10,64&tag.data[5]&&(frameStart+=4,frameStart+=parseSyncSafeInteger(tag.data.subarray(10,14)),tagSize-=parseSyncSafeInteger(tag.data.subarray(16,20)));do{if((frameSize=parseSyncSafeInteger(tag.data.subarray(frameStart+4,frameStart+8)))<1)return console.log("Malformed ID3 frame encountered. Skipping metadata parsing.");if((frame={id:String.fromCharCode(tag.data[frameStart],tag.data[frameStart+1],tag.data[frameStart+2],tag.data[frameStart+3]),data:tag.data.subarray(frameStart+10,frameStart+frameSize+10)}).key=frame.id,tagParsers[frame.id]&&(tagParsers[frame.id](frame),"com.apple.streaming.transportStreamTimestamp"===frame.owner)){var d=frame.data,size=(1&d[3])<<30|d[4]<<22|d[5]<<14|d[6]<<6|d[7]>>>2;size*=4,size+=3&d[7],frame.timeStamp=size,void 0===tag.pts&&void 0===tag.dts&&(tag.pts=frame.timeStamp,tag.dts=frame.timeStamp),this.trigger("timestamp",frame)}tag.frames.push(frame),frameStart+=10,frameStart+=frameSize}while(frameStart<tagSize);this.trigger("data",tag)}}},_MetadataStream.prototype=new stream;var _TransportPacketStream,_TransportParseStream,_ElementaryStream,metadataStream=_MetadataStream,TimestampRolloverStream$1=timestampRolloverStream_TimestampRolloverStream$0;(_TransportPacketStream=function(){var buffer=new Uint8Array(188),bytesInBuffer=0;_TransportPacketStream.prototype.init.call(this),this.push=function(bytes){var everything,startIndex=0,endIndex=188;for(bytesInBuffer?((everything=new Uint8Array(bytes.byteLength+bytesInBuffer)).set(buffer.subarray(0,bytesInBuffer)),everything.set(bytes,bytesInBuffer),bytesInBuffer=0):everything=bytes;endIndex<everything.byteLength;)71!==everything[startIndex]||71!==everything[endIndex]?(startIndex++,endIndex++):(this.trigger("data",everything.subarray(startIndex,endIndex)),startIndex+=188,endIndex+=188);startIndex<everything.byteLength&&(buffer.set(everything.subarray(startIndex),0),bytesInBuffer=everything.byteLength-startIndex)},this.flush=function(){188===bytesInBuffer&&71===buffer[0]&&(this.trigger("data",buffer),bytesInBuffer=0),this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")},this.reset=function(){bytesInBuffer=0,this.trigger("reset")}}).prototype=new stream,_TransportParseStream=function(){var parsePsi,parsePat,parsePmt,self;_TransportParseStream.prototype.init.call(this),self=this,this.packetsWaitingForPmt=[],this.programMapTable=void 0,parsePsi=function(payload,psi){var offset=0;psi.payloadUnitStartIndicator&&(offset+=payload[offset]+1),"pat"===psi.type?parsePat(payload.subarray(offset),psi):parsePmt(payload.subarray(offset),psi)},parsePat=function(payload,pat){pat.section_number=payload[7],pat.last_section_number=payload[8],self.pmtPid=(31&payload[10])<<8|payload[11],pat.pmtPid=self.pmtPid},parsePmt=function(payload,pmt){var tableEnd,offset;if(1&payload[5]){for(self.programMapTable={video:null,audio:null,"timed-metadata":{}},tableEnd=3+((15&payload[1])<<8|payload[2])-4,offset=12+((15&payload[10])<<8|payload[11]);offset<tableEnd;){var streamType=payload[offset],pid=(31&payload[offset+1])<<8|payload[offset+2];streamType===streamTypes.H264_STREAM_TYPE&&null===self.programMapTable.video?self.programMapTable.video=pid:streamType===streamTypes.ADTS_STREAM_TYPE&&null===self.programMapTable.audio?self.programMapTable.audio=pid:streamType===streamTypes.METADATA_STREAM_TYPE&&(self.programMapTable["timed-metadata"][pid]=streamType),offset+=5+((15&payload[offset+3])<<8|payload[offset+4])}pmt.programMapTable=self.programMapTable}},this.push=function(packet){var result={},offset=4;if(result.payloadUnitStartIndicator=!!(64&packet[1]),result.pid=31&packet[1],result.pid<<=8,result.pid|=packet[2],(48&packet[3])>>>4>1&&(offset+=packet[offset]+1),0===result.pid)result.type="pat",parsePsi(packet.subarray(offset),result),this.trigger("data",result);else if(result.pid===this.pmtPid)for(result.type="pmt",parsePsi(packet.subarray(offset),result),this.trigger("data",result);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else void 0===this.programMapTable?this.packetsWaitingForPmt.push([packet,offset,result]):this.processPes_(packet,offset,result)},this.processPes_=function(packet,offset,result){result.pid===this.programMapTable.video?result.streamType=streamTypes.H264_STREAM_TYPE:result.pid===this.programMapTable.audio?result.streamType=streamTypes.ADTS_STREAM_TYPE:result.streamType=this.programMapTable["timed-metadata"][result.pid],result.type="pes",result.data=packet.subarray(offset),this.trigger("data",result)}},_TransportParseStream.prototype=new stream,_TransportParseStream.STREAM_TYPES={h264:27,adts:15},_ElementaryStream=function(){var programMapTable,self=this,video={data:[],size:0},audio={data:[],size:0},timedMetadata={data:[],size:0},flushStream=function(stream$$1,type,forceFlush){var packetFlushable,fragment,packetData=new Uint8Array(stream$$1.size),event={type:type},i=0,offset=0;if(stream$$1.data.length&&!(stream$$1.size<9)){for(event.trackId=stream$$1.data[0].pid,i=0;i<stream$$1.data.length;i++)fragment=stream$$1.data[i],packetData.set(fragment.data,offset),offset+=fragment.data.byteLength;var payload,pes,ptsDtsFlags;payload=packetData,(pes=event).packetLength=6+(payload[4]<<8|payload[5]),pes.dataAlignmentIndicator=0!=(4&payload[6]),192&(ptsDtsFlags=payload[7])&&(pes.pts=(14&payload[9])<<27|(255&payload[10])<<20|(254&payload[11])<<12|(255&payload[12])<<5|(254&payload[13])>>>3,pes.pts*=4,pes.pts+=(6&payload[13])>>>1,pes.dts=pes.pts,64&ptsDtsFlags&&(pes.dts=(14&payload[14])<<27|(255&payload[15])<<20|(254&payload[16])<<12|(255&payload[17])<<5|(254&payload[18])>>>3,pes.dts*=4,pes.dts+=(6&payload[18])>>>1)),pes.data=payload.subarray(9+payload[8]),packetFlushable="video"===type||event.packetLength<=stream$$1.size,(forceFlush||packetFlushable)&&(stream$$1.size=0,stream$$1.data.length=0),packetFlushable&&self.trigger("data",event)}};_ElementaryStream.prototype.init.call(this),this.push=function(data){({pat:function(){},pes:function(){var stream$$1,streamType;switch(data.streamType){case streamTypes.H264_STREAM_TYPE:case streamTypes.H264_STREAM_TYPE:stream$$1=video,streamType="video";break;case streamTypes.ADTS_STREAM_TYPE:stream$$1=audio,streamType="audio";break;case streamTypes.METADATA_STREAM_TYPE:stream$$1=timedMetadata,streamType="timed-metadata";break;default:return}data.payloadUnitStartIndicator&&flushStream(stream$$1,streamType,!0),stream$$1.data.push(data),stream$$1.size+=data.data.byteLength},pmt:function(){var event={type:"metadata",tracks:[]};null!==(programMapTable=data.programMapTable).video&&event.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+programMapTable.video,codec:"avc",type:"video"}),null!==programMapTable.audio&&event.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+programMapTable.audio,codec:"adts",type:"audio"}),self.trigger("data",event)}})[data.type]()},this.reset=function(){video.size=0,video.data.length=0,audio.size=0,audio.data.length=0,this.trigger("reset")},this.flushStreams_=function(){flushStream(video,"video"),flushStream(audio,"audio"),flushStream(timedMetadata,"timed-metadata")},this.flush=function(){this.flushStreams_(),this.trigger("done")}},_ElementaryStream.prototype=new stream;var m2ts={PAT_PID:0,MP2T_PACKET_LENGTH:188,TransportPacketStream:_TransportPacketStream,TransportParseStream:_TransportParseStream,ElementaryStream:_ElementaryStream,TimestampRolloverStream:TimestampRolloverStream$1,CaptionStream:captionStream.CaptionStream,Cea608Stream:captionStream.Cea608Stream,MetadataStream:metadataStream};for(var type in streamTypes)streamTypes.hasOwnProperty(type)&&(m2ts[type]=streamTypes[type]);var _AdtsStream,m2ts_1=m2ts,ONE_SECOND_IN_TS$2=clock_ONE_SECOND_IN_TS$0,ADTS_SAMPLING_FREQUENCIES=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];_AdtsStream=function(handlePartialSegments){var buffer,frameNum=0;_AdtsStream.prototype.init.call(this),this.push=function(packet){var frameLength,protectionSkipBytes,frameEnd,oldBuffer,sampleCount,adtsFrameDuration,i=0;if(handlePartialSegments||(frameNum=0),"audio"===packet.type)for(buffer?(oldBuffer=buffer,(buffer=new Uint8Array(oldBuffer.byteLength+packet.data.byteLength)).set(oldBuffer),buffer.set(packet.data,oldBuffer.byteLength)):buffer=packet.data;i+5<buffer.length;)if(255===buffer[i]&&240==(246&buffer[i+1])){if(protectionSkipBytes=2*(1&~buffer[i+1]),frameLength=(3&buffer[i+3])<<11|buffer[i+4]<<3|(224&buffer[i+5])>>5,adtsFrameDuration=(sampleCount=1024*(1+(3&buffer[i+6])))*ONE_SECOND_IN_TS$2/ADTS_SAMPLING_FREQUENCIES[(60&buffer[i+2])>>>2],frameEnd=i+frameLength,buffer.byteLength<frameEnd)return;if(this.trigger("data",{pts:packet.pts+frameNum*adtsFrameDuration,dts:packet.dts+frameNum*adtsFrameDuration,sampleCount:sampleCount,audioobjecttype:1+(buffer[i+2]>>>6&3),channelcount:(1&buffer[i+2])<<2|(192&buffer[i+3])>>>6,samplerate:ADTS_SAMPLING_FREQUENCIES[(60&buffer[i+2])>>>2],samplingfrequencyindex:(60&buffer[i+2])>>>2,samplesize:16,data:buffer.subarray(i+7+protectionSkipBytes,frameEnd)}),frameNum++,buffer.byteLength===frameEnd)return void(buffer=void 0);buffer=buffer.subarray(frameEnd)}else i++},this.flush=function(){frameNum=0,this.trigger("done")},this.reset=function(){buffer=void 0,this.trigger("reset")},this.endTimeline=function(){buffer=void 0,this.trigger("endedtimeline")}},_AdtsStream.prototype=new stream;var _H264Stream,_NalByteStream,PROFILES_WITH_OPTIONAL_SPS_DATA,adts=_AdtsStream,expGolomb=function(workingData){var workingBytesAvailable=workingData.byteLength,workingWord=0,workingBitsAvailable=0;this.length=function(){return 8*workingBytesAvailable},this.bitsAvailable=function(){return 8*workingBytesAvailable+workingBitsAvailable},this.loadWord=function(){var position=workingData.byteLength-workingBytesAvailable,workingBytes=new Uint8Array(4),availableBytes=Math.min(4,workingBytesAvailable);if(0===availableBytes)throw new Error("no bytes available");workingBytes.set(workingData.subarray(position,position+availableBytes)),workingWord=new DataView(workingBytes.buffer).getUint32(0),workingBitsAvailable=8*availableBytes,workingBytesAvailable-=availableBytes},this.skipBits=function(count){var skipBytes;workingBitsAvailable>count?(workingWord<<=count,workingBitsAvailable-=count):(count-=workingBitsAvailable,count-=8*(skipBytes=Math.floor(count/8)),workingBytesAvailable-=skipBytes,this.loadWord(),workingWord<<=count,workingBitsAvailable-=count)},this.readBits=function(size){var bits=Math.min(workingBitsAvailable,size),valu=workingWord>>>32-bits;return(workingBitsAvailable-=bits)>0?workingWord<<=bits:workingBytesAvailable>0&&this.loadWord(),(bits=size-bits)>0?valu<<bits|this.readBits(bits):valu},this.skipLeadingZeros=function(){var leadingZeroCount;for(leadingZeroCount=0;leadingZeroCount<workingBitsAvailable;++leadingZeroCount)if(0!=(workingWord&2147483648>>>leadingZeroCount))return workingWord<<=leadingZeroCount,workingBitsAvailable-=leadingZeroCount,leadingZeroCount;return this.loadWord(),leadingZeroCount+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var clz=this.skipLeadingZeros();return this.readBits(clz+1)-1},this.readExpGolomb=function(){var valu=this.readUnsignedExpGolomb();return 1&valu?1+valu>>>1:-1*(valu>>>1)},this.readBoolean=function(){return 1===this.readBits(1)},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()};_NalByteStream=function(){var i,buffer,syncPoint=0;_NalByteStream.prototype.init.call(this),this.push=function(data){var swapBuffer;buffer?((swapBuffer=new Uint8Array(buffer.byteLength+data.data.byteLength)).set(buffer),swapBuffer.set(data.data,buffer.byteLength),buffer=swapBuffer):buffer=data.data;for(var len=buffer.byteLength;syncPoint<len-3;syncPoint++)if(1===buffer[syncPoint+2]){i=syncPoint+5;break}for(;i<len;)switch(buffer[i]){case 0:if(0!==buffer[i-1]){i+=2;break}if(0!==buffer[i-2]){i++;break}syncPoint+3!==i-2&&this.trigger("data",buffer.subarray(syncPoint+3,i-2));do{i++}while(1!==buffer[i]&&i<len);syncPoint=i-2,i+=3;break;case 1:if(0!==buffer[i-1]||0!==buffer[i-2]){i+=3;break}this.trigger("data",buffer.subarray(syncPoint+3,i-2)),syncPoint=i-2,i+=3;break;default:i+=3}buffer=buffer.subarray(syncPoint),i-=syncPoint,syncPoint=0},this.reset=function(){buffer=null,syncPoint=0,this.trigger("reset")},this.flush=function(){buffer&&buffer.byteLength>3&&this.trigger("data",buffer.subarray(syncPoint+3)),buffer=null,syncPoint=0,this.trigger("done")},this.endTimeline=function(){this.flush(),this.trigger("endedtimeline")}},_NalByteStream.prototype=new stream,PROFILES_WITH_OPTIONAL_SPS_DATA={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},_H264Stream=function(){var self,trackId,currentPts,currentDts,discardEmulationPreventionBytes,readSequenceParameterSet,skipScalingList,nalByteStream=new _NalByteStream;_H264Stream.prototype.init.call(this),self=this,this.push=function(packet){"video"===packet.type&&(trackId=packet.trackId,currentPts=packet.pts,currentDts=packet.dts,nalByteStream.push(packet))},nalByteStream.on("data",(function(data){var event={trackId:trackId,pts:currentPts,dts:currentDts,data:data};switch(31&data[0]){case 5:event.nalUnitType="slice_layer_without_partitioning_rbsp_idr";break;case 6:event.nalUnitType="sei_rbsp",event.escapedRBSP=discardEmulationPreventionBytes(data.subarray(1));break;case 7:event.nalUnitType="seq_parameter_set_rbsp",event.escapedRBSP=discardEmulationPreventionBytes(data.subarray(1)),event.config=readSequenceParameterSet(event.escapedRBSP);break;case 8:event.nalUnitType="pic_parameter_set_rbsp";break;case 9:event.nalUnitType="access_unit_delimiter_rbsp"}self.trigger("data",event)})),nalByteStream.on("done",(function(){self.trigger("done")})),nalByteStream.on("partialdone",(function(){self.trigger("partialdone")})),nalByteStream.on("reset",(function(){self.trigger("reset")})),nalByteStream.on("endedtimeline",(function(){self.trigger("endedtimeline")})),this.flush=function(){nalByteStream.flush()},this.partialFlush=function(){nalByteStream.partialFlush()},this.reset=function(){nalByteStream.reset()},this.endTimeline=function(){nalByteStream.endTimeline()},skipScalingList=function(count,expGolombDecoder){var j,lastScale=8,nextScale=8;for(j=0;j<count;j++)0!==nextScale&&(nextScale=(lastScale+expGolombDecoder.readExpGolomb()+256)%256),lastScale=0===nextScale?lastScale:nextScale},discardEmulationPreventionBytes=function(data){for(var newLength,newData,length=data.byteLength,emulationPreventionBytesPositions=[],i=1;i<length-2;)0===data[i]&&0===data[i+1]&&3===data[i+2]?(emulationPreventionBytesPositions.push(i+2),i+=2):i++;if(0===emulationPreventionBytesPositions.length)return data;newLength=length-emulationPreventionBytesPositions.length,newData=new Uint8Array(newLength);var sourceIndex=0;for(i=0;i<newLength;sourceIndex++,i++)sourceIndex===emulationPreventionBytesPositions[0]&&(sourceIndex++,emulationPreventionBytesPositions.shift()),newData[i]=data[sourceIndex];return newData},readSequenceParameterSet=function(data){var expGolombDecoder,profileIdc,levelIdc,profileCompatibility,chromaFormatIdc,picOrderCntType,numRefFramesInPicOrderCntCycle,picWidthInMbsMinus1,picHeightInMapUnitsMinus1,frameMbsOnlyFlag,scalingListCount,sarRatio,i,frameCropLeftOffset=0,frameCropRightOffset=0,frameCropTopOffset=0,frameCropBottomOffset=0,sarScale=1;if(profileIdc=(expGolombDecoder=new expGolomb(data)).readUnsignedByte(),profileCompatibility=expGolombDecoder.readUnsignedByte(),levelIdc=expGolombDecoder.readUnsignedByte(),expGolombDecoder.skipUnsignedExpGolomb(),PROFILES_WITH_OPTIONAL_SPS_DATA[profileIdc]&&(3===(chromaFormatIdc=expGolombDecoder.readUnsignedExpGolomb())&&expGolombDecoder.skipBits(1),expGolombDecoder.skipUnsignedExpGolomb(),expGolombDecoder.skipUnsignedExpGolomb(),expGolombDecoder.skipBits(1),expGolombDecoder.readBoolean()))for(scalingListCount=3!==chromaFormatIdc?8:12,i=0;i<scalingListCount;i++)expGolombDecoder.readBoolean()&&skipScalingList(i<6?16:64,expGolombDecoder);if(expGolombDecoder.skipUnsignedExpGolomb(),0===(picOrderCntType=expGolombDecoder.readUnsignedExpGolomb()))expGolombDecoder.readUnsignedExpGolomb();else if(1===picOrderCntType)for(expGolombDecoder.skipBits(1),expGolombDecoder.skipExpGolomb(),expGolombDecoder.skipExpGolomb(),numRefFramesInPicOrderCntCycle=expGolombDecoder.readUnsignedExpGolomb(),i=0;i<numRefFramesInPicOrderCntCycle;i++)expGolombDecoder.skipExpGolomb();if(expGolombDecoder.skipUnsignedExpGolomb(),expGolombDecoder.skipBits(1),picWidthInMbsMinus1=expGolombDecoder.readUnsignedExpGolomb(),picHeightInMapUnitsMinus1=expGolombDecoder.readUnsignedExpGolomb(),0===(frameMbsOnlyFlag=expGolombDecoder.readBits(1))&&expGolombDecoder.skipBits(1),expGolombDecoder.skipBits(1),expGolombDecoder.readBoolean()&&(frameCropLeftOffset=expGolombDecoder.readUnsignedExpGolomb(),frameCropRightOffset=expGolombDecoder.readUnsignedExpGolomb(),frameCropTopOffset=expGolombDecoder.readUnsignedExpGolomb(),frameCropBottomOffset=expGolombDecoder.readUnsignedExpGolomb()),expGolombDecoder.readBoolean()&&expGolombDecoder.readBoolean()){switch(expGolombDecoder.readUnsignedByte()){case 1:sarRatio=[1,1];break;case 2:sarRatio=[12,11];break;case 3:sarRatio=[10,11];break;case 4:sarRatio=[16,11];break;case 5:sarRatio=[40,33];break;case 6:sarRatio=[24,11];break;case 7:sarRatio=[20,11];break;case 8:sarRatio=[32,11];break;case 9:sarRatio=[80,33];break;case 10:sarRatio=[18,11];break;case 11:sarRatio=[15,11];break;case 12:sarRatio=[64,33];break;case 13:sarRatio=[160,99];break;case 14:sarRatio=[4,3];break;case 15:sarRatio=[3,2];break;case 16:sarRatio=[2,1];break;case 255:sarRatio=[expGolombDecoder.readUnsignedByte()<<8|expGolombDecoder.readUnsignedByte(),expGolombDecoder.readUnsignedByte()<<8|expGolombDecoder.readUnsignedByte()]}sarRatio&&(sarScale=sarRatio[0]/sarRatio[1])}return{profileIdc:profileIdc,levelIdc:levelIdc,profileCompatibility:profileCompatibility,width:Math.ceil((16*(picWidthInMbsMinus1+1)-2*frameCropLeftOffset-2*frameCropRightOffset)*sarScale),height:(2-frameMbsOnlyFlag)*(picHeightInMapUnitsMinus1+1)*16-2*frameCropTopOffset-2*frameCropBottomOffset,sarRatio:sarRatio}}},_H264Stream.prototype=new stream;var _AacStream,h264={H264Stream:_H264Stream,NalByteStream:_NalByteStream},utils_isLikelyAacData=function(data){return data[0]==="I".charCodeAt(0)&&data[1]==="D".charCodeAt(0)&&data[2]==="3".charCodeAt(0)},utils_parseId3TagSize=function(header,byteIndex){var returnSize=header[byteIndex+6]<<21|header[byteIndex+7]<<14|header[byteIndex+8]<<7|header[byteIndex+9];return(16&header[byteIndex+5])>>4?returnSize+20:returnSize+10},utils_parseAdtsSize=function(header,byteIndex){var lowThree=(224&header[byteIndex+5])>>5,middle=header[byteIndex+4]<<3;return 6144&header[byteIndex+3]|middle|lowThree};(_AacStream=function(){var everything=new Uint8Array,timeStamp=0;_AacStream.prototype.init.call(this),this.setTimestamp=function(timestamp){timeStamp=timestamp},this.push=function(bytes){var bytesLeft,chunk,packet,tempLength,frameSize=0,byteIndex=0;for(everything.length?(tempLength=everything.length,(everything=new Uint8Array(bytes.byteLength+tempLength)).set(everything.subarray(0,tempLength)),everything.set(bytes,tempLength)):everything=bytes;everything.length-byteIndex>=3;)if(everything[byteIndex]!=="I".charCodeAt(0)||everything[byteIndex+1]!=="D".charCodeAt(0)||everything[byteIndex+2]!=="3".charCodeAt(0))if(255!=(255&everything[byteIndex])||240!=(240&everything[byteIndex+1]))byteIndex++;else{if(everything.length-byteIndex<7)break;if(byteIndex+(frameSize=utils_parseAdtsSize(everything,byteIndex))>everything.length)break;packet={type:"audio",data:everything.subarray(byteIndex,byteIndex+frameSize),pts:timeStamp,dts:timeStamp},this.trigger("data",packet),byteIndex+=frameSize}else{if(everything.length-byteIndex<10)break;if(byteIndex+(frameSize=utils_parseId3TagSize(everything,byteIndex))>everything.length)break;chunk={type:"timed-metadata",data:everything.subarray(byteIndex,byteIndex+frameSize)},this.trigger("data",chunk),byteIndex+=frameSize}bytesLeft=everything.length-byteIndex,everything=bytesLeft>0?everything.subarray(byteIndex):new Uint8Array},this.reset=function(){everything=new Uint8Array,this.trigger("reset")},this.endTimeline=function(){everything=new Uint8Array,this.trigger("endedtimeline")}}).prototype=new stream;var _VideoSegmentStream,_AudioSegmentStream,_Transmuxer,_CoalesceStream,aac=_AacStream,H264Stream=h264.H264Stream,isLikelyAacData$1=utils_isLikelyAacData,ONE_SECOND_IN_TS$3=clock_ONE_SECOND_IN_TS$0,AUDIO_PROPERTIES=["audioobjecttype","channelcount","samplerate","samplingfrequencyindex","samplesize"],VIDEO_PROPERTIES=["width","height","profileIdc","levelIdc","profileCompatibility","sarRatio"],arrayEquals=function(a,b){var i;if(a.length!==b.length)return!1;for(i=0;i<a.length;i++)if(a[i]!==b[i])return!1;return!0},generateVideoSegmentTimingInfo=function(baseMediaDecodeTime,startDts,startPts,endDts,endPts,prependedContentDuration){return{start:{dts:baseMediaDecodeTime,pts:baseMediaDecodeTime+(startPts-startDts)},end:{dts:baseMediaDecodeTime+(endDts-startDts),pts:baseMediaDecodeTime+(endPts-startPts)},prependedContentDuration:prependedContentDuration,baseMediaDecodeTime:baseMediaDecodeTime}};_AudioSegmentStream=function(track,options){var adtsFrames=[],sequenceNumber=0,earliestAllowedDts=0,audioAppendStartTs=0,videoBaseMediaDecodeTime=1/0;options=options||{},_AudioSegmentStream.prototype.init.call(this),this.push=function(data){trackDecodeInfo_collectDtsInfo(track,data),track&&AUDIO_PROPERTIES.forEach((function(prop){track[prop]=data[prop]})),adtsFrames.push(data)},this.setEarliestDts=function(earliestDts){earliestAllowedDts=earliestDts-track.timelineStartInfo.baseMediaDecodeTime},this.setVideoBaseMediaDecodeTime=function(baseMediaDecodeTime){videoBaseMediaDecodeTime=baseMediaDecodeTime},this.setAudioAppendStart=function(timestamp){audioAppendStartTs=timestamp},this.flush=function(){var frames,moof,mdat,boxes,frameDuration;0!==adtsFrames.length?(frames=audioFrameUtils_trimAdtsFramesByEarliestDts(adtsFrames,track,earliestAllowedDts),track.baseMediaDecodeTime=trackDecodeInfo_calculateTrackBaseMediaDecodeTime(track,options.keepOriginalTimestamps),audioFrameUtils_prefixWithSilence(track,frames,audioAppendStartTs,videoBaseMediaDecodeTime),track.samples=audioFrameUtils_generateSampleTable(frames),mdat=mp4Generator_mdat(audioFrameUtils_concatenateFrameData(frames)),adtsFrames=[],moof=mp4Generator_moof(sequenceNumber,[track]),boxes=new Uint8Array(moof.byteLength+mdat.byteLength),sequenceNumber++,boxes.set(moof),boxes.set(mdat,moof.byteLength),trackDecodeInfo_clearDtsInfo(track),frameDuration=Math.ceil(1024*ONE_SECOND_IN_TS$3/track.samplerate),frames.length&&this.trigger("timingInfo",{start:frames[0].pts,end:frames[0].pts+frames.length*frameDuration}),this.trigger("data",{track:track,boxes:boxes}),this.trigger("done","AudioSegmentStream")):this.trigger("done","AudioSegmentStream")},this.reset=function(){trackDecodeInfo_clearDtsInfo(track),adtsFrames=[],this.trigger("reset")}},_AudioSegmentStream.prototype=new stream,_VideoSegmentStream=function(track,options){var config,pps,sequenceNumber=0,nalUnits=[],gopsToAlignWith=[];options=options||{},_VideoSegmentStream.prototype.init.call(this),delete track.minPTS,this.gopCache_=[],this.push=function(nalUnit){trackDecodeInfo_collectDtsInfo(track,nalUnit),"seq_parameter_set_rbsp"!==nalUnit.nalUnitType||config||(config=nalUnit.config,track.sps=[nalUnit.data],VIDEO_PROPERTIES.forEach((function(prop){track[prop]=config[prop]}),this)),"pic_parameter_set_rbsp"!==nalUnit.nalUnitType||pps||(pps=nalUnit.data,track.pps=[nalUnit.data]),nalUnits.push(nalUnit)},this.flush=function(){for(var frames,gopForFusion,gops,moof,mdat,boxes,firstGop,lastGop,prependedContentDuration=0;nalUnits.length&&"access_unit_delimiter_rbsp"!==nalUnits[0].nalUnitType;)nalUnits.shift();if(0===nalUnits.length)return this.resetStream_(),void this.trigger("done","VideoSegmentStream");if(frames=frameUtils_groupNalsIntoFrames(nalUnits),(gops=frameUtils_groupFramesIntoGops(frames))[0][0].keyFrame||((gopForFusion=this.getGopForFusion_(nalUnits[0],track))?(prependedContentDuration=gopForFusion.duration,gops.unshift(gopForFusion),gops.byteLength+=gopForFusion.byteLength,gops.nalCount+=gopForFusion.nalCount,gops.pts=gopForFusion.pts,gops.dts=gopForFusion.dts,gops.duration+=gopForFusion.duration):gops=frameUtils_extendFirstKeyFrame(gops)),gopsToAlignWith.length){var alignedGops;if(!(alignedGops=options.alignGopsAtEnd?this.alignGopsAtEnd_(gops):this.alignGopsAtStart_(gops)))return this.gopCache_.unshift({gop:gops.pop(),pps:track.pps,sps:track.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),nalUnits=[],this.resetStream_(),void this.trigger("done","VideoSegmentStream");trackDecodeInfo_clearDtsInfo(track),gops=alignedGops}trackDecodeInfo_collectDtsInfo(track,gops),track.samples=frameUtils_generateSampleTable(gops),mdat=mp4Generator_mdat(frameUtils_concatenateNalData(gops)),track.baseMediaDecodeTime=trackDecodeInfo_calculateTrackBaseMediaDecodeTime(track,options.keepOriginalTimestamps),this.trigger("processedGopsInfo",gops.map((function(gop){return{pts:gop.pts,dts:gop.dts,byteLength:gop.byteLength}}))),firstGop=gops[0],lastGop=gops[gops.length-1],this.trigger("segmentTimingInfo",generateVideoSegmentTimingInfo(track.baseMediaDecodeTime,firstGop.dts,firstGop.pts,lastGop.dts+lastGop.duration,lastGop.pts+lastGop.duration,prependedContentDuration)),this.trigger("timingInfo",{start:gops[0].pts,end:gops[gops.length-1].pts+gops[gops.length-1].duration}),this.gopCache_.unshift({gop:gops.pop(),pps:track.pps,sps:track.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),nalUnits=[],this.trigger("baseMediaDecodeTime",track.baseMediaDecodeTime),this.trigger("timelineStartInfo",track.timelineStartInfo),moof=mp4Generator_moof(sequenceNumber,[track]),boxes=new Uint8Array(moof.byteLength+mdat.byteLength),sequenceNumber++,boxes.set(moof),boxes.set(mdat,moof.byteLength),this.trigger("data",{track:track,boxes:boxes}),this.resetStream_(),this.trigger("done","VideoSegmentStream")},this.reset=function(){this.resetStream_(),nalUnits=[],this.gopCache_.length=0,gopsToAlignWith.length=0,this.trigger("reset")},this.resetStream_=function(){trackDecodeInfo_clearDtsInfo(track),config=void 0,pps=void 0},this.getGopForFusion_=function(nalUnit){var dtsDistance,nearestGopObj,currentGop,currentGopObj,i,nearestDistance=1/0;for(i=0;i<this.gopCache_.length;i++)currentGop=(currentGopObj=this.gopCache_[i]).gop,track.pps&&arrayEquals(track.pps[0],currentGopObj.pps[0])&&track.sps&&arrayEquals(track.sps[0],currentGopObj.sps[0])&&(currentGop.dts<track.timelineStartInfo.dts||(dtsDistance=nalUnit.dts-currentGop.dts-currentGop.duration)>=-1e4&&dtsDistance<=45e3&&(!nearestGopObj||nearestDistance>dtsDistance)&&(nearestGopObj=currentGopObj,nearestDistance=dtsDistance));return nearestGopObj?nearestGopObj.gop:null},this.alignGopsAtStart_=function(gops){var alignIndex,gopIndex,align,gop,byteLength,nalCount,duration,alignedGops;for(byteLength=gops.byteLength,nalCount=gops.nalCount,duration=gops.duration,alignIndex=gopIndex=0;alignIndex<gopsToAlignWith.length&&gopIndex<gops.length&&(align=gopsToAlignWith[alignIndex],gop=gops[gopIndex],align.pts!==gop.pts);)gop.pts>align.pts?alignIndex++:(gopIndex++,byteLength-=gop.byteLength,nalCount-=gop.nalCount,duration-=gop.duration);return 0===gopIndex?gops:gopIndex===gops.length?null:((alignedGops=gops.slice(gopIndex)).byteLength=byteLength,alignedGops.duration=duration,alignedGops.nalCount=nalCount,alignedGops.pts=alignedGops[0].pts,alignedGops.dts=alignedGops[0].dts,alignedGops)},this.alignGopsAtEnd_=function(gops){var alignIndex,gopIndex,align,gop,alignEndIndex,matchFound,trimIndex;for(alignIndex=gopsToAlignWith.length-1,gopIndex=gops.length-1,alignEndIndex=null,matchFound=!1;alignIndex>=0&&gopIndex>=0;){if(align=gopsToAlignWith[alignIndex],gop=gops[gopIndex],align.pts===gop.pts){matchFound=!0;break}align.pts>gop.pts?alignIndex--:(alignIndex===gopsToAlignWith.length-1&&(alignEndIndex=gopIndex),gopIndex--)}if(!matchFound&&null===alignEndIndex)return null;if(0===(trimIndex=matchFound?gopIndex:alignEndIndex))return gops;var alignedGops=gops.slice(trimIndex),metadata=alignedGops.reduce((function(total,gop){return total.byteLength+=gop.byteLength,total.duration+=gop.duration,total.nalCount+=gop.nalCount,total}),{byteLength:0,duration:0,nalCount:0});return alignedGops.byteLength=metadata.byteLength,alignedGops.duration=metadata.duration,alignedGops.nalCount=metadata.nalCount,alignedGops.pts=alignedGops[0].pts,alignedGops.dts=alignedGops[0].dts,alignedGops},this.alignGopsWith=function(newGopsToAlignWith){gopsToAlignWith=newGopsToAlignWith}},_VideoSegmentStream.prototype=new stream,_CoalesceStream=function(options,metadataStream){this.numberOfTracks=0,this.metadataStream=metadataStream,void 0!==(options=options||{}).remux?this.remuxTracks=!!options.remux:this.remuxTracks=!0,"boolean"==typeof options.keepOriginalTimestamps?this.keepOriginalTimestamps=options.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,_CoalesceStream.prototype.init.call(this),this.push=function(output){return output.text?this.pendingCaptions.push(output):output.frames?this.pendingMetadata.push(output):(this.pendingTracks.push(output.track),this.pendingBytes+=output.boxes.byteLength,"video"===output.track.type&&(this.videoTrack=output.track,this.pendingBoxes.push(output.boxes)),void("audio"===output.track.type&&(this.audioTrack=output.track,this.pendingBoxes.unshift(output.boxes))))}},_CoalesceStream.prototype=new stream,_CoalesceStream.prototype.flush=function(flushSource){var caption,id3,initSegment,i,offset=0,event={captions:[],captionStreams:{},metadata:[],info:{}},timelineStartPts=0;if(this.pendingTracks.length<this.numberOfTracks){if("VideoSegmentStream"!==flushSource&&"AudioSegmentStream"!==flushSource)return;if(this.remuxTracks)return;if(0===this.pendingTracks.length)return this.emittedTracks++,void(this.emittedTracks>=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0))}if(this.videoTrack?(timelineStartPts=this.videoTrack.timelineStartInfo.pts,VIDEO_PROPERTIES.forEach((function(prop){event.info[prop]=this.videoTrack[prop]}),this)):this.audioTrack&&(timelineStartPts=this.audioTrack.timelineStartInfo.pts,AUDIO_PROPERTIES.forEach((function(prop){event.info[prop]=this.audioTrack[prop]}),this)),this.videoTrack||this.audioTrack){for(1===this.pendingTracks.length?event.type=this.pendingTracks[0].type:event.type="combined",this.emittedTracks+=this.pendingTracks.length,initSegment=mp4Generator_initSegment(this.pendingTracks),event.initSegment=new Uint8Array(initSegment.byteLength),event.initSegment.set(initSegment),event.data=new Uint8Array(this.pendingBytes),i=0;i<this.pendingBoxes.length;i++)event.data.set(this.pendingBoxes[i],offset),offset+=this.pendingBoxes[i].byteLength;for(i=0;i<this.pendingCaptions.length;i++)(caption=this.pendingCaptions[i]).startTime=clock_metadataTsToSeconds$0(caption.startPts,timelineStartPts,this.keepOriginalTimestamps),caption.endTime=clock_metadataTsToSeconds$0(caption.endPts,timelineStartPts,this.keepOriginalTimestamps),event.captionStreams[caption.stream]=!0,event.captions.push(caption);for(i=0;i<this.pendingMetadata.length;i++)(id3=this.pendingMetadata[i]).cueTime=clock_metadataTsToSeconds$0(id3.pts,timelineStartPts,this.keepOriginalTimestamps),event.metadata.push(id3);for(event.metadata.dispatchType=this.metadataStream.dispatchType,this.pendingTracks.length=0,this.videoTrack=null,this.pendingBoxes.length=0,this.pendingCaptions.length=0,this.pendingBytes=0,this.pendingMetadata.length=0,this.trigger("data",event),i=0;i<event.captions.length;i++)caption=event.captions[i],this.trigger("caption",caption);for(i=0;i<event.metadata.length;i++)id3=event.metadata[i],this.trigger("id3Frame",id3)}this.emittedTracks>=this.numberOfTracks&&(this.trigger("done"),this.emittedTracks=0)},_CoalesceStream.prototype.setRemux=function(val){this.remuxTracks=val},_Transmuxer=function(options){var videoTrack,audioTrack,self=this,hasFlushed=!0;_Transmuxer.prototype.init.call(this),options=options||{},this.baseMediaDecodeTime=options.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var pipeline={};this.transmuxPipeline_=pipeline,pipeline.type="aac",pipeline.metadataStream=new m2ts_1.MetadataStream,pipeline.aacStream=new aac,pipeline.audioTimestampRolloverStream=new m2ts_1.TimestampRolloverStream("audio"),pipeline.timedMetadataTimestampRolloverStream=new m2ts_1.TimestampRolloverStream("timed-metadata"),pipeline.adtsStream=new adts,pipeline.coalesceStream=new _CoalesceStream(options,pipeline.metadataStream),pipeline.headOfPipeline=pipeline.aacStream,pipeline.aacStream.pipe(pipeline.audioTimestampRolloverStream).pipe(pipeline.adtsStream),pipeline.aacStream.pipe(pipeline.timedMetadataTimestampRolloverStream).pipe(pipeline.metadataStream).pipe(pipeline.coalesceStream),pipeline.metadataStream.on("timestamp",(function(frame){pipeline.aacStream.setTimestamp(frame.timeStamp)})),pipeline.aacStream.on("data",(function(data){"timed-metadata"!==data.type||pipeline.audioSegmentStream||(audioTrack=audioTrack||{timelineStartInfo:{baseMediaDecodeTime:self.baseMediaDecodeTime},codec:"adts",type:"audio"},pipeline.coalesceStream.numberOfTracks++,pipeline.audioSegmentStream=new _AudioSegmentStream(audioTrack,options),pipeline.audioSegmentStream.on("timingInfo",self.trigger.bind(self,"audioTimingInfo")),pipeline.adtsStream.pipe(pipeline.audioSegmentStream).pipe(pipeline.coalesceStream)),self.trigger("trackinfo",{hasAudio:!!audioTrack,hasVideo:!!videoTrack})})),pipeline.coalesceStream.on("data",this.trigger.bind(this,"data")),pipeline.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setupTsPipeline=function(){var pipeline={};this.transmuxPipeline_=pipeline,pipeline.type="ts",pipeline.metadataStream=new m2ts_1.MetadataStream,pipeline.packetStream=new m2ts_1.TransportPacketStream,pipeline.parseStream=new m2ts_1.TransportParseStream,pipeline.elementaryStream=new m2ts_1.ElementaryStream,pipeline.timestampRolloverStream=new m2ts_1.TimestampRolloverStream,pipeline.adtsStream=new adts,pipeline.h264Stream=new H264Stream,pipeline.captionStream=new m2ts_1.CaptionStream,pipeline.coalesceStream=new _CoalesceStream(options,pipeline.metadataStream),pipeline.headOfPipeline=pipeline.packetStream,pipeline.packetStream.pipe(pipeline.parseStream).pipe(pipeline.elementaryStream).pipe(pipeline.timestampRolloverStream),pipeline.timestampRolloverStream.pipe(pipeline.h264Stream),pipeline.timestampRolloverStream.pipe(pipeline.adtsStream),pipeline.timestampRolloverStream.pipe(pipeline.metadataStream).pipe(pipeline.coalesceStream),pipeline.h264Stream.pipe(pipeline.captionStream).pipe(pipeline.coalesceStream),pipeline.elementaryStream.on("data",(function(data){var i;if("metadata"===data.type){for(i=data.tracks.length;i--;)videoTrack||"video"!==data.tracks[i].type?audioTrack||"audio"!==data.tracks[i].type||((audioTrack=data.tracks[i]).timelineStartInfo.baseMediaDecodeTime=self.baseMediaDecodeTime):(videoTrack=data.tracks[i]).timelineStartInfo.baseMediaDecodeTime=self.baseMediaDecodeTime;videoTrack&&!pipeline.videoSegmentStream&&(pipeline.coalesceStream.numberOfTracks++,pipeline.videoSegmentStream=new _VideoSegmentStream(videoTrack,options),pipeline.videoSegmentStream.on("timelineStartInfo",(function(timelineStartInfo){audioTrack&&(audioTrack.timelineStartInfo=timelineStartInfo,pipeline.audioSegmentStream.setEarliestDts(timelineStartInfo.dts))})),pipeline.videoSegmentStream.on("processedGopsInfo",self.trigger.bind(self,"gopInfo")),pipeline.videoSegmentStream.on("segmentTimingInfo",self.trigger.bind(self,"videoSegmentTimingInfo")),pipeline.videoSegmentStream.on("baseMediaDecodeTime",(function(baseMediaDecodeTime){audioTrack&&pipeline.audioSegmentStream.setVideoBaseMediaDecodeTime(baseMediaDecodeTime)})),pipeline.videoSegmentStream.on("timingInfo",self.trigger.bind(self,"videoTimingInfo")),pipeline.h264Stream.pipe(pipeline.videoSegmentStream).pipe(pipeline.coalesceStream)),audioTrack&&!pipeline.audioSegmentStream&&(pipeline.coalesceStream.numberOfTracks++,pipeline.audioSegmentStream=new _AudioSegmentStream(audioTrack,options),pipeline.audioSegmentStream.on("timingInfo",self.trigger.bind(self,"audioTimingInfo")),pipeline.adtsStream.pipe(pipeline.audioSegmentStream).pipe(pipeline.coalesceStream)),self.trigger("trackinfo",{hasAudio:!!audioTrack,hasVideo:!!videoTrack})}})),pipeline.coalesceStream.on("data",this.trigger.bind(this,"data")),pipeline.coalesceStream.on("id3Frame",(function(id3Frame){id3Frame.dispatchType=pipeline.metadataStream.dispatchType,self.trigger("id3Frame",id3Frame)})),pipeline.coalesceStream.on("caption",this.trigger.bind(this,"caption")),pipeline.coalesceStream.on("done",this.trigger.bind(this,"done"))},this.setBaseMediaDecodeTime=function(baseMediaDecodeTime){var pipeline=this.transmuxPipeline_;options.keepOriginalTimestamps||(this.baseMediaDecodeTime=baseMediaDecodeTime),audioTrack&&(audioTrack.timelineStartInfo.dts=void 0,audioTrack.timelineStartInfo.pts=void 0,trackDecodeInfo_clearDtsInfo(audioTrack),options.keepOriginalTimestamps||(audioTrack.timelineStartInfo.baseMediaDecodeTime=baseMediaDecodeTime),pipeline.audioTimestampRolloverStream&&pipeline.audioTimestampRolloverStream.discontinuity()),videoTrack&&(pipeline.videoSegmentStream&&(pipeline.videoSegmentStream.gopCache_=[]),videoTrack.timelineStartInfo.dts=void 0,videoTrack.timelineStartInfo.pts=void 0,trackDecodeInfo_clearDtsInfo(videoTrack),pipeline.captionStream.reset(),options.keepOriginalTimestamps||(videoTrack.timelineStartInfo.baseMediaDecodeTime=baseMediaDecodeTime)),pipeline.timestampRolloverStream&&pipeline.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(timestamp){audioTrack&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(timestamp)},this.setRemux=function(val){var pipeline=this.transmuxPipeline_;options.remux=val,pipeline&&pipeline.coalesceStream&&pipeline.coalesceStream.setRemux(val)},this.alignGopsWith=function(gopsToAlignWith){videoTrack&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(gopsToAlignWith)},this.push=function(data){if(hasFlushed){var isAac=isLikelyAacData$1(data);isAac&&"aac"!==this.transmuxPipeline_.type?this.setupAacPipeline():isAac||"ts"===this.transmuxPipeline_.type||this.setupTsPipeline(),hasFlushed=!1}this.transmuxPipeline_.headOfPipeline.push(data)},this.flush=function(){hasFlushed=!0,this.transmuxPipeline_.headOfPipeline.flush()},this.endTimeline=function(){this.transmuxPipeline_.headOfPipeline.endTimeline()},this.reset=function(){this.transmuxPipeline_.headOfPipeline&&this.transmuxPipeline_.headOfPipeline.reset()},this.resetCaptions=function(){this.transmuxPipeline_.captionStream&&this.transmuxPipeline_.captionStream.reset()}},_Transmuxer.prototype=new stream;var transmuxer={Transmuxer:_Transmuxer,VideoSegmentStream:_VideoSegmentStream,AudioSegmentStream:_AudioSegmentStream,AUDIO_PROPERTIES:AUDIO_PROPERTIES,VIDEO_PROPERTIES:VIDEO_PROPERTIES,generateVideoSegmentTimingInfo:generateVideoSegmentTimingInfo},createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),MessageHandlers=function(){function MessageHandlers(self,options){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,MessageHandlers),this.options=options||{},this.self=self,this.init()}return createClass(MessageHandlers,[{key:"init",value:function(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new transmuxer.Transmuxer(this.options),function(self,transmuxer$$1){transmuxer$$1.on("data",(function(segment){var initArray=segment.initSegment;segment.initSegment={data:initArray.buffer,byteOffset:initArray.byteOffset,byteLength:initArray.byteLength};var typedArray=segment.data;segment.data=typedArray.buffer,self.postMessage({action:"data",segment:segment,byteOffset:typedArray.byteOffset,byteLength:typedArray.byteLength},[segment.data])})),transmuxer$$1.captionStream&&transmuxer$$1.captionStream.on("data",(function(caption){self.postMessage({action:"caption",data:caption})})),transmuxer$$1.on("done",(function(data){self.postMessage({action:"done"})})),transmuxer$$1.on("gopInfo",(function(gopInfo){self.postMessage({action:"gopInfo",gopInfo:gopInfo})})),transmuxer$$1.on("videoSegmentTimingInfo",(function(videoSegmentTimingInfo){self.postMessage({action:"videoSegmentTimingInfo",videoSegmentTimingInfo:videoSegmentTimingInfo})}))}(this.self,this.transmuxer)}},{key:"push",value:function(data){var segment=new Uint8Array(data.data,data.byteOffset,data.byteLength);this.transmuxer.push(segment)}},{key:"reset",value:function(){this.init()}},{key:"setTimestampOffset",value:function(data){var timestampOffset=data.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(9e4*timestampOffset))}},{key:"setAudioAppendStart",value:function(data){this.transmuxer.setAudioAppendStart(Math.ceil(9e4*data.appendStart))}},{key:"flush",value:function(data){this.transmuxer.flush()}},{key:"resetCaptions",value:function(){this.transmuxer.resetCaptions()}},{key:"alignGopsWith",value:function(data){this.transmuxer.alignGopsWith(data.gopsToAlignWith.slice())}}]),MessageHandlers}();new function(self){self.onmessage=function(event){"init"===event.data.action&&event.data.options?this.messageHandlers=new MessageHandlers(self,event.data.options):(this.messageHandlers||(this.messageHandlers=new MessageHandlers(self)),event.data&&event.data.action&&"init"!==event.data.action&&this.messageHandlers[event.data.action]&&this.messageHandlers[event.data.action](event.data))}}(self)}()})),defaultCodecs={videoCodec:"avc1",videoObjectTypeIndicator:".4d400d",audioProfile:"2"},translateLegacyCodecs=function(codecs){return codecs.map((function(codec){return codec.replace(/avc1\.(\d+)\.(\d+)/i,(function(orig,profile,avcLevel){return"avc1."+("00"+Number(profile).toString(16)).slice(-2)+"00"+("00"+Number(avcLevel).toString(16)).slice(-2)}))}))},parseCodecs=function(){var codecs=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",result={codecCount:0},parsed=void 0;return result.codecCount=codecs.split(",").length,result.codecCount=result.codecCount||2,(parsed=/(^|\s|,)+(avc[13])([^ ,]*)/i.exec(codecs))&&(result.videoCodec=parsed[2],result.videoObjectTypeIndicator=parsed[3]),result.audioProfile=/(^|\s|,)+mp4a.[0-9A-Fa-f]+\.([0-9A-Fa-f]+)/i.exec(codecs),result.audioProfile=result.audioProfile&&result.audioProfile[2],result},makeMimeTypeString=function(type,container,codecs){return type+"/"+container+'; codecs="'+codecs.filter((function(c){return!!c})).join(", ")+'"'},mimeTypesForPlaylist=function(master,media){var containerType=function(media){return media.segments&&media.segments.length&&media.segments[0].map?"mp4":"mp2t"}(media),codecInfo=function(media){var mediaAttributes=media.attributes||{};return mediaAttributes.CODECS?parseCodecs(mediaAttributes.CODECS):defaultCodecs}(media),mediaAttributes=media.attributes||{},isMuxed=!0,isMaat=!1;if(!media)return[];if(master.mediaGroups.AUDIO&&mediaAttributes.AUDIO){var audioGroup=master.mediaGroups.AUDIO[mediaAttributes.AUDIO];if(audioGroup)for(var groupId in isMaat=!0,isMuxed=!1,audioGroup)if(!audioGroup[groupId].uri&&!audioGroup[groupId].playlists){isMuxed=!0;break}}isMaat&&!codecInfo.audioProfile&&(isMuxed||(codecInfo.audioProfile=function(master,audioGroupId){if(!master.mediaGroups.AUDIO||!audioGroupId)return null;var audioGroup=master.mediaGroups.AUDIO[audioGroupId];if(!audioGroup)return null;for(var name in audioGroup){var audioType=audioGroup[name];if(audioType.default&&audioType.playlists)return parseCodecs(audioType.playlists[0].attributes.CODECS).audioProfile}return null}(master,mediaAttributes.AUDIO)),codecInfo.audioProfile||(videojs$1.log.warn("Multiple audio tracks present but no audio codec string is specified. Attempting to use the default audio codec (mp4a.40.2)"),codecInfo.audioProfile=defaultCodecs.audioProfile));var codecStrings={};codecInfo.videoCodec&&(codecStrings.video=""+codecInfo.videoCodec+codecInfo.videoObjectTypeIndicator),codecInfo.audioProfile&&(codecStrings.audio="mp4a.40."+codecInfo.audioProfile);var justAudio=makeMimeTypeString("audio",containerType,[codecStrings.audio]),justVideo=makeMimeTypeString("video",containerType,[codecStrings.video]),bothVideoAudio=makeMimeTypeString("video",containerType,[codecStrings.video,codecStrings.audio]);return isMaat?!isMuxed&&codecStrings.video?[justVideo,justAudio]:isMuxed||codecStrings.video?[bothVideoAudio,justAudio]:[justAudio,justAudio]:codecStrings.video?[bothVideoAudio]:[justAudio]},parseContentType=function(type){var object={type:"",parameters:{}},parameters=type.trim().split(";");return object.type=parameters.shift().trim(),parameters.forEach((function(parameter){var pair=parameter.trim().split("=");if(pair.length>1){var name=pair[0].replace(/"/g,"").trim(),value=pair[1].replace(/"/g,"").trim();object.parameters[name]=value}})),object},isAudioCodec=function(codec){return/mp4a\.\d+.\d+/i.test(codec)},isVideoCodec=function(codec){return/avc1\.[\da-f]+/i.test(codec)},gopsSafeToAlignWith=function(buffer,currentTime,mapping){if(null==currentTime||!buffer.length)return[];var currentTimePts=Math.ceil(9e4*(currentTime-mapping+3)),i=void 0;for(i=0;i<buffer.length&&!(buffer[i].pts>currentTimePts);i++);return buffer.slice(i)},VirtualSourceBuffer=function(_videojs$EventTarget){function VirtualSourceBuffer(mediaSource,codecs){classCallCheck$1(this,VirtualSourceBuffer);var _this=possibleConstructorReturn$1(this,(VirtualSourceBuffer.__proto__||Object.getPrototypeOf(VirtualSourceBuffer)).call(this,videojs$1.EventTarget));_this.timestampOffset_=0,_this.pendingBuffers_=[],_this.bufferUpdating_=!1,_this.mediaSource_=mediaSource,_this.codecs_=codecs,_this.audioCodec_=null,_this.videoCodec_=null,_this.audioDisabled_=!1,_this.appendAudioInitSegment_=!0,_this.gopBuffer_=[],_this.timeMapping_=0,_this.safeAppend_=videojs$1.browser.IE_VERSION>=11;var options={remux:!1,alignGopsAtEnd:_this.safeAppend_};return _this.codecs_.forEach((function(codec){isAudioCodec(codec)?_this.audioCodec_=codec:isVideoCodec(codec)&&(_this.videoCodec_=codec)})),_this.transmuxer_=new TransmuxWorker,_this.transmuxer_.postMessage({action:"init",options:options}),_this.transmuxer_.onmessage=function(event){return"data"===event.data.action?_this.data_(event):"done"===event.data.action?_this.done_(event):"gopInfo"===event.data.action?_this.appendGopInfo_(event):"videoSegmentTimingInfo"===event.data.action?_this.videoSegmentTimingInfo_(event.data.videoSegmentTimingInfo):void 0},Object.defineProperty(_this,"timestampOffset",{get:function(){return this.timestampOffset_},set:function(val){"number"==typeof val&&val>=0&&(this.timestampOffset_=val,this.appendAudioInitSegment_=!0,this.gopBuffer_.length=0,this.timeMapping_=0,this.transmuxer_.postMessage({action:"setTimestampOffset",timestampOffset:val}))}}),Object.defineProperty(_this,"appendWindowStart",{get:function(){return(this.videoBuffer_||this.audioBuffer_).appendWindowStart},set:function(start){this.videoBuffer_&&(this.videoBuffer_.appendWindowStart=start),this.audioBuffer_&&(this.audioBuffer_.appendWindowStart=start)}}),Object.defineProperty(_this,"updating",{get:function(){return!!(this.bufferUpdating_||!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.updating||this.videoBuffer_&&this.videoBuffer_.updating)}}),Object.defineProperty(_this,"buffered",{get:function(){return function(videoBuffer,audioBuffer,audioDisabled){var start=null,end=null,arity=0,extents=[],ranges=[];if(!videoBuffer&&!audioBuffer)return videojs$1.createTimeRange();if(!videoBuffer)return audioBuffer.buffered;if(!audioBuffer)return videoBuffer.buffered;if(audioDisabled)return videoBuffer.buffered;if(0===videoBuffer.buffered.length&&0===audioBuffer.buffered.length)return videojs$1.createTimeRange();for(var videoBuffered=videoBuffer.buffered,audioBuffered=audioBuffer.buffered,count=videoBuffered.length;count--;)extents.push({time:videoBuffered.start(count),type:"start"}),extents.push({time:videoBuffered.end(count),type:"end"});for(count=audioBuffered.length;count--;)extents.push({time:audioBuffered.start(count),type:"start"}),extents.push({time:audioBuffered.end(count),type:"end"});for(extents.sort((function(a,b){return a.time-b.time})),count=0;count<extents.length;count++)"start"===extents[count].type?2==++arity&&(start=extents[count].time):"end"===extents[count].type&&1==--arity&&(end=extents[count].time),null!==start&&null!==end&&(ranges.push([start,end]),start=null,end=null);return videojs$1.createTimeRanges(ranges)}(this.videoBuffer_,this.audioBuffer_,this.audioDisabled_)}}),_this}return inherits$2(VirtualSourceBuffer,_videojs$EventTarget),createClass$1(VirtualSourceBuffer,[{key:"data_",value:function(event){var segment=event.data.segment;segment.data=new Uint8Array(segment.data,event.data.byteOffset,event.data.byteLength),segment.initSegment=new Uint8Array(segment.initSegment.data,segment.initSegment.byteOffset,segment.initSegment.byteLength),function(sourceBuffer,mediaSource,segment){var player=mediaSource.player_;if(segment.captions&&segment.captions.length)for(var trackId in sourceBuffer.inbandTextTracks_||(sourceBuffer.inbandTextTracks_={}),segment.captionStreams)if(!sourceBuffer.inbandTextTracks_[trackId]){player.tech_.trigger({type:"usage",name:"hls-608"});var track=player.textTracks().getTrackById(trackId);sourceBuffer.inbandTextTracks_[trackId]=track||player.addRemoteTextTrack({kind:"captions",id:trackId,label:trackId},!1).track}segment.metadata&&segment.metadata.length&&!sourceBuffer.metadataTrack_&&(sourceBuffer.metadataTrack_=player.addRemoteTextTrack({kind:"metadata",label:"Timed Metadata"},!1).track,sourceBuffer.metadataTrack_.inBandMetadataTrackDispatchType=segment.metadata.dispatchType)}(this,this.mediaSource_,segment),this.pendingBuffers_.push(segment)}},{key:"done_",value:function(event){"closed"!==this.mediaSource_.readyState?this.processPendingSegments_():this.pendingBuffers_.length=0}},{key:"videoSegmentTimingInfo_",value:function(timingInfo){var timingInfoInSeconds={start:{decode:timingInfo.start.dts/9e4,presentation:timingInfo.start.pts/9e4},end:{decode:timingInfo.end.dts/9e4,presentation:timingInfo.end.pts/9e4},baseMediaDecodeTime:timingInfo.baseMediaDecodeTime/9e4};timingInfo.prependedContentDuration&&(timingInfoInSeconds.prependedContentDuration=timingInfo.prependedContentDuration/9e4),this.trigger({type:"videoSegmentTimingInfo",videoSegmentTimingInfo:timingInfoInSeconds})}},{key:"createRealSourceBuffers_",value:function(){var _this2=this,types=["audio","video"];types.forEach((function(type){if(_this2[type+"Codec_"]&&!_this2[type+"Buffer_"]){var buffer=null;if(_this2.mediaSource_[type+"Buffer_"])(buffer=_this2.mediaSource_[type+"Buffer_"]).updating=!1;else{var mimeType=type+'/mp4;codecs="'+_this2[type+"Codec_"]+'"';buffer=function(mediaSource,mimeType){var sourceBuffer=mediaSource.addSourceBuffer(mimeType),wrapper=Object.create(null);wrapper.updating=!1,wrapper.realBuffer_=sourceBuffer;var _loop=function(key){"function"==typeof sourceBuffer[key]?wrapper[key]=function(){return sourceBuffer[key].apply(sourceBuffer,arguments)}:void 0===wrapper[key]&&Object.defineProperty(wrapper,key,{get:function(){return sourceBuffer[key]},set:function(v){return sourceBuffer[key]=v}})};for(var key in sourceBuffer)_loop(key);return wrapper}(_this2.mediaSource_.nativeMediaSource_,mimeType),_this2.mediaSource_[type+"Buffer_"]=buffer}_this2[type+"Buffer_"]=buffer,["update","updatestart","updateend"].forEach((function(event){buffer.addEventListener(event,(function(){if("audio"!==type||!_this2.audioDisabled_)return"updateend"===event&&(_this2[type+"Buffer_"].updating=!1),types.every((function(t){return!("audio"!==t||!_this2.audioDisabled_)||type===t||!_this2[t+"Buffer_"]||!_this2[t+"Buffer_"].updating}))?_this2.trigger(event):void 0}))}))}}))}},{key:"appendBuffer",value:function(segment){if(this.bufferUpdating_=!0,this.audioBuffer_&&this.audioBuffer_.buffered.length){var audioBuffered=this.audioBuffer_.buffered;this.transmuxer_.postMessage({action:"setAudioAppendStart",appendStart:audioBuffered.end(audioBuffered.length-1)})}this.videoBuffer_&&this.transmuxer_.postMessage({action:"alignGopsWith",gopsToAlignWith:gopsSafeToAlignWith(this.gopBuffer_,this.mediaSource_.player_?this.mediaSource_.player_.currentTime():null,this.timeMapping_)}),this.transmuxer_.postMessage({action:"push",data:segment.buffer,byteOffset:segment.byteOffset,byteLength:segment.byteLength},[segment.buffer]),this.transmuxer_.postMessage({action:"flush"})}},{key:"appendGopInfo_",value:function(event){this.gopBuffer_=function(buffer,gops,replace){if(!gops.length)return buffer;if(replace)return gops.slice();for(var start=gops[0].pts,i=0;i<buffer.length&&!(buffer[i].pts>=start);i++);return buffer.slice(0,i).concat(gops)}(this.gopBuffer_,event.data.gopInfo,this.safeAppend_)}},{key:"remove",value:function(start,end){if(this.videoBuffer_&&(this.videoBuffer_.updating=!0,this.videoBuffer_.remove(start,end),this.gopBuffer_=function(buffer,start,end,mapping){for(var startPts=Math.ceil(9e4*(start-mapping)),endPts=Math.ceil(9e4*(end-mapping)),updatedBuffer=buffer.slice(),i=buffer.length;i--&&!(buffer[i].pts<=endPts););if(-1===i)return updatedBuffer;for(var j=i+1;j--&&!(buffer[j].pts<=startPts););return j=Math.max(j,0),updatedBuffer.splice(j,i-j+1),updatedBuffer}(this.gopBuffer_,start,end,this.timeMapping_)),!this.audioDisabled_&&this.audioBuffer_&&(this.audioBuffer_.updating=!0,this.audioBuffer_.remove(start,end)),removeCuesFromTrack(start,end,this.metadataTrack_),this.inbandTextTracks_)for(var track in this.inbandTextTracks_)removeCuesFromTrack(start,end,this.inbandTextTracks_[track])}},{key:"processPendingSegments_",value:function(){var sortedSegments={video:{segments:[],bytes:0},audio:{segments:[],bytes:0},captions:[],metadata:[]};if(!this.pendingBuffers_.length)return this.trigger("updateend"),void(this.bufferUpdating_=!1);sortedSegments=this.pendingBuffers_.reduce((function(segmentObj,segment){var type=segment.type,data=segment.data,initSegment=segment.initSegment;return segmentObj[type].segments.push(data),segmentObj[type].bytes+=data.byteLength,segmentObj[type].initSegment=initSegment,segment.captions&&(segmentObj.captions=segmentObj.captions.concat(segment.captions)),segment.info&&(segmentObj[type].info=segment.info),segment.metadata&&(segmentObj.metadata=segmentObj.metadata.concat(segment.metadata)),segmentObj}),sortedSegments),this.videoBuffer_||this.audioBuffer_||(0===sortedSegments.video.bytes&&(this.videoCodec_=null),0===sortedSegments.audio.bytes&&(this.audioCodec_=null),this.createRealSourceBuffers_()),sortedSegments.audio.info&&this.mediaSource_.trigger({type:"audioinfo",info:sortedSegments.audio.info}),sortedSegments.video.info&&this.mediaSource_.trigger({type:"videoinfo",info:sortedSegments.video.info}),this.appendAudioInitSegment_&&(!this.audioDisabled_&&this.audioBuffer_&&(sortedSegments.audio.segments.unshift(sortedSegments.audio.initSegment),sortedSegments.audio.bytes+=sortedSegments.audio.initSegment.byteLength),this.appendAudioInitSegment_=!1);var triggerUpdateend=!1;this.videoBuffer_&&sortedSegments.video.bytes?(sortedSegments.video.segments.unshift(sortedSegments.video.initSegment),sortedSegments.video.bytes+=sortedSegments.video.initSegment.byteLength,this.concatAndAppendSegments_(sortedSegments.video,this.videoBuffer_)):!this.videoBuffer_||!this.audioDisabled_&&this.audioBuffer_||(triggerUpdateend=!0),addTextTrackData(this,sortedSegments.captions,sortedSegments.metadata),!this.audioDisabled_&&this.audioBuffer_&&this.concatAndAppendSegments_(sortedSegments.audio,this.audioBuffer_),this.pendingBuffers_.length=0,triggerUpdateend&&this.trigger("updateend"),this.bufferUpdating_=!1}},{key:"concatAndAppendSegments_",value:function(segmentObj,destinationBuffer){var offset=0,tempBuffer=void 0;if(segmentObj.bytes){tempBuffer=new Uint8Array(segmentObj.bytes),segmentObj.segments.forEach((function(segment){tempBuffer.set(segment,offset),offset+=segment.byteLength}));try{destinationBuffer.updating=!0,destinationBuffer.appendBuffer(tempBuffer)}catch(error){this.mediaSource_.player_&&this.mediaSource_.player_.error({code:-3,type:"APPEND_BUFFER_ERR",message:error.message,originalError:error})}}}},{key:"abort",value:function(){this.videoBuffer_&&this.videoBuffer_.abort(),!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:"reset"}),this.pendingBuffers_.length=0,this.bufferUpdating_=!1}},{key:"dispose",value:function(){this.trigger("dispose"),this.off()}}]),VirtualSourceBuffer}(videojs$1.EventTarget),HtmlMediaSource=function(_videojs$EventTarget){function HtmlMediaSource(){classCallCheck$1(this,HtmlMediaSource);var _this=possibleConstructorReturn$1(this,(HtmlMediaSource.__proto__||Object.getPrototypeOf(HtmlMediaSource)).call(this)),property=void 0;for(property in _this.nativeMediaSource_=new window$3.MediaSource,_this.nativeMediaSource_)property in HtmlMediaSource.prototype||"function"!=typeof _this.nativeMediaSource_[property]||(_this[property]=_this.nativeMediaSource_[property].bind(_this.nativeMediaSource_));return _this.duration_=NaN,Object.defineProperty(_this,"duration",{get:function(){return this.duration_===1/0?this.duration_:this.nativeMediaSource_.duration},set:function(duration){this.duration_=duration,duration===1/0||(this.nativeMediaSource_.duration=duration)}}),Object.defineProperty(_this,"seekable",{get:function(){return this.duration_===1/0?videojs$1.createTimeRanges([[0,this.nativeMediaSource_.duration]]):this.nativeMediaSource_.seekable}}),Object.defineProperty(_this,"readyState",{get:function(){return this.nativeMediaSource_.readyState}}),Object.defineProperty(_this,"activeSourceBuffers",{get:function(){return this.activeSourceBuffers_}}),_this.sourceBuffers=[],_this.activeSourceBuffers_=[],_this.updateActiveSourceBuffers_=function(){if(_this.activeSourceBuffers_.length=0,1===_this.sourceBuffers.length){var sourceBuffer=_this.sourceBuffers[0];return sourceBuffer.appendAudioInitSegment_=!0,sourceBuffer.audioDisabled_=!sourceBuffer.audioCodec_,void _this.activeSourceBuffers_.push(sourceBuffer)}for(var disableCombined=!1,disableAudioOnly=!0,i=0;i<_this.player_.audioTracks().length;i++){var track=_this.player_.audioTracks()[i];if(track.enabled&&"main"!==track.kind){disableCombined=!0,disableAudioOnly=!1;break}}_this.sourceBuffers.forEach((function(sourceBuffer,index){if(sourceBuffer.appendAudioInitSegment_=!0,sourceBuffer.videoCodec_&&sourceBuffer.audioCodec_)sourceBuffer.audioDisabled_=disableCombined;else if(sourceBuffer.videoCodec_&&!sourceBuffer.audioCodec_)sourceBuffer.audioDisabled_=!0,disableAudioOnly=!1;else if(!sourceBuffer.videoCodec_&&sourceBuffer.audioCodec_&&(sourceBuffer.audioDisabled_=index?disableAudioOnly:!disableAudioOnly,sourceBuffer.audioDisabled_))return;_this.activeSourceBuffers_.push(sourceBuffer)}))},_this.onPlayerMediachange_=function(){_this.sourceBuffers.forEach((function(sourceBuffer){sourceBuffer.appendAudioInitSegment_=!0}))},_this.onHlsReset_=function(){_this.sourceBuffers.forEach((function(sourceBuffer){sourceBuffer.transmuxer_&&sourceBuffer.transmuxer_.postMessage({action:"resetCaptions"})}))},_this.onHlsSegmentTimeMapping_=function(event){_this.sourceBuffers.forEach((function(buffer){return buffer.timeMapping_=event.mapping}))},["sourceopen","sourceclose","sourceended"].forEach((function(eventName){this.nativeMediaSource_.addEventListener(eventName,this.trigger.bind(this))}),_this),_this.on("sourceopen",(function(event){var video=document.querySelector('[src="'+_this.url_+'"]');video&&(_this.player_=videojs$1(video.parentNode),_this.player_&&(_this.player_.tech_.on("hls-reset",_this.onHlsReset_),_this.player_.tech_.on("hls-segment-time-mapping",_this.onHlsSegmentTimeMapping_),_this.player_.audioTracks&&_this.player_.audioTracks()&&(_this.player_.audioTracks().on("change",_this.updateActiveSourceBuffers_),_this.player_.audioTracks().on("addtrack",_this.updateActiveSourceBuffers_),_this.player_.audioTracks().on("removetrack",_this.updateActiveSourceBuffers_)),_this.player_.on("mediachange",_this.onPlayerMediachange_)))})),_this.on("sourceended",(function(event){for(var duration=durationOfVideo(_this.duration),i=0;i<_this.sourceBuffers.length;i++){var sourcebuffer=_this.sourceBuffers[i],cues=sourcebuffer.metadataTrack_&&sourcebuffer.metadataTrack_.cues;cues&&cues.length&&(cues[cues.length-1].endTime=duration)}})),_this.on("sourceclose",(function(event){this.sourceBuffers.forEach((function(sourceBuffer){sourceBuffer.transmuxer_&&sourceBuffer.transmuxer_.terminate()})),this.sourceBuffers.length=0,this.player_&&(this.player_.audioTracks&&this.player_.audioTracks()&&(this.player_.audioTracks().off("change",this.updateActiveSourceBuffers_),this.player_.audioTracks().off("addtrack",this.updateActiveSourceBuffers_),this.player_.audioTracks().off("removetrack",this.updateActiveSourceBuffers_)),this.player_.el_&&this.player_.off("mediachange",this.onPlayerMediachange_),this.player_.tech_&&this.player_.tech_.el_&&(this.player_.tech_.off("hls-reset",this.onHlsReset_),this.player_.tech_.off("hls-segment-time-mapping",this.onHlsSegmentTimeMapping_)))})),_this}return inherits$2(HtmlMediaSource,_videojs$EventTarget),createClass$1(HtmlMediaSource,[{key:"addSeekableRange_",value:function(start,end){var error=void 0;if(this.duration!==1/0)throw(error=new Error("MediaSource.addSeekableRange() can only be invoked when the duration is Infinity")).name="InvalidStateError",error.code=11,error;(end>this.nativeMediaSource_.duration||isNaN(this.nativeMediaSource_.duration))&&(this.nativeMediaSource_.duration=end)}},{key:"addSourceBuffer",value:function(type){var buffer=void 0,parsedType=parseContentType(type);if(/^(video|audio)\/mp2t$/i.test(parsedType.type)){var codecs=[];parsedType.parameters&&parsedType.parameters.codecs&&(codecs=parsedType.parameters.codecs.split(","),codecs=(codecs=translateLegacyCodecs(codecs)).filter((function(codec){return isAudioCodec(codec)||isVideoCodec(codec)}))),0===codecs.length&&(codecs=["avc1.4d400d","mp4a.40.2"]),buffer=new VirtualSourceBuffer(this,codecs),0!==this.sourceBuffers.length&&(this.sourceBuffers[0].createRealSourceBuffers_(),buffer.createRealSourceBuffers_(),this.sourceBuffers[0].audioDisabled_=!0)}else buffer=this.nativeMediaSource_.addSourceBuffer(type);return this.sourceBuffers.push(buffer),buffer}},{key:"dispose",value:function(){this.trigger("dispose"),this.off(),this.sourceBuffers.forEach((function(buffer){buffer.dispose&&buffer.dispose()})),this.sourceBuffers.length=0}}]),HtmlMediaSource}(videojs$1.EventTarget),urlCount=0;videojs$1.mediaSources={};var open=function(msObjectURL,swfId){var mediaSource=videojs$1.mediaSources[msObjectURL];if(!mediaSource)throw new Error("Media Source not found (Video.js)");mediaSource.trigger({type:"sourceopen",swfId:swfId})},supportsNativeMediaSources=function(){return!!window$3.MediaSource&&!!window$3.MediaSource.isTypeSupported&&window$3.MediaSource.isTypeSupported('video/mp4;codecs="avc1.4d400d,mp4a.40.2"')},MediaSource=function(){if(this.MediaSource={open:open,supportsNativeMediaSources:supportsNativeMediaSources},supportsNativeMediaSources())return new HtmlMediaSource;throw new Error("Cannot use create a virtual MediaSource for this video")};MediaSource.open=open,MediaSource.supportsNativeMediaSources=supportsNativeMediaSources;var URL$1={createObjectURL:function(object){var url=void 0;return object instanceof HtmlMediaSource?(url=window$3.URL.createObjectURL(object.nativeMediaSource_),object.url_=url,url):object instanceof HtmlMediaSource?(url="blob:vjs-media-source/"+urlCount,urlCount++,videojs$1.mediaSources[url]=object,url):(url=window$3.URL.createObjectURL(object),object.url_=url,url)}};videojs$1.MediaSource=MediaSource,videojs$1.URL=URL$1;var EventTarget$1$1=videojs$1.EventTarget,mergeOptions$2=videojs$1.mergeOptions,updateMaster$1=function(oldMaster,newMaster){for(var noChanges=void 0,update=mergeOptions$2(oldMaster,{duration:newMaster.duration,minimumUpdatePeriod:newMaster.minimumUpdatePeriod}),i=0;i<newMaster.playlists.length;i++){var playlistUpdate=updateMaster(update,newMaster.playlists[i]);playlistUpdate?update=playlistUpdate:noChanges=!0}return forEachMediaGroup(newMaster,(function(properties,type,group,label){if(properties.playlists&&properties.playlists.length){var id=properties.playlists[0].id,_playlistUpdate=updateMaster(update,properties.playlists[0]);_playlistUpdate&&((update=_playlistUpdate).mediaGroups[type][group][label].playlists[0]=update.playlists[id],noChanges=!1)}})),noChanges?null:update},generateSidxKey=function(sidxInfo){var sidxByteRangeEnd=sidxInfo.byterange.offset+sidxInfo.byterange.length-1;return sidxInfo.uri+"-"+sidxInfo.byterange.offset+"-"+sidxByteRangeEnd},compareSidxEntry=function(playlists,oldSidxMapping){var a,b,newSidxMapping={};for(var id in playlists){var currentSidxInfo=playlists[id].sidx;if(currentSidxInfo){var key=generateSidxKey(currentSidxInfo);if(!oldSidxMapping[key])break;var savedSidxInfo=oldSidxMapping[key].sidxInfo;a=savedSidxInfo,b=currentSidxInfo,(Boolean(!a.map&&!b.map)||Boolean(a.map&&b.map&&a.map.byterange.offset===b.map.byterange.offset&&a.map.byterange.length===b.map.byterange.length))&&a.uri===b.uri&&a.byterange.offset===b.byterange.offset&&a.byterange.length===b.byterange.length&&(newSidxMapping[key]=oldSidxMapping[key])}}return newSidxMapping},requestSidx_=function(sidxRange,playlist,xhr,options,finishProcessingFn){var sidxInfo={uri:resolveManifestRedirect(options.handleManifestRedirects,sidxRange.resolvedUri),byterange:sidxRange.byterange,playlist:playlist};return xhr(videojs$1.mergeOptions(sidxInfo,{responseType:"arraybuffer",headers:segmentXhrHeaders(sidxInfo)}),finishProcessingFn)},DashPlaylistLoader=function(_EventTarget){function DashPlaylistLoader(srcUrlOrPlaylist,hls){var options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},masterPlaylistLoader=arguments[3];classCallCheck$1(this,DashPlaylistLoader);var _this=possibleConstructorReturn$1(this,(DashPlaylistLoader.__proto__||Object.getPrototypeOf(DashPlaylistLoader)).call(this)),_options$withCredenti=options.withCredentials,withCredentials=void 0!==_options$withCredenti&&_options$withCredenti,_options$handleManife=options.handleManifestRedirects,handleManifestRedirects=void 0!==_options$handleManife&&_options$handleManife;if(_this.hls_=hls,_this.withCredentials=withCredentials,_this.handleManifestRedirects=handleManifestRedirects,!srcUrlOrPlaylist)throw new Error("A non-empty playlist URL or playlist is required");return _this.on("minimumUpdatePeriod",(function(){_this.refreshXml_()})),_this.on("mediaupdatetimeout",(function(){_this.refreshMedia_(_this.media().id)})),_this.state="HAVE_NOTHING",_this.loadedPlaylists_={},"string"==typeof srcUrlOrPlaylist?(_this.srcUrl=srcUrlOrPlaylist,_this.sidxMapping_={},possibleConstructorReturn$1(_this)):(_this.setupChildLoader(masterPlaylistLoader,srcUrlOrPlaylist),_this)}return inherits$2(DashPlaylistLoader,_EventTarget),createClass$1(DashPlaylistLoader,[{key:"setupChildLoader",value:function(masterPlaylistLoader,playlist){this.masterPlaylistLoader_=masterPlaylistLoader,this.childPlaylist_=playlist}},{key:"dispose",value:function(){this.trigger("dispose"),this.stopRequest(),this.loadedPlaylists_={},window$3.clearTimeout(this.minimumUpdatePeriodTimeout_),window$3.clearTimeout(this.mediaRequest_),window$3.clearTimeout(this.mediaUpdateTimeout),this.off()}},{key:"hasPendingRequest",value:function(){return this.request||this.mediaRequest_}},{key:"stopRequest",value:function(){if(this.request){var oldRequest=this.request;this.request=null,oldRequest.onreadystatechange=null,oldRequest.abort()}}},{key:"sidxRequestFinished_",value:function(playlist,master,startingState,doneFn){var _this2=this;return function(err,request){if(_this2.request){if(_this2.request=null,err)return _this2.error={status:request.status,message:"DASH playlist request error at URL: "+playlist.uri,response:request.response,code:2},startingState&&(_this2.state=startingState),_this2.trigger("error"),doneFn(master,null);var bytes=new Uint8Array(request.response),sidx=mp4Inspector.parseSidx(bytes.subarray(8));return doneFn(master,sidx)}}}},{key:"media",value:function(playlist){var _this3=this;if(!playlist)return this.media_;if("HAVE_NOTHING"===this.state)throw new Error("Cannot switch media playlist from "+this.state);var startingState=this.state;if("string"==typeof playlist){if(!this.master.playlists[playlist])throw new Error("Unknown playlist URI: "+playlist);playlist=this.master.playlists[playlist]}var mediaChange=!this.media_||playlist.id!==this.media_.id;if(mediaChange&&this.loadedPlaylists_[playlist.id]&&this.loadedPlaylists_[playlist.id].endList)return this.state="HAVE_METADATA",this.media_=playlist,void(mediaChange&&(this.trigger("mediachanging"),this.trigger("mediachange")));if(mediaChange)if(this.media_&&this.trigger("mediachanging"),playlist.sidx){var oldMaster=void 0,sidxMapping=void 0;this.masterPlaylistLoader_?(oldMaster=this.masterPlaylistLoader_.master,sidxMapping=this.masterPlaylistLoader_.sidxMapping_):(oldMaster=this.master,sidxMapping=this.sidxMapping_);var sidxKey=generateSidxKey(playlist.sidx);sidxMapping[sidxKey]={sidxInfo:playlist.sidx},this.request=requestSidx_(playlist.sidx,playlist,this.hls_.xhr,{handleManifestRedirects:this.handleManifestRedirects},this.sidxRequestFinished_(playlist,oldMaster,startingState,(function(newMaster,sidx){if(!newMaster||!sidx)throw new Error("failed to request sidx");sidxMapping[sidxKey].sidx=sidx,_this3.haveMetadata({startingState:startingState,playlist:newMaster.playlists[playlist.id]})})))}else this.mediaRequest_=window$3.setTimeout(this.haveMetadata.bind(this,{startingState:startingState,playlist:playlist}),0)}},{key:"haveMetadata",value:function(_ref){var startingState=_ref.startingState,playlist=_ref.playlist;this.state="HAVE_METADATA",this.loadedPlaylists_[playlist.id]=playlist,this.mediaRequest_=null,this.refreshMedia_(playlist.id),"HAVE_MASTER"===startingState?this.trigger("loadedmetadata"):this.trigger("mediachange")}},{key:"pause",value:function(){this.stopRequest(),window$3.clearTimeout(this.mediaUpdateTimeout),window$3.clearTimeout(this.minimumUpdatePeriodTimeout_),"HAVE_NOTHING"===this.state&&(this.started=!1)}},{key:"load",value:function(isFinalRendition){var _this4=this;window$3.clearTimeout(this.mediaUpdateTimeout),window$3.clearTimeout(this.minimumUpdatePeriodTimeout_);var media=this.media();if(isFinalRendition){var delay=media?media.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=window$3.setTimeout((function(){return _this4.load()}),delay)}else this.started?media&&!media.endList?this.trigger("mediaupdatetimeout"):this.trigger("loadedplaylist"):this.start()}},{key:"parseMasterXml",value:function(){var master=parse(this.masterXml_,{manifestUri:this.srcUrl,clientOffset:this.clientOffset_,sidxMapping:this.sidxMapping_});master.uri=this.srcUrl;for(var i=0;i<master.playlists.length;i++){var phonyUri="placeholder-uri-"+i;master.playlists[i].uri=phonyUri}return forEachMediaGroup(master,(function(properties,mediaType,groupKey,labelKey){if(properties.playlists&&properties.playlists.length){var _phonyUri="placeholder-uri-"+mediaType+"-"+groupKey+"-"+labelKey,id=createPlaylistID(0,_phonyUri);properties.playlists[0].uri=_phonyUri,properties.playlists[0].id=id,master.playlists[id]=properties.playlists[0],master.playlists[_phonyUri]=properties.playlists[0]}})),setupMediaPlaylists(master),resolveMediaGroupUris(master),master}},{key:"start",value:function(){var _this5=this;this.started=!0,this.masterPlaylistLoader_?this.mediaRequest_=window$3.setTimeout(this.haveMaster_.bind(this),0):this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},(function(error,req){if(_this5.request){if(_this5.request=null,error)return _this5.error={status:req.status,message:"DASH playlist request error at URL: "+_this5.srcUrl,responseText:req.responseText,code:2},"HAVE_NOTHING"===_this5.state&&(_this5.started=!1),_this5.trigger("error");_this5.masterXml_=req.responseText,req.responseHeaders&&req.responseHeaders.date?_this5.masterLoaded_=Date.parse(req.responseHeaders.date):_this5.masterLoaded_=Date.now(),_this5.srcUrl=resolveManifestRedirect(_this5.handleManifestRedirects,_this5.srcUrl,req),_this5.syncClientServerClock_(_this5.onClientServerClockSync_.bind(_this5))}}))}},{key:"syncClientServerClock_",value:function(done){var _this6=this,utcTiming=parseUTCTiming(this.masterXml_);return null===utcTiming?(this.clientOffset_=this.masterLoaded_-Date.now(),done()):"DIRECT"===utcTiming.method?(this.clientOffset_=utcTiming.value-Date.now(),done()):void(this.request=this.hls_.xhr({uri:resolveUrl$1(this.srcUrl,utcTiming.value),method:utcTiming.method,withCredentials:this.withCredentials},(function(error,req){if(_this6.request){if(error)return _this6.clientOffset_=_this6.masterLoaded_-Date.now(),done();var serverTime=void 0;serverTime="HEAD"===utcTiming.method?req.responseHeaders&&req.responseHeaders.date?Date.parse(req.responseHeaders.date):_this6.masterLoaded_:Date.parse(req.responseText),_this6.clientOffset_=serverTime-Date.now(),done()}})))}},{key:"haveMaster_",value:function(){this.state="HAVE_MASTER",this.mediaRequest_=null,this.masterPlaylistLoader_?this.media_||this.media(this.childPlaylist_):(this.master=this.parseMasterXml(),this.trigger("loadedplaylist"))}},{key:"onClientServerClockSync_",value:function(){var _this7=this;this.haveMaster_(),this.hasPendingRequest()||this.media_||this.media(this.master.playlists[0]),this.master&&this.master.minimumUpdatePeriod&&(this.minimumUpdatePeriodTimeout_=window$3.setTimeout((function(){_this7.trigger("minimumUpdatePeriod")}),this.master.minimumUpdatePeriod))}},{key:"refreshXml_",value:function(){var _this8=this;this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},(function(error,req){if(_this8.request){if(_this8.request=null,error)return _this8.error={status:req.status,message:"DASH playlist request error at URL: "+_this8.srcUrl,responseText:req.responseText,code:2},"HAVE_NOTHING"===_this8.state&&(_this8.started=!1),_this8.trigger("error");_this8.masterXml_=req.responseText,_this8.sidxMapping_=function(masterXml,srcUrl,clientOffset,oldSidxMapping){var master=parse(masterXml,{manifestUri:srcUrl,clientOffset:clientOffset}),mediaGroupSidx=compareSidxEntry(master.playlists,oldSidxMapping);return forEachMediaGroup(master,(function(properties,mediaType,groupKey,labelKey){if(properties.playlists&&properties.playlists.length){var playlists=properties.playlists;mediaGroupSidx=mergeOptions$2(mediaGroupSidx,compareSidxEntry(playlists,oldSidxMapping))}})),mediaGroupSidx}(_this8.masterXml_,_this8.srcUrl,_this8.clientOffset_,_this8.sidxMapping_);var master=_this8.parseMasterXml(),updatedMaster=updateMaster$1(_this8.master,master),currentSidxInfo=_this8.media().sidx;if(updatedMaster)if(currentSidxInfo){var sidxKey=generateSidxKey(currentSidxInfo);if(!_this8.sidxMapping_[sidxKey]){var playlist=_this8.media();_this8.request=requestSidx_(playlist.sidx,playlist,_this8.hls_.xhr,{handleManifestRedirects:_this8.handleManifestRedirects},_this8.sidxRequestFinished_(playlist,master,_this8.state,(function(newMaster,sidx){if(!newMaster||!sidx)throw new Error("failed to request sidx on minimumUpdatePeriod");_this8.sidxMapping_[sidxKey].sidx=sidx,_this8.minimumUpdatePeriodTimeout_=window$3.setTimeout((function(){_this8.trigger("minimumUpdatePeriod")}),_this8.master.minimumUpdatePeriod),_this8.refreshMedia_(_this8.media().id)})))}}else _this8.master=updatedMaster;_this8.minimumUpdatePeriodTimeout_=window$3.setTimeout((function(){_this8.trigger("minimumUpdatePeriod")}),_this8.master.minimumUpdatePeriod)}}))}},{key:"refreshMedia_",value:function(mediaID){var _this9=this;if(!mediaID)throw new Error("refreshMedia_ must take a media id");var oldMaster=void 0,newMaster=void 0;this.masterPlaylistLoader_?(oldMaster=this.masterPlaylistLoader_.master,newMaster=this.masterPlaylistLoader_.parseMasterXml()):(oldMaster=this.master,newMaster=this.parseMasterXml());var updatedMaster=updateMaster$1(oldMaster,newMaster);updatedMaster?(this.masterPlaylistLoader_?this.masterPlaylistLoader_.master=updatedMaster:this.master=updatedMaster,this.media_=updatedMaster.playlists[mediaID]):(this.media_=newMaster.playlists[mediaID],this.trigger("playlistunchanged")),this.media().endList||(this.mediaUpdateTimeout=window$3.setTimeout((function(){_this9.trigger("mediaupdatetimeout")}),refreshDelay(this.media(),!!updatedMaster))),this.trigger("loadedplaylist")}}]),DashPlaylistLoader}(EventTarget$1$1),logger=function(source){return videojs$1.log.debug?videojs$1.log.debug.bind(videojs$1,"VHS:",source+" >"):function(){}};function noop$1(){}var SourceUpdater=function(){function SourceUpdater(mediaSource,mimeType,type,sourceBufferEmitter){classCallCheck$1(this,SourceUpdater),this.callbacks_=[],this.pendingCallback_=null,this.timestampOffset_=0,this.mediaSource=mediaSource,this.processedAppend_=!1,this.type_=type,this.mimeType_=mimeType,this.logger_=logger("SourceUpdater["+type+"]["+mimeType+"]"),"closed"===mediaSource.readyState?mediaSource.addEventListener("sourceopen",this.createSourceBuffer_.bind(this,mimeType,sourceBufferEmitter)):this.createSourceBuffer_(mimeType,sourceBufferEmitter)}return createClass$1(SourceUpdater,[{key:"createSourceBuffer_",value:function(mimeType,sourceBufferEmitter){var _this=this;this.sourceBuffer_=this.mediaSource.addSourceBuffer(mimeType),this.logger_("created SourceBuffer"),sourceBufferEmitter&&(sourceBufferEmitter.trigger("sourcebufferadded"),this.mediaSource.sourceBuffers.length<2)?sourceBufferEmitter.on("sourcebufferadded",(function(){_this.start_()})):this.start_()}},{key:"start_",value:function(){var _this2=this;this.started_=!0,this.onUpdateendCallback_=function(){var pendingCallback=_this2.pendingCallback_;_this2.pendingCallback_=null,_this2.sourceBuffer_.removing=!1,_this2.logger_("buffered ["+printableRange(_this2.buffered())+"]"),pendingCallback&&pendingCallback(),_this2.runCallback_()},this.sourceBuffer_.addEventListener("updateend",this.onUpdateendCallback_),this.runCallback_()}},{key:"abort",value:function(done){var _this3=this;this.processedAppend_&&this.queueCallback_((function(){_this3.sourceBuffer_.abort()}),done)}},{key:"appendBuffer",value:function(config,done){var _this4=this;this.processedAppend_=!0,this.queueCallback_((function(){config.videoSegmentTimingInfoCallback&&_this4.sourceBuffer_.addEventListener("videoSegmentTimingInfo",config.videoSegmentTimingInfoCallback),_this4.sourceBuffer_.appendBuffer(config.bytes)}),(function(){config.videoSegmentTimingInfoCallback&&_this4.sourceBuffer_.removeEventListener("videoSegmentTimingInfo",config.videoSegmentTimingInfoCallback),done()}))}},{key:"buffered",value:function(){return this.sourceBuffer_?this.sourceBuffer_.buffered:videojs$1.createTimeRanges()}},{key:"remove",value:function(start,end){var _this5=this,done=arguments.length>2&&void 0!==arguments[2]?arguments[2]:noop$1;this.processedAppend_&&this.queueCallback_((function(){_this5.logger_("remove ["+start+" => "+end+"]"),_this5.sourceBuffer_.removing=!0,_this5.sourceBuffer_.remove(start,end)}),done)}},{key:"updating",value:function(){return!this.sourceBuffer_||this.sourceBuffer_.updating||!!this.pendingCallback_&&this.pendingCallback_!==noop$1}},{key:"timestampOffset",value:function(offset){var _this6=this;return void 0!==offset&&(this.queueCallback_((function(){_this6.sourceBuffer_.timestampOffset=offset,_this6.runCallback_()})),this.timestampOffset_=offset),this.timestampOffset_}},{key:"queueCallback_",value:function(callback,done){this.callbacks_.push([callback.bind(this),done]),this.runCallback_()}},{key:"runCallback_",value:function(){var callbacks=void 0;!this.updating()&&this.callbacks_.length&&this.started_&&(callbacks=this.callbacks_.shift(),this.pendingCallback_=callbacks[1],callbacks[0]())}},{key:"dispose",value:function(){var _this7=this,disposeFn=function disposeFn(){_this7.sourceBuffer_&&"open"===_this7.mediaSource.readyState&&_this7.sourceBuffer_.abort(),_this7.sourceBuffer_.removeEventListener("updateend",disposeFn)};this.sourceBuffer_.removeEventListener("updateend",this.onUpdateendCallback_),this.sourceBuffer_.removing?this.sourceBuffer_.addEventListener("updateend",disposeFn):disposeFn()}}]),SourceUpdater}(),Config={GOAL_BUFFER_LENGTH:30,MAX_GOAL_BUFFER_LENGTH:60,GOAL_BUFFER_LENGTH_RATE:1,INITIAL_BANDWIDTH:4194304,BANDWIDTH_VARIANCE:1.2,BUFFER_LOW_WATER_LINE:0,MAX_BUFFER_LOW_WATER_LINE:30,BUFFER_LOW_WATER_LINE_RATE:1},REQUEST_ERRORS_FAILURE=2,REQUEST_ERRORS_TIMEOUT=-101,REQUEST_ERRORS_ABORTED=-102,abortAll=function(activeXhrs){activeXhrs.forEach((function(xhr){xhr.abort()}))},handleErrors=function(error,request){return request.timedout?{status:request.status,message:"HLS request timed-out at URL: "+request.uri,code:REQUEST_ERRORS_TIMEOUT,xhr:request}:request.aborted?{status:request.status,message:"HLS request aborted at URL: "+request.uri,code:REQUEST_ERRORS_ABORTED,xhr:request}:error?{status:request.status,message:"HLS request errored at URL: "+request.uri,code:REQUEST_ERRORS_FAILURE,xhr:request}:null},waitForCompletion=function(activeXhrs,decrypter,doneFn){var count=0,didError=!1;return function(error,segment){if(!didError)return error?(didError=!0,abortAll(activeXhrs),doneFn(error,segment)):(count+=1)===activeXhrs.length?(segment.endOfAllRequests=Date.now(),segment.encryptedBytes?function(decrypter,segment,doneFn){decrypter.addEventListener("message",(function decryptionHandler(event){if(event.data.source===segment.requestId){decrypter.removeEventListener("message",decryptionHandler);var decrypted=event.data.decrypted;return segment.bytes=new Uint8Array(decrypted.bytes,decrypted.byteOffset,decrypted.byteLength),doneFn(null,segment)}}));var keyBytes=void 0;keyBytes=segment.key.bytes.slice?segment.key.bytes.slice():new Uint32Array(Array.prototype.slice.call(segment.key.bytes)),decrypter.postMessage(createTransferableMessage({source:segment.requestId,encrypted:segment.encryptedBytes,key:keyBytes,iv:segment.key.iv}),[segment.encryptedBytes.buffer,keyBytes.buffer])}(decrypter,segment,doneFn):doneFn(null,segment)):void 0}},handleProgress=function(segment,progressFn){return function(event){var progressEvent,request,stats;return segment.stats=videojs$1.mergeOptions(segment.stats,(request=(progressEvent=event).target,(stats={bandwidth:1/0,bytesReceived:0,roundTripTime:Date.now()-request.requestTime||0}).bytesReceived=progressEvent.loaded,stats.bandwidth=Math.floor(stats.bytesReceived/stats.roundTripTime*8*1e3),stats)),!segment.stats.firstBytesReceivedAt&&segment.stats.bytesReceived&&(segment.stats.firstBytesReceivedAt=Date.now()),progressFn(event,segment)}},mediaSegmentRequest=function(xhr,xhrOptions,decryptionWorker,captionParser,segment,progressFn,doneFn){var activeXhrs=[],finishProcessingFn=waitForCompletion(activeXhrs,decryptionWorker,doneFn);if(segment.key&&!segment.key.bytes){var keyRequestOptions=videojs$1.mergeOptions(xhrOptions,{uri:segment.key.resolvedUri,responseType:"arraybuffer"}),keyRequestCallback=function(segment,finishProcessingFn){return function(error,request){var response=request.response,errorObj=handleErrors(error,request);if(errorObj)return finishProcessingFn(errorObj,segment);if(16!==response.byteLength)return finishProcessingFn({status:request.status,message:"Invalid HLS key at URL: "+request.uri,code:REQUEST_ERRORS_FAILURE,xhr:request},segment);var view=new DataView(response);return segment.key.bytes=new Uint32Array([view.getUint32(0),view.getUint32(4),view.getUint32(8),view.getUint32(12)]),finishProcessingFn(null,segment)}}(segment,finishProcessingFn),keyXhr=xhr(keyRequestOptions,keyRequestCallback);activeXhrs.push(keyXhr)}if(segment.map&&!segment.map.bytes){var initSegmentOptions=videojs$1.mergeOptions(xhrOptions,{uri:segment.map.resolvedUri,responseType:"arraybuffer",headers:segmentXhrHeaders(segment.map)}),initSegmentRequestCallback=function(segment,captionParser,finishProcessingFn){return function(error,request){var response=request.response,errorObj=handleErrors(error,request);return errorObj?finishProcessingFn(errorObj,segment):0===response.byteLength?finishProcessingFn({status:request.status,message:"Empty HLS segment content at URL: "+request.uri,code:REQUEST_ERRORS_FAILURE,xhr:request},segment):(segment.map.bytes=new Uint8Array(request.response),captionParser&&!captionParser.isInitialized()&&captionParser.init(),segment.map.timescales=probe.timescale(segment.map.bytes),segment.map.videoTrackIds=probe.videoTrackIds(segment.map.bytes),finishProcessingFn(null,segment))}}(segment,captionParser,finishProcessingFn),initSegmentXhr=xhr(initSegmentOptions,initSegmentRequestCallback);activeXhrs.push(initSegmentXhr)}var segmentRequestOptions=videojs$1.mergeOptions(xhrOptions,{uri:segment.resolvedUri,responseType:"arraybuffer",headers:segmentXhrHeaders(segment)}),segmentRequestCallback=function(segment,captionParser,finishProcessingFn){return function(error,request){var response=request.response,errorObj=handleErrors(error,request),parsed=void 0;return errorObj?finishProcessingFn(errorObj,segment):0===response.byteLength?finishProcessingFn({status:request.status,message:"Empty HLS segment content at URL: "+request.uri,code:REQUEST_ERRORS_FAILURE,xhr:request},segment):(segment.stats=function(request){return{bandwidth:request.bandwidth,bytesReceived:request.bytesReceived||0,roundTripTime:request.roundTripTime||0}}(request),segment.key?segment.encryptedBytes=new Uint8Array(request.response):segment.bytes=new Uint8Array(request.response),captionParser&&segment.map&&segment.map.bytes&&(captionParser.isInitialized()||captionParser.init(),(parsed=captionParser.parse(segment.bytes,segment.map.videoTrackIds,segment.map.timescales))&&parsed.captions&&(segment.captionStreams=parsed.captionStreams,segment.fmp4Captions=parsed.captions)),finishProcessingFn(null,segment))}}(segment,captionParser,finishProcessingFn),segmentXhr=xhr(segmentRequestOptions,segmentRequestCallback);return segmentXhr.addEventListener("progress",handleProgress(segment,progressFn)),activeXhrs.push(segmentXhr),function(){return abortAll(activeXhrs)}},safeGetComputedStyle=function(el,property){var result;return el&&(result=window$3.getComputedStyle(el))?result[property]:""},stableSort=function(array,sortFn){var newArray=array.slice();array.sort((function(left,right){var cmp=sortFn(left,right);return 0===cmp?newArray.indexOf(left)-newArray.indexOf(right):cmp}))},comparePlaylistBandwidth=function(left,right){var leftBandwidth=void 0,rightBandwidth=void 0;return left.attributes.BANDWIDTH&&(leftBandwidth=left.attributes.BANDWIDTH),leftBandwidth=leftBandwidth||window$3.Number.MAX_VALUE,right.attributes.BANDWIDTH&&(rightBandwidth=right.attributes.BANDWIDTH),leftBandwidth-(rightBandwidth=rightBandwidth||window$3.Number.MAX_VALUE)},detectEndOfStream=function(playlist,mediaSource,segmentIndex){if(!playlist||!mediaSource)return!1;var appendedLastSegment=segmentIndex===playlist.segments.length;return playlist.endList&&"open"===mediaSource.readyState&&appendedLastSegment},finite=function(num){return"number"==typeof num&&isFinite(num)},SegmentLoader=function(_videojs$EventTarget){function SegmentLoader(settings){classCallCheck$1(this,SegmentLoader);var _this=possibleConstructorReturn$1(this,(SegmentLoader.__proto__||Object.getPrototypeOf(SegmentLoader)).call(this));if(!settings)throw new TypeError("Initialization settings are required");if("function"!=typeof settings.currentTime)throw new TypeError("No currentTime getter specified");if(!settings.mediaSource)throw new TypeError("No MediaSource specified");return _this.bandwidth=settings.bandwidth,_this.throughput={rate:0,count:0},_this.roundTrip=NaN,_this.resetStats_(),_this.mediaIndex=null,_this.hasPlayed_=settings.hasPlayed,_this.currentTime_=settings.currentTime,_this.seekable_=settings.seekable,_this.seeking_=settings.seeking,_this.duration_=settings.duration,_this.mediaSource_=settings.mediaSource,_this.hls_=settings.hls,_this.loaderType_=settings.loaderType,_this.startingMedia_=void 0,_this.segmentMetadataTrack_=settings.segmentMetadataTrack,_this.goalBufferLength_=settings.goalBufferLength,_this.sourceType_=settings.sourceType,_this.inbandTextTracks_=settings.inbandTextTracks,_this.state_="INIT",_this.checkBufferTimeout_=null,_this.error_=void 0,_this.currentTimeline_=-1,_this.pendingSegment_=null,_this.mimeType_=null,_this.sourceUpdater_=null,_this.xhrOptions_=null,_this.activeInitSegmentId_=null,_this.initSegments_={},_this.cacheEncryptionKeys_=settings.cacheEncryptionKeys,_this.keyCache_={},"main"===_this.loaderType_?_this.captionParser_=new captionParser:_this.captionParser_=null,_this.decrypter_=settings.decrypter,_this.syncController_=settings.syncController,_this.syncPoint_={segmentIndex:0,time:0},_this.triggerSyncInfoUpdate_=function(){return _this.trigger("syncinfoupdate")},_this.syncController_.on("syncinfoupdate",_this.triggerSyncInfoUpdate_),_this.mediaSource_.addEventListener("sourceopen",(function(){return _this.ended_=!1})),_this.fetchAtBuffer_=!1,_this.logger_=logger("SegmentLoader["+_this.loaderType_+"]"),Object.defineProperty(_this,"state",{get:function(){return this.state_},set:function(newState){newState!==this.state_&&(this.logger_(this.state_+" -> "+newState),this.state_=newState)}}),_this}return inherits$2(SegmentLoader,_videojs$EventTarget),createClass$1(SegmentLoader,[{key:"resetStats_",value:function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0}},{key:"dispose",value:function(){this.trigger("dispose"),this.state="DISPOSED",this.pause(),this.abort_(),this.sourceUpdater_&&this.sourceUpdater_.dispose(),this.resetStats_(),this.captionParser_&&this.captionParser_.reset(),this.checkBufferTimeout_&&window$3.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off("syncinfoupdate",this.triggerSyncInfoUpdate_),this.off()}},{key:"abort",value:function(){"WAITING"===this.state?(this.abort_(),this.state="READY",this.paused()||this.monitorBuffer_()):this.pendingSegment_&&(this.pendingSegment_=null)}},{key:"abort_",value:function(){this.pendingSegment_&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null}},{key:"error",value:function(_error){return void 0!==_error&&(this.error_=_error),this.pendingSegment_=null,this.error_}},{key:"endOfStream",value:function(){this.ended_=!0,this.pause(),this.trigger("ended")}},{key:"buffered_",value:function(){return this.sourceUpdater_?this.sourceUpdater_.buffered():videojs$1.createTimeRanges()}},{key:"initSegment",value:function(map){var set$$1=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!map)return null;var id=initSegmentId(map),storedMap=this.initSegments_[id];return set$$1&&!storedMap&&map.bytes&&(this.initSegments_[id]=storedMap={resolvedUri:map.resolvedUri,byterange:map.byterange,bytes:map.bytes,timescales:map.timescales,videoTrackIds:map.videoTrackIds}),storedMap||map}},{key:"segmentKey",value:function(key){var set$$1=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!key)return null;var id=segmentKeyId(key),storedKey=this.keyCache_[id];this.cacheEncryptionKeys_&&set$$1&&!storedKey&&key.bytes&&(this.keyCache_[id]=storedKey={resolvedUri:key.resolvedUri,bytes:key.bytes});var result={resolvedUri:(storedKey||key).resolvedUri};return storedKey&&(result.bytes=storedKey.bytes),result}},{key:"couldBeginLoading_",value:function(){return this.playlist_&&(this.sourceUpdater_||this.mimeType_&&"INIT"===this.state)&&!this.paused()}},{key:"load",value:function(){if(this.monitorBuffer_(),this.playlist_){if(this.syncController_.setDateTimeMapping(this.playlist_),"INIT"===this.state&&this.couldBeginLoading_())return this.init_();!this.couldBeginLoading_()||"READY"!==this.state&&"INIT"!==this.state||(this.state="READY")}}},{key:"init_",value:function(){return this.state="READY",this.sourceUpdater_=new SourceUpdater(this.mediaSource_,this.mimeType_,this.loaderType_,this.sourceBufferEmitter_),this.resetEverything(),this.monitorBuffer_()}},{key:"playlist",value:function(newPlaylist){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(newPlaylist){var oldPlaylist=this.playlist_,segmentInfo=this.pendingSegment_;this.playlist_=newPlaylist,this.xhrOptions_=options,"INIT"===this.state&&(newPlaylist.syncInfo={mediaSequence:newPlaylist.mediaSequence,time:0});var oldId=null;if(oldPlaylist&&(oldPlaylist.id?oldId=oldPlaylist.id:oldPlaylist.uri&&(oldId=oldPlaylist.uri)),this.logger_("playlist update ["+oldId+" => "+(newPlaylist.id||newPlaylist.uri)+"]"),this.trigger("syncinfoupdate"),"INIT"===this.state&&this.couldBeginLoading_())return this.init_();if(oldPlaylist&&oldPlaylist.uri===newPlaylist.uri){var mediaSequenceDiff=newPlaylist.mediaSequence-oldPlaylist.mediaSequence;this.logger_("live window shift ["+mediaSequenceDiff+"]"),null!==this.mediaIndex&&(this.mediaIndex-=mediaSequenceDiff),segmentInfo&&(segmentInfo.mediaIndex-=mediaSequenceDiff,segmentInfo.mediaIndex>=0&&(segmentInfo.segment=newPlaylist.segments[segmentInfo.mediaIndex])),this.syncController_.saveExpiredSegmentInfo(oldPlaylist,newPlaylist)}else null!==this.mediaIndex&&this.resyncLoader()}}},{key:"pause",value:function(){this.checkBufferTimeout_&&(window$3.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)}},{key:"paused",value:function(){return null===this.checkBufferTimeout_}},{key:"mimeType",value:function(_mimeType,sourceBufferEmitter){this.mimeType_||(this.mimeType_=_mimeType,this.sourceBufferEmitter_=sourceBufferEmitter,"INIT"===this.state&&this.couldBeginLoading_()&&this.init_())}},{key:"resetEverything",value:function(done){this.ended_=!1,this.resetLoader(),this.remove(0,1/0,done),this.captionParser_&&this.captionParser_.clearAllCaptions(),this.trigger("reseteverything")}},{key:"resetLoader",value:function(){this.fetchAtBuffer_=!1,this.resyncLoader()}},{key:"resyncLoader",value:function(){this.mediaIndex=null,this.syncPoint_=null,this.abort()}},{key:"remove",value:function(start,end,done){if(end===1/0&&(end=this.duration_()),this.sourceUpdater_&&this.sourceUpdater_.remove(start,end,done),removeCuesFromTrack(start,end,this.segmentMetadataTrack_),this.inbandTextTracks_)for(var id in this.inbandTextTracks_)removeCuesFromTrack(start,end,this.inbandTextTracks_[id])}},{key:"monitorBuffer_",value:function(){this.checkBufferTimeout_&&window$3.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=window$3.setTimeout(this.monitorBufferTick_.bind(this),1)}},{key:"monitorBufferTick_",value:function(){"READY"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&window$3.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=window$3.setTimeout(this.monitorBufferTick_.bind(this),500)}},{key:"fillBuffer_",value:function(){if(!this.sourceUpdater_.updating()){this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var segmentInfo=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);segmentInfo&&(this.isEndOfStream_(segmentInfo.mediaIndex)?this.endOfStream():(segmentInfo.mediaIndex!==this.playlist_.segments.length-1||"ended"!==this.mediaSource_.readyState||this.seeking_())&&(segmentInfo.timeline!==this.currentTimeline_&&(this.syncController_.reset(),segmentInfo.timestampOffset=segmentInfo.startOfSegment,this.captionParser_&&this.captionParser_.clearAllCaptions()),this.loadSegment_(segmentInfo)))}}},{key:"isEndOfStream_",value:function(mediaIndex){var playlist=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.playlist_;return detectEndOfStream(playlist,this.mediaSource_,mediaIndex)&&!this.sourceUpdater_.updating()}},{key:"checkBuffer_",value:function(buffered,playlist,mediaIndex,hasPlayed,currentTime,syncPoint){var lastBufferedEnd=0,startOfSegment=void 0;buffered.length&&(lastBufferedEnd=buffered.end(buffered.length-1));var bufferedTime=Math.max(0,lastBufferedEnd-currentTime);if(!playlist.segments.length)return null;if(bufferedTime>=this.goalBufferLength_())return null;if(!hasPlayed&&bufferedTime>=1)return null;if(null===syncPoint)return mediaIndex=this.getSyncSegmentCandidate_(playlist),this.generateSegmentInfo_(playlist,mediaIndex,null,!0);if(null!==mediaIndex)return playlist.segments[mediaIndex],startOfSegment=lastBufferedEnd,this.generateSegmentInfo_(playlist,mediaIndex+1,startOfSegment,!1);if(this.fetchAtBuffer_){var mediaSourceInfo=Playlist.getMediaInfoForTime(playlist,lastBufferedEnd,syncPoint.segmentIndex,syncPoint.time);mediaIndex=mediaSourceInfo.mediaIndex,startOfSegment=mediaSourceInfo.startTime}else{var _mediaSourceInfo=Playlist.getMediaInfoForTime(playlist,currentTime,syncPoint.segmentIndex,syncPoint.time);mediaIndex=_mediaSourceInfo.mediaIndex,startOfSegment=_mediaSourceInfo.startTime}return this.generateSegmentInfo_(playlist,mediaIndex,startOfSegment,!1)}},{key:"getSyncSegmentCandidate_",value:function(playlist){var _this2=this;if(-1===this.currentTimeline_)return 0;var segmentIndexArray=playlist.segments.map((function(s,i){return{timeline:s.timeline,segmentIndex:i}})).filter((function(s){return s.timeline===_this2.currentTimeline_}));return segmentIndexArray.length?segmentIndexArray[Math.min(segmentIndexArray.length-1,1)].segmentIndex:Math.max(playlist.segments.length-1,0)}},{key:"generateSegmentInfo_",value:function(playlist,mediaIndex,startOfSegment,isSyncRequest){if(mediaIndex<0||mediaIndex>=playlist.segments.length)return null;var segment=playlist.segments[mediaIndex];return{requestId:"segment-loader-"+Math.random(),uri:segment.resolvedUri,mediaIndex:mediaIndex,isSyncRequest:isSyncRequest,startOfSegment:startOfSegment,playlist:playlist,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:segment.timeline,duration:segment.duration,segment:segment}}},{key:"abortRequestEarly_",value:function(stats){if(this.hls_.tech_.paused()||!this.xhrOptions_.timeout||!this.playlist_.attributes.BANDWIDTH)return!1;if(Date.now()-(stats.firstBytesReceivedAt||Date.now())<1e3)return!1;var currentTime=this.currentTime_(),measuredBandwidth=stats.bandwidth,segmentDuration=this.pendingSegment_.duration,requestTimeRemaining=Playlist.estimateSegmentRequestTime(segmentDuration,measuredBandwidth,this.playlist_,stats.bytesReceived),timeUntilRebuffer$$1=function(buffered,currentTime){var playbackRate=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return((buffered.length?buffered.end(buffered.length-1):0)-currentTime)/playbackRate}(this.buffered_(),currentTime,this.hls_.tech_.playbackRate())-1;if(requestTimeRemaining<=timeUntilRebuffer$$1)return!1;var switchCandidate=function(settings){var master=settings.master,currentTime=settings.currentTime,bandwidth=settings.bandwidth,duration$$1=settings.duration,segmentDuration=settings.segmentDuration,timeUntilRebuffer=settings.timeUntilRebuffer,currentTimeline=settings.currentTimeline,syncController=settings.syncController,compatiblePlaylists=master.playlists.filter((function(playlist){return!Playlist.isIncompatible(playlist)})),enabledPlaylists=compatiblePlaylists.filter(Playlist.isEnabled);enabledPlaylists.length||(enabledPlaylists=compatiblePlaylists.filter((function(playlist){return!Playlist.isDisabled(playlist)})));var rebufferingEstimates=enabledPlaylists.filter(Playlist.hasAttribute.bind(null,"BANDWIDTH")).map((function(playlist){var numRequests=syncController.getSyncPoint(playlist,duration$$1,currentTimeline,currentTime)?1:2;return{playlist:playlist,rebufferingImpact:Playlist.estimateSegmentRequestTime(segmentDuration,bandwidth,playlist)*numRequests-timeUntilRebuffer}})),noRebufferingPlaylists=rebufferingEstimates.filter((function(estimate){return estimate.rebufferingImpact<=0}));return stableSort(noRebufferingPlaylists,(function(a,b){return comparePlaylistBandwidth(b.playlist,a.playlist)})),noRebufferingPlaylists.length?noRebufferingPlaylists[0]:(stableSort(rebufferingEstimates,(function(a,b){return a.rebufferingImpact-b.rebufferingImpact})),rebufferingEstimates[0]||null)}({master:this.hls_.playlists.master,currentTime:currentTime,bandwidth:measuredBandwidth,duration:this.duration_(),segmentDuration:segmentDuration,timeUntilRebuffer:timeUntilRebuffer$$1,currentTimeline:this.currentTimeline_,syncController:this.syncController_});if(switchCandidate){var timeSavedBySwitching=requestTimeRemaining-timeUntilRebuffer$$1-switchCandidate.rebufferingImpact,minimumTimeSaving=.5;return timeUntilRebuffer$$1<=.03333333333333333&&(minimumTimeSaving=1),!(!switchCandidate.playlist||switchCandidate.playlist.uri===this.playlist_.uri||timeSavedBySwitching<minimumTimeSaving)&&(this.bandwidth=switchCandidate.playlist.attributes.BANDWIDTH*Config.BANDWIDTH_VARIANCE+1,this.abort(),this.trigger("earlyabort"),!0)}}},{key:"handleProgress_",value:function(event,simpleSegment){this.pendingSegment_&&simpleSegment.requestId===this.pendingSegment_.requestId&&!this.abortRequestEarly_(simpleSegment.stats)&&this.trigger("progress")}},{key:"loadSegment_",value:function(segmentInfo){this.state="WAITING",this.pendingSegment_=segmentInfo,this.trimBackBuffer_(segmentInfo),segmentInfo.abortRequests=mediaSegmentRequest(this.hls_.xhr,this.xhrOptions_,this.decrypter_,this.captionParser_,this.createSimplifiedSegmentObj_(segmentInfo),this.handleProgress_.bind(this),this.segmentRequestFinished_.bind(this))}},{key:"trimBackBuffer_",value:function(segmentInfo){var removeToTime=function(seekable$$1,currentTime,targetDuration){var trimTime=currentTime-30;seekable$$1.length&&(trimTime=Math.max(trimTime,seekable$$1.start(0)));var maxTrimTime=currentTime-targetDuration;return Math.min(maxTrimTime,trimTime)}(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);removeToTime>0&&this.remove(0,removeToTime)}},{key:"createSimplifiedSegmentObj_",value:function(segmentInfo){var segment=segmentInfo.segment,simpleSegment={resolvedUri:segment.resolvedUri,byterange:segment.byterange,requestId:segmentInfo.requestId};if(segment.key){var iv=segment.key.iv||new Uint32Array([0,0,0,segmentInfo.mediaIndex+segmentInfo.playlist.mediaSequence]);simpleSegment.key=this.segmentKey(segment.key),simpleSegment.key.iv=iv}return segment.map&&(simpleSegment.map=this.initSegment(segment.map)),simpleSegment}},{key:"segmentRequestFinished_",value:function(error,simpleSegment){if(this.mediaRequests+=1,simpleSegment.stats&&(this.mediaBytesTransferred+=simpleSegment.stats.bytesReceived,this.mediaTransferDuration+=simpleSegment.stats.roundTripTime),this.pendingSegment_){if(simpleSegment.requestId===this.pendingSegment_.requestId){if(error)return this.pendingSegment_=null,this.state="READY",error.code===REQUEST_ERRORS_ABORTED?void(this.mediaRequestsAborted+=1):(this.pause(),error.code===REQUEST_ERRORS_TIMEOUT?(this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,void this.trigger("bandwidthupdate")):(this.mediaRequestsErrored+=1,this.error(error),void this.trigger("error")));this.bandwidth=simpleSegment.stats.bandwidth,this.roundTrip=simpleSegment.stats.roundTripTime,simpleSegment.map&&(simpleSegment.map=this.initSegment(simpleSegment.map,!0)),simpleSegment.key&&this.segmentKey(simpleSegment.key,!0),this.processSegmentResponse_(simpleSegment)}}else this.mediaRequestsAborted+=1}},{key:"processSegmentResponse_",value:function(simpleSegment){var segmentInfo=this.pendingSegment_;segmentInfo.bytes=simpleSegment.bytes,simpleSegment.map&&(segmentInfo.segment.map.bytes=simpleSegment.map.bytes),segmentInfo.endOfAllRequests=simpleSegment.endOfAllRequests,simpleSegment.fmp4Captions&&(function(inbandTextTracks,tech,captionStreams){for(var trackId in captionStreams)if(!inbandTextTracks[trackId]){tech.trigger({type:"usage",name:"hls-608"});var track=tech.textTracks().getTrackById(trackId);inbandTextTracks[trackId]=track||tech.addRemoteTextTrack({kind:"captions",id:trackId,label:trackId},!1).track}}(this.inbandTextTracks_,this.hls_.tech_,simpleSegment.captionStreams),function(_ref){var inbandTextTracks=_ref.inbandTextTracks,captionArray=_ref.captionArray,timestampOffset=_ref.timestampOffset;if(captionArray){var Cue=window.WebKitDataCue||window.VTTCue;captionArray.forEach((function(caption){var track=caption.stream,startTime=caption.startTime,endTime=caption.endTime;inbandTextTracks[track]&&(startTime+=timestampOffset,endTime+=timestampOffset,inbandTextTracks[track].addCue(new Cue(startTime,endTime,caption.text)))}))}}({inbandTextTracks:this.inbandTextTracks_,captionArray:simpleSegment.fmp4Captions,timestampOffset:0}),this.captionParser_&&this.captionParser_.clearParsedCaptions()),this.handleSegment_()}},{key:"handleSegment_",value:function(){var _this3=this;if(this.pendingSegment_){var segmentInfo=this.pendingSegment_,segment=segmentInfo.segment,timingInfo=this.syncController_.probeSegmentInfo(segmentInfo);void 0===this.startingMedia_&&timingInfo&&(timingInfo.containsAudio||timingInfo.containsVideo)&&(this.startingMedia_={containsAudio:timingInfo.containsAudio,containsVideo:timingInfo.containsVideo});var loaderType,startingMedia,newSegmentMedia,illegalMediaSwitchError=(loaderType=this.loaderType_,startingMedia=this.startingMedia_,newSegmentMedia=timingInfo,"main"===loaderType&&startingMedia&&newSegmentMedia?newSegmentMedia.containsAudio||newSegmentMedia.containsVideo?startingMedia.containsVideo&&!newSegmentMedia.containsVideo?"Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.":!startingMedia.containsVideo&&newSegmentMedia.containsVideo?"Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.":null:"Neither audio nor video found in segment.":null);if(illegalMediaSwitchError)return this.error({message:illegalMediaSwitchError,blacklistDuration:1/0}),void this.trigger("error");if(segmentInfo.isSyncRequest)return this.trigger("syncinfoupdate"),this.pendingSegment_=null,void(this.state="READY");if(null!==segmentInfo.timestampOffset&&segmentInfo.timestampOffset!==this.sourceUpdater_.timestampOffset()){if(timingInfo&&timingInfo.segmentTimestampInfo){var ptsStartTime=timingInfo.segmentTimestampInfo[0].ptsTime,dtsStartTime=timingInfo.segmentTimestampInfo[0].dtsTime;segmentInfo.timestampOffset-=ptsStartTime-dtsStartTime}this.sourceUpdater_.timestampOffset(segmentInfo.timestampOffset),this.trigger("timestampoffset")}var timelineMapping=this.syncController_.mappingForTimeline(segmentInfo.timeline);if(null!==timelineMapping&&this.trigger({type:"segmenttimemapping",mapping:timelineMapping}),this.state="APPENDING",segment.map){var initId=initSegmentId(segment.map);if(!this.activeInitSegmentId_||this.activeInitSegmentId_!==initId){var initSegment=this.initSegment(segment.map);this.sourceUpdater_.appendBuffer({bytes:initSegment.bytes},(function(){_this3.activeInitSegmentId_=initId}))}}segmentInfo.byteLength=segmentInfo.bytes.byteLength,"number"==typeof segment.start&&"number"==typeof segment.end?this.mediaSecondsLoaded+=segment.end-segment.start:this.mediaSecondsLoaded+=segment.duration,this.logger_(function(segmentInfo){var _segmentInfo$segment=segmentInfo.segment,start=_segmentInfo$segment.start,end=_segmentInfo$segment.end,_segmentInfo$playlist=segmentInfo.playlist,seq=_segmentInfo$playlist.mediaSequence,id=_segmentInfo$playlist.id,_segmentInfo$playlist2=_segmentInfo$playlist.segments,segments=void 0===_segmentInfo$playlist2?[]:_segmentInfo$playlist2,index=segmentInfo.mediaIndex,timeline=segmentInfo.timeline;return["appending ["+index+"] of ["+seq+", "+(seq+segments.length)+"] from playlist ["+id+"]","["+start+" => "+end+"] in timeline ["+timeline+"]"].join(" ")}(segmentInfo)),this.sourceUpdater_.appendBuffer({bytes:segmentInfo.bytes,videoSegmentTimingInfoCallback:this.handleVideoSegmentTimingInfo_.bind(this,segmentInfo.requestId)},this.handleUpdateEnd_.bind(this))}else this.state="READY"}},{key:"handleVideoSegmentTimingInfo_",value:function(requestId,event){if(this.pendingSegment_&&requestId===this.pendingSegment_.requestId){var segment=this.pendingSegment_.segment;segment.videoTimingInfo||(segment.videoTimingInfo={}),segment.videoTimingInfo.transmuxerPrependedSeconds=event.videoSegmentTimingInfo.prependedContentDuration||0,segment.videoTimingInfo.transmuxedPresentationStart=event.videoSegmentTimingInfo.start.presentation,segment.videoTimingInfo.transmuxedPresentationEnd=event.videoSegmentTimingInfo.end.presentation,segment.videoTimingInfo.baseMediaDecodeTime=event.videoSegmentTimingInfo.baseMediaDecodeTime}}},{key:"handleUpdateEnd_",value:function(){if(!this.pendingSegment_)return this.state="READY",void(this.paused()||this.monitorBuffer_());var segmentInfo=this.pendingSegment_,segment=segmentInfo.segment,isWalkingForward=null!==this.mediaIndex;this.pendingSegment_=null,this.recordThroughput_(segmentInfo),this.addSegmentMetadataCue_(segmentInfo),this.state="READY",this.mediaIndex=segmentInfo.mediaIndex,this.fetchAtBuffer_=!0,this.currentTimeline_=segmentInfo.timeline,this.trigger("syncinfoupdate"),segment.end&&this.currentTime_()-segment.end>3*segmentInfo.playlist.targetDuration?this.resetEverything():(isWalkingForward&&this.trigger("bandwidthupdate"),this.trigger("progress"),this.isEndOfStream_(segmentInfo.mediaIndex+1,segmentInfo.playlist)&&this.endOfStream(),this.paused()||this.monitorBuffer_())}},{key:"recordThroughput_",value:function(segmentInfo){var rate=this.throughput.rate,segmentProcessingTime=Date.now()-segmentInfo.endOfAllRequests+1,segmentProcessingThroughput=Math.floor(segmentInfo.byteLength/segmentProcessingTime*8*1e3);this.throughput.rate+=(segmentProcessingThroughput-rate)/++this.throughput.count}},{key:"addSegmentMetadataCue_",value:function(segmentInfo){if(this.segmentMetadataTrack_){var segment=segmentInfo.segment,start=segment.start,end=segment.end;if(finite(start)&&finite(end)){removeCuesFromTrack(start,end,this.segmentMetadataTrack_);var Cue=window$3.WebKitDataCue||window$3.VTTCue,value={custom:segment.custom,dateTimeObject:segment.dateTimeObject,dateTimeString:segment.dateTimeString,bandwidth:segmentInfo.playlist.attributes.BANDWIDTH,resolution:segmentInfo.playlist.attributes.RESOLUTION,codecs:segmentInfo.playlist.attributes.CODECS,byteLength:segmentInfo.byteLength,uri:segmentInfo.uri,timeline:segmentInfo.timeline,playlist:segmentInfo.playlist.id,start:start,end:end},cue=new Cue(start,end,JSON.stringify(value));cue.value=value,this.segmentMetadataTrack_.addCue(cue)}}}}]),SegmentLoader}(videojs$1.EventTarget),uint8ToUtf8=function(uintArray){return decodeURIComponent(escape(String.fromCharCode.apply(null,uintArray)))},VTT_LINE_TERMINATORS=new Uint8Array("\n\n".split("").map((function(_char2){return _char2.charCodeAt(0)}))),VTTSegmentLoader=function(_SegmentLoader){function VTTSegmentLoader(settings){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};classCallCheck$1(this,VTTSegmentLoader);var _this=possibleConstructorReturn$1(this,(VTTSegmentLoader.__proto__||Object.getPrototypeOf(VTTSegmentLoader)).call(this,settings,options));return _this.mediaSource_=null,_this.subtitlesTrack_=null,_this.featuresNativeTextTracks_=settings.featuresNativeTextTracks,_this}return inherits$2(VTTSegmentLoader,_SegmentLoader),createClass$1(VTTSegmentLoader,[{key:"buffered_",value:function(){if(!this.subtitlesTrack_||!this.subtitlesTrack_.cues.length)return videojs$1.createTimeRanges();var cues=this.subtitlesTrack_.cues,start=cues[0].startTime,end=cues[cues.length-1].startTime;return videojs$1.createTimeRanges([[start,end]])}},{key:"initSegment",value:function(map){var set$$1=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!map)return null;var id=initSegmentId(map),storedMap=this.initSegments_[id];if(set$$1&&!storedMap&&map.bytes){var combinedByteLength=VTT_LINE_TERMINATORS.byteLength+map.bytes.byteLength,combinedSegment=new Uint8Array(combinedByteLength);combinedSegment.set(map.bytes),combinedSegment.set(VTT_LINE_TERMINATORS,map.bytes.byteLength),this.initSegments_[id]=storedMap={resolvedUri:map.resolvedUri,byterange:map.byterange,bytes:combinedSegment}}return storedMap||map}},{key:"couldBeginLoading_",value:function(){return this.playlist_&&this.subtitlesTrack_&&!this.paused()}},{key:"init_",value:function(){return this.state="READY",this.resetEverything(),this.monitorBuffer_()}},{key:"track",value:function(_track){return void 0===_track||(this.subtitlesTrack_=_track,"INIT"===this.state&&this.couldBeginLoading_()&&this.init_()),this.subtitlesTrack_}},{key:"remove",value:function(start,end){removeCuesFromTrack(start,end,this.subtitlesTrack_)}},{key:"fillBuffer_",value:function(){var _this2=this;this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var segmentInfo=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);if(segmentInfo=this.skipEmptySegments_(segmentInfo)){if(null===this.syncController_.timestampOffsetForTimeline(segmentInfo.timeline))return this.syncController_.one("timestampoffset",(function(){_this2.state="READY",_this2.paused()||_this2.monitorBuffer_()})),void(this.state="WAITING_ON_TIMELINE");this.loadSegment_(segmentInfo)}}},{key:"skipEmptySegments_",value:function(segmentInfo){for(;segmentInfo&&segmentInfo.segment.empty;)segmentInfo=this.generateSegmentInfo_(segmentInfo.playlist,segmentInfo.mediaIndex+1,segmentInfo.startOfSegment+segmentInfo.duration,segmentInfo.isSyncRequest);return segmentInfo}},{key:"handleSegment_",value:function(){var _this3=this;if(this.pendingSegment_&&this.subtitlesTrack_){this.state="APPENDING";var segmentInfo=this.pendingSegment_,segment=segmentInfo.segment;if("function"!=typeof window$3.WebVTT&&this.subtitlesTrack_&&this.subtitlesTrack_.tech_){var loadHandler=void 0,errorHandler=function(){_this3.subtitlesTrack_.tech_.off("vttjsloaded",loadHandler),_this3.error({message:"Error loading vtt.js"}),_this3.state="READY",_this3.pause(),_this3.trigger("error")};return loadHandler=function(){_this3.subtitlesTrack_.tech_.off("vttjserror",errorHandler),_this3.handleSegment_()},this.state="WAITING_ON_VTTJS",this.subtitlesTrack_.tech_.one("vttjsloaded",loadHandler),void this.subtitlesTrack_.tech_.one("vttjserror",errorHandler)}segment.requested=!0;try{this.parseVTTCues_(segmentInfo)}catch(e){return this.error({message:e.message}),this.state="READY",this.pause(),this.trigger("error")}if(this.updateTimeMapping_(segmentInfo,this.syncController_.timelines[segmentInfo.timeline],this.playlist_),segmentInfo.isSyncRequest)return this.trigger("syncinfoupdate"),this.pendingSegment_=null,void(this.state="READY");segmentInfo.byteLength=segmentInfo.bytes.byteLength,this.mediaSecondsLoaded+=segment.duration,segmentInfo.cues.length&&this.remove(segmentInfo.cues[0].endTime,segmentInfo.cues[segmentInfo.cues.length-1].endTime),segmentInfo.cues.forEach((function(cue){_this3.subtitlesTrack_.addCue(_this3.featuresNativeTextTracks_?new window$3.VTTCue(cue.startTime,cue.endTime,cue.text):cue)})),this.handleUpdateEnd_()}else this.state="READY"}},{key:"parseVTTCues_",value:function(segmentInfo){var decoder=void 0,decodeBytesToString=!1;"function"==typeof window$3.TextDecoder?decoder=new window$3.TextDecoder("utf8"):(decoder=window$3.WebVTT.StringDecoder(),decodeBytesToString=!0);var parser=new window$3.WebVTT.Parser(window$3,window$3.vttjs,decoder);if(segmentInfo.cues=[],segmentInfo.timestampmap={MPEGTS:0,LOCAL:0},parser.oncue=segmentInfo.cues.push.bind(segmentInfo.cues),parser.ontimestampmap=function(map){return segmentInfo.timestampmap=map},parser.onparsingerror=function(error){videojs$1.log.warn("Error encountered when parsing cues: "+error.message)},segmentInfo.segment.map){var mapData=segmentInfo.segment.map.bytes;decodeBytesToString&&(mapData=uint8ToUtf8(mapData)),parser.parse(mapData)}var segmentData=segmentInfo.bytes;decodeBytesToString&&(segmentData=uint8ToUtf8(segmentData)),parser.parse(segmentData),parser.flush()}},{key:"updateTimeMapping_",value:function(segmentInfo,mappingObj,playlist){var segment=segmentInfo.segment;if(mappingObj)if(segmentInfo.cues.length){var timestampmap=segmentInfo.timestampmap,diff=timestampmap.MPEGTS/9e4-timestampmap.LOCAL+mappingObj.mapping;if(segmentInfo.cues.forEach((function(cue){cue.startTime+=diff,cue.endTime+=diff})),!playlist.syncInfo){var firstStart=segmentInfo.cues[0].startTime,lastStart=segmentInfo.cues[segmentInfo.cues.length-1].startTime;playlist.syncInfo={mediaSequence:playlist.mediaSequence+segmentInfo.mediaIndex,time:Math.min(firstStart,lastStart-segment.duration)}}}else segment.empty=!0}}]),VTTSegmentLoader}(SegmentLoader),findAdCue=function(track,mediaTime){for(var cues=track.cues,i=0;i<cues.length;i++){var cue=cues[i];if(mediaTime>=cue.adStartTime&&mediaTime<=cue.adEndTime)return cue}return null},tsprobe=tsInspector_inspect,syncPointStrategies=[{name:"VOD",run:function(syncController,playlist,duration$$1,currentTimeline,currentTime){return duration$$1!==1/0?{time:0,segmentIndex:0}:null}},{name:"ProgramDateTime",run:function(syncController,playlist,duration$$1,currentTimeline,currentTime){if(!syncController.datetimeToDisplayTime)return null;var segments=playlist.segments||[],syncPoint=null,lastDistance=null;currentTime=currentTime||0;for(var i=0;i<segments.length;i++){var segment=segments[i];if(segment.dateTimeObject){var segmentStart=segment.dateTimeObject.getTime()/1e3+syncController.datetimeToDisplayTime,distance=Math.abs(currentTime-segmentStart);if(null!==lastDistance&&(0===distance||lastDistance<distance))break;lastDistance=distance,syncPoint={time:segmentStart,segmentIndex:i}}}return syncPoint}},{name:"Segment",run:function(syncController,playlist,duration$$1,currentTimeline,currentTime){var segments=playlist.segments||[],syncPoint=null,lastDistance=null;currentTime=currentTime||0;for(var i=0;i<segments.length;i++){var segment=segments[i];if(segment.timeline===currentTimeline&&void 0!==segment.start){var distance=Math.abs(currentTime-segment.start);if(null!==lastDistance&&lastDistance<distance)break;(!syncPoint||null===lastDistance||lastDistance>=distance)&&(lastDistance=distance,syncPoint={time:segment.start,segmentIndex:i})}}return syncPoint}},{name:"Discontinuity",run:function(syncController,playlist,duration$$1,currentTimeline,currentTime){var syncPoint=null;if(currentTime=currentTime||0,playlist.discontinuityStarts&&playlist.discontinuityStarts.length)for(var lastDistance=null,i=0;i<playlist.discontinuityStarts.length;i++){var segmentIndex=playlist.discontinuityStarts[i],discontinuity=playlist.discontinuitySequence+i+1,discontinuitySync=syncController.discontinuities[discontinuity];if(discontinuitySync){var distance=Math.abs(currentTime-discontinuitySync.time);if(null!==lastDistance&&lastDistance<distance)break;(!syncPoint||null===lastDistance||lastDistance>=distance)&&(lastDistance=distance,syncPoint={time:discontinuitySync.time,segmentIndex:segmentIndex})}}return syncPoint}},{name:"Playlist",run:function(syncController,playlist,duration$$1,currentTimeline,currentTime){return playlist.syncInfo?{time:playlist.syncInfo.time,segmentIndex:playlist.syncInfo.mediaSequence-playlist.mediaSequence}:null}}],SyncController=function(_videojs$EventTarget){function SyncController(){classCallCheck$1(this,SyncController);var _this=possibleConstructorReturn$1(this,(SyncController.__proto__||Object.getPrototypeOf(SyncController)).call(this));return _this.inspectCache_=void 0,_this.timelines=[],_this.discontinuities=[],_this.datetimeToDisplayTime=null,_this.logger_=logger("SyncController"),_this}return inherits$2(SyncController,_videojs$EventTarget),createClass$1(SyncController,[{key:"getSyncPoint",value:function(playlist,duration$$1,currentTimeline,currentTime){var syncPoints=this.runStrategies_(playlist,duration$$1,currentTimeline,currentTime);return syncPoints.length?this.selectSyncPoint_(syncPoints,{key:"time",value:currentTime}):null}},{key:"getExpiredTime",value:function(playlist,duration$$1){if(!playlist||!playlist.segments)return null;var syncPoints=this.runStrategies_(playlist,duration$$1,playlist.discontinuitySequence,0);if(!syncPoints.length)return null;var syncPoint=this.selectSyncPoint_(syncPoints,{key:"segmentIndex",value:0});return syncPoint.segmentIndex>0&&(syncPoint.time*=-1),Math.abs(syncPoint.time+sumDurations(playlist,syncPoint.segmentIndex,0))}},{key:"runStrategies_",value:function(playlist,duration$$1,currentTimeline,currentTime){for(var syncPoints=[],i=0;i<syncPointStrategies.length;i++){var strategy=syncPointStrategies[i],syncPoint=strategy.run(this,playlist,duration$$1,currentTimeline,currentTime);syncPoint&&(syncPoint.strategy=strategy.name,syncPoints.push({strategy:strategy.name,syncPoint:syncPoint}))}return syncPoints}},{key:"selectSyncPoint_",value:function(syncPoints,target){for(var bestSyncPoint=syncPoints[0].syncPoint,bestDistance=Math.abs(syncPoints[0].syncPoint[target.key]-target.value),bestStrategy=syncPoints[0].strategy,i=1;i<syncPoints.length;i++){var newDistance=Math.abs(syncPoints[i].syncPoint[target.key]-target.value);newDistance<bestDistance&&(bestDistance=newDistance,bestSyncPoint=syncPoints[i].syncPoint,bestStrategy=syncPoints[i].strategy)}return this.logger_("syncPoint for ["+target.key+": "+target.value+"] chosen with strategy ["+bestStrategy+"]: [time:"+bestSyncPoint.time+", segmentIndex:"+bestSyncPoint.segmentIndex+"]"),bestSyncPoint}},{key:"saveExpiredSegmentInfo",value:function(oldPlaylist,newPlaylist){for(var i=newPlaylist.mediaSequence-oldPlaylist.mediaSequence-1;i>=0;i--){var lastRemovedSegment=oldPlaylist.segments[i];if(lastRemovedSegment&&void 0!==lastRemovedSegment.start){newPlaylist.syncInfo={mediaSequence:oldPlaylist.mediaSequence+i,time:lastRemovedSegment.start},this.logger_("playlist refresh sync: [time:"+newPlaylist.syncInfo.time+", mediaSequence: "+newPlaylist.syncInfo.mediaSequence+"]"),this.trigger("syncinfoupdate");break}}}},{key:"setDateTimeMapping",value:function(playlist){if(!this.datetimeToDisplayTime&&playlist.segments&&playlist.segments.length&&playlist.segments[0].dateTimeObject){var playlistTimestamp=playlist.segments[0].dateTimeObject.getTime()/1e3;this.datetimeToDisplayTime=-playlistTimestamp}}},{key:"reset",value:function(){this.inspectCache_=void 0}},{key:"probeSegmentInfo",value:function(segmentInfo){var segment=segmentInfo.segment,playlist=segmentInfo.playlist,timingInfo=void 0;return(timingInfo=segment.map?this.probeMp4Segment_(segmentInfo):this.probeTsSegment_(segmentInfo))&&this.calculateSegmentTimeMapping_(segmentInfo,timingInfo)&&(this.saveDiscontinuitySyncInfo_(segmentInfo),playlist.syncInfo||(playlist.syncInfo={mediaSequence:playlist.mediaSequence+segmentInfo.mediaIndex,time:segment.start})),timingInfo}},{key:"probeMp4Segment_",value:function(segmentInfo){var segment=segmentInfo.segment,timescales=probe.timescale(segment.map.bytes),compositionStartTime=probe.compositionStartTime(timescales,segmentInfo.bytes);return null!==segmentInfo.timestampOffset&&(segmentInfo.timestampOffset-=compositionStartTime),{start:compositionStartTime,end:compositionStartTime+segment.duration}}},{key:"probeTsSegment_",value:function(segmentInfo){var timeInfo=tsprobe(segmentInfo.bytes,this.inspectCache_),segmentStartTime=void 0,segmentEndTime=void 0,segmentTimestampInfo=void 0;return timeInfo?(timeInfo.video&&2===timeInfo.video.length?(this.inspectCache_=timeInfo.video[1].dts,segmentStartTime=timeInfo.video[0].dtsTime,segmentEndTime=timeInfo.video[1].dtsTime,segmentTimestampInfo=timeInfo.video):timeInfo.audio&&2===timeInfo.audio.length&&(this.inspectCache_=timeInfo.audio[1].dts,segmentStartTime=timeInfo.audio[0].dtsTime,segmentEndTime=timeInfo.audio[1].dtsTime,segmentTimestampInfo=timeInfo.audio),{segmentTimestampInfo:segmentTimestampInfo,start:segmentStartTime,end:segmentEndTime,containsVideo:timeInfo.video&&2===timeInfo.video.length,containsAudio:timeInfo.audio&&2===timeInfo.audio.length}):null}},{key:"timestampOffsetForTimeline",value:function(timeline){return void 0===this.timelines[timeline]?null:this.timelines[timeline].time}},{key:"mappingForTimeline",value:function(timeline){return void 0===this.timelines[timeline]?null:this.timelines[timeline].mapping}},{key:"calculateSegmentTimeMapping_",value:function(segmentInfo,timingInfo){var segment=segmentInfo.segment,mappingObj=this.timelines[segmentInfo.timeline];if(null!==segmentInfo.timestampOffset)mappingObj={time:segmentInfo.startOfSegment,mapping:segmentInfo.startOfSegment-timingInfo.start},this.timelines[segmentInfo.timeline]=mappingObj,this.trigger("timestampoffset"),this.logger_("time mapping for timeline "+segmentInfo.timeline+": [time: "+mappingObj.time+"] [mapping: "+mappingObj.mapping+"]"),segment.start=segmentInfo.startOfSegment,segment.end=timingInfo.end+mappingObj.mapping;else{if(!mappingObj)return!1;segment.start=timingInfo.start+mappingObj.mapping,segment.end=timingInfo.end+mappingObj.mapping}return!0}},{key:"saveDiscontinuitySyncInfo_",value:function(segmentInfo){var playlist=segmentInfo.playlist,segment=segmentInfo.segment;if(segment.discontinuity)this.discontinuities[segment.timeline]={time:segment.start,accuracy:0};else if(playlist.discontinuityStarts&&playlist.discontinuityStarts.length)for(var i=0;i<playlist.discontinuityStarts.length;i++){var segmentIndex=playlist.discontinuityStarts[i],discontinuity=playlist.discontinuitySequence+i+1,mediaIndexDiff=segmentIndex-segmentInfo.mediaIndex,accuracy=Math.abs(mediaIndexDiff);if(!this.discontinuities[discontinuity]||this.discontinuities[discontinuity].accuracy>accuracy){var time=void 0;time=mediaIndexDiff<0?segment.start-sumDurations(playlist,segmentInfo.mediaIndex,segmentIndex):segment.end+sumDurations(playlist,segmentInfo.mediaIndex+1,segmentIndex),this.discontinuities[discontinuity]={time:time,accuracy:accuracy}}}}},{key:"dispose",value:function(){this.trigger("dispose"),this.off()}}]),SyncController}(videojs$1.EventTarget),Decrypter$1=new shimWorker("./decrypter-worker.worker.js",(function(window,document$$1){var self=this;!function(){var classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")},createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),aesTables=null,AES=function(){function AES(key){classCallCheck(this,AES),aesTables||(aesTables=function(){var tables=[[[],[],[],[],[]],[[],[],[],[],[]]],encTable=tables[0],decTable=tables[1],sbox=encTable[4],sboxInv=decTable[4],i=void 0,x=void 0,xInv=void 0,d=[],th=[],x2=void 0,x4=void 0,s=void 0,tEnc=void 0,tDec=void 0;for(i=0;i<256;i++)th[(d[i]=i<<1^283*(i>>7))^i]=i;for(x=xInv=0;!sbox[x];x^=x2||1,xInv=th[xInv]||1)for(s=(s=xInv^xInv<<1^xInv<<2^xInv<<3^xInv<<4)>>8^255&s^99,sbox[x]=s,sboxInv[s]=x,tDec=16843009*d[x4=d[x2=d[x]]]^65537*x4^257*x2^16843008*x,tEnc=257*d[s]^16843008*s,i=0;i<4;i++)encTable[i][x]=tEnc=tEnc<<24^tEnc>>>8,decTable[i][s]=tDec=tDec<<24^tDec>>>8;for(i=0;i<5;i++)encTable[i]=encTable[i].slice(0),decTable[i]=decTable[i].slice(0);return tables}()),this._tables=[[aesTables[0][0].slice(),aesTables[0][1].slice(),aesTables[0][2].slice(),aesTables[0][3].slice(),aesTables[0][4].slice()],[aesTables[1][0].slice(),aesTables[1][1].slice(),aesTables[1][2].slice(),aesTables[1][3].slice(),aesTables[1][4].slice()]];var i=void 0,j=void 0,tmp=void 0,encKey=void 0,decKey=void 0,sbox=this._tables[0][4],decTable=this._tables[1],keyLen=key.length,rcon=1;if(4!==keyLen&&6!==keyLen&&8!==keyLen)throw new Error("Invalid aes key size");for(encKey=key.slice(0),decKey=[],this._key=[encKey,decKey],i=keyLen;i<4*keyLen+28;i++)tmp=encKey[i-1],(i%keyLen==0||8===keyLen&&i%keyLen==4)&&(tmp=sbox[tmp>>>24]<<24^sbox[tmp>>16&255]<<16^sbox[tmp>>8&255]<<8^sbox[255&tmp],i%keyLen==0&&(tmp=tmp<<8^tmp>>>24^rcon<<24,rcon=rcon<<1^283*(rcon>>7))),encKey[i]=encKey[i-keyLen]^tmp;for(j=0;i;j++,i--)tmp=encKey[3&j?i:i-4],decKey[j]=i<=4||j<4?tmp:decTable[0][sbox[tmp>>>24]]^decTable[1][sbox[tmp>>16&255]]^decTable[2][sbox[tmp>>8&255]]^decTable[3][sbox[255&tmp]]}return AES.prototype.decrypt=function(encrypted0,encrypted1,encrypted2,encrypted3,out,offset){var key=this._key[1],a=encrypted0^key[0],b=encrypted3^key[1],c=encrypted2^key[2],d=encrypted1^key[3],a2=void 0,b2=void 0,c2=void 0,nInnerRounds=key.length/4-2,i=void 0,kIndex=4,table=this._tables[1],table0=table[0],table1=table[1],table2=table[2],table3=table[3],sbox=table[4];for(i=0;i<nInnerRounds;i++)a2=table0[a>>>24]^table1[b>>16&255]^table2[c>>8&255]^table3[255&d]^key[kIndex],b2=table0[b>>>24]^table1[c>>16&255]^table2[d>>8&255]^table3[255&a]^key[kIndex+1],c2=table0[c>>>24]^table1[d>>16&255]^table2[a>>8&255]^table3[255&b]^key[kIndex+2],d=table0[d>>>24]^table1[a>>16&255]^table2[b>>8&255]^table3[255&c]^key[kIndex+3],kIndex+=4,a=a2,b=b2,c=c2;for(i=0;i<4;i++)out[(3&-i)+offset]=sbox[a>>>24]<<24^sbox[b>>16&255]<<16^sbox[c>>8&255]<<8^sbox[255&d]^key[kIndex++],a2=a,a=b,b=c,c=d,d=a2},AES}(),Stream=function(){function Stream(){classCallCheck(this,Stream),this.listeners={}}return Stream.prototype.on=function(type,listener){this.listeners[type]||(this.listeners[type]=[]),this.listeners[type].push(listener)},Stream.prototype.off=function(type,listener){if(!this.listeners[type])return!1;var index=this.listeners[type].indexOf(listener);return this.listeners[type].splice(index,1),index>-1},Stream.prototype.trigger=function(type){var callbacks=this.listeners[type];if(callbacks)if(2===arguments.length)for(var length=callbacks.length,i=0;i<length;++i)callbacks[i].call(this,arguments[1]);else for(var args=Array.prototype.slice.call(arguments,1),_length=callbacks.length,_i=0;_i<_length;++_i)callbacks[_i].apply(this,args)},Stream.prototype.dispose=function(){this.listeners={}},Stream.prototype.pipe=function(destination){this.on("data",(function(data){destination.push(data)}))},Stream}(),AsyncStream$$1=function(_Stream){function AsyncStream$$1(){classCallCheck(this,AsyncStream$$1);var _this=function(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==_typeof2(call)&&"function"!=typeof call?self:call}(this,_Stream.call(this,Stream));return _this.jobs=[],_this.delay=1,_this.timeout_=null,_this}return function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+_typeof2(superClass));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}(AsyncStream$$1,_Stream),AsyncStream$$1.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},AsyncStream$$1.prototype.push=function(job){this.jobs.push(job),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},AsyncStream$$1}(Stream),ntoh=function(word){return word<<24|(65280&word)<<8|(16711680&word)>>8|word>>>24},Decrypter$$1=function(){function Decrypter$$1(encrypted,key,initVector,done){classCallCheck(this,Decrypter$$1);var step=Decrypter$$1.STEP,encrypted32=new Int32Array(encrypted.buffer),decrypted=new Uint8Array(encrypted.byteLength),i=0;for(this.asyncStream_=new AsyncStream$$1,this.asyncStream_.push(this.decryptChunk_(encrypted32.subarray(i,i+step),key,initVector,decrypted)),i=step;i<encrypted32.length;i+=step)initVector=new Uint32Array([ntoh(encrypted32[i-4]),ntoh(encrypted32[i-3]),ntoh(encrypted32[i-2]),ntoh(encrypted32[i-1])]),this.asyncStream_.push(this.decryptChunk_(encrypted32.subarray(i,i+step),key,initVector,decrypted));this.asyncStream_.push((function(){var padded;done(null,(padded=decrypted).subarray(0,padded.byteLength-padded[padded.byteLength-1]))}))}return Decrypter$$1.prototype.decryptChunk_=function(encrypted,key,initVector,decrypted){return function(){var bytes=function(encrypted,key,initVector){var encrypted32=new Int32Array(encrypted.buffer,encrypted.byteOffset,encrypted.byteLength>>2),decipher=new AES(Array.prototype.slice.call(key)),decrypted=new Uint8Array(encrypted.byteLength),decrypted32=new Int32Array(decrypted.buffer),init0=void 0,init1=void 0,init2=void 0,init3=void 0,encrypted0=void 0,encrypted1=void 0,encrypted2=void 0,encrypted3=void 0,wordIx=void 0;for(init0=initVector[0],init1=initVector[1],init2=initVector[2],init3=initVector[3],wordIx=0;wordIx<encrypted32.length;wordIx+=4)encrypted0=ntoh(encrypted32[wordIx]),encrypted1=ntoh(encrypted32[wordIx+1]),encrypted2=ntoh(encrypted32[wordIx+2]),encrypted3=ntoh(encrypted32[wordIx+3]),decipher.decrypt(encrypted0,encrypted1,encrypted2,encrypted3,decrypted32,wordIx),decrypted32[wordIx]=ntoh(decrypted32[wordIx]^init0),decrypted32[wordIx+1]=ntoh(decrypted32[wordIx+1]^init1),decrypted32[wordIx+2]=ntoh(decrypted32[wordIx+2]^init2),decrypted32[wordIx+3]=ntoh(decrypted32[wordIx+3]^init3),init0=encrypted0,init1=encrypted1,init2=encrypted2,init3=encrypted3;return decrypted}(encrypted,key,initVector);decrypted.set(bytes,encrypted.byteOffset)}},createClass(Decrypter$$1,null,[{key:"STEP",get:function(){return 32e3}}]),Decrypter$$1}();new function(self){self.onmessage=function(event){var data=event.data,encrypted=new Uint8Array(data.encrypted.bytes,data.encrypted.byteOffset,data.encrypted.byteLength),key=new Uint32Array(data.key.bytes,data.key.byteOffset,data.key.byteLength/4),iv=new Uint32Array(data.iv.bytes,data.iv.byteOffset,data.iv.byteLength/4);new Decrypter$$1(encrypted,key,iv,(function(err,bytes){var message,transferable;self.postMessage((message={source:data.source,decrypted:bytes},transferable={},Object.keys(message).forEach((function(key){var value=message[key];ArrayBuffer.isView(value)?transferable[key]={bytes:value.buffer,byteOffset:value.byteOffset,byteLength:value.byteLength}:transferable[key]=value})),transferable),[bytes.buffer])}))}}(self)}()})),audioTrackKind_=function(properties){var kind=properties.default?"main":"alternative";return properties.characteristics&&properties.characteristics.indexOf("public.accessibility.describes-video")>=0&&(kind="main-desc"),kind},stopLoaders=function(segmentLoader,mediaType){segmentLoader.abort(),segmentLoader.pause(),mediaType&&mediaType.activePlaylistLoader&&(mediaType.activePlaylistLoader.pause(),mediaType.activePlaylistLoader=null)},startLoaders=function(playlistLoader,mediaType){mediaType.activePlaylistLoader=playlistLoader,playlistLoader.load()},onError={AUDIO:function(type,settings){return function(){var segmentLoader=settings.segmentLoaders[type],mediaType=settings.mediaTypes[type],blacklistCurrentPlaylist=settings.blacklistCurrentPlaylist;stopLoaders(segmentLoader,mediaType);var activeTrack=mediaType.activeTrack(),activeGroup=mediaType.activeGroup(),id=(activeGroup.filter((function(group){return group.default}))[0]||activeGroup[0]).id,defaultTrack=mediaType.tracks[id];if(activeTrack!==defaultTrack){for(var trackId in videojs$1.log.warn("Problem encountered loading the alternate audio track.Switching back to default."),mediaType.tracks)mediaType.tracks[trackId].enabled=mediaType.tracks[trackId]===defaultTrack;mediaType.onTrackChanged()}else blacklistCurrentPlaylist({message:"Problem encountered loading the default audio track."})}},SUBTITLES:function(type,settings){return function(){var segmentLoader=settings.segmentLoaders[type],mediaType=settings.mediaTypes[type];videojs$1.log.warn("Problem encountered loading the subtitle track.Disabling subtitle track."),stopLoaders(segmentLoader,mediaType);var track=mediaType.activeTrack();track&&(track.mode="disabled"),mediaType.onTrackChanged()}}},setupListeners={AUDIO:function(type,playlistLoader,settings){if(playlistLoader){var tech=settings.tech,requestOptions=settings.requestOptions,segmentLoader=settings.segmentLoaders[type];playlistLoader.on("loadedmetadata",(function(){var media=playlistLoader.media();segmentLoader.playlist(media,requestOptions),(!tech.paused()||media.endList&&"none"!==tech.preload())&&segmentLoader.load()})),playlistLoader.on("loadedplaylist",(function(){segmentLoader.playlist(playlistLoader.media(),requestOptions),tech.paused()||segmentLoader.load()})),playlistLoader.on("error",onError[type](type,settings))}},SUBTITLES:function(type,playlistLoader,settings){var tech=settings.tech,requestOptions=settings.requestOptions,segmentLoader=settings.segmentLoaders[type],mediaType=settings.mediaTypes[type];playlistLoader.on("loadedmetadata",(function(){var media=playlistLoader.media();segmentLoader.playlist(media,requestOptions),segmentLoader.track(mediaType.activeTrack()),(!tech.paused()||media.endList&&"none"!==tech.preload())&&segmentLoader.load()})),playlistLoader.on("loadedplaylist",(function(){segmentLoader.playlist(playlistLoader.media(),requestOptions),tech.paused()||segmentLoader.load()})),playlistLoader.on("error",onError[type](type,settings))}},initialize={AUDIO:function(type,settings){var hls=settings.hls,sourceType=settings.sourceType,segmentLoader=settings.segmentLoaders[type],requestOptions=settings.requestOptions,mediaGroups=settings.master.mediaGroups,_settings$mediaTypes$=settings.mediaTypes[type],groups=_settings$mediaTypes$.groups,tracks=_settings$mediaTypes$.tracks,masterPlaylistLoader=settings.masterPlaylistLoader;for(var groupId in mediaGroups[type]&&0!==Object.keys(mediaGroups[type]).length||(mediaGroups[type]={main:{default:{default:!0}}}),mediaGroups[type])for(var variantLabel in groups[groupId]||(groups[groupId]=[]),mediaGroups[type][groupId]){var properties=mediaGroups[type][groupId][variantLabel],playlistLoader=void 0;if(playlistLoader=properties.resolvedUri?new PlaylistLoader(properties.resolvedUri,hls,requestOptions):properties.playlists&&"dash"===sourceType?new DashPlaylistLoader(properties.playlists[0],hls,requestOptions,masterPlaylistLoader):null,properties=videojs$1.mergeOptions({id:variantLabel,playlistLoader:playlistLoader},properties),setupListeners[type](type,properties.playlistLoader,settings),groups[groupId].push(properties),void 0===tracks[variantLabel]){var track=new videojs$1.AudioTrack({id:variantLabel,kind:audioTrackKind_(properties),enabled:!1,language:properties.language,default:properties.default,label:variantLabel});tracks[variantLabel]=track}}segmentLoader.on("error",onError[type](type,settings))},SUBTITLES:function(type,settings){var tech=settings.tech,hls=settings.hls,sourceType=settings.sourceType,segmentLoader=settings.segmentLoaders[type],requestOptions=settings.requestOptions,mediaGroups=settings.master.mediaGroups,_settings$mediaTypes$2=settings.mediaTypes[type],groups=_settings$mediaTypes$2.groups,tracks=_settings$mediaTypes$2.tracks,masterPlaylistLoader=settings.masterPlaylistLoader;for(var groupId in mediaGroups[type])for(var variantLabel in groups[groupId]||(groups[groupId]=[]),mediaGroups[type][groupId])if(!mediaGroups[type][groupId][variantLabel].forced){var properties=mediaGroups[type][groupId][variantLabel],playlistLoader=void 0;if("hls"===sourceType?playlistLoader=new PlaylistLoader(properties.resolvedUri,hls,requestOptions):"dash"===sourceType&&(playlistLoader=new DashPlaylistLoader(properties.playlists[0],hls,requestOptions,masterPlaylistLoader)),properties=videojs$1.mergeOptions({id:variantLabel,playlistLoader:playlistLoader},properties),setupListeners[type](type,properties.playlistLoader,settings),groups[groupId].push(properties),void 0===tracks[variantLabel]){var track=tech.addRemoteTextTrack({id:variantLabel,kind:"subtitles",default:properties.default&&properties.autoselect,language:properties.language,label:variantLabel},!1).track;tracks[variantLabel]=track}}segmentLoader.on("error",onError[type](type,settings))},"CLOSED-CAPTIONS":function(type,settings){var tech=settings.tech,mediaGroups=settings.master.mediaGroups,_settings$mediaTypes$3=settings.mediaTypes[type],groups=_settings$mediaTypes$3.groups,tracks=_settings$mediaTypes$3.tracks;for(var groupId in mediaGroups[type])for(var variantLabel in groups[groupId]||(groups[groupId]=[]),mediaGroups[type][groupId]){var properties=mediaGroups[type][groupId][variantLabel];if(properties.instreamId.match(/CC\d/)&&(groups[groupId].push(videojs$1.mergeOptions({id:variantLabel},properties)),void 0===tracks[variantLabel])){var track=tech.addRemoteTextTrack({id:properties.instreamId,kind:"captions",default:properties.default&&properties.autoselect,language:properties.language,label:variantLabel},!1).track;tracks[variantLabel]=track}}}},activeTrack={AUDIO:function(type,settings){return function(){var tracks=settings.mediaTypes[type].tracks;for(var id in tracks)if(tracks[id].enabled)return tracks[id];return null}},SUBTITLES:function(type,settings){return function(){var tracks=settings.mediaTypes[type].tracks;for(var id in tracks)if("showing"===tracks[id].mode||"hidden"===tracks[id].mode)return tracks[id];return null}}},setupMediaGroups=function(settings){["AUDIO","SUBTITLES","CLOSED-CAPTIONS"].forEach((function(type){initialize[type](type,settings)}));var mediaTypes=settings.mediaTypes,masterPlaylistLoader=settings.masterPlaylistLoader,tech=settings.tech,hls=settings.hls;["AUDIO","SUBTITLES"].forEach((function(type){mediaTypes[type].activeGroup=function(type,settings){return function(track){var masterPlaylistLoader=settings.masterPlaylistLoader,groups=settings.mediaTypes[type].groups,media=masterPlaylistLoader.media();if(!media)return null;var variants=null;return media.attributes[type]&&(variants=groups[media.attributes[type]]),variants=variants||groups.main,void 0===track?variants:null===track?null:variants.filter((function(props){return props.id===track.id}))[0]||null}}(type,settings),mediaTypes[type].activeTrack=activeTrack[type](type,settings),mediaTypes[type].onGroupChanged=function(type,settings){return function(){var _settings$segmentLoad=settings.segmentLoaders,segmentLoader=_settings$segmentLoad[type],mainSegmentLoader=_settings$segmentLoad.main,mediaType=settings.mediaTypes[type],activeTrack=mediaType.activeTrack(),activeGroup=mediaType.activeGroup(activeTrack),previousActiveLoader=mediaType.activePlaylistLoader;stopLoaders(segmentLoader,mediaType),activeGroup&&(activeGroup.playlistLoader?(segmentLoader.resyncLoader(),startLoaders(activeGroup.playlistLoader,mediaType)):previousActiveLoader&&mainSegmentLoader.resetEverything())}}(type,settings),mediaTypes[type].onTrackChanged=function(type,settings){return function(){var _settings$segmentLoad2=settings.segmentLoaders,segmentLoader=_settings$segmentLoad2[type],mainSegmentLoader=_settings$segmentLoad2.main,mediaType=settings.mediaTypes[type],activeTrack=mediaType.activeTrack(),activeGroup=mediaType.activeGroup(activeTrack),previousActiveLoader=mediaType.activePlaylistLoader;stopLoaders(segmentLoader,mediaType),activeGroup&&(activeGroup.playlistLoader?previousActiveLoader!==activeGroup.playlistLoader?(segmentLoader.track&&segmentLoader.track(activeTrack),segmentLoader.resetEverything(),startLoaders(activeGroup.playlistLoader,mediaType)):startLoaders(activeGroup.playlistLoader,mediaType):mainSegmentLoader.resetEverything())}}(type,settings)}));var audioGroup=mediaTypes.AUDIO.activeGroup(),groupId=(audioGroup.filter((function(group){return group.default}))[0]||audioGroup[0]).id;mediaTypes.AUDIO.tracks[groupId].enabled=!0,mediaTypes.AUDIO.onTrackChanged(),masterPlaylistLoader.on("mediachange",(function(){["AUDIO","SUBTITLES"].forEach((function(type){return mediaTypes[type].onGroupChanged()}))}));var onAudioTrackChanged=function(){mediaTypes.AUDIO.onTrackChanged(),tech.trigger({type:"usage",name:"hls-audio-change"})};for(var id in tech.audioTracks().addEventListener("change",onAudioTrackChanged),tech.remoteTextTracks().addEventListener("change",mediaTypes.SUBTITLES.onTrackChanged),hls.on("dispose",(function(){tech.audioTracks().removeEventListener("change",onAudioTrackChanged),tech.remoteTextTracks().removeEventListener("change",mediaTypes.SUBTITLES.onTrackChanged)})),tech.clearTracks("audio"),mediaTypes.AUDIO.tracks)tech.audioTracks().addTrack(mediaTypes.AUDIO.tracks[id])},Hls=void 0,loaderStats=["mediaRequests","mediaRequestsAborted","mediaRequestsTimedout","mediaRequestsErrored","mediaTransferDuration","mediaBytesTransferred"],sumLoaderStat=function(stat){return this.audioSegmentLoader_[stat]+this.mainSegmentLoader_[stat]},MasterPlaylistController=function(_videojs$EventTarget){function MasterPlaylistController(options){classCallCheck$1(this,MasterPlaylistController);var mediaTypes,_this=possibleConstructorReturn$1(this,(MasterPlaylistController.__proto__||Object.getPrototypeOf(MasterPlaylistController)).call(this)),url=options.url,handleManifestRedirects=options.handleManifestRedirects,withCredentials=options.withCredentials,tech=options.tech,bandwidth=options.bandwidth,externHls=options.externHls,useCueTags=options.useCueTags,blacklistDuration=options.blacklistDuration,enableLowInitialPlaylist=options.enableLowInitialPlaylist,sourceType=options.sourceType,seekTo=options.seekTo,cacheEncryptionKeys=options.cacheEncryptionKeys;if(!url)throw new Error("A non-empty playlist URL is required");Hls=externHls,_this.withCredentials=withCredentials,_this.tech_=tech,_this.hls_=tech.hls,_this.seekTo_=seekTo,_this.sourceType_=sourceType,_this.useCueTags_=useCueTags,_this.blacklistDuration=blacklistDuration,_this.enableLowInitialPlaylist=enableLowInitialPlaylist,_this.useCueTags_&&(_this.cueTagsTrack_=_this.tech_.addTextTrack("metadata","ad-cues"),_this.cueTagsTrack_.inBandMetadataTrackDispatchType=""),_this.requestOptions_={withCredentials:withCredentials,handleManifestRedirects:handleManifestRedirects,timeout:null},_this.mediaTypes_=(mediaTypes={},["AUDIO","SUBTITLES","CLOSED-CAPTIONS"].forEach((function(type){mediaTypes[type]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:noop$1,activeTrack:noop$1,onGroupChanged:noop$1,onTrackChanged:noop$1}})),mediaTypes),_this.mediaSource=new videojs$1.MediaSource,_this.mediaSource.addEventListener("sourceopen",_this.handleSourceOpen_.bind(_this)),_this.seekable_=videojs$1.createTimeRanges(),_this.hasPlayed_=!1,_this.syncController_=new SyncController(options),_this.segmentMetadataTrack_=tech.addRemoteTextTrack({kind:"metadata",label:"segment-metadata"},!1).track,_this.decrypter_=new Decrypter$1,_this.inbandTextTracks_={};var segmentLoaderSettings={hls:_this.hls_,mediaSource:_this.mediaSource,currentTime:_this.tech_.currentTime.bind(_this.tech_),seekable:function(){return _this.seekable()},seeking:function(){return _this.tech_.seeking()},duration:function(){return _this.mediaSource.duration},hasPlayed:function(){return _this.hasPlayed_},goalBufferLength:function(){return _this.goalBufferLength()},bandwidth:bandwidth,syncController:_this.syncController_,decrypter:_this.decrypter_,sourceType:_this.sourceType_,inbandTextTracks:_this.inbandTextTracks_,cacheEncryptionKeys:cacheEncryptionKeys};return _this.masterPlaylistLoader_="dash"===_this.sourceType_?new DashPlaylistLoader(url,_this.hls_,_this.requestOptions_):new PlaylistLoader(url,_this.hls_,_this.requestOptions_),_this.setupMasterPlaylistLoaderListeners_(),_this.mainSegmentLoader_=new SegmentLoader(videojs$1.mergeOptions(segmentLoaderSettings,{segmentMetadataTrack:_this.segmentMetadataTrack_,loaderType:"main"}),options),_this.audioSegmentLoader_=new SegmentLoader(videojs$1.mergeOptions(segmentLoaderSettings,{loaderType:"audio"}),options),_this.subtitleSegmentLoader_=new VTTSegmentLoader(videojs$1.mergeOptions(segmentLoaderSettings,{loaderType:"vtt",featuresNativeTextTracks:_this.tech_.featuresNativeTextTracks}),options),_this.setupSegmentLoaderListeners_(),loaderStats.forEach((function(stat){_this[stat+"_"]=sumLoaderStat.bind(_this,stat)})),_this.logger_=logger("MPC"),_this.masterPlaylistLoader_.load(),_this}return inherits$2(MasterPlaylistController,_videojs$EventTarget),createClass$1(MasterPlaylistController,[{key:"setupMasterPlaylistLoaderListeners_",value:function(){var _this2=this;this.masterPlaylistLoader_.on("loadedmetadata",(function(){var media=_this2.masterPlaylistLoader_.media(),requestTimeout=1.5*media.targetDuration*1e3;isLowestEnabledRendition(_this2.masterPlaylistLoader_.master,_this2.masterPlaylistLoader_.media())?_this2.requestOptions_.timeout=0:_this2.requestOptions_.timeout=requestTimeout,media.endList&&"none"!==_this2.tech_.preload()&&(_this2.mainSegmentLoader_.playlist(media,_this2.requestOptions_),_this2.mainSegmentLoader_.load()),setupMediaGroups({sourceType:_this2.sourceType_,segmentLoaders:{AUDIO:_this2.audioSegmentLoader_,SUBTITLES:_this2.subtitleSegmentLoader_,main:_this2.mainSegmentLoader_},tech:_this2.tech_,requestOptions:_this2.requestOptions_,masterPlaylistLoader:_this2.masterPlaylistLoader_,hls:_this2.hls_,master:_this2.master(),mediaTypes:_this2.mediaTypes_,blacklistCurrentPlaylist:_this2.blacklistCurrentPlaylist.bind(_this2)}),_this2.triggerPresenceUsage_(_this2.master(),media);try{_this2.setupSourceBuffers_()}catch(e){return videojs$1.log.warn("Failed to create SourceBuffers",e),_this2.mediaSource.endOfStream("decode")}_this2.setupFirstPlay(),!_this2.mediaTypes_.AUDIO.activePlaylistLoader||_this2.mediaTypes_.AUDIO.activePlaylistLoader.media()?_this2.trigger("selectedinitialmedia"):_this2.mediaTypes_.AUDIO.activePlaylistLoader.one("loadedmetadata",(function(){_this2.trigger("selectedinitialmedia")}))})),this.masterPlaylistLoader_.on("loadedplaylist",(function(){var updatedPlaylist=_this2.masterPlaylistLoader_.media();if(!updatedPlaylist){_this2.excludeUnsupportedVariants_();var selectedMedia=void 0;return _this2.enableLowInitialPlaylist&&(selectedMedia=_this2.selectInitialPlaylist()),selectedMedia||(selectedMedia=_this2.selectPlaylist()),_this2.initialMedia_=selectedMedia,void _this2.masterPlaylistLoader_.media(_this2.initialMedia_)}if(_this2.useCueTags_&&_this2.updateAdCues_(updatedPlaylist),_this2.mainSegmentLoader_.playlist(updatedPlaylist,_this2.requestOptions_),_this2.updateDuration(),_this2.tech_.paused()||(_this2.mainSegmentLoader_.load(),_this2.audioSegmentLoader_&&_this2.audioSegmentLoader_.load()),!updatedPlaylist.endList){var addSeekableRange=function(){var seekable$$1=_this2.seekable();0!==seekable$$1.length&&_this2.mediaSource.addSeekableRange_(seekable$$1.start(0),seekable$$1.end(0))};_this2.duration()!==1/0?_this2.tech_.one("durationchange",(function onDurationchange(){_this2.duration()===1/0?addSeekableRange():_this2.tech_.one("durationchange",onDurationchange)})):addSeekableRange()}})),this.masterPlaylistLoader_.on("error",(function(){_this2.blacklistCurrentPlaylist(_this2.masterPlaylistLoader_.error)})),this.masterPlaylistLoader_.on("mediachanging",(function(){_this2.mainSegmentLoader_.abort(),_this2.mainSegmentLoader_.pause()})),this.masterPlaylistLoader_.on("mediachange",(function(){var media=_this2.masterPlaylistLoader_.media(),requestTimeout=1.5*media.targetDuration*1e3;isLowestEnabledRendition(_this2.masterPlaylistLoader_.master,_this2.masterPlaylistLoader_.media())?_this2.requestOptions_.timeout=0:_this2.requestOptions_.timeout=requestTimeout,_this2.mainSegmentLoader_.playlist(media,_this2.requestOptions_),_this2.mainSegmentLoader_.load(),_this2.tech_.trigger({type:"mediachange",bubbles:!0})})),this.masterPlaylistLoader_.on("playlistunchanged",(function(){var updatedPlaylist=_this2.masterPlaylistLoader_.media();_this2.stuckAtPlaylistEnd_(updatedPlaylist)&&(_this2.blacklistCurrentPlaylist({message:"Playlist no longer updating."}),_this2.tech_.trigger("playliststuck"))})),this.masterPlaylistLoader_.on("renditiondisabled",(function(){_this2.tech_.trigger({type:"usage",name:"hls-rendition-disabled"})})),this.masterPlaylistLoader_.on("renditionenabled",(function(){_this2.tech_.trigger({type:"usage",name:"hls-rendition-enabled"})}))}},{key:"triggerPresenceUsage_",value:function(master,media){var mediaGroups=master.mediaGroups||{},defaultDemuxed=!0,audioGroupKeys=Object.keys(mediaGroups.AUDIO);for(var mediaGroup in mediaGroups.AUDIO)for(var label in mediaGroups.AUDIO[mediaGroup])mediaGroups.AUDIO[mediaGroup][label].uri||(defaultDemuxed=!1);defaultDemuxed&&this.tech_.trigger({type:"usage",name:"hls-demuxed"}),Object.keys(mediaGroups.SUBTITLES).length&&this.tech_.trigger({type:"usage",name:"hls-webvtt"}),Hls.Playlist.isAes(media)&&this.tech_.trigger({type:"usage",name:"hls-aes"}),Hls.Playlist.isFmp4(media)&&this.tech_.trigger({type:"usage",name:"hls-fmp4"}),audioGroupKeys.length&&Object.keys(mediaGroups.AUDIO[audioGroupKeys[0]]).length>1&&this.tech_.trigger({type:"usage",name:"hls-alternate-audio"}),this.useCueTags_&&this.tech_.trigger({type:"usage",name:"hls-playlist-cue-tags"})}},{key:"setupSegmentLoaderListeners_",value:function(){var _this3=this;this.mainSegmentLoader_.on("bandwidthupdate",(function(){var nextPlaylist=_this3.selectPlaylist(),currentPlaylist=_this3.masterPlaylistLoader_.media(),buffered=_this3.tech_.buffered(),forwardBuffer=buffered.length?buffered.end(buffered.length-1)-_this3.tech_.currentTime():0,bufferLowWaterLine=_this3.bufferLowWaterLine();(!currentPlaylist.endList||_this3.duration()<Config.MAX_BUFFER_LOW_WATER_LINE||nextPlaylist.attributes.BANDWIDTH<currentPlaylist.attributes.BANDWIDTH||forwardBuffer>=bufferLowWaterLine)&&_this3.masterPlaylistLoader_.media(nextPlaylist),_this3.tech_.trigger("bandwidthupdate")})),this.mainSegmentLoader_.on("progress",(function(){_this3.trigger("progress")})),this.mainSegmentLoader_.on("error",(function(){_this3.blacklistCurrentPlaylist(_this3.mainSegmentLoader_.error())})),this.mainSegmentLoader_.on("syncinfoupdate",(function(){_this3.onSyncInfoUpdate_()})),this.mainSegmentLoader_.on("timestampoffset",(function(){_this3.tech_.trigger({type:"usage",name:"hls-timestamp-offset"})})),this.audioSegmentLoader_.on("syncinfoupdate",(function(){_this3.onSyncInfoUpdate_()})),this.mainSegmentLoader_.on("ended",(function(){_this3.onEndOfStream()})),this.mainSegmentLoader_.on("earlyabort",(function(){_this3.blacklistCurrentPlaylist({message:"Aborted early because there isn't enough bandwidth to complete the request without rebuffering."},120)})),this.mainSegmentLoader_.on("reseteverything",(function(){_this3.tech_.trigger("hls-reset")})),this.mainSegmentLoader_.on("segmenttimemapping",(function(event){_this3.tech_.trigger({type:"hls-segment-time-mapping",mapping:event.mapping})})),this.audioSegmentLoader_.on("ended",(function(){_this3.onEndOfStream()}))}},{key:"mediaSecondsLoaded_",value:function(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}},{key:"load",value:function(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}},{key:"smoothQualityChange_",value:function(){var media=this.selectPlaylist();media!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(media),this.mainSegmentLoader_.resetLoader())}},{key:"fastQualityChange_",value:function(){var _this4=this,media=this.selectPlaylist();media!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(media),this.mainSegmentLoader_.resetEverything((function(){videojs$1.browser.IE_VERSION||videojs$1.browser.IS_EDGE?_this4.tech_.setCurrentTime(_this4.tech_.currentTime()+.04):_this4.tech_.setCurrentTime(_this4.tech_.currentTime())})))}},{key:"play",value:function(){if(!this.setupFirstPlay()){this.tech_.ended()&&this.seekTo_(0),this.hasPlayed_&&this.load();var seekable$$1=this.tech_.seekable();return this.tech_.duration()===1/0&&this.tech_.currentTime()<seekable$$1.start(0)?this.seekTo_(seekable$$1.end(seekable$$1.length-1)):void 0}}},{key:"setupFirstPlay",value:function(){var _this5=this,media=this.masterPlaylistLoader_.media();if(!media||this.tech_.paused()||this.hasPlayed_)return!1;if(!media.endList){var seekable$$1=this.seekable();if(!seekable$$1.length)return!1;if(videojs$1.browser.IE_VERSION&&0===this.tech_.readyState())return this.tech_.one("loadedmetadata",(function(){_this5.trigger("firstplay"),_this5.seekTo_(seekable$$1.end(0)),_this5.hasPlayed_=!0})),!1;this.trigger("firstplay"),this.seekTo_(seekable$$1.end(0))}return this.hasPlayed_=!0,this.load(),!0}},{key:"handleSourceOpen_",value:function(){try{this.setupSourceBuffers_()}catch(e){return videojs$1.log.warn("Failed to create Source Buffers",e),this.mediaSource.endOfStream("decode")}if(this.tech_.autoplay()){var playPromise=this.tech_.play();void 0!==playPromise&&"function"==typeof playPromise.then&&playPromise.then(null,(function(e){}))}this.trigger("sourceopen")}},{key:"onEndOfStream",value:function(){var isEndOfStream=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(isEndOfStream=!this.mainSegmentLoader_.startingMedia_||this.mainSegmentLoader_.startingMedia_.containsVideo?isEndOfStream&&this.audioSegmentLoader_.ended_:this.audioSegmentLoader_.ended_),isEndOfStream){this.logger_("calling mediaSource.endOfStream()");try{this.mediaSource.endOfStream()}catch(e){videojs$1.log.warn("Failed to call media source endOfStream",e)}}}},{key:"stuckAtPlaylistEnd_",value:function(playlist){if(!this.seekable().length)return!1;var expired=this.syncController_.getExpiredTime(playlist,this.mediaSource.duration);if(null===expired)return!1;var absolutePlaylistEnd=Hls.Playlist.playlistEnd(playlist,expired),currentTime=this.tech_.currentTime(),buffered=this.tech_.buffered();if(!buffered.length)return absolutePlaylistEnd-currentTime<=.1;var bufferedEnd=buffered.end(buffered.length-1);return bufferedEnd-currentTime<=.1&&absolutePlaylistEnd-bufferedEnd<=.1}},{key:"blacklistCurrentPlaylist",value:function(){var error=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},blacklistDuration=arguments[1],currentPlaylist=void 0,nextPlaylist=void 0;if(currentPlaylist=error.playlist||this.masterPlaylistLoader_.media(),blacklistDuration=blacklistDuration||error.blacklistDuration||this.blacklistDuration,!currentPlaylist){this.error=error;try{return this.mediaSource.endOfStream("network")}catch(e){return this.trigger("error")}}var isFinalRendition=1===this.masterPlaylistLoader_.master.playlists.filter(isEnabled).length,playlists=this.masterPlaylistLoader_.master.playlists;return 1===playlists.length?(videojs$1.log.warn("Problem encountered with the current HLS playlist. Trying again since it is the only playlist."),this.tech_.trigger("retryplaylist"),this.masterPlaylistLoader_.load(isFinalRendition)):(isFinalRendition&&(videojs$1.log.warn("Removing all playlists from the blacklist because the last rendition is about to be blacklisted."),playlists.forEach((function(playlist){playlist.excludeUntil!==1/0&&delete playlist.excludeUntil})),this.tech_.trigger("retryplaylist")),currentPlaylist.excludeUntil=Date.now()+1e3*blacklistDuration,this.tech_.trigger("blacklistplaylist"),this.tech_.trigger({type:"usage",name:"hls-rendition-blacklisted"}),nextPlaylist=this.selectPlaylist(),videojs$1.log.warn("Problem encountered with the current HLS playlist."+(error.message?" "+error.message:"")+" Switching to another playlist."),this.masterPlaylistLoader_.media(nextPlaylist,isFinalRendition))}},{key:"pauseLoading",value:function(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}},{key:"setCurrentTime",value:function(currentTime){var buffered=findRange(this.tech_.buffered(),currentTime);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?buffered&&buffered.length?currentTime:(this.mainSegmentLoader_.resetEverything(),this.mainSegmentLoader_.abort(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.resetEverything(),this.audioSegmentLoader_.abort()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.resetEverything(),this.subtitleSegmentLoader_.abort()),void this.load()):0}},{key:"duration",value:function(){return this.masterPlaylistLoader_?this.mediaSource?this.mediaSource.duration:Hls.Playlist.duration(this.masterPlaylistLoader_.media()):0}},{key:"seekable",value:function(){return this.seekable_}},{key:"onSyncInfoUpdate_",value:function(){var audioSeekable=void 0;if(this.masterPlaylistLoader_){var media=this.masterPlaylistLoader_.media();if(media){var expired=this.syncController_.getExpiredTime(media,this.mediaSource.duration);if(null!==expired){var suggestedPresentationDelay=this.masterPlaylistLoader_.master.suggestedPresentationDelay,mainSeekable=Hls.Playlist.seekable(media,expired,suggestedPresentationDelay);if(0!==mainSeekable.length){if(this.mediaTypes_.AUDIO.activePlaylistLoader){if(media=this.mediaTypes_.AUDIO.activePlaylistLoader.media(),null===(expired=this.syncController_.getExpiredTime(media,this.mediaSource.duration)))return;if(0===(audioSeekable=Hls.Playlist.seekable(media,expired,suggestedPresentationDelay)).length)return}var oldEnd=void 0,oldStart=void 0;this.seekable_&&this.seekable_.length&&(oldEnd=this.seekable_.end(0),oldStart=this.seekable_.start(0)),audioSeekable?audioSeekable.start(0)>mainSeekable.end(0)||mainSeekable.start(0)>audioSeekable.end(0)?this.seekable_=mainSeekable:this.seekable_=videojs$1.createTimeRanges([[audioSeekable.start(0)>mainSeekable.start(0)?audioSeekable.start(0):mainSeekable.start(0),audioSeekable.end(0)<mainSeekable.end(0)?audioSeekable.end(0):mainSeekable.end(0)]]):this.seekable_=mainSeekable,this.seekable_&&this.seekable_.length&&this.seekable_.end(0)===oldEnd&&this.seekable_.start(0)===oldStart||(this.logger_("seekable updated ["+printableRange(this.seekable_)+"]"),this.tech_.trigger("seekablechanged"))}}}}}},{key:"updateDuration",value:function(){var _this6=this,oldDuration=this.mediaSource.duration,newDuration=Hls.Playlist.duration(this.masterPlaylistLoader_.media()),buffered=this.tech_.buffered(),setDuration=function setDuration(){_this6.logger_("Setting duration from "+_this6.mediaSource.duration+" => "+newDuration);try{_this6.mediaSource.duration=newDuration}catch(e){videojs$1.log.warn("Failed to set media source duration",e)}_this6.tech_.trigger("durationchange"),_this6.mediaSource.removeEventListener("sourceopen",setDuration)};buffered.length>0&&(newDuration=Math.max(newDuration,buffered.end(buffered.length-1))),oldDuration!==newDuration&&("open"!==this.mediaSource.readyState?this.mediaSource.addEventListener("sourceopen",setDuration):setDuration())}},{key:"dispose",value:function(){var _this7=this;this.trigger("dispose"),this.decrypter_.terminate(),this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),["AUDIO","SUBTITLES"].forEach((function(type){var groups=_this7.mediaTypes_[type].groups;for(var id in groups)groups[id].forEach((function(group){group.playlistLoader&&group.playlistLoader.dispose()}))})),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.off(),this.mediaSource.dispose&&this.mediaSource.dispose()}},{key:"master",value:function(){return this.masterPlaylistLoader_.master}},{key:"media",value:function(){return this.masterPlaylistLoader_.media()||this.initialMedia_}},{key:"setupSourceBuffers_",value:function(){var mimeTypes,media=this.masterPlaylistLoader_.media();if(media&&"open"===this.mediaSource.readyState){if((mimeTypes=mimeTypesForPlaylist(this.masterPlaylistLoader_.master,media)).length<1)return this.error="No compatible SourceBuffer configuration for the variant stream:"+media.resolvedUri,this.mediaSource.endOfStream("decode");this.configureLoaderMimeTypes_(mimeTypes),this.excludeIncompatibleVariants_(media)}}},{key:"configureLoaderMimeTypes_",value:function(mimeTypes){var sourceBufferEmitter=mimeTypes.length>1&&-1===mimeTypes[0].indexOf(",")&&mimeTypes[0]!==mimeTypes[1]?new videojs$1.EventTarget:null;this.mainSegmentLoader_.mimeType(mimeTypes[0],sourceBufferEmitter),mimeTypes[1]&&this.audioSegmentLoader_.mimeType(mimeTypes[1],sourceBufferEmitter)}},{key:"excludeUnsupportedVariants_",value:function(){this.master().playlists.forEach((function(variant){var codecString;variant.attributes.CODECS&&window$3.MediaSource&&window$3.MediaSource.isTypeSupported&&!window$3.MediaSource.isTypeSupported('video/mp4; codecs="'+(codecString=variant.attributes.CODECS,codecString.replace(/avc1\.(\d+)\.(\d+)/i,(function(match){return translateLegacyCodecs([match])[0]}))+'"'))&&(variant.excludeUntil=1/0)}))}},{key:"excludeIncompatibleVariants_",value:function(media){var codecCount=2,videoCodec=null,codecs=void 0;media.attributes.CODECS&&(codecs=parseCodecs(media.attributes.CODECS),videoCodec=codecs.videoCodec,codecCount=codecs.codecCount),this.master().playlists.forEach((function(variant){var variantCodecs={codecCount:2,videoCodec:null};variant.attributes.CODECS&&(variantCodecs=parseCodecs(variant.attributes.CODECS)),variantCodecs.codecCount!==codecCount&&(variant.excludeUntil=1/0),variantCodecs.videoCodec!==videoCodec&&(variant.excludeUntil=1/0)}))}},{key:"updateAdCues_",value:function(media){var offset=0,seekable$$1=this.seekable();seekable$$1.length&&(offset=seekable$$1.start(0)),function(media,track){var offset=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(media.segments)for(var mediaTime=offset,cue=void 0,i=0;i<media.segments.length;i++){var segment=media.segments[i];if(cue||(cue=findAdCue(track,mediaTime+segment.duration/2)),cue){if("cueIn"in segment){cue.endTime=mediaTime,cue.adEndTime=mediaTime,mediaTime+=segment.duration,cue=null;continue}if(mediaTime<cue.endTime){mediaTime+=segment.duration;continue}cue.endTime+=segment.duration}else if("cueOut"in segment&&((cue=new window$3.VTTCue(mediaTime,mediaTime+segment.duration,segment.cueOut)).adStartTime=mediaTime,cue.adEndTime=mediaTime+parseFloat(segment.cueOut),track.addCue(cue)),"cueOutCont"in segment){var adOffset=void 0,adTotal=void 0,_segment$cueOutCont$s=segment.cueOutCont.split("/").map(parseFloat),_segment$cueOutCont$s2=slicedToArray(_segment$cueOutCont$s,2);adOffset=_segment$cueOutCont$s2[0],adTotal=_segment$cueOutCont$s2[1],(cue=new window$3.VTTCue(mediaTime,mediaTime+segment.duration,"")).adStartTime=mediaTime-adOffset,cue.adEndTime=cue.adStartTime+adTotal,track.addCue(cue)}mediaTime+=segment.duration}}(media,this.cueTagsTrack_,offset)}},{key:"goalBufferLength",value:function(){var currentTime=this.tech_.currentTime(),initial=Config.GOAL_BUFFER_LENGTH,rate=Config.GOAL_BUFFER_LENGTH_RATE,max=Math.max(initial,Config.MAX_GOAL_BUFFER_LENGTH);return Math.min(initial+currentTime*rate,max)}},{key:"bufferLowWaterLine",value:function(){var currentTime=this.tech_.currentTime(),initial=Config.BUFFER_LOW_WATER_LINE,rate=Config.BUFFER_LOW_WATER_LINE_RATE,max=Math.max(initial,Config.MAX_BUFFER_LOW_WATER_LINE);return Math.min(initial+currentTime*rate,max)}}]),MasterPlaylistController}(videojs$1.EventTarget),Representation=function Representation(hlsHandler,playlist,id){classCallCheck$1(this,Representation);var loader,playlistID,changePlaylistFn,mpc=hlsHandler.masterPlaylistController_,qualityChangeFunction=mpc[(hlsHandler.options_.smoothQualityChange?"smooth":"fast")+"QualityChange_"].bind(mpc);if(playlist.attributes.RESOLUTION){var resolution=playlist.attributes.RESOLUTION;this.width=resolution.width,this.height=resolution.height}this.bandwidth=playlist.attributes.BANDWIDTH,this.id=id,this.enabled=(loader=hlsHandler.playlists,playlistID=playlist.id,changePlaylistFn=qualityChangeFunction,function(enable){var playlist=loader.master.playlists[playlistID],incompatible=isIncompatible(playlist),currentlyEnabled=isEnabled(playlist);return void 0===enable?currentlyEnabled:(enable?delete playlist.disabled:playlist.disabled=!0,enable===currentlyEnabled||incompatible||(changePlaylistFn(),enable?loader.trigger("renditionenabled"):loader.trigger("renditiondisabled")),enable)})},timerCancelEvents=["seeking","seeked","pause","playing","error"],PlaybackWatcher=function(){function PlaybackWatcher(options){var _this=this;classCallCheck$1(this,PlaybackWatcher),this.tech_=options.tech,this.seekable=options.seekable,this.seekTo=options.seekTo,this.allowSeeksWithinUnsafeLiveWindow=options.allowSeeksWithinUnsafeLiveWindow,this.media=options.media,this.consecutiveUpdates=0,this.lastRecordedTime=null,this.timer_=null,this.checkCurrentTimeTimeout_=null,this.logger_=logger("PlaybackWatcher"),this.logger_("initialize");var canPlayHandler=function(){return _this.monitorCurrentTime_()},waitingHandler=function(){return _this.techWaiting_()},cancelTimerHandler=function(){return _this.cancelTimer_()},fixesBadSeeksHandler=function(){return _this.fixesBadSeeks_()};this.tech_.on("seekablechanged",fixesBadSeeksHandler),this.tech_.on("waiting",waitingHandler),this.tech_.on(timerCancelEvents,cancelTimerHandler),this.tech_.on("canplay",canPlayHandler),this.dispose=function(){_this.logger_("dispose"),_this.tech_.off("seekablechanged",fixesBadSeeksHandler),_this.tech_.off("waiting",waitingHandler),_this.tech_.off(timerCancelEvents,cancelTimerHandler),_this.tech_.off("canplay",canPlayHandler),_this.checkCurrentTimeTimeout_&&window$3.clearTimeout(_this.checkCurrentTimeTimeout_),_this.cancelTimer_()}}return createClass$1(PlaybackWatcher,[{key:"monitorCurrentTime_",value:function(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&window$3.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=window$3.setTimeout(this.monitorCurrentTime_.bind(this),250)}},{key:"checkCurrentTime_",value:function(){if(this.tech_.seeking()&&this.fixesBadSeeks_())return this.consecutiveUpdates=0,void(this.lastRecordedTime=this.tech_.currentTime());if(!this.tech_.paused()&&!this.tech_.seeking()){var currentTime=this.tech_.currentTime(),buffered=this.tech_.buffered();if(this.lastRecordedTime===currentTime&&(!buffered.length||currentTime+.1>=buffered.end(buffered.length-1)))return this.techWaiting_();this.consecutiveUpdates>=5&¤tTime===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):currentTime===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=currentTime)}}},{key:"cancelTimer_",value:function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_("cancelTimer_"),clearTimeout(this.timer_)),this.timer_=null}},{key:"fixesBadSeeks_",value:function(){if(!this.tech_.seeking())return!1;var seekable=this.seekable(),currentTime=this.tech_.currentTime(),seekTo=void 0;return this.afterSeekableWindow_(seekable,currentTime,this.media(),this.allowSeeksWithinUnsafeLiveWindow)&&(seekTo=seekable.end(seekable.length-1)),this.beforeSeekableWindow_(seekable,currentTime)&&(seekTo=seekable.start(0)+.1),void 0!==seekTo&&(this.logger_("Trying to seek outside of seekable at time "+currentTime+" with seekable range "+printableRange(seekable)+". Seeking to "+seekTo+"."),this.seekTo(seekTo),!0)}},{key:"waiting_",value:function(){if(!this.techWaiting_()){var currentTime=this.tech_.currentTime(),buffered=this.tech_.buffered(),currentRange=findRange(buffered,currentTime);return currentRange.length&¤tTime+3<=currentRange.end(0)?(this.cancelTimer_(),this.seekTo(currentTime),this.logger_("Stopped at "+currentTime+" while inside a buffered region ["+currentRange.start(0)+" -> "+currentRange.end(0)+"]. Attempting to resume playback by seeking to the current time."),void this.tech_.trigger({type:"usage",name:"hls-unknown-waiting"})):void 0}}},{key:"techWaiting_",value:function(){var seekable=this.seekable(),currentTime=this.tech_.currentTime();if(this.tech_.seeking()&&this.fixesBadSeeks_())return!0;if(this.tech_.seeking()||null!==this.timer_)return!0;if(this.beforeSeekableWindow_(seekable,currentTime)){var livePoint=seekable.end(seekable.length-1);return this.logger_("Fell out of live window at time "+currentTime+". Seeking to live point (seekable end) "+livePoint),this.cancelTimer_(),this.seekTo(livePoint),this.tech_.trigger({type:"usage",name:"hls-live-resync"}),!0}var buffered=this.tech_.buffered(),nextRange=findNextRange(buffered,currentTime);if(this.videoUnderflow_(nextRange,buffered,currentTime))return this.cancelTimer_(),this.seekTo(currentTime),this.tech_.trigger({type:"usage",name:"hls-video-underflow"}),!0;if(nextRange.length>0){var difference=nextRange.start(0)-currentTime;return this.logger_("Stopped at "+currentTime+", setting timer for "+difference+", seeking to "+nextRange.start(0)),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*difference,currentTime),!0}return!1}},{key:"afterSeekableWindow_",value:function(seekable,currentTime,playlist){var allowSeeksWithinUnsafeLiveWindow=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!seekable.length)return!1;var allowedEnd=seekable.end(seekable.length-1)+.1,isLive=!playlist.endList;return isLive&&allowSeeksWithinUnsafeLiveWindow&&(allowedEnd=seekable.end(seekable.length-1)+3*playlist.targetDuration),currentTime>allowedEnd}},{key:"beforeSeekableWindow_",value:function(seekable,currentTime){return!!(seekable.length&&seekable.start(0)>0&¤tTime<seekable.start(0)-.1)}},{key:"videoUnderflow_",value:function(nextRange,buffered,currentTime){if(0===nextRange.length){var gap=this.gapFromVideoUnderflow_(buffered,currentTime);if(gap)return this.logger_("Encountered a gap in video from "+gap.start+" to "+gap.end+". Seeking to current time "+currentTime),!0}return!1}},{key:"skipTheGap_",value:function(scheduledCurrentTime){var buffered=this.tech_.buffered(),currentTime=this.tech_.currentTime(),nextRange=findNextRange(buffered,currentTime);this.cancelTimer_(),0!==nextRange.length&¤tTime===scheduledCurrentTime&&(this.logger_("skipTheGap_:","currentTime:",currentTime,"scheduled currentTime:",scheduledCurrentTime,"nextRange start:",nextRange.start(0)),this.seekTo(nextRange.start(0)+.03333333333333333),this.tech_.trigger({type:"usage",name:"hls-gap-skip"}))}},{key:"gapFromVideoUnderflow_",value:function(buffered,currentTime){for(var gaps=function(buffered){if(buffered.length<2)return videojs$1.createTimeRanges();for(var ranges=[],i=1;i<buffered.length;i++){var start=buffered.end(i-1),end=buffered.start(i);ranges.push([start,end])}return videojs$1.createTimeRanges(ranges)}(buffered),i=0;i<gaps.length;i++){var start=gaps.start(i),end=gaps.end(i);if(currentTime-start<4&¤tTime-start>2)return{start:start,end:end}}return null}}]),PlaybackWatcher}(),defaultOptions={errorInterval:30,getSource:function(next){return next(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_)}},initPlugin=function initPlugin(player,options){var lastCalled=0,seekTo=0,localOptions=videojs$1.mergeOptions(defaultOptions,options);player.ready((function(){player.trigger({type:"usage",name:"hls-error-reload-initialized"})}));var loadedMetadataHandler=function(){seekTo&&player.currentTime(seekTo)},setSource=function(sourceObj){null!=sourceObj&&(seekTo=player.duration()!==1/0&&player.currentTime()||0,player.one("loadedmetadata",loadedMetadataHandler),player.src(sourceObj),player.trigger({type:"usage",name:"hls-error-reload"}),player.play())},errorHandler=function(){if(Date.now()-lastCalled<1e3*localOptions.errorInterval)player.trigger({type:"usage",name:"hls-error-reload-canceled"});else{if(localOptions.getSource&&"function"==typeof localOptions.getSource)return lastCalled=Date.now(),localOptions.getSource.call(player,setSource);videojs$1.log.error("ERROR: reloadSourceOnError - The option getSource must be a function!")}},cleanupEvents=function cleanupEvents(){player.off("loadedmetadata",loadedMetadataHandler),player.off("error",errorHandler),player.off("dispose",cleanupEvents)};player.on("error",errorHandler),player.on("dispose",cleanupEvents),player.reloadSourceOnError=function(newOptions){cleanupEvents(),initPlugin(player,newOptions)}},reloadSourceOnError=function(options){initPlugin(this,options)};videojs$1.use("*",(function(player){return{setSource:function(srcObj,next){next(null,srcObj)},setCurrentTime:function(time){return player.vhs&&player.currentSource().src===player.vhs.source_.src&&player.vhs.setCurrentTime(time),time},play:function(){player.vhs&&player.currentSource().src===player.vhs.source_.src&&player.vhs.setCurrentTime(player.tech_.currentTime())}}}));var Hls$1={PlaylistLoader:PlaylistLoader,Playlist:Playlist,Decrypter:Decrypter,AsyncStream:AsyncStream,decrypt:decrypt,utils:utils$1,STANDARD_PLAYLIST_SELECTOR:function(){return function(master,playerBandwidth,playerWidth,playerHeight,limitRenditionByPlayerDimensions){var sortedPlaylistReps=master.playlists.map((function(playlist){var width,height;return width=playlist.attributes.RESOLUTION&&playlist.attributes.RESOLUTION.width,height=playlist.attributes.RESOLUTION&&playlist.attributes.RESOLUTION.height,{bandwidth:playlist.attributes.BANDWIDTH||window$3.Number.MAX_VALUE,width:width,height:height,playlist:playlist}}));stableSort(sortedPlaylistReps,(function(left,right){return left.bandwidth-right.bandwidth}));var enabledPlaylistReps=(sortedPlaylistReps=sortedPlaylistReps.filter((function(rep){return!Playlist.isIncompatible(rep.playlist)}))).filter((function(rep){return Playlist.isEnabled(rep.playlist)}));enabledPlaylistReps.length||(enabledPlaylistReps=sortedPlaylistReps.filter((function(rep){return!Playlist.isDisabled(rep.playlist)})));var bandwidthPlaylistReps=enabledPlaylistReps.filter((function(rep){return rep.bandwidth*Config.BANDWIDTH_VARIANCE<playerBandwidth})),highestRemainingBandwidthRep=bandwidthPlaylistReps[bandwidthPlaylistReps.length-1],bandwidthBestRep=bandwidthPlaylistReps.filter((function(rep){return rep.bandwidth===highestRemainingBandwidthRep.bandwidth}))[0];if(!1===limitRenditionByPlayerDimensions){var _chosenRep=bandwidthBestRep||enabledPlaylistReps[0]||sortedPlaylistReps[0];return _chosenRep?_chosenRep.playlist:null}var haveResolution=bandwidthPlaylistReps.filter((function(rep){return rep.width&&rep.height}));stableSort(haveResolution,(function(left,right){return left.width-right.width}));var resolutionBestRepList=haveResolution.filter((function(rep){return rep.width===playerWidth&&rep.height===playerHeight}));highestRemainingBandwidthRep=resolutionBestRepList[resolutionBestRepList.length-1];var resolutionBestRep=resolutionBestRepList.filter((function(rep){return rep.bandwidth===highestRemainingBandwidthRep.bandwidth}))[0],resolutionPlusOneList=void 0,resolutionPlusOneSmallest=void 0,resolutionPlusOneRep=void 0;resolutionBestRep||(resolutionPlusOneSmallest=(resolutionPlusOneList=haveResolution.filter((function(rep){return rep.width>playerWidth||rep.height>playerHeight}))).filter((function(rep){return rep.width===resolutionPlusOneList[0].width&&rep.height===resolutionPlusOneList[0].height})),highestRemainingBandwidthRep=resolutionPlusOneSmallest[resolutionPlusOneSmallest.length-1],resolutionPlusOneRep=resolutionPlusOneSmallest.filter((function(rep){return rep.bandwidth===highestRemainingBandwidthRep.bandwidth}))[0]);var chosenRep=resolutionPlusOneRep||resolutionBestRep||bandwidthBestRep||enabledPlaylistReps[0]||sortedPlaylistReps[0];return chosenRep?chosenRep.playlist:null}(this.playlists.master,this.systemBandwidth,parseInt(safeGetComputedStyle(this.tech_.el(),"width"),10),parseInt(safeGetComputedStyle(this.tech_.el(),"height"),10),this.limitRenditionByPlayerDimensions)},INITIAL_PLAYLIST_SELECTOR:function(){var playlists=this.playlists.master.playlists.filter(Playlist.isEnabled);return stableSort(playlists,(function(a,b){return comparePlaylistBandwidth(a,b)})),playlists.filter((function(playlist){return parseCodecs(playlist.attributes.CODECS).videoCodec}))[0]||null},comparePlaylistBandwidth:comparePlaylistBandwidth,comparePlaylistResolution:function(left,right){var leftWidth=void 0,rightWidth=void 0;return left.attributes.RESOLUTION&&left.attributes.RESOLUTION.width&&(leftWidth=left.attributes.RESOLUTION.width),leftWidth=leftWidth||window$3.Number.MAX_VALUE,right.attributes.RESOLUTION&&right.attributes.RESOLUTION.width&&(rightWidth=right.attributes.RESOLUTION.width),leftWidth===(rightWidth=rightWidth||window$3.Number.MAX_VALUE)&&left.attributes.BANDWIDTH&&right.attributes.BANDWIDTH?left.attributes.BANDWIDTH-right.attributes.BANDWIDTH:leftWidth-rightWidth},xhr:xhrFactory()};["GOAL_BUFFER_LENGTH","MAX_GOAL_BUFFER_LENGTH","GOAL_BUFFER_LENGTH_RATE","BUFFER_LOW_WATER_LINE","MAX_BUFFER_LOW_WATER_LINE","BUFFER_LOW_WATER_LINE_RATE","BANDWIDTH_VARIANCE"].forEach((function(prop){Object.defineProperty(Hls$1,prop,{get:function(){return videojs$1.log.warn("using Hls."+prop+" is UNSAFE be sure you know what you are doing"),Config[prop]},set:function(value){videojs$1.log.warn("using Hls."+prop+" is UNSAFE be sure you know what you are doing"),"number"!=typeof value||value<0?videojs$1.log.warn("value of Hls."+prop+" must be greater than or equal to 0"):Config[prop]=value}})}));var simpleTypeFromSourceType=function(type){return/^(audio|video|application)\/(x-|vnd\.apple\.)?mpegurl/i.test(type)?"hls":/^application\/dash\+xml/i.test(type)?"dash":null},handleHlsMediaChange=function(qualityLevels,playlistLoader){for(var newPlaylist=playlistLoader.media(),selectedIndex=-1,i=0;i<qualityLevels.length;i++)if(qualityLevels[i].id===newPlaylist.id){selectedIndex=i;break}qualityLevels.selectedIndex_=selectedIndex,qualityLevels.trigger({selectedIndex:selectedIndex,type:"change"})};Hls$1.canPlaySource=function(){return videojs$1.log.warn("HLS is no longer a tech. Please remove it from your player's techOrder.")};var video,setupEmeOptions=function(hlsHandler){var mainSegmentLoader=hlsHandler.masterPlaylistController_.mainSegmentLoader_,audioSegmentLoader=hlsHandler.masterPlaylistController_.audioSegmentLoader_,player=videojs$1.players[hlsHandler.tech_.options_.playerId];if(player.eme){var sourceOptions=function(keySystemOptions,mainSegmentLoader,audioSegmentLoader){if(!keySystemOptions)return keySystemOptions;var videoMimeType=void 0,audioMimeType=void 0;if(audioSegmentLoader.mimeType_)videoMimeType=mainSegmentLoader.mimeType_,audioMimeType=audioSegmentLoader.mimeType_;else{var parsedMimeType=parseContentType(mainSegmentLoader.mimeType_),codecs=parsedMimeType.parameters.codecs.split(","),audioCodec=void 0,videoCodec=void 0;codecs.forEach((function(codec){codec=codec.trim(),isAudioCodec(codec)?audioCodec=codec:isVideoCodec(codec)&&(videoCodec=codec)})),videoMimeType=parsedMimeType.type+'; codecs="'+videoCodec+'"',audioMimeType=parsedMimeType.type.replace("video","audio")+'; codecs="'+audioCodec+'"'}var keySystemContentTypes={},videoPlaylist=mainSegmentLoader.playlist_;for(var keySystem in keySystemOptions)keySystemContentTypes[keySystem]={audioContentType:audioMimeType,videoContentType:videoMimeType},videoPlaylist.contentProtection&&videoPlaylist.contentProtection[keySystem]&&videoPlaylist.contentProtection[keySystem].pssh&&(keySystemContentTypes[keySystem].pssh=videoPlaylist.contentProtection[keySystem].pssh),"string"==typeof keySystemOptions[keySystem]&&(keySystemContentTypes[keySystem].url=keySystemOptions[keySystem]);return videojs$1.mergeOptions(keySystemOptions,keySystemContentTypes)}(hlsHandler.source_.keySystems,mainSegmentLoader,audioSegmentLoader);sourceOptions&&(player.currentSource().keySystems=sourceOptions,11!==videojs$1.browser.IE_VERSION&&player.eme.initializeMediaKeys&&player.eme.initializeMediaKeys())}},getVhsLocalStorage=function(){if(!window.localStorage)return null;var storedObject=window.localStorage.getItem("videojs-vhs");if(!storedObject)return null;try{return JSON.parse(storedObject)}catch(e){return null}};Hls$1.supportsNativeHls=(video=document.createElement("video"),!!videojs$1.getTech("Html5").isSupported()&&["application/vnd.apple.mpegurl","audio/mpegurl","audio/x-mpegurl","application/x-mpegurl","video/x-mpegurl","video/mpegurl","application/mpegurl"].some((function(canItPlay){return/maybe|probably/i.test(video.canPlayType(canItPlay))}))),Hls$1.supportsNativeDash=!!videojs$1.getTech("Html5").isSupported()&&/maybe|probably/i.test(document.createElement("video").canPlayType("application/dash+xml")),Hls$1.supportsTypeNatively=function(type){return"hls"===type?Hls$1.supportsNativeHls:"dash"===type&&Hls$1.supportsNativeDash},Hls$1.isSupported=function(){return videojs$1.log.warn("HLS is no longer a tech. Please remove it from your player's techOrder.")};var HlsHandler=function(_Component){function HlsHandler(source,tech,options){classCallCheck$1(this,HlsHandler);var _this=possibleConstructorReturn$1(this,(HlsHandler.__proto__||Object.getPrototypeOf(HlsHandler)).call(this,tech,options.hls));if(tech.options_&&tech.options_.playerId){var _player=videojs$1(tech.options_.playerId);_player.hasOwnProperty("hls")||Object.defineProperty(_player,"hls",{get:function(){return videojs$1.log.warn("player.hls is deprecated. Use player.tech().hls instead."),tech.trigger({type:"usage",name:"hls-player-access"}),_this},configurable:!0}),_player.vhs=_this,_player.dash=_this,_this.player_=_player}if(_this.tech_=tech,_this.source_=source,_this.stats={},_this.setOptions_(),_this.options_.overrideNative&&tech.overrideNativeAudioTracks&&tech.overrideNativeVideoTracks)tech.overrideNativeAudioTracks(!0),tech.overrideNativeVideoTracks(!0);else if(_this.options_.overrideNative&&(tech.featuresNativeVideoTracks||tech.featuresNativeAudioTracks))throw new Error("Overriding native HLS requires emulated tracks. See https://git.io/vMpjB");return _this.on(document,["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],(function(event){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;fullscreenElement&&fullscreenElement.contains(_this.tech_.el())&&_this.masterPlaylistController_.smoothQualityChange_()})),_this.on(_this.tech_,"seeking",(function(){0===this.tech_.currentTime()&&this.tech_.player_.loop()&&this.setCurrentTime(0)})),_this.on(_this.tech_,"error",(function(){this.masterPlaylistController_&&this.masterPlaylistController_.pauseLoading()})),_this.on(_this.tech_,"play",_this.play),_this}return inherits$2(HlsHandler,_Component),createClass$1(HlsHandler,[{key:"setOptions_",value:function(){var _this2=this;if(this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.handleManifestRedirects=this.options_.handleManifestRedirects||!1,this.options_.limitRenditionByPlayerDimensions=!1!==this.options_.limitRenditionByPlayerDimensions,this.options_.smoothQualityChange=this.options_.smoothQualityChange||!1,this.options_.useBandwidthFromLocalStorage=void 0!==this.source_.useBandwidthFromLocalStorage?this.source_.useBandwidthFromLocalStorage:this.options_.useBandwidthFromLocalStorage||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,"number"!=typeof this.options_.blacklistDuration&&(this.options_.blacklistDuration=300),"number"!=typeof this.options_.bandwidth&&this.options_.useBandwidthFromLocalStorage){var storedObject=getVhsLocalStorage();storedObject&&storedObject.bandwidth&&(this.options_.bandwidth=storedObject.bandwidth,this.tech_.trigger({type:"usage",name:"hls-bandwidth-from-local-storage"})),storedObject&&storedObject.throughput&&(this.options_.throughput=storedObject.throughput,this.tech_.trigger({type:"usage",name:"hls-throughput-from-local-storage"}))}"number"!=typeof this.options_.bandwidth&&(this.options_.bandwidth=Config.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===Config.INITIAL_BANDWIDTH,["withCredentials","limitRenditionByPlayerDimensions","bandwidth","smoothQualityChange","customTagParsers","customTagMappers","handleManifestRedirects","cacheEncryptionKeys"].forEach((function(option){void 0!==_this2.source_[option]&&(_this2.options_[option]=_this2.source_[option])})),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions}},{key:"src",value:function(_src,type){var _this3=this;_src&&(this.setOptions_(),this.options_.url=this.source_.src,this.options_.tech=this.tech_,this.options_.externHls=Hls$1,this.options_.sourceType=simpleTypeFromSourceType(type),this.options_.seekTo=function(time){_this3.tech_.setCurrentTime(time),_this3.setCurrentTime(time)},this.masterPlaylistController_=new MasterPlaylistController(this.options_),this.playbackWatcher_=new PlaybackWatcher(videojs$1.mergeOptions(this.options_,{seekable:function(){return _this3.seekable()},media:function(){return _this3.masterPlaylistController_.media()}})),this.masterPlaylistController_.on("error",(function(){videojs$1.players[_this3.tech_.options_.playerId].error(_this3.masterPlaylistController_.error)})),this.masterPlaylistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):Hls$1.STANDARD_PLAYLIST_SELECTOR.bind(this),this.masterPlaylistController_.selectInitialPlaylist=Hls$1.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.masterPlaylistController_.masterPlaylistLoader_,this.mediaSource=this.masterPlaylistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get:function(){return this.masterPlaylistController_.selectPlaylist},set:function(selectPlaylist){this.masterPlaylistController_.selectPlaylist=selectPlaylist.bind(this)}},throughput:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.throughput.rate},set:function(throughput){this.masterPlaylistController_.mainSegmentLoader_.throughput.rate=throughput,this.masterPlaylistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.bandwidth},set:function(bandwidth){this.masterPlaylistController_.mainSegmentLoader_.bandwidth=bandwidth,this.masterPlaylistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get:function(){var invBandwidth=1/(this.bandwidth||1),invThroughput=void 0;return invThroughput=this.throughput>0?1/this.throughput:0,Math.floor(1/(invBandwidth+invThroughput))},set:function(){videojs$1.log.error('The "systemBandwidth" property is read-only')}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:function(){return _this3.bandwidth||0},enumerable:!0},mediaRequests:{get:function(){return _this3.masterPlaylistController_.mediaRequests_()||0},enumerable:!0},mediaRequestsAborted:{get:function(){return _this3.masterPlaylistController_.mediaRequestsAborted_()||0},enumerable:!0},mediaRequestsTimedout:{get:function(){return _this3.masterPlaylistController_.mediaRequestsTimedout_()||0},enumerable:!0},mediaRequestsErrored:{get:function(){return _this3.masterPlaylistController_.mediaRequestsErrored_()||0},enumerable:!0},mediaTransferDuration:{get:function(){return _this3.masterPlaylistController_.mediaTransferDuration_()||0},enumerable:!0},mediaBytesTransferred:{get:function(){return _this3.masterPlaylistController_.mediaBytesTransferred_()||0},enumerable:!0},mediaSecondsLoaded:{get:function(){return _this3.masterPlaylistController_.mediaSecondsLoaded_()||0},enumerable:!0},buffered:{get:function(){return timeRangesToArray(_this3.tech_.buffered())},enumerable:!0},currentTime:{get:function(){return _this3.tech_.currentTime()},enumerable:!0},currentSource:{get:function(){return _this3.tech_.currentSource_},enumerable:!0},currentTech:{get:function(){return _this3.tech_.name_},enumerable:!0},duration:{get:function(){return _this3.tech_.duration()},enumerable:!0},master:{get:function(){return _this3.playlists.master},enumerable:!0},playerDimensions:{get:function(){return _this3.tech_.currentDimensions()},enumerable:!0},seekable:{get:function(){return timeRangesToArray(_this3.tech_.seekable())},enumerable:!0},timestamp:{get:function(){return Date.now()},enumerable:!0},videoPlaybackQuality:{get:function(){return _this3.tech_.getVideoPlaybackQuality()},enumerable:!0}}),this.tech_.one("canplay",this.masterPlaylistController_.setupFirstPlay.bind(this.masterPlaylistController_)),this.tech_.on("bandwidthupdate",(function(){_this3.options_.useBandwidthFromLocalStorage&&function(options){if(!window.localStorage)return!1;var objectToStore=getVhsLocalStorage();objectToStore=objectToStore?videojs$1.mergeOptions(objectToStore,options):options;try{window.localStorage.setItem("videojs-vhs",JSON.stringify(objectToStore))}catch(e){return!1}}({bandwidth:_this3.bandwidth,throughput:Math.round(_this3.throughput)})})),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var hlsHandler,playlists;playlists=(hlsHandler=_this3).playlists,hlsHandler.representations=function(){return playlists&&playlists.master&&playlists.master.playlists?playlists.master.playlists.filter((function(media){return!isIncompatible(media)})).map((function(e,i){return new Representation(hlsHandler,e,e.id)})):[]},setupEmeOptions(_this3)})),this.on(this.masterPlaylistController_,"progress",(function(){this.tech_.trigger("progress")})),this.setupQualityLevels_(),this.tech_.el()&&this.tech_.src(videojs$1.URL.createObjectURL(this.masterPlaylistController_.mediaSource)))}},{key:"setupQualityLevels_",value:function(){var _this4=this,player=videojs$1.players[this.tech_.options_.playerId];player&&player.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=player.qualityLevels(),this.masterPlaylistController_.on("selectedinitialmedia",(function(){var qualityLevels,hls;qualityLevels=_this4.qualityLevels_,(hls=_this4).representations().forEach((function(rep){qualityLevels.addQualityLevel(rep)})),handleHlsMediaChange(qualityLevels,hls.playlists)})),this.playlists.on("mediachange",(function(){handleHlsMediaChange(_this4.qualityLevels_,_this4.playlists)})))}},{key:"play",value:function(){this.masterPlaylistController_.play()}},{key:"setCurrentTime",value:function(currentTime){this.masterPlaylistController_.setCurrentTime(currentTime)}},{key:"duration",value:function(){return this.masterPlaylistController_.duration()}},{key:"seekable",value:function(){return this.masterPlaylistController_.seekable()}},{key:"dispose",value:function(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.masterPlaylistController_&&this.masterPlaylistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.player_&&(delete this.player_.vhs,delete this.player_.dash,delete this.player_.hls),this.tech_&&this.tech_.hls&&delete this.tech_.hls,get$1(HlsHandler.prototype.__proto__||Object.getPrototypeOf(HlsHandler.prototype),"dispose",this).call(this)}},{key:"convertToProgramTime",value:function(time,callback){return getProgramTime({playlist:this.masterPlaylistController_.media(),time:time,callback:callback})}},{key:"seekToProgramTime",value:function(programTime,callback){var pauseAfterSeek=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],retryCount=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;return seekToProgramTime({programTime:programTime,playlist:this.masterPlaylistController_.media(),retryCount:retryCount,pauseAfterSeek:pauseAfterSeek,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:callback})}}]),HlsHandler}(videojs$1.getComponent("Component")),HlsSourceHandler={name:"videojs-http-streaming",VERSION:"1.12.3",canHandleSource:function(srcObj){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},localOptions=videojs$1.mergeOptions(videojs$1.options,options);return HlsSourceHandler.canPlayType(srcObj.type,localOptions)},handleSource:function(source,tech){var options=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},localOptions=videojs$1.mergeOptions(videojs$1.options,options);return tech.hls=new HlsHandler(source,tech,localOptions),tech.hls.xhr=xhrFactory(),tech.hls.src(source.src,source.type),tech.hls},canPlayType:function(type){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_videojs$mergeOptions=videojs$1.mergeOptions(videojs$1.options,options),overrideNative=_videojs$mergeOptions.hls.overrideNative,supportedType=simpleTypeFromSourceType(type),canUseMsePlayback=supportedType&&(!Hls$1.supportsTypeNatively(supportedType)||overrideNative);return canUseMsePlayback?"maybe":""}};return void 0!==videojs$1.MediaSource&&void 0!==videojs$1.URL||(videojs$1.MediaSource=MediaSource,videojs$1.URL=URL$1),MediaSource.supportsNativeMediaSources()&&videojs$1.getTech("Html5").registerSourceHandler(HlsSourceHandler,0),videojs$1.HlsHandler=HlsHandler,videojs$1.HlsSourceHandler=HlsSourceHandler,videojs$1.Hls=Hls$1,videojs$1.use||videojs$1.registerComponent("Hls",Hls$1),videojs$1.options.hls=videojs$1.options.hls||{},videojs$1.registerPlugin?videojs$1.registerPlugin("reloadSourceOnError",reloadSourceOnError):videojs$1.plugin("reloadSourceOnError",reloadSourceOnError),videojs$1},"object"===("undefined"==typeof exports?"undefined":_typeof2(exports))&&"undefined"!=typeof module?module.exports=factory(require("global/window"),require("global/document")):"function"==typeof define&&define.amd?define("media_videojs/video-lazy",["./window","./document"],factory):(global=global||self).videojs=factory(global.window,global.document);
Close