UNPKG

sense-media-box

Version:

Include web pages, videos, images and much more into your Qlik Sense app.

1,526 lines (1,496 loc) 90.5 kB
/*! Video.js v4.11.4 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */ (function () { var b = void 0, f = !0, k = null, l = !1; function m () {return function () {}} function n ( a ) {return function () {return this[a]}} function r ( a ) {return function () {return a}} var s; document.createElement( "video" ); document.createElement( "audio" ); document.createElement( "track" ); function t ( a, c, d ) { if ( "string" === typeof a ) { 0 === a.indexOf( "#" ) && (a = a.slice( 1 )); if ( t.Ga[a] ) { return t.Ga[a]; } a = t.w( a ) } if ( !a || !a.nodeName ) { throw new TypeError( "The element or ID supplied is not valid. (videojs)" ); } return a.player || new t.Player( a, c, d ) } var videojs = window.videojs = t; t.bc = "4.11"; t.ed = "https:" == document.location.protocol ? "https://" : "http://"; t.options = { techOrder: ["html5", "flash"], html5: {}, flash: {}, width: 300, height: 150, defaultVolume: 0, playbackRates: [], inactivityTimeout: 2E3, children: { mediaLoader: {}, posterImage: {}, textTrackDisplay: {}, loadingSpinner: {}, bigPlayButton: {}, controlBar: {}, errorDisplay: {} }, language: document.getElementsByTagName( "html" )[0].getAttribute( "lang" ) || navigator.languages && navigator.languages[0] || navigator.Ke || navigator.language || "en", languages: {}, notSupportedMessage: "No compatible source was found for this video." }; "GENERATED_CDN_VSN" !== t.bc && (videojs.options.flash.swf = t.ed + "vjs.zencdn.net/" + t.bc + "/video-js.swf"); t.sd = function ( a, c ) { t.options.languages[a] = t.options.languages[a] !== b ? t.W.pa( t.options.languages[a], c ) : c; return t.options.languages }; t.Ga = {}; "function" === typeof define && define.amd ? define( [], function () {return videojs} ) : "object" === typeof exports && "object" === typeof module && (module.exports = videojs); t.va = t.CoreObject = m(); t.va.extend = function ( a ) { var c, d; a = a || {}; c = a.init || a.i || this.prototype.init || this.prototype.i || m(); d = function () {c.apply( this, arguments )}; d.prototype = t.h.create( this.prototype ); d.prototype.constructor = d; d.extend = t.va.extend; d.create = t.va.create; for ( var e in a ) { a.hasOwnProperty( e ) && (d.prototype[e] = a[e]); } return d }; t.va.create = function () { var a = t.h.create( this.prototype ); this.apply( a, arguments ); return a }; t.c = function ( a, c, d ) { if ( t.h.isArray( c ) ) { return u( t.c, a, c, d ); } var e = t.getData( a ); e.C || (e.C = {}); e.C[c] || (e.C[c] = []); d.q || (d.q = t.q++); e.C[c].push( d ); e.X || (e.disabled = l, e.X = function ( c ) { if ( !e.disabled ) { c = t.Cc( c ); var d = e.C[c.type]; if ( d ) { for ( var d = d.slice( 0 ), j = 0, p = d.length; j < p && !c.Jc(); j++ ) { d[j].call( a, c ) } } } }); 1 == e.C[c].length && (a.addEventListener ? a.addEventListener( c, e.X, l ) : a.attachEvent && a.attachEvent( "on" + c, e.X )) }; t.k = function ( a, c, d ) { if ( t.Ec( a ) ) { var e = t.getData( a ); if ( e.C ) { if ( t.h.isArray( c ) ) { return u( t.k, a, c, d ); } if ( c ) { var g = e.C[c]; if ( g ) { if ( d ) { if ( d.q ) { for ( e = 0; e < g.length; e++ ) { g[e].q === d.q && g.splice( e--, 1 ) } } } else { e.C[c] = []; } t.sc( a, c ) } } else { for ( g in e.C ) { c = g, e.C[c] = [], t.sc( a, c ) } } } } }; t.sc = function ( a, c ) { var d = t.getData( a ); 0 === d.C[c].length && (delete d.C[c], a.removeEventListener ? a.removeEventListener( c, d.X, l ) : a.detachEvent && a.detachEvent( "on" + c, d.X )); t.Ob( d.C ) && (delete d.C, delete d.X, delete d.disabled); t.Ob( d ) && t.Sc( a ) }; t.Cc = function ( a ) { function c () {return f} function d () {return l} if ( !a || !a.Pb ) { var e = a || window.event; a = {}; for ( var g in e ) { "layerX" !== g && ("layerY" !== g && "keyLocation" !== g) && ("returnValue" == g && e.preventDefault || (a[g] = e[g])); } a.target || (a.target = a.srcElement || document); a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement; a.preventDefault = function () { e.preventDefault && e.preventDefault(); a.returnValue = l; a.Nd = c; a.defaultPrevented = f }; a.Nd = d; a.defaultPrevented = l; a.stopPropagation = function () { e.stopPropagation && e.stopPropagation(); a.cancelBubble = f; a.Pb = c }; a.Pb = d; a.stopImmediatePropagation = function () { e.stopImmediatePropagation && e.stopImmediatePropagation(); a.Jc = c; a.stopPropagation() }; a.Jc = d; if ( a.clientX != k ) { g = document.documentElement; var h = document.body; a.pageX = a.clientX + (g && g.scrollLeft || h && h.scrollLeft || 0) - (g && g.clientLeft || h && h.clientLeft || 0); a.pageY = a.clientY + (g && g.scrollTop || h && h.scrollTop || 0) - (g && g.clientTop || h && h.clientTop || 0) } a.which = a.charCode || a.keyCode; a.button != k && (a.button = a.button & 1 ? 0 : a.button & 4 ? 1 : a.button & 2 ? 2 : 0) } return a }; t.l = function ( a, c ) { var d = t.Ec( a ) ? t.getData( a ) : {}, e = a.parentNode || a.ownerDocument; "string" === typeof c && (c = {type: c, target: a}); c = t.Cc( c ); d.X && d.X.call( a, c ); if ( e && !c.Pb() && c.bubbles !== l ) { t.l( e, c ); } else if ( !e && !c.defaultPrevented && (d = t.getData( c.target ), c.target[c.type]) ) { d.disabled = f; if ( "function" === typeof c.target[c.type] ) { c.target[c.type](); } d.disabled = l } return !c.defaultPrevented }; t.Q = function ( a, c, d ) { function e () { t.k( a, c, e ); d.apply( this, arguments ) } if ( t.h.isArray( c ) ) { return u( t.Q, a, c, d ); } e.q = d.q = d.q || t.q++; t.c( a, c, e ) }; function u ( a, c, d, e ) {t.pc.forEach( d, function ( d ) {a( c, d, e )} )} var v = Object.prototype.hasOwnProperty; t.e = function ( a, c ) { var d; c = c || {}; d = document.createElement( a || "div" ); t.h.Y( c, function ( a, c ) {-1 !== a.indexOf( "aria-" ) || "role" == a ? d.setAttribute( a, c ) : d[a] = c} ); return d }; t.ba = function ( a ) {return a.charAt( 0 ).toUpperCase() + a.slice( 1 )}; t.h = {}; t.h.create = Object.create || function ( a ) { function c () {} c.prototype = a; return new c }; t.h.Y = function ( a, c, d ) { for ( var e in a ) { v.call( a, e ) && c.call( d || this, e, a[e] ) } }; t.h.z = function ( a, c ) { if ( !c ) { return a; } for ( var d in c ) { v.call( c, d ) && (a[d] = c[d]); } return a }; t.h.Ad = function ( a, c ) { var d, e, g; a = t.h.copy( a ); for ( d in c ) { v.call( c, d ) && (e = a[d], g = c[d], a[d] = t.h.ab( e ) && t.h.ab( g ) ? t.h.Ad( e, g ) : c[d]); } return a }; t.h.copy = function ( a ) {return t.h.z( {}, a )}; t.h.ab = function ( a ) {return !!a && "object" === typeof a && "[object Object]" === a.toString() && a.constructor === Object}; t.h.isArray = Array.isArray || function ( a ) {return "[object Array]" === Object.prototype.toString.call( a )}; t.Pd = function ( a ) {return a !== a}; t.bind = function ( a, c, d ) { function e () {return c.apply( a, arguments )} c.q || (c.q = t.q++); e.q = d ? d + "_" + c.q : c.q; return e }; t.ya = {}; t.q = 1; t.expando = "vdata" + (new Date).getTime(); t.getData = function ( a ) { var c = a[t.expando]; c || (c = a[t.expando] = t.q++, t.ya[c] = {}); return t.ya[c] }; t.Ec = function ( a ) { a = a[t.expando]; return !(!a || t.Ob( t.ya[a] )) }; t.Sc = function ( a ) { var c = a[t.expando]; if ( c ) { delete t.ya[c]; try {delete a[t.expando]} catch ( d ) {a.removeAttribute ? a.removeAttribute( t.expando ) : a[t.expando] = k} } }; t.Ob = function ( a ) { for ( var c in a ) { if ( a[c] !== k ) { return l; } } return f }; t.$a = function ( a, c ) {return -1 !== (" " + a.className + " ").indexOf( " " + c + " " )}; t.n = function ( a, c ) {t.$a( a, c ) || (a.className = "" === a.className ? c : a.className + " " + c)}; t.r = function ( a, c ) { var d, e; if ( t.$a( a, c ) ) { d = a.className.split( " " ); for ( e = d.length - 1; 0 <= e; e-- ) { d[e] === c && d.splice( e, 1 ); } a.className = d.join( " " ) } }; t.A = t.e( "video" ); t.N = navigator.userAgent; t.md = /iPhone/i.test( t.N ); t.ld = /iPad/i.test( t.N ); t.nd = /iPod/i.test( t.N ); t.kd = t.md || t.ld || t.nd; var aa = t, x; var y = t.N.match( /OS (\d+)_/i ); x = y && y[1] ? y[1] : b; aa.Ae = x; t.hd = /Android/i.test( t.N ); var ba = t, z; var A = t.N.match( /Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i ), B, C; A ? (B = A[1] && parseFloat( A[1] ), C = A[2] && parseFloat( A[2] ), z = B && C ? parseFloat( A[1] + "." + A[2] ) : B ? B : k) : z = k; ba.ac = z; t.od = t.hd && /webkit/i.test( t.N ) && 2.3 > t.ac; t.jd = /Firefox/i.test( t.N ); t.Be = /Chrome/i.test( t.N ); t.wb = !!("ontouchstart" in window || window.gd && document instanceof window.gd); t.fd = "backgroundSize" in t.A.style; t.Uc = function ( a, c ) {t.h.Y( c, function ( c, e ) {e === k || "undefined" === typeof e || e === l ? a.removeAttribute( c ) : a.setAttribute( c, e === f ? "" : e )} )}; t.Ea = function ( a ) { var c, d, e, g; c = {}; if ( a && a.attributes && 0 < a.attributes.length ) { d = a.attributes; for ( var h = d.length - 1; 0 <= h; h-- ) { e = d[h].name; g = d[h].value; if ( "boolean" === typeof a[e] || -1 !== ",autoplay,controls,loop,muted,default,".indexOf( "," + e + "," ) ) { g = g !== k ? f : l; } c[e] = g } } return c }; t.He = function ( a, c ) { var d = ""; document.defaultView && document.defaultView.getComputedStyle ? d = document.defaultView.getComputedStyle( a, "" ).getPropertyValue( c ) : a.currentStyle && (d = a["client" + c.substr( 0, 1 ).toUpperCase() + c.substr( 1 )] + "px"); return d }; t.Nb = function ( a, c ) {c.firstChild ? c.insertBefore( a, c.firstChild ) : c.appendChild( a )}; t.Va = {}; t.w = function ( a ) { 0 === a.indexOf( "#" ) && (a = a.slice( 1 )); return document.getElementById( a ) }; t.Da = function ( a, c ) { c = c || a; var d = Math.floor( a % 60 ), e = Math.floor( a / 60 % 60 ), g = Math.floor( a / 3600 ), h = Math.floor( c / 60 % 60 ), j = Math.floor( c / 3600 ); if ( isNaN( a ) || Infinity === a ) { g = e = d = "-"; } g = 0 < g || 0 < j ? g + ":" : ""; return g + (((g || 10 <= h) && 10 > e ? "0" + e : e) + ":") + (10 > d ? "0" + d : d) }; t.ud = function () { document.body.focus(); document.onselectstart = r( l ) }; t.ve = function () {document.onselectstart = r( f )}; t.trim = function ( a ) {return (a + "").replace( /^\s+|\s+$/g, "" )}; t.round = function ( a, c ) { c || (c = 0); return Math.round( a * Math.pow( 10, c ) ) / Math.pow( 10, c ) }; t.Eb = function ( a, c ) {return {length: 1, start: function () {return a}, end: function () {return c}}}; t.je = function ( a ) { try { var c = window.localStorage || l; c && (c.volume = a) } catch ( d ) {22 == d.code || 1014 == d.code ? t.log( "LocalStorage Full (VideoJS)", d ) : 18 == d.code ? t.log( "LocalStorage not allowed (VideoJS)", d ) : t.log( "LocalStorage Error (VideoJS)", d )} }; t.Jd = function ( a ) { a.match( /^https?:\/\// ) || (a = t.e( "div", {innerHTML: '<a href="' + a + '">x</a>'} ).firstChild.href); return a }; t.fe = function ( a ) { var c, d, e, g; g = "protocol hostname port pathname search hash host".split( " " ); d = t.e( "a", {href: a} ); if ( e = "" === d.host && "file:" !== d.protocol ) { c = t.e( "div" ), c.innerHTML = '<a href="' + a + '"></a>', d = c.firstChild, c.setAttribute( "style", "display:none; position:absolute;" ), document.body.appendChild( c ); } a = {}; for ( var h = 0; h < g.length; h++ ) { a[g[h]] = d[g[h]]; } e && document.body.removeChild( c ); return a }; function D ( a, c ) { var d, e; d = Array.prototype.slice.call( c ); e = m(); e = window.console || {log: e, warn: e, error: e}; a ? d.unshift( a.toUpperCase() + ":" ) : a = "log"; t.log.history.push( d ); d.unshift( "VIDEOJS:" ); if ( e[a].apply ) { e[a].apply( e, d ); } else { e[a]( d.join( " " ) ) } } t.log = function () {D( k, arguments )}; t.log.history = []; t.log.error = function () {D( "error", arguments )}; t.log.warn = function () {D( "warn", arguments )}; t.Hd = function ( a ) { var c, d; a.getBoundingClientRect && a.parentNode && (c = a.getBoundingClientRect()); if ( !c ) { return {left: 0, top: 0}; } a = document.documentElement; d = document.body; return { left: t.round( c.left + (window.pageXOffset || d.scrollLeft) - (a.clientLeft || d.clientLeft || 0) ), top: t.round( c.top + (window.pageYOffset || d.scrollTop) - (a.clientTop || d.clientTop || 0) ) } }; t.pc = {}; t.pc.forEach = function ( a, c, d ) { if ( t.h.isArray( a ) && c instanceof Function ) { for ( var e = 0, g = a.length; e < g; ++e ) { c.call( d || t, a[e], e, a ); } } return a }; t.ye = function ( a, c ) { var d, e, g, h, j, p, q; "string" === typeof a && (a = {uri: a}); videojs.W.pa( {method: "GET", timeout: 45E3}, a ); c = c || m(); p = function () { window.clearTimeout( j ); c( k, e, e.response || e.responseText ) }; q = function ( a ) { window.clearTimeout( j ); if ( !a || "string" === typeof a ) { a = Error( a ); } c( a, e ) }; d = window.XMLHttpRequest; "undefined" === typeof d && (d = function () { try {return new window.ActiveXObject( "Msxml2.XMLHTTP.6.0" )} catch ( a ) {} try {return new window.ActiveXObject( "Msxml2.XMLHTTP.3.0" )} catch ( c ) {} try {return new window.ActiveXObject( "Msxml2.XMLHTTP" )} catch ( d ) {} throw Error( "This browser does not support XMLHttpRequest." ); }); e = new d; e.uri = a.uri; d = t.fe( a.uri ); g = window.location; d.protocol + d.host !== g.protocol + g.host && window.XDomainRequest && !("withCredentials" in e) ? (e = new window.XDomainRequest, e.onload = p, e.onerror = q, e.onprogress = m(), e.ontimeout = m()) : (h = "file:" == d.protocol || "file:" == g.protocol, e.onreadystatechange = function () { if ( 4 === e.readyState ) { if ( e.te ) { return q( "timeout" ); } 200 === e.status || h && 0 === e.status ? p() : q() } }, a.timeout && (j = window.setTimeout( function () {4 !== e.readyState && (e.te = f, e.abort())}, a.timeout ))); try { e.open( a.method || "GET", a.uri, f ) } catch ( w ) { q( w ); return } a.withCredentials && (e.withCredentials = f); a.responseType && (e.responseType = a.responseType); try {e.send()} catch ( ja ) {q( ja )} }; t.W = {}; t.W.pa = function ( a, c ) { var d, e, g; a = t.h.copy( a ); for ( d in c ) { c.hasOwnProperty( d ) && (e = a[d], g = c[d], a[d] = t.h.ab( e ) && t.h.ab( g ) ? t.W.pa( e, g ) : c[d]); } return a }; t.a = t.va.extend( { i: function ( a, c, d ) { this.d = a; this.m = t.h.copy( this.m ); c = this.options( c ); this.K = c.id || c.el && c.el.id; this.K || (this.K = (a.id && a.id() || "no_player") + "_component_" + t.q++); this.Vd = c.name || k; this.b = c.el || this.e(); this.O = []; this.Xa = {}; this.Ya = {}; this.Gc(); this.H( d ); if ( c.Tc !== l ) { var e, g; this.j().reportUserActivity && (e = t.bind( this.j(), this.j().reportUserActivity ), this.c( "touchstart", function () { e(); this.clearInterval( g ); g = this.setInterval( e, 250 ) } ), a = function () { e(); this.clearInterval( g ) }, this.c( "touchmove", e ), this.c( "touchend", a ), this.c( "touchcancel", a )) } } } ); s = t.a.prototype; s.dispose = function () { this.l( {type: "dispose", bubbles: l} ); if ( this.O ) { for ( var a = this.O.length - 1; 0 <= a; a-- ) { this.O[a].dispose && this.O[a].dispose(); } } this.Ya = this.Xa = this.O = k; this.k(); this.b.parentNode && this.b.parentNode.removeChild( this.b ); t.Sc( this.b ); this.b = k }; s.d = f; s.j = n( "d" ); s.options = function ( a ) {return a === b ? this.m : this.m = t.W.pa( this.m, a )}; s.e = function ( a, c ) {return t.e( a, c )}; s.t = function ( a ) { var c = this.d.language(), d = this.d.languages(); return d && d[c] && d[c][a] ? d[c][a] : a }; s.w = n( "b" ); s.ma = function () {return this.v || this.b}; s.id = n( "K" ); s.name = n( "Vd" ); s.children = n( "O" ); s.Kd = function ( a ) {return this.Xa[a]}; s.na = function ( a ) {return this.Ya[a]}; s.U = function ( a, c ) { var d, e; "string" === typeof a ? (e = a, c = c || {}, d = c.componentClass || t.ba( e ), c.name = e, d = new window.videojs[d]( this.d || this, c )) : d = a; this.O.push( d ); "function" === typeof d.id && (this.Xa[d.id()] = d); (e = e || d.name && d.name()) && (this.Ya[e] = d); "function" === typeof d.el && d.el() && this.ma().appendChild( d.el() ); return d }; s.removeChild = function ( a ) { "string" === typeof a && (a = this.na( a )); if ( a && this.O ) { for ( var c = l, d = this.O.length - 1; 0 <= d; d-- ) { if ( this.O[d] === a ) { c = f; this.O.splice( d, 1 ); break } } c && (this.Xa[a.id()] = k, this.Ya[a.name()] = k, (c = a.w()) && c.parentNode === this.ma() && this.ma().removeChild( a.w() )) } }; s.Gc = function () { var a, c, d, e, g, h; a = this; c = a.options(); if ( d = c.children ) { if ( h = function ( d, e ) { c[d] !== b && (e = c[d]); e !== l && (a[d] = a.U( d, e )) }, t.h.isArray( d ) ) { for ( var j = 0; j < d.length; j++ ) { e = d[j], "string" == typeof e ? (g = e, e = {}) : g = e.name, h( g, e ); } } else { t.h.Y( d, h ) } } }; s.S = r( "" ); s.c = function ( a, c, d ) { var e, g, h; "string" === typeof a || t.h.isArray( a ) ? t.c( this.b, a, t.bind( this, c ) ) : (e = t.bind( this, d ), h = this, g = function () {h.k( a, c, e )}, g.q = e.q, this.c( "dispose", g ), d = function () {h.k( "dispose", g )}, d.q = e.q, a.nodeName ? (t.c( a, c, e ), t.c( a, "dispose", d )) : "function" === typeof a.c && (a.c( c, e ), a.c( "dispose", d ))); return this }; s.k = function ( a, c, d ) { !a || "string" === typeof a || t.h.isArray( a ) ? t.k( this.b, a, c ) : (d = t.bind( this, d ), this.k( "dispose", d ), a.nodeName ? (t.k( a, c, d ), t.k( a, "dispose", d )) : (a.k( c, d ), a.k( "dispose", d ))); return this }; s.Q = function ( a, c, d ) { var e, g, h; "string" === typeof a || t.h.isArray( a ) ? t.Q( this.b, a, t.bind( this, c ) ) : (e = t.bind( this, d ), g = this, h = function () { g.k( a, c, h ); e.apply( this, arguments ) }, h.q = e.q, this.c( a, c, h )); return this }; s.l = function ( a ) { t.l( this.b, a ); return this }; s.H = function ( a ) { a && (this.oa ? a.call( this ) : (this.hb === b && (this.hb = []), this.hb.push( a ))); return this }; s.Na = function () { this.oa = f; var a = this.hb; if ( a && 0 < a.length ) { for ( var c = 0, d = a.length; c < d; c++ ) { a[c].call( this ); } this.hb = []; this.l( "ready" ) } }; s.$a = function ( a ) {return t.$a( this.b, a )}; s.n = function ( a ) { t.n( this.b, a ); return this }; s.r = function ( a ) { t.r( this.b, a ); return this }; s.show = function () { this.b.style.display = "block"; return this }; s.Z = function () { this.b.style.display = "none"; return this }; function E ( a ) {a.r( "vjs-lock-showing" )} s.disable = function () { this.Z(); this.show = m() }; s.width = function ( a, c ) {return F( this, "width", a, c )}; s.height = function ( a, c ) {return F( this, "height", a, c )}; s.Dd = function ( a, c ) {return this.width( a, f ).height( c )}; function F ( a, c, d, e ) { if ( d !== b ) { if ( d === k || t.Pd( d ) ) { d = 0; } a.b.style[c] = -1 !== ("" + d).indexOf( "%" ) || -1 !== ("" + d).indexOf( "px" ) ? d : "auto" === d ? "" : d + "px"; e || a.l( "resize" ); return a } if ( !a.b ) { return 0; } d = a.b.style[c]; e = d.indexOf( "px" ); return -1 !== e ? parseInt( d.slice( 0, e ), 10 ) : parseInt( a.b["offset" + t.ba( c )], 10 ) } function G ( a ) { var c, d, e, g, h, j, p, q; c = 0; d = k; a.c( "touchstart", function ( a ) {1 === a.touches.length && (d = a.touches[0], c = (new Date).getTime(), g = f)} ); a.c( "touchmove", function ( a ) {1 < a.touches.length ? g = l : d && (j = a.touches[0].pageX - d.pageX, p = a.touches[0].pageY - d.pageY, q = Math.sqrt( j * j + p * p ), 22 < q && (g = l))} ); h = function () {g = l}; a.c( "touchleave", h ); a.c( "touchcancel", h ); a.c( "touchend", function ( a ) { d = k; g === f && (e = (new Date).getTime() - c, 250 > e && (a.preventDefault(), this.l( "tap" ))) } ) } s.setTimeout = function ( a, c ) { function d () {this.clearTimeout( e )} a = t.bind( this, a ); var e = setTimeout( a, c ); d.q = "vjs-timeout-" + e; this.c( "dispose", d ); return e }; s.clearTimeout = function ( a ) { function c () {} clearTimeout( a ); c.q = "vjs-timeout-" + a; this.k( "dispose", c ); return a }; s.setInterval = function ( a, c ) { function d () {this.clearInterval( e )} a = t.bind( this, a ); var e = setInterval( a, c ); d.q = "vjs-interval-" + e; this.c( "dispose", d ); return e }; s.clearInterval = function ( a ) { function c () {} clearInterval( a ); c.q = "vjs-interval-" + a; this.k( "dispose", c ); return a }; t.u = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); G( this ); this.c( "tap", this.s ); this.c( "click", this.s ); this.c( "focus", this.fb ); this.c( "blur", this.eb ) } } ); s = t.u.prototype; s.e = function ( a, c ) { var d; c = t.h.z( {className: this.S(), role: "button", "aria-live": "polite", tabIndex: 0}, c ); d = t.a.prototype.e.call( this, a, c ); c.innerHTML || (this.v = t.e( "div", {className: "vjs-control-content"} ), this.Cb = t.e( "span", { className: "vjs-control-text", innerHTML: this.t( this.la ) || "Need Text" } ), this.v.appendChild( this.Cb ), d.appendChild( this.v )); return d }; s.S = function () {return "vjs-control " + t.a.prototype.S.call( this )}; s.s = m(); s.fb = function () {t.c( document, "keydown", t.bind( this, this.ea ) )}; s.ea = function ( a ) { if ( 32 == a.which || 13 == a.which ) { a.preventDefault(), this.s() } }; s.eb = function () {t.k( document, "keydown", t.bind( this, this.ea ) )}; t.R = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); this.td = this.na( this.m.barName ); this.handle = this.na( this.m.handleName ); this.c( "mousedown", this.gb ); this.c( "touchstart", this.gb ); this.c( "focus", this.fb ); this.c( "blur", this.eb ); this.c( "click", this.s ); this.c( a, "controlsvisible", this.update ); this.c( a, this.Oc, this.update ) } } ); s = t.R.prototype; s.e = function ( a, c ) { c = c || {}; c.className += " vjs-slider"; c = t.h.z( {role: "slider", "aria-valuenow": 0, "aria-valuemin": 0, "aria-valuemax": 100, tabIndex: 0}, c ); return t.a.prototype.e.call( this, a, c ) }; s.gb = function ( a ) { a.preventDefault(); t.ud(); this.n( "vjs-sliding" ); this.c( document, "mousemove", this.fa ); this.c( document, "mouseup", this.ra ); this.c( document, "touchmove", this.fa ); this.c( document, "touchend", this.ra ); this.fa( a ) }; s.fa = m(); s.ra = function () { t.ve(); this.r( "vjs-sliding" ); this.k( document, "mousemove", this.fa ); this.k( document, "mouseup", this.ra ); this.k( document, "touchmove", this.fa ); this.k( document, "touchend", this.ra ); this.update() }; s.update = function () { if ( this.b ) { var a, c = this.Lb(), d = this.handle, e = this.td; isNaN( c ) && (c = 0); a = c; if ( d ) { a = this.b.offsetWidth; var g = d.w().offsetWidth; a = g ? g / a : 0; c *= 1 - a; a = c + a / 2; d.w().style.left = t.round( 100 * c, 2 ) + "%" } e && (e.w().style.width = t.round( 100 * a, 2 ) + "%") } }; function H ( a, c ) { var d, e, g, h; d = a.b; e = t.Hd( d ); h = g = d.offsetWidth; d = a.handle; if ( a.options().vertical ) { return h = e.top, e = c.changedTouches ? c.changedTouches[0].pageY : c.pageY, d && (d = d.w().offsetHeight, h += d / 2, g -= d), Math.max( 0, Math.min( 1, (h - e + g) / g ) ); } g = e.left; e = c.changedTouches ? c.changedTouches[0].pageX : c.pageX; d && (d = d.w().offsetWidth, g += d / 2, h -= d); return Math.max( 0, Math.min( 1, (e - g) / h ) ) } s.fb = function () {this.c( document, "keydown", this.ea )}; s.ea = function ( a ) { if ( 37 == a.which || 40 == a.which ) { a.preventDefault(), this.Yc(); } else if ( 38 == a.which || 39 == a.which ) { a.preventDefault(), this.Zc() } }; s.eb = function () {this.k( document, "keydown", this.ea )}; s.s = function ( a ) { a.stopImmediatePropagation(); a.preventDefault() }; t.$ = t.a.extend(); t.$.prototype.defaultValue = 0; t.$.prototype.e = function ( a, c ) { c = c || {}; c.className += " vjs-slider-handle"; c = t.h.z( {innerHTML: '<span class="vjs-control-text">' + this.defaultValue + "</span>"}, c ); return t.a.prototype.e.call( this, "div", c ) }; t.ja = t.a.extend(); function ca ( a, c ) { a.U( c ); c.c( "click", t.bind( a, function () {E( this )} ) ) } t.ja.prototype.e = function () { var a = this.options().uc || "ul"; this.v = t.e( a, {className: "vjs-menu-content"} ); a = t.a.prototype.e.call( this, "div", {append: this.v, className: "vjs-menu"} ); a.appendChild( this.v ); t.c( a, "click", function ( a ) { a.preventDefault(); a.stopImmediatePropagation() } ); return a }; t.J = t.u.extend( { i: function ( a, c ) { t.u.call( this, a, c ); this.selected( c.selected ) } } ); t.J.prototype.e = function ( a, c ) { return t.u.prototype.e.call( this, "li", t.h.z( { className: "vjs-menu-item", innerHTML: this.t( this.m.label ) }, c ) ) }; t.J.prototype.s = function () {this.selected( f )}; t.J.prototype.selected = function ( a ) {a ? (this.n( "vjs-selected" ), this.b.setAttribute( "aria-selected", f )) : (this.r( "vjs-selected" ), this.b.setAttribute( "aria-selected", l ))}; t.L = t.u.extend( { i: function ( a, c ) { t.u.call( this, a, c ); this.Fa = this.Aa(); this.U( this.Fa ); this.P && 0 === this.P.length && this.Z(); this.c( "keydown", this.ea ); this.b.setAttribute( "aria-haspopup", f ); this.b.setAttribute( "role", "button" ) } } ); s = t.L.prototype; s.xa = l; s.Aa = function () { var a = new t.ja( this.d ); this.options().title && a.ma().appendChild( t.e( "li", { className: "vjs-menu-title", innerHTML: t.ba( this.options().title ), re: -1 } ) ); if ( this.P = this.createItems() ) { for ( var c = 0; c < this.P.length; c++ ) { ca( a, this.P[c] ); } } return a }; s.za = m(); s.S = function () {return this.className + " vjs-menu-button " + t.u.prototype.S.call( this )}; s.fb = m(); s.eb = m(); s.s = function () { this.Q( "mouseout", t.bind( this, function () { E( this.Fa ); this.b.blur() } ) ); this.xa ? I( this ) : J( this ) }; s.ea = function ( a ) {32 == a.which || 13 == a.which ? (this.xa ? I( this ) : J( this ), a.preventDefault()) : 27 == a.which && (this.xa && I( this ), a.preventDefault())}; function J ( a ) { a.xa = f; a.Fa.n( "vjs-lock-showing" ); a.b.setAttribute( "aria-pressed", f ); a.P && 0 < a.P.length && a.P[0].w().focus() } function I ( a ) { a.xa = l; E( a.Fa ); a.b.setAttribute( "aria-pressed", l ) } t.D = function ( a ) { "number" === typeof a ? this.code = a : "string" === typeof a ? this.message = a : "object" === typeof a && t.h.z( this, a ); this.message || (this.message = t.D.Bd[this.code] || "") }; t.D.prototype.code = 0; t.D.prototype.message = ""; t.D.prototype.status = k; t.D.Za = "MEDIA_ERR_CUSTOM MEDIA_ERR_ABORTED MEDIA_ERR_NETWORK MEDIA_ERR_DECODE MEDIA_ERR_SRC_NOT_SUPPORTED MEDIA_ERR_ENCRYPTED".split( " " ); t.D.Bd = { 1: "You aborted the video playback", 2: "A network error caused the video download to fail part-way.", 3: "The video playback was aborted due to a corruption problem or because the video used features your browser did not support.", 4: "The video could not be loaded, either because the server or network failed or because the format is not supported.", 5: "The video is encrypted and we do not have the keys to decrypt it." }; for ( var K = 0; K < t.D.Za.length; K++ ) { t.D[t.D.Za[K]] = K, t.D.prototype[t.D.Za[K]] = K; } var L, M, N, O; L = ["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split( " " ), "webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled webkitfullscreenchange webkitfullscreenerror".split( " " ), "webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split( " " ), "mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split( " " ), "msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split( " " )]; M = L[0]; for ( O = 0; O < L.length; O++ ) { if ( L[O][1] in document ) { N = L[O]; break } } if ( N ) { t.Va.Kb = {}; for ( O = 0; O < N.length; O++ ) { t.Va.Kb[M[O]] = N[O] } } t.Player = t.a.extend( { i: function ( a, c, d ) { this.I = a; a.id = a.id || "vjs_video_" + t.q++; this.se = a && t.Ea( a ); c = t.h.z( da( a ), c ); this.bb = c.language || t.options.language; this.Td = c.languages || t.options.languages; this.F = {}; this.Pc = c.poster || ""; this.Db = !!c.controls; a.controls = l; c.Tc = l; P( this, "audio" === this.I.nodeName.toLowerCase() ); t.a.call( this, this, c, d ); this.controls() ? this.n( "vjs-controls-enabled" ) : this.n( "vjs-controls-disabled" ); P( this ) && this.n( "vjs-audio" ); t.Ga[this.K] = this; c.plugins && t.h.Y( c.plugins, function ( a, c ) {this[a]( c )}, this ); var e, g, h, j, p; e = t.bind( this, this.reportUserActivity ); this.c( "mousedown", function () { e(); this.clearInterval( g ); g = this.setInterval( e, 250 ) } ); this.c( "mousemove", function ( a ) { if ( a.screenX != j || a.screenY != p ) { j = a.screenX, p = a.screenY, e() } } ); this.c( "mouseup", function () { e(); this.clearInterval( g ) } ); this.c( "keydown", e ); this.c( "keyup", e ); this.setInterval( function () { if ( this.ua ) { this.ua = l; this.userActive( f ); this.clearTimeout( h ); var a = this.options().inactivityTimeout; 0 < a && (h = this.setTimeout( function () { this.ua || this.userActive( l ) }, a )) } }, 250 ) } } ); s = t.Player.prototype; s.language = function ( a ) { if ( a === b ) { return this.bb; } this.bb = a; return this }; s.languages = n( "Td" ); s.m = t.options; s.dispose = function () { this.l( "dispose" ); this.k( "dispose" ); t.Ga[this.K] = k; this.I && this.I.player && (this.I.player = k); this.b && this.b.player && (this.b.player = k); this.o && this.o.dispose(); t.a.prototype.dispose.call( this ) }; function da ( a ) { var c, d, e = {sources: [], tracks: []}; c = t.Ea( a ); d = c["data-setup"]; d !== k && t.h.z( c, t.JSON.parse( d || "{}" ) ); t.h.z( e, c ); if ( a.hasChildNodes() ) { var g, h; a = a.childNodes; g = 0; for ( h = a.length; g < h; g++ ) { c = a[g], d = c.nodeName.toLowerCase(), "source" === d ? e.sources.push( t.Ea( c ) ) : "track" === d && e.tracks.push( t.Ea( c ) ) } } return e } s.e = function () { var a = this.b = t.a.prototype.e.call( this, "div" ), c = this.I, d; c.removeAttribute( "width" ); c.removeAttribute( "height" ); if ( c.hasChildNodes() ) { var e, g, h, j, p; e = c.childNodes; g = e.length; for ( p = []; g--; ) { h = e[g], j = h.nodeName.toLowerCase(), "track" === j && p.push( h ); } for ( e = 0; e < p.length; e++ ) { c.removeChild( p[e] ) } } d = t.Ea( c ); t.h.Y( d, function ( c ) {"class" == c ? a.className = d[c] : a.setAttribute( c, d[c] )} ); c.id += "_html5_api"; c.className = "vjs-tech"; c.player = a.player = this; this.n( "vjs-paused" ); this.width( this.m.width, f ); this.height( this.m.height, f ); c.Md = c.networkState; c.parentNode && c.parentNode.insertBefore( a, c ); t.Nb( c, a ); this.b = a; this.c( "loadstart", this.Zd ); this.c( "waiting", this.ee ); this.c( ["canplay", "canplaythrough", "playing", "ended"], this.de ); this.c( "seeking", this.be ); this.c( "seeked", this.ae ); this.c( "ended", this.Wd ); this.c( "play", this.Tb ); this.c( "firstplay", this.Xd ); this.c( "pause", this.Sb ); this.c( "progress", this.$d ); this.c( "durationchange", this.Mc ); this.c( "fullscreenchange", this.Yd ); return a }; function Q ( a, c, d ) { a.o && (a.oa = l, a.o.dispose(), a.o = l); "Html5" !== c && a.I && (t.g.Gb( a.I ), a.I = k); a.La = c; a.oa = l; var e = t.h.z( {source: d, parentEl: a.b}, a.m[c.toLowerCase()] ); d && (a.xc = d.type, d.src == a.F.src && 0 < a.F.currentTime && (e.startTime = a.F.currentTime), a.F.src = d.src); a.o = new window.videojs[c]( a, e ); a.o.H( function () {this.d.Na()} ) } s.Zd = function () { this.error( k ); this.paused() ? (R( this, l ), this.Q( "play", function () {R( this, f )} )) : this.l( "firstplay" ) }; s.Fc = l; function R ( a, c ) {c !== b && a.Fc !== c && ((a.Fc = c) ? (a.n( "vjs-has-started" ), a.l( "firstplay" )) : a.r( "vjs-has-started" ))} s.Tb = function () { this.r( "vjs-paused" ); this.n( "vjs-playing" ) }; s.ee = function () {this.n( "vjs-waiting" )}; s.de = function () {this.r( "vjs-waiting" )}; s.be = function () {this.n( "vjs-seeking" )}; s.ae = function () {this.r( "vjs-seeking" )}; s.Xd = function () { this.m.starttime && this.currentTime( this.m.starttime ); this.n( "vjs-has-started" ) }; s.Sb = function () { this.r( "vjs-playing" ); this.n( "vjs-paused" ) }; s.$d = function () {1 == this.bufferedPercent() && this.l( "loadedalldata" )}; s.Wd = function () {this.m.loop ? (this.currentTime( 0 ), this.play()) : this.paused() || this.pause()}; s.Mc = function () { var a = S( this, "duration" ); a && (0 > a && (a = Infinity), this.duration( a ), Infinity === a ? this.n( "vjs-live" ) : this.r( "vjs-live" )) }; s.Yd = function () {this.isFullscreen() ? this.n( "vjs-fullscreen" ) : this.r( "vjs-fullscreen" )}; function T ( a, c, d ) { if ( a.o && !a.o.oa ) { a.o.H( function () {this[c]( d )} ); } else { try {a.o[c]( d )} catch ( e ) {throw t.log( e ), e;} } } function S ( a, c ) { if ( a.o && a.o.oa ) { try {return a.o[c]()} catch ( d ) {throw a.o[c] === b ? t.log( "Video.js: " + c + " method not defined for " + a.La + " playback technology.", d ) : "TypeError" == d.name ? (t.log( "Video.js: " + c + " unavailable on " + a.La + " playback technology element.", d ), a.o.oa = l) : t.log( d ), d;} } } s.play = function () { T( this, "play" ); return this }; s.pause = function () { T( this, "pause" ); return this }; s.paused = function () {return S( this, "paused" ) === l ? l : f}; s.currentTime = function ( a ) {return a !== b ? (T( this, "setCurrentTime", a ), this) : this.F.currentTime = S( this, "currentTime" ) || 0}; s.duration = function ( a ) { if ( a !== b ) { return this.F.duration = parseFloat( a ), this; } this.F.duration === b && this.Mc(); return this.F.duration || 0 }; s.remainingTime = function () {return this.duration() - this.currentTime()}; s.buffered = function () { var a = S( this, "buffered" ); if ( !a || !a.length ) { a = t.Eb( 0, 0 ); } return a }; s.bufferedPercent = function () { var a = this.duration(), c = this.buffered(), d = 0, e, g; if ( !a ) { return 0; } for ( var h = 0; h < c.length; h++ ) { e = c.start( h ), g = c.end( h ), g > a && (g = a), d += g - e; } return d / a }; s.volume = function ( a ) { if ( a !== b ) { return a = Math.max( 0, Math.min( 1, parseFloat( a ) ) ), this.F.volume = a, T( this, "setVolume", a ), t.je( a ), this; } a = parseFloat( S( this, "volume" ) ); return isNaN( a ) ? 1 : a }; s.muted = function ( a ) {return a !== b ? (T( this, "setMuted", a ), this) : S( this, "muted" ) || l}; s.Ka = function () {return S( this, "supportsFullScreen" ) || l}; s.Ic = l; s.isFullscreen = function ( a ) {return a !== b ? (this.Ic = !!a, this) : this.Ic}; s.isFullScreen = function ( a ) { t.log.warn( 'player.isFullScreen() has been deprecated, use player.isFullscreen() with a lowercase "s")' ); return this.isFullscreen( a ) }; s.requestFullscreen = function () { var a = t.Va.Kb; this.isFullscreen( f ); a ? (t.c( document, a.fullscreenchange, t.bind( this, function ( c ) { this.isFullscreen( document[a.fullscreenElement] ); this.isFullscreen() === l && t.k( document, a.fullscreenchange, arguments.callee ); this.l( "fullscreenchange" ) } ) ), this.b[a.requestFullscreen]()) : this.o.Ka() ? T( this, "enterFullScreen" ) : (this.Bc(), this.l( "fullscreenchange" )); return this }; s.requestFullScreen = function () { t.log.warn( 'player.requestFullScreen() has been deprecated, use player.requestFullscreen() with a lowercase "s")' ); return this.requestFullscreen() }; s.exitFullscreen = function () { var a = t.Va.Kb; this.isFullscreen( l ); if ( a ) { document[a.exitFullscreen](); } else { this.o.Ka() ? T( this, "exitFullScreen" ) : (this.Hb(), this.l( "fullscreenchange" )); } return this }; s.cancelFullScreen = function () { t.log.warn( "player.cancelFullScreen() has been deprecated, use player.exitFullscreen()" ); return this.exitFullscreen() }; s.Bc = function () { this.Od = f; this.Ed = document.documentElement.style.overflow; t.c( document, "keydown", t.bind( this, this.Dc ) ); document.documentElement.style.overflow = "hidden"; t.n( document.body, "vjs-full-window" ); this.l( "enterFullWindow" ) }; s.Dc = function ( a ) {27 === a.keyCode && (this.isFullscreen() === f ? this.exitFullscreen() : this.Hb())}; s.Hb = function () { this.Od = l; t.k( document, "keydown", this.Dc ); document.documentElement.style.overflow = this.Ed; t.r( document.body, "vjs-full-window" ); this.l( "exitFullWindow" ) }; s.selectSource = function ( a ) { for ( var c = 0, d = this.m.techOrder; c < d.length; c++ ) { var e = t.ba( d[c] ), g = window.videojs[e]; if ( g ) { if ( g.isSupported() ) { for ( var h = 0, j = a; h < j.length; h++ ) { var p = j[h]; if ( g.canPlaySource( p ) ) { return {source: p, o: e} } } } } else { t.log.error( 'The "' + e + '" tech is undefined. Skipped browser support check for that tech.' ) } } return l }; s.src = function ( a ) { if ( a === b ) { return S( this, "src" ); } t.h.isArray( a ) ? U( this, a ) : "string" === typeof a ? this.src( {src: a} ) : a instanceof Object && (a.type && !window.videojs[this.La].canPlaySource( a ) ? U( this, [a] ) : (this.F.src = a.src, this.xc = a.type || "", this.H( function () { window.videojs[this.La].prototype.hasOwnProperty( "setSource" ) ? T( this, "setSource", a ) : T( this, "src", a.src ); "auto" == this.m.preload && this.load(); this.m.autoplay && this.play() } ))); return this }; function U ( a, c ) { var d = a.selectSource( c ); d ? d.o === a.La ? a.src( d.source ) : Q( a, d.o, d.source ) : (a.setTimeout( function () { this.error( { code: 4, message: this.t( this.options().notSupportedMessage ) } ) }, 0 ), a.Na()) } s.load = function () { T( this, "load" ); return this }; s.currentSrc = function () {return S( this, "currentSrc" ) || this.F.src || ""}; s.zd = function () {return this.xc || ""}; s.Ha = function ( a ) {return a !== b ? (T( this, "setPreload", a ), this.m.preload = a, this) : S( this, "preload" )}; s.autoplay = function ( a ) {return a !== b ? (T( this, "setAutoplay", a ), this.m.autoplay = a, this) : S( this, "autoplay" )}; s.loop = function ( a ) {return a !== b ? (T( this, "setLoop", a ), this.m.loop = a, this) : S( this, "loop" )}; s.poster = function ( a ) { if ( a === b ) { return this.Pc; } a || (a = ""); this.Pc = a; T( this, "setPoster", a ); this.l( "posterchange" ); return this }; s.controls = function ( a ) {return a !== b ? (a = !!a, this.Db !== a && ((this.Db = a) ? (this.r( "vjs-controls-disabled" ), this.n( "vjs-controls-enabled" ), this.l( "controlsenabled" )) : (this.r( "vjs-controls-enabled" ), this.n( "vjs-controls-disabled" ), this.l( "controlsdisabled" ))), this) : this.Db}; t.Player.prototype.Zb; s = t.Player.prototype; s.usingNativeControls = function ( a ) {return a !== b ? (a = !!a, this.Zb !== a && ((this.Zb = a) ? (this.n( "vjs-using-native-controls" ), this.l( "usingnativecontrols" )) : (this.r( "vjs-using-native-controls" ), this.l( "usingcustomcontrols" ))), this) : this.Zb}; s.da = k; s.error = function ( a ) { if ( a === b ) { return this.da; } if ( a === k ) { return this.da = a, this.r( "vjs-error" ), this; } this.da = a instanceof t.D ? a : new t.D( a ); this.l( "error" ); this.n( "vjs-error" ); t.log.error( "(CODE:" + this.da.code + " " + t.D.Za[this.da.code] + ")", this.da.message, this.da ); return this }; s.ended = function () {return S( this, "ended" )}; s.seeking = function () {return S( this, "seeking" )}; s.ua = f; s.reportUserActivity = function () {this.ua = f}; s.Yb = f; s.userActive = function ( a ) { return a !== b ? (a = !!a, a !== this.Yb && ((this.Yb = a) ? (this.ua = f, this.r( "vjs-user-inactive" ), this.n( "vjs-user-active" ), this.l( "useractive" )) : (this.ua = l, this.o && this.o.Q( "mousemove", function ( a ) { a.stopPropagation(); a.preventDefault() } ), this.r( "vjs-user-active" ), this.n( "vjs-user-inactive" ), this.l( "userinactive" ))), this) : this.Yb }; s.playbackRate = function ( a ) {return a !== b ? (T( this, "setPlaybackRate", a ), this) : this.o && this.o.featuresPlaybackRate ? S( this, "playbackRate" ) : 1}; s.Hc = l; function P ( a, c ) {return c !== b ? (a.Hc = !!c, a) : a.Hc} t.Qa = t.a.extend(); t.Qa.prototype.m = { Ie: "play", children: { playToggle: {}, currentTimeDisplay: {}, timeDivider: {}, durationDisplay: {}, remainingTimeDisplay: {}, liveDisplay: {}, progressControl: {}, fullscreenToggle: {}, volumeControl: {}, muteToggle: {}, playbackRateMenuButton: {} } }; t.Qa.prototype.e = function () {return t.e( "div", {className: "vjs-control-bar"} )}; t.ec = t.a.extend( {i: function ( a, c ) {t.a.call( this, a, c )}} ); t.ec.prototype.e = function () { var a = t.a.prototype.e.call( this, "div", {className: "vjs-live-controls vjs-control"} ); this.v = t.e( "div", { className: "vjs-live-display", innerHTML: '<span class="vjs-control-text">' + this.t( "Stream Type" ) + "</span>" + this.t( "LIVE" ), "aria-live": "off" } ); a.appendChild( this.v ); return a }; t.hc = t.u.extend( { i: function ( a, c ) { t.u.call( this, a, c ); this.c( a, "play", this.Tb ); this.c( a, "pause", this.Sb ) } } ); s = t.hc.prototype; s.la = "Play"; s.S = function () {return "vjs-play-control " + t.u.prototype.S.call( this )}; s.s = function () {this.d.paused() ? this.d.play() : this.d.pause()}; s.Tb = function () { this.r( "vjs-paused" ); this.n( "vjs-playing" ); this.b.children[0].children[0].innerHTML = this.t( "Pause" ) }; s.Sb = function () { this.r( "vjs-playing" ); this.n( "vjs-paused" ); this.b.children[0].children[0].innerHTML = this.t( "Play" ) }; t.nb = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); this.c( a, "timeupdate", this.ia ) } } ); t.nb.prototype.e = function () { var a = t.a.prototype.e.call( this, "div", {className: "vjs-current-time vjs-time-controls vjs-control"} ); this.v = t.e( "div", { className: "vjs-current-time-display", innerHTML: '<span class="vjs-control-text">Current Time </span>0:00', "aria-live": "off" } ); a.appendChild( this.v ); return a }; t.nb.prototype.ia = function () { var a = this.d.ib ? this.d.F.currentTime : this.d.currentTime(); this.v.innerHTML = '<span class="vjs-control-text">' + this.t( "Current Time" ) + "</span> " + t.Da( a, this.d.duration() ) }; t.ob = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); this.c( a, "timeupdate", this.ia ) } } ); t.ob.prototype.e = function () { var a = t.a.prototype.e.call( this, "div", {className: "vjs-duration vjs-time-controls vjs-control"} ); this.v = t.e( "div", { className: "vjs-duration-display", innerHTML: '<span class="vjs-control-text">' + this.t( "Duration Time" ) + "</span> 0:00", "aria-live": "off" } ); a.appendChild( this.v ); return a }; t.ob.prototype.ia = function () { var a = this.d.duration(); a && (this.v.innerHTML = '<span class="vjs-control-text">' + this.t( "Duration Time" ) + "</span> " + t.Da( a )) }; t.nc = t.a.extend( {i: function ( a, c ) {t.a.call( this, a, c )}} ); t.nc.prototype.e = function () { return t.a.prototype.e.call( this, "div", { className: "vjs-time-divider", innerHTML: "<div><span>/</span></div>" } ) }; t.vb = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); this.c( a, "timeupdate", this.ia ) } } ); t.vb.prototype.e = function () { var a = t.a.prototype.e.call( this, "div", {className: "vjs-remaining-time vjs-time-controls vjs-control"} ); this.v = t.e( "div", { className: "vjs-remaining-time-display", innerHTML: '<span class="vjs-control-text">' + this.t( "Remaining Time" ) + "</span> -0:00", "aria-live": "off" } ); a.appendChild( this.v ); return a }; t.vb.prototype.ia = function () {this.d.duration() && (this.v.innerHTML = '<span class="vjs-control-text">' + this.t( "Remaining Time" ) + "</span> -" + t.Da( this.d.remainingTime() ))}; t.Ra = t.u.extend( {i: function ( a, c ) {t.u.call( this, a, c )}} ); t.Ra.prototype.la = "Fullscreen"; t.Ra.prototype.S = function () {return "vjs-fullscreen-control " + t.u.prototype.S.call( this )}; t.Ra.prototype.s = function () {this.d.isFullscreen() ? (this.d.exitFullscreen(), this.Cb.innerHTML = this.t( "Fullscreen" )) : (this.d.requestFullscreen(), this.Cb.innerHTML = this.t( "Non-Fullscreen" ))}; t.ub = t.a.extend( {i: function ( a, c ) {t.a.call( this, a, c )}} ); t.ub.prototype.m = {children: {seekBar: {}}}; t.ub.prototype.e = function () {return t.a.prototype.e.call( this, "div", {className: "vjs-progress-control vjs-control"} )}; t.kc = t.R.extend( { i: function ( a, c ) { t.R.call( this, a, c ); this.c( a, "timeupdate", this.ta ); a.H( t.bind( this, this.ta ) ) } } ); s = t.kc.prototype; s.m = { children: {loadProgressBar: {}, playProgressBar: {}, seekHandle: {}}, barName: "playProgressBar", handleName: "seekHandle" }; s.Oc = "timeupdate"; s.e = function () { return t.R.prototype.e.call( this, "div", { className: "vjs-progress-holder", "aria-label": "video progress bar" } ) }; s.ta = function () { var a = this.d.ib ? this.d.F.currentTime : this.d.currentTime(); this.b.setAttribute( "aria-valuenow", t.round( 100 * this.Lb(), 2 ) ); this.b.setAttribute( "aria-valuetext", t.Da( a, this.d.duration() ) ) }; s.Lb = function () {return this.d.currentTime() / this.d.duration()}; s.gb = function ( a ) { t.R.prototype.gb.call( this, a ); this.d.ib = f; this.xe = !this.d.paused(); this.d.pause() }; s.fa = function ( a ) { a = H( this, a ) * this.d.duration(); a == this.d.duration() && (a -= 0.1); this.d.currentTime( a ) }; s.ra = function ( a ) { t.R.prototype.ra.call( this, a ); this.d.ib = l; this.xe && this.d.play() }; s.Zc = function () {this.d.currentTime( this.d.currentTime() + 5 )}; s.Yc = function () {this.d.currentTime( this.d.currentTime() - 5 )}; t.rb = t.a.extend( { i: function ( a, c ) { t.a.call( this, a, c ); this.c( a, "progress", this.update ) } } ); t.rb.prototype.e = function () { return t.a.prototype.e.call( this, "div", { className: "vjs-load-progress", innerHTML: '<span class="vjs-control-text"><span>' + this.t( "Loaded" ) + "</span>: 0%</span>" } ) }; t.rb.prototype.update = function () { var a, c, d, e, g = this.d.buffered(); a = this.d.duration(); var h, j = this.d; h = j.buffered(); j = j.duration(); h = h.end( h.length - 1 ); h > j && (h = j); j = this.b.children; this.b.style.width = 100 * (h / a || 0) + "%"; for ( a = 0; a < g.length; a++ ) { c = g.start( a ), d = g.end( a ), (e = j[a]) || (e = this.b.appendChild( t.e() )), e.style.left = 100 * (c / h || 0) + "%", e.style.width = 100 * ((d - c) / h || 0) + "%"; } for ( a = j.length; a > g.length; a-- ) { this.b.removeChild( j[a - 1] ) } }; t.gc = t.a.extend( {i: function ( a, c ) {t.a.call( this, a, c )}} ); t.gc.prototype.e = function () { return t.a.prototype.e.call( this, "div", { className: "vjs-play-progress", innerHTML: '<span class="vjs-control-text"><span>' + this.t( "Progress" ) + "</span>: 0%</span>" } ) }; t.Sa = t.$.extend( { i: