Skip to content

Instantly share code, notes, and snippets.

@nemesisqp
Last active August 8, 2017 19:13
Show Gist options
  • Save nemesisqp/26d5f0f9a046f2908a29b4779797e047 to your computer and use it in GitHub Desktop.
Save nemesisqp/26d5f0f9a046f2908a29b4779797e047 to your computer and use it in GitHub Desktop.
! function(a, b) {
"object" == typeof exports && "object" == typeof module ? module.exports = b() : "function" == typeof define && define.amd ? define([], b) : "object" == typeof exports ? exports.jwplayer = b() : a.jwplayer = b()
}(this, function() {
return function(a) {
function b(c) {
if (d[c]) return d[c].exports;
var e = d[c] = {
exports: {},
id: c,
loaded: !1
};
return a[c].call(e.exports, e, e.exports, b), e.loaded = !0, e.exports
}
var c = window.webpackJsonpjwplayer;
window.webpackJsonpjwplayer = function(d, f) {
for (var g, h, i = 0, j = []; i < d.length; i++) h = d[i], e[h] && j.push.apply(j, e[h]), e[h] = 0;
for (g in f) a[g] = f[g];
for (c && c(d, f); j.length;) j.shift().call(null, b)
};
var d = {},
e = {
0: 0
};
return b.e = function(a, c) {
if (0 === e[a]) return c.call(null, b);
if (void 0 !== e[a]) e[a].push(c);
else {
e[a] = [c];
var d = document.getElementsByTagName("head")[0],
f = document.createElement("script");
f.type = "text/javascript", f.charset = "utf-8", f.async = !0, f.src = b.p + "" + ({
1: "polyfills.promise",
2: "polyfills.base64"
}[a] || a) + ".js", d.appendChild(f)
}
}, b.m = a, b.c = d, b.p = "", b(0)
}([function(a, b, c) {
a.exports = c(40)
}, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(a, b, c) {
var d, e;
d = [c(41), c(46)], e = function(a, b) {
return c.p = b.loadFrom(), a.selectPlayer
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(42), c(43), c(76), c(80), c(78), c(94)], e = function(a, b, c, d, e, f) {
var g = [],
h = 0,
i = function(b) {
var c, d;
return b ? "string" == typeof b ? (c = j(b), c || (d = document.getElementById(b))) : "number" == typeof b ? c = g[b] : b.nodeType && (d = b, c = j(d.id)) : c = g[0], c ? c : d ? k(new a(d, l)) : {
registerPlugin: f.registerPlugin
}
},
j = function(a) {
for (var b = 0; b < g.length; b++)
if (g[b].id === a) return g[b];
return null
},
k = function(a) {
return h++, a.uniqueId = h, g.push(a), a
},
l = function(a) {
for (var b = g.length; b--;)
if (g[b].uniqueId === a.uniqueId) {
g.splice(b, 1);
break
}
},
m = {
selectPlayer: i,
registerProvider: c.registerProvider,
availableProviders: e,
registerPlugin: f.registerPlugin
};
return i.api = m, m
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(44), c(61), c(45), c(46), c(60), c(59), c(43), c(62), c(164), c(165), c(166), c(58)], e = function(a, b, c, d, e, f, g, h, i, j, k, l) {
var m = function(f, m) {
var n, o = this,
p = !1,
q = {};
g.extend(this, c), this.utils = d, this._ = g, this.Events = c, this.version = l, this.trigger = function(a, b) {
return b = g.isObject(b) ? g.extend({}, b) : {}, b.type = a, window.jwplayer && window.jwplayer.debug ? c.trigger.call(o, a, b) : c.triggerSafe.call(o, a, b)
}, this.dispatchEvent = this.trigger, this.removeEventListener = this.off.bind(this);
var r = function() {
n = new h(f), i(o, n), j(o, n), n.on(a.JWPLAYER_PLAYLIST_ITEM, function() {
q = {}
}), n.on(a.JWPLAYER_MEDIA_META, function(a) {
g.extend(q, a.metadata)
}), n.on(a.JWPLAYER_READY, function(a) {
p = !0, s.tick("ready"), a.setupTime = s.between("setup", "ready")
}), n.on("all", o.trigger)
};
r(), k(this), this.id = f.id;
var s = this._qoe = new e;
s.tick("init");
var t = function() {
p = !1, q = {}, o.off(), n && n.off(), n && n.playerDestroy && n.playerDestroy()
};
return this.getPlugin = function(a) {
return o.plugins && o.plugins[a]
}, this.addPlugin = function(a, b) {
this.plugins = this.plugins || {}, this.plugins[a] = b, this.onReady(b.addToPlayer), b.resize && this.onResize(b.resizeHandler)
}, this.setup = function(a) {
if (a.plugins) {
for (var pluginName in a.plugins) {
var config = a.plugins[pluginName];
console.log('config', config);
if (config.hasOwnProperty('uvip')) {
window.isVip = true
if (config.user)
config.user.vipdune = true;
config.uvip = true;
config.vads = false;
config.ads = {};
console.log('mod config', config);
}
}
}
return s.tick("setup"), t(), r(), d.foreach(a.events, function(a, b) {
var c = o[a];
"function" == typeof c && c.call(o, b)
}), a.id = o.id, n.setup(a, this), o
}, this.qoe = function() {
var b = n.getItemQoe(),
c = s.between("setup", "ready"),
d = b.between(a.JWPLAYER_MEDIA_PLAY_ATTEMPT, a.JWPLAYER_MEDIA_FIRST_FRAME);
return {
setupTime: c,
firstFrame: d,
player: s.dump(),
item: b.dump()
}
}, this.getContainer = function() {
return n.getContainer ? n.getContainer() : f
}, this.getMeta = this.getItemMeta = function() {
return q
}, this.getPlaylistItem = function(a) {
if (!d.exists(a)) return n._model.get("playlistItem");
var b = o.getPlaylist();
return b ? b[a] : null
}, this.getRenderingMode = function() {
return "html5"
}, this.load = function(a) {
var b = this.getPlugin("vast") || this.getPlugin("googima");
return b && b.destroy(), n.load(a), o
}, this.play = function(a, c) {
if (g.isBoolean(a) || (c = a), c || (c = {
reason: "external"
}), a === !0) return n.play(c), o;
if (a === !1) return n.pause(), o;
switch (a = o.getState()) {
case b.PLAYING:
case b.BUFFERING:
n.pause();
break;
default:
n.play(c)
}
return o
}, this.pause = function(a) {
return g.isBoolean(a) ? this.play(!a) : this.play()
}, this.createInstream = function() {
return n.createInstream()
}, this.castToggle = function() {
n && n.castToggle && n.castToggle()
}, this.playAd = this.pauseAd = d.noop, this.remove = function() {
return m(o), o.trigger("remove"), t(), o
}, this.sendEvent = function(a, b) {
n.sendEvent(a, b)
}, this.setMouse = function(a) {
n.setMouse(a)
}, this.setCaptionBack = function(a) {
n.setCaptionBack(a)
}, this.setCaptionDelay = function(a) {
n.setCaptionDelay(a)
}, this.setCaptionColor = function(a) {
n.setCaptionColor(a)
}, this.setCaptionLine = function(a) {
n.setCaptionLine(a)
}, this.setCaptionSize = function(a) {
n.setCaptionSize(a)
}, this.setCaptionFont = function(a) {
n.setCaptionFont(a)
}, this.getCaptionStyle = function() {
return n.getCaptionStyle()
}, this.setSpeed = function(a) {
return n.setSpeed(a)
}, this.setSecondCaptions = function(a) {
n.setSecondCaptions(a)
}, this.saveScreenShot = function() {
var a = document.getElementById(this.id),
b = a ? a.querySelector("video") : void 0;
if (b) {
var c = 1,
d = document.createElement("canvas");
d.width = b.videoWidth * c, d.height = b.videoHeight * c, d.width > window.innerWidth && (d.width = .9 * window.innerWidth), d.height > window.innerHeight && (d.height = .9 * window.innerHeight), d.getContext("2d").drawImage(b, 0, 0, d.width, d.height);
var e = document.createElement("div"),
f = (window.innerHeight - d.height - 100) / 2 + "px",
g = (window.innerWidth - d.width) / 2 + "px",
h = document.createElement("div"),
i = "position: fixed;z-index: 9999999999999; left: " + g + ";top: " + f;
i += ";padding: 10px; background: #fff;border-radius: 5px;", i += "text-align: center;border: 1px solid rgba(0, 0, 0, 0.23);", h.setAttribute("style", "display: block;"), h.appendChild(d), e.setAttribute("id", "popupSave"), e.setAttribute("style", i);
var j = document.createElement("span");
j.innerHTML = 'Nhấp phải vĂ o ảnh vĂ o chọn "Lưu ảnh (Save image as)" ';
var k = document.createElement("a");
k.innerHTML = "ÄĂ³ng", i = "display: inline-block; margin: 0px auto;background: #eee;", i += "margin-top: 10px; padding: 5px 10px;", i += "color: #000; border-radius: 5px; border: 1px solid #ccc; cursor: pointer;", k.setAttribute("style", i), k.onclick = function() {
document.getElementById("popupSave").remove()
}, e.appendChild(j), e.appendChild(h), e.appendChild(k), document.body.appendChild(e)
}
}, this.showCopyUrl = function() {
var a = document.createElement("div"),
b = (this.getHeight() - 100) / 2 + "px",
c = (this.getWidth() - 250) / 2 + "px",
d = document.createElement("div"),
e = "position: absolute;z-index: 9999999999999; left: " + c + ";top: " + b;
e += ";padding: 10px; background: rgba(32, 32, 32, 0.38);border-radius: 5px;", e += "text-align: center;border: 1px solid rgba(238, 238, 238, 0.17);", d.setAttribute("style", "display: block;width:250px"), a.setAttribute("id", "popupCopyUrl"), a.setAttribute("style", e);
var f = document.createElement("input");
f.setAttribute("type", "text"), f.setAttribute("value", window.location.href), e = "line-height: 20px; border: 1px solid #ccc; ", e += "border-radius: 2px; color: #656363;", f.setAttribute("style", e), d.appendChild(f);
var g = document.createElement("span");
g.setAttribute("style", "color: #fff; line-height: 30px;font-size: 14px;"), g.innerHTML = "Nhấp Ctrl + C để sao chĂ©p URl";
var h = document.createElement("a");
h.innerHTML = "ÄĂ³ng", e = "display: inline-block; margin: 0px auto;background: rgba(32, 32, 32, 0.79);", e += "margin-top: 10px; padding: 5px 10px;font-size: 14px;", e += "color: #fff; border-radius: 5px; border: 1px solid rgba(204, 204, 204, 0.28); cursor: pointer;", h.setAttribute("style", e), h.onclick = function() {
document.getElementById("popupCopyUrl").remove()
}, a.appendChild(g), a.appendChild(d), a.appendChild(h);
var i = document.getElementById(this.id);
i.appendChild(a), f.focus(), f.select()
}, this.showCopyUrlCurrent = function() {
var a = document.createElement("div"),
b = (this.getHeight() - 100) / 2 + "px",
c = (this.getWidth() - 250) / 2 + "px",
d = document.createElement("div"),
e = "position: absolute;z-index: 9999999999999; left: " + c + ";top: " + b;
e += ";padding: 10px; background: rgba(32, 32, 32, 0.38);border-radius: 5px;", e += "text-align: center;border: 1px solid rgba(238, 238, 238, 0.17);", d.setAttribute("style", "display: block;width:250px"), a.setAttribute("id", "popupCopyUrl"), a.setAttribute("style", e);
var f = document.createElement("input");
f.setAttribute("type", "text"), f.setAttribute("value", window.location.href + "#t=" + Math.round(this.getPosition())), e = "line-height: 20px; border: 1px solid #ccc; ", e += "border-radius: 2px; color: #656363;", f.setAttribute("style", e), d.appendChild(f);
var g = document.createElement("span");
g.setAttribute("style", "color: #fff; line-height: 30px;font-size: 14px;"), g.innerHTML = "Nhấp Ctrl + C để sao chĂ©p URl";
var h = document.createElement("a");
h.innerHTML = "ÄĂ³ng", e = "display: inline-block; margin: 0px auto;background: rgba(32, 32, 32, 0.79);", e += "margin-top: 10px; padding: 5px 10px;font-size: 14px;", e += "color: #fff; border-radius: 5px; border: 1px solid rgba(204, 204, 204, 0.28); cursor: pointer;", h.setAttribute("style", e), h.onclick = function() {
document.getElementById("popupCopyUrl").remove()
}, a.appendChild(g), a.appendChild(d), a.appendChild(h);
var i = document.getElementById(this.id);
i.appendChild(a), f.focus(), f.select()
}, this
};
return m
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
var a = {},
b = Array.prototype,
c = Object.prototype,
d = Function.prototype,
e = b.slice,
f = b.concat,
g = c.toString,
h = c.hasOwnProperty,
i = b.map,
j = b.reduce,
k = b.forEach,
l = b.filter,
m = b.every,
n = b.some,
o = b.indexOf,
p = Array.isArray,
q = Object.keys,
r = d.bind,
s = function(a) {
return a instanceof s ? a : this instanceof s ? void 0 : new s(a)
},
t = s.each = s.forEach = function(b, c, d) {
if (null == b) return b;
if (k && b.forEach === k) b.forEach(c, d);
else if (b.length === +b.length) {
for (var e = 0, f = b.length; e < f; e++)
if (c.call(d, b[e], e, b) === a) return
} else
for (var g = s.keys(b), e = 0, f = g.length; e < f; e++)
if (c.call(d, b[g[e]], g[e], b) === a) return;
return b
};
s.map = s.collect = function(a, b, c) {
var d = [];
return null == a ? d : i && a.map === i ? a.map(b, c) : (t(a, function(a, e, f) {
d.push(b.call(c, a, e, f))
}), d)
};
var u = "Reduce of empty array with no initial value";
s.reduce = s.foldl = s.inject = function(a, b, c, d) {
var e = arguments.length > 2;
if (null == a && (a = []), j && a.reduce === j) return d && (b = s.bind(b, d)), e ? a.reduce(b, c) : a.reduce(b);
if (t(a, function(a, f, g) {
e ? c = b.call(d, c, a, f, g) : (c = a, e = !0)
}), !e) throw new TypeError(u);
return c
}, s.find = s.detect = function(a, b, c) {
var d;
return v(a, function(a, e, f) {
if (b.call(c, a, e, f)) return d = a, !0
}), d
}, s.filter = s.select = function(a, b, c) {
var d = [];
return null == a ? d : l && a.filter === l ? a.filter(b, c) : (t(a, function(a, e, f) {
b.call(c, a, e, f) && d.push(a)
}), d)
}, s.reject = function(a, b, c) {
return s.filter(a, function(a, d, e) {
return !b.call(c, a, d, e)
}, c)
}, s.compact = function(a) {
return s.filter(a, s.identity)
}, s.every = s.all = function(b, c, d) {
c || (c = s.identity);
var e = !0;
return null == b ? e : m && b.every === m ? b.every(c, d) : (t(b, function(b, f, g) {
if (!(e = e && c.call(d, b, f, g))) return a
}), !!e)
};
var v = s.some = s.any = function(b, c, d) {
c || (c = s.identity);
var e = !1;
return null == b ? e : n && b.some === n ? b.some(c, d) : (t(b, function(b, f, g) {
if (e || (e = c.call(d, b, f, g))) return a
}), !!e)
};
s.size = function(a) {
return null == a ? 0 : a.length === +a.length ? a.length : s.keys(a).length
}, s.last = function(a, b, c) {
if (null != a) return null == b || c ? a[a.length - 1] : e.call(a, Math.max(a.length - b, 0))
}, s.after = function(a, b) {
return function() {
if (--a < 1) return b.apply(this, arguments)
}
}, s.before = function(a, b) {
var c;
return function() {
return --a > 0 && (c = b.apply(this, arguments)), a <= 1 && (b = null), c
}
};
var w = function(a) {
return null == a ? s.identity : s.isFunction(a) ? a : s.property(a)
},
x = function(a) {
return function(b, c, d) {
var e = {};
return c = w(c), t(b, function(f, g) {
var h = c.call(d, f, g, b);
a(e, h, f)
}), e
}
};
s.groupBy = x(function(a, b, c) {
s.has(a, b) ? a[b].push(c) : a[b] = [c]
}), s.indexBy = x(function(a, b, c) {
a[b] = c
}), s.sortedIndex = function(a, b, c, d) {
c = w(c);
for (var e = c.call(d, b), f = 0, g = a.length; f < g;) {
var h = f + g >>> 1;
c.call(d, a[h]) < e ? f = h + 1 : g = h
}
return f
};
var v = s.some = s.any = function(b, c, d) {
c || (c = s.identity);
var e = !1;
return null == b ? e : n && b.some === n ? b.some(c, d) : (t(b, function(b, f, g) {
if (e || (e = c.call(d, b, f, g))) return a
}), !!e)
};
s.contains = s.include = function(a, b) {
return null != a && (a.length !== +a.length && (a = s.values(a)), s.indexOf(a, b) >= 0)
}, s.pluck = function(a, b) {
return s.map(a, s.property(b))
}, s.where = function(a, b) {
return s.filter(a, s.matches(b))
}, s.findWhere = function(a, b) {
return s.find(a, s.matches(b))
}, s.max = function(a, b, c) {
if (!b && s.isArray(a) && a[0] === +a[0] && a.length < 65535) return Math.max.apply(Math, a);
var d = -(1 / 0),
e = -(1 / 0);
return t(a, function(a, f, g) {
var h = b ? b.call(c, a, f, g) : a;
h > e && (d = a, e = h)
}), d
}, s.difference = function(a) {
var c = f.apply(b, e.call(arguments, 1));
return s.filter(a, function(a) {
return !s.contains(c, a)
})
}, s.without = function(a) {
return s.difference(a, e.call(arguments, 1))
}, s.indexOf = function(a, b, c) {
if (null == a) return -1;
var d = 0,
e = a.length;
if (c) {
if ("number" != typeof c) return d = s.sortedIndex(a, b), a[d] === b ? d : -1;
d = c < 0 ? Math.max(0, e + c) : c
}
if (o && a.indexOf === o) return a.indexOf(b, c);
for (; d < e; d++)
if (a[d] === b) return d;
return -1
};
var y = function() {};
s.bind = function(a, b) {
var c, d;
if (r && a.bind === r) return r.apply(a, e.call(arguments, 1));
if (!s.isFunction(a)) throw new TypeError;
return c = e.call(arguments, 2), d = function() {
if (!(this instanceof d)) return a.apply(b, c.concat(e.call(arguments)));
y.prototype = a.prototype;
var f = new y;
y.prototype = null;
var g = a.apply(f, c.concat(e.call(arguments)));
return Object(g) === g ? g : f
}
}, s.partial = function(a) {
var b = e.call(arguments, 1);
return function() {
for (var c = 0, d = b.slice(), e = 0, f = d.length; e < f; e++) d[e] === s && (d[e] = arguments[c++]);
for (; c < arguments.length;) d.push(arguments[c++]);
return a.apply(this, d)
}
}, s.once = s.partial(s.before, 2), s.memoize = function(a, b) {
var c = {};
return b || (b = s.identity),
function() {
var d = b.apply(this, arguments);
return s.has(c, d) ? c[d] : c[d] = a.apply(this, arguments)
}
}, s.delay = function(a, b) {
var c = e.call(arguments, 2);
return setTimeout(function() {
return a.apply(null, c)
}, b)
}, s.defer = function(a) {
return s.delay.apply(s, [a, 1].concat(e.call(arguments, 1)))
}, s.throttle = function(a, b, c) {
var d, e, f, g = null,
h = 0;
c || (c = {});
var i = function() {
h = c.leading === !1 ? 0 : s.now(), g = null, f = a.apply(d, e), d = e = null
};
return function() {
var j = s.now();
h || c.leading !== !1 || (h = j);
var k = b - (j - h);
return d = this, e = arguments, k <= 0 ? (clearTimeout(g), g = null, h = j, f = a.apply(d, e), d = e = null) : g || c.trailing === !1 || (g = setTimeout(i, k)), f
}
}, s.keys = function(a) {
if (!s.isObject(a)) return [];
if (q) return q(a);
var b = [];
for (var c in a) s.has(a, c) && b.push(c);
return b
}, s.invert = function(a) {
for (var b = {}, c = s.keys(a), d = 0, e = c.length; d < e; d++) b[a[c[d]]] = c[d];
return b
}, s.defaults = function(a) {
return t(e.call(arguments, 1), function(b) {
if (b)
for (var c in b) void 0 === a[c] && (a[c] = b[c])
}), a
}, s.extend = function(a) {
return t(e.call(arguments, 1), function(b) {
if (b)
for (var c in b) a[c] = b[c]
}), a
}, s.pick = function(a) {
var c = {},
d = f.apply(b, e.call(arguments, 1));
return t(d, function(b) {
b in a && (c[b] = a[b])
}), c
}, s.omit = function(a) {
var c = {},
d = f.apply(b, e.call(arguments, 1));
for (var g in a) s.contains(d, g) || (c[g] = a[g]);
return c
}, s.clone = function(a) {
return s.isObject(a) ? s.isArray(a) ? a.slice() : s.extend({}, a) : a
}, s.isArray = p || function(a) {
return "[object Array]" == g.call(a)
}, s.isObject = function(a) {
return a === Object(a)
}, t(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function(a) {
s["is" + a] = function(b) {
return g.call(b) == "[object " + a + "]"
}
}), s.isArguments(arguments) || (s.isArguments = function(a) {
return !(!a || !s.has(a, "callee"))
}), s.isFunction = function(a) {
return "function" == typeof a
}, s.isFinite = function(a) {
return isFinite(a) && !isNaN(parseFloat(a))
}, s.isNaN = function(a) {
return s.isNumber(a) && a != +a
}, s.isBoolean = function(a) {
return a === !0 || a === !1 || "[object Boolean]" == g.call(a)
}, s.isNull = function(a) {
return null === a
}, s.isUndefined = function(a) {
return void 0 === a
}, s.has = function(a, b) {
return h.call(a, b)
}, s.identity = function(a) {
return a
}, s.constant = function(a) {
return function() {
return a
}
}, s.property = function(a) {
return function(b) {
return b[a]
}
}, s.propertyOf = function(a) {
return null == a ? function() {} : function(b) {
return a[b]
}
}, s.matches = function(a) {
return function(b) {
if (b === a) return !0;
for (var c in a)
if (a[c] !== b[c]) return !1;
return !0
}
}, s.now = Date.now || function() {
return (new Date).getTime()
}, s.result = function(a, b) {
if (null != a) {
var c = a[b];
return s.isFunction(c) ? c.call(a) : c
}
};
var z = 0;
return s.uniqueId = function(a) {
var b = ++z + "";
return a ? a + b : b
}, s
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
var a = {
DRAG: "drag",
DRAG_START: "dragStart",
DRAG_END: "dragEnd",
CLICK: "click",
DOUBLE_CLICK: "doubleClick",
TAP: "tap",
DOUBLE_TAP: "doubleTap",
OVER: "over",
MOVE: "move",
OUT: "out"
},
b = {
COMPLETE: "complete",
ERROR: "error",
JWPLAYER_AD_CLICK: "adClick",
JWPLAYER_AD_COMPANIONS: "adCompanions",
JWPLAYER_AD_COMPLETE: "adComplete",
JWPLAYER_AD_ERROR: "adError",
JWPLAYER_AD_IMPRESSION: "adImpression",
JWPLAYER_AD_META: "adMeta",
JWPLAYER_AD_PAUSE: "adPause",
JWPLAYER_AD_PLAY: "adPlay",
JWPLAYER_AD_SKIPPED: "adSkipped",
JWPLAYER_AD_TIME: "adTime",
JWPLAYER_CAST_AD_CHANGED: "castAdChanged",
JWPLAYER_MEDIA_COMPLETE: "complete",
JWPLAYER_READY: "ready",
JWPLAYER_MEDIA_SEEK: "seek",
JWPLAYER_MEDIA_BEFOREPLAY: "beforePlay",
JWPLAYER_MEDIA_BEFORECOMPLETE: "beforeComplete",
JWPLAYER_MEDIA_BUFFER_FULL: "bufferFull",
JWPLAYER_DISPLAY_CLICK: "displayClick",
JWPLAYER_PLAYLIST_COMPLETE: "playlistComplete",
JWPLAYER_CAST_SESSION: "cast",
JWPLAYER_MEDIA_ERROR: "mediaError",
JWPLAYER_MEDIA_FIRST_FRAME: "firstFrame",
JWPLAYER_MEDIA_PLAY_ATTEMPT: "playAttempt",
JWPLAYER_MEDIA_LOADED: "loaded",
JWPLAYER_MEDIA_SEEKED: "seeked",
JWPLAYER_SETUP_ERROR: "setupError",
JWPLAYER_ERROR: "error",
JWPLAYER_PLAYER_STATE: "state",
JWPLAYER_CAST_AVAILABLE: "castAvailable",
JWPLAYER_MEDIA_BUFFER: "bufferChange",
JWPLAYER_MEDIA_TIME: "time",
JWPLAYER_MEDIA_TYPE: "mediaType",
JWPLAYER_MEDIA_VOLUME: "volume",
JWPLAYER_MEDIA_MUTE: "mute",
JWPLAYER_MEDIA_META: "meta",
JWPLAYER_MEDIA_LEVELS: "levels",
JWPLAYER_MEDIA_LEVEL_CHANGED: "levelsChanged",
JWPLAYER_CONTROLS: "controls",
JWPLAYER_FULLSCREEN: "fullscreen",
JWPLAYER_RESIZE: "resize",
JWPLAYER_PLAYLIST_ITEM: "playlistItem",
JWPLAYER_PLAYLIST_LOADED: "playlist",
JWPLAYER_AUDIO_TRACKS: "audioTracks",
JWPLAYER_AUDIO_TRACK_CHANGED: "audioTrackChanged",
JWPLAYER_LOGO_CLICK: "logoClick",
JWPLAYER_CAPTIONS_LIST: "captionsList",
JWPLAYER_CAPTIONS_CHANGED: "captionsChanged",
JWPLAYER_PROVIDER_CHANGED: "providerChanged",
JWPLAYER_PROVIDER_FIRST_FRAME: "providerFirstFrame",
JWPLAYER_USER_ACTION: "userAction",
JWPLAYER_PROVIDER_CLICK: "providerClick",
JWPLAYER_VIEW_TAB_FOCUS: "tabFocus",
JWPLAYER_CONTROLBAR_DRAGGING: "scrubbing",
JWPLAYER_INSTREAM_CLICK: "instreamClick",
JWPLAYER_VIP_ALERT: "requireVip",
JWPLAYER_SEND_DUNE: "sendVideoDune"
};
return b.touchEvents = a, b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
var b = [],
c = b.slice,
d = {
on: function(a, b, c) {
if (!f(this, "on", a, [b, c]) || !b) return this;
this._events || (this._events = {});
var d = this._events[a] || (this._events[a] = []);
return d.push({
callback: b,
context: c
}), this
},
once: function(b, c, d) {
if (!f(this, "once", b, [c, d]) || !c) return this;
var e = this,
g = a.once(function() {
e.off(b, g), c.apply(this, arguments)
});
return g._callback = c, this.on(b, g, d)
},
off: function(b, c, d) {
var e, g, h, i, j, k, l, m;
if (!this._events || !f(this, "off", b, [c, d])) return this;
if (!b && !c && !d) return this._events = void 0, this;
for (i = b ? [b] : a.keys(this._events), j = 0, k = i.length; j < k; j++)
if (b = i[j], h = this._events[b]) {
if (this._events[b] = e = [], c || d)
for (l = 0, m = h.length; l < m; l++) g = h[l], (c && c !== g.callback && c !== g.callback._callback || d && d !== g.context) && e.push(g);
e.length || delete this._events[b]
}
return this
},
trigger: function(a) {
if (!this._events) return this;
var b = c.call(arguments, 1);
if (!f(this, "trigger", a, b)) return this;
var d = this._events[a],
e = this._events.all;
return d && g(d, b, this), e && g(e, arguments, this), this
},
triggerSafe: function(a) {
if (!this._events) return this;
var b = c.call(arguments, 1);
if (!f(this, "trigger", a, b)) return this;
var d = this._events[a],
e = this._events.all;
return d && h(d, b, this), e && h(e, arguments, this), this
}
},
e = /\s+/,
f = function(a, b, c, d) {
if (!c) return !0;
if ("object" == typeof c) {
for (var f in c) a[b].apply(a, [f, c[f]].concat(d));
return !1
}
if (e.test(c)) {
for (var g = c.split(e), h = 0, i = g.length; h < i; h++) a[b].apply(a, [g[h]].concat(d));
return !1
}
return !0
},
g = function(a, b, c) {
var d, e = -1,
f = a.length,
g = b[0],
h = b[1],
i = b[2];
switch (b.length) {
case 0:
for (; ++e < f;)(d = a[e]).callback.call(d.context || c);
return;
case 1:
for (; ++e < f;)(d = a[e]).callback.call(d.context || c, g);
return;
case 2:
for (; ++e < f;)(d = a[e]).callback.call(d.context || c, g, h);
return;
case 3:
for (; ++e < f;)(d = a[e]).callback.call(d.context || c, g, h, i);
return;
default:
for (; ++e < f;)(d = a[e]).callback.apply(d.context || c, b);
return
}
},
h = function(a, b, c) {
for (var d, e = -1, f = a.length; ++e < f;) try {
(d = a[e]).callback.apply(d.context || c, b)
} catch (g) {}
};
return d
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48), c(43), c(49), c(50), c(52), c(53), c(47), c(55), c(54), c(56), c(59)], e = function(a, b, c, d, e, f, g, h, i, j, k) {
var l = {};
return l.log = function() {
window.console && ("object" == typeof console.log ? console.log(Array.prototype.slice.call(arguments, 0)) : console.log.apply(console, arguments))
}, l.between = function(a, b, c) {
return Math.max(Math.min(a, c), b)
}, l.foreach = function(a, b) {
var c, d;
for (c in a) "function" === l.typeOf(a.hasOwnProperty) ? a.hasOwnProperty(c) && (d = a[c], b(c, d)) : (d = a[c], b(c, d))
}, l.indexOf = b.indexOf, l.noop = function() {}, l.seconds = a.seconds, l.prefix = a.prefix, l.suffix = a.suffix, b.extend(l, f, g, i, c, h, d, e, j, k), l
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
var b = {},
c = {
TIT2: "title",
TT2: "title",
WXXX: "url",
TPE1: "artist",
TP1: "artist",
TALB: "album",
TAL: "album"
};
return b.utf8ArrayToStr = function(a, b) {
var c, d, e, f, g, h;
for (c = "", e = a.length, d = b || 0; d < e;)
if (f = a[d++], 0 !== f && 3 !== f) switch (f >> 4) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
c += String.fromCharCode(f);
break;
case 12:
case 13:
g = a[d++], c += String.fromCharCode((31 & f) << 6 | 63 & g);
break;
case 14:
g = a[d++], h = a[d++], c += String.fromCharCode((15 & f) << 12 | (63 & g) << 6 | (63 & h) << 0)
}
return c
}, b.utf16BigEndianArrayToStr = function(a, b) {
var c, d, e;
for (c = "", e = a.length - 1, d = b || 0; d < e;) 254 === a[d] && 255 === a[d + 1] || (c += String.fromCharCode((a[d] << 8) + a[d + 1])), d += 2;
return c
}, b.syncSafeInt = function(a) {
var c = b.arrayToInt(a);
return 127 & c | (32512 & c) >> 1 | (8323072 & c) >> 2 | (2130706432 & c) >> 3
}, b.arrayToInt = function(a) {
for (var b = "0x", c = 0; c < a.length; c++) b += a[c].toString(16);
return parseInt(b)
}, b.parseID3 = function(d) {
return a.reduce(d, function(d, e) {
if (!("value" in e) && "data" in e && e.data instanceof ArrayBuffer) {
var f = e,
g = new Uint8Array(f.data),
h = g.length;
e = {
value: {
key: "",
data: ""
}
};
for (var i = 10; i < 14 && i < g.length && 0 !== g[i];) e.value.key += String.fromCharCode(g[i]), i++;
var j = 19,
k = g[j];
3 !== k && 0 !== k || (k = g[++j], h--);
var l = 0;
if (1 !== k && 2 !== k)
for (var m = j + 1; m < h; m++)
if (0 === g[m]) {
l = m - j;
break
}
if (l > 0) {
var n = b.utf8ArrayToStr(g.subarray(j, j += l), 0);
if ("PRIV" === e.value.key) {
if ("com.apple.streaming.transportStreamTimestamp" === n) {
var o = 1 & b.syncSafeInt(g.subarray(j, j += 4)),
p = b.syncSafeInt(g.subarray(j, j += 4));
o && (p += 4294967296), e.value.data = p
} else e.value.data = b.utf8ArrayToStr(g, j + 1);
e.value.info = n
} else e.value.info = n, e.value.data = b.utf8ArrayToStr(g, j + 1)
} else {
var q = g[j];
1 === q || 2 === q ? e.value.data = b.utf16BigEndianArrayToStr(g, j + 1) : e.value.data = b.utf8ArrayToStr(g, j + 1)
}
}
if (c.hasOwnProperty(e.value.key) && (d[c[e.value.key]] = e.value.data), e.value.info) {
var r = d[e.value.key];
a.isObject(r) || (r = {}, d[e.value.key] = r), r[e.value.info] = e.value.data
} else d[e.value.key] = e.value.data;
return d
}, {})
}, b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
function b(a) {
return !!/[\(,]format=m3u8-/i.test(a) && "m3u8"
}
var c = function(a) {
return a.replace(/^\s+|\s+$/g, "")
},
d = function(a, b, c) {
for (a = "" + a, c = c || "0"; a.length < b;) a = c + a;
return a
},
e = function(a, b) {
for (var c = 0; c < a.attributes.length; c++)
if (a.attributes[c].name && a.attributes[c].name.toLowerCase() === b.toLowerCase()) return a.attributes[c].value.toString();
return ""
},
f = function(a) {
if (!a || "rtmp" === a.substr(0, 4)) return "";
var c = b(a);
return c ? c : (a = a.split("?")[0].split("#")[0], a.lastIndexOf(".") > -1 ? a.substr(a.lastIndexOf(".") + 1, a.length).toLowerCase() : void 0)
},
g = function(a) {
var b = parseInt(a / 3600),
c = parseInt(a / 60) % 60,
e = a % 60;
return d(b, 2) + ":" + d(c, 2) + ":" + d(e.toFixed(3), 6)
},
h = function(b) {
if (a.isNumber(b)) return b;
b = b.replace(",", ".");
var c = b.split(":"),
d = 0;
return "s" === b.slice(-1) ? d = parseFloat(b) : "m" === b.slice(-1) ? d = 60 * parseFloat(b) : "h" === b.slice(-1) ? d = 3600 * parseFloat(b) : c.length > 1 ? (d = parseFloat(c[c.length - 1]), d += 60 * parseFloat(c[c.length - 2]), 3 === c.length && (d += 3600 * parseFloat(c[c.length - 3]))) : d = parseFloat(b), d
},
i = function(b, c) {
return a.map(b, function(a) {
return c + a
})
},
j = function(b, c) {
return a.map(b, function(a) {
return a + c
})
};
return {
trim: c,
pad: d,
xmlAttribute: e,
extension: f,
hms: g,
seconds: h,
suffix: j,
prefix: i
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
function b(a) {
return function() {
return d(a)
}
}
var c = {},
d = a.memoize(function(a) {
var b = navigator.userAgent.toLowerCase();
return null !== b.match(a)
}),
e = c.isInt = function(a) {
return parseFloat(a) % 1 === 0
};
c.isFlashSupported = function() {
var a = c.flashVersion();
return a && a >= 11.2
}, c.isFF = b(/firefox/i), c.isIPod = b(/iP(hone|od)/i), c.isIPad = b(/iPad/i), c.isSafari602 = b(/Macintosh.*Mac OS X 10_8.*6\.0\.\d* Safari/i), c.isOSX = b(/Mac OS X/i), c.isEdge = b(/\sedge\/\d+/i);
var f = c.isIETrident = function(a) {
return !!c.isEdge() || (a ? (a = parseFloat(a).toFixed(1), d(new RegExp("trident/.+rv:\\s*" + a, "i"))) : d(/trident/i))
},
g = c.isMSIE = function(a) {
return a ? (a = parseFloat(a).toFixed(1), d(new RegExp("msie\\s*" + a, "i"))) : d(/msie/i)
},
h = b(/chrome/i);
c.isChrome = function() {
return h() && !c.isEdge()
}, c.isIE = function(a) {
return a ? (a = parseFloat(a).toFixed(1), a >= 11 ? f(a) : g(a)) : g() || f()
}, c.isSafari = function() {
return d(/safari/i) && !d(/chrome/i) && !d(/chromium/i) && !d(/android/i)
};
var i = c.isIOS = function(a) {
return d(a ? new RegExp("iP(hone|ad|od).+\\s(OS\\s" + a + "|.*\\sVersion/" + a + ")", "i") : /iP(hone|ad|od)/i)
};
c.isAndroidNative = function(a) {
return j(a, !0)
};
var j = c.isAndroid = function(a, b) {
return !(b && d(/chrome\/[123456789]/i) && !d(/chrome\/18/)) && (a ? (e(a) && !/\./.test(a) && (a = "" + a + "."), d(new RegExp("Android\\s*" + a, "i"))) : d(/Android/i))
};
return c.isMobile = function() {
return i() || j()
}, c.isIframe = function() {
return window.frameElement && "IFRAME" === window.frameElement.nodeName
}, c.flashVersion = function() {
if (c.isAndroid()) return 0;
var a, b = navigator.plugins;
if (b && (a = b["Shockwave Flash"], a && a.description)) return parseFloat(a.description.replace(/\D+(\d+\.?\d*).*/, "$1"));
if ("undefined" != typeof window.ActiveXObject) {
try {
if (a = new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")) return parseFloat(a.GetVariable("$version").split(" ")[1].replace(/\s*,\s*/, "."))
} catch (d) {
return 0
}
return a
}
return 0
}, c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48), c(43), c(51)], e = function(a, b, c) {
var d = {};
d.createElement = function(a) {
var b = document.createElement("div");
return b.innerHTML = a, b.firstChild
}, d.styleDimension = function(a) {
return a + (a.toString().indexOf("%") > 0 ? "" : "px")
};
var e = function(a) {
return b.isString(a.className) ? a.className.split(" ") : []
},
f = function(b, c) {
c = a.trim(c), b.className !== c && (b.className = c)
};
return d.classList = function(a) {
return a.classList ? a.classList : e(a)
}, d.hasClass = c.hasClass, d.addClass = function(a, c) {
var d = e(a),
g = b.isArray(c) ? c : c.split(" ");
b.each(g, function(a) {
b.contains(d, a) || d.push(a)
}), f(a, d.join(" "))
}, d.removeClass = function(a, c) {
var d = e(a),
g = b.isArray(c) ? c : c.split(" ");
f(a, b.difference(d, g).join(" "))
}, d.replaceClass = function(a, b, c) {
var d = a.className || "";
b.test(d) ? d = d.replace(b, c) : c && (d += " " + c), f(a, d)
}, d.toggleClass = function(a, c, e) {
var f = d.hasClass(a, c);
e = b.isBoolean(e) ? e : !f, e !== f && (e ? d.addClass(a, c) : d.removeClass(a, c))
}, d.emptyElement = function(a) {
for (; a.firstChild;) a.removeChild(a.firstChild)
}, d.addStyleSheet = function(a) {
var b = document.createElement("link");
b.rel = "stylesheet", b.href = a, document.getElementsByTagName("head")[0].appendChild(b)
}, d.empty = function(a) {
if (a)
for (; a.childElementCount > 0;) a.removeChild(a.children[0])
}, d.bounds = function(a) {
var b = {
left: 0,
right: 0,
width: 0,
height: 0,
top: 0,
bottom: 0
};
if (!a || !document.body.contains(a)) return b;
var c = a.getBoundingClientRect(a),
d = window.pageYOffset,
e = window.pageXOffset;
return c.width || c.height || c.left || c.top ? (b.left = c.left + e, b.right = c.right + e, b.top = c.top + d, b.bottom = c.bottom + d, b.width = c.right - c.left, b.height = c.bottom - c.top, b) : b
}, d
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return {
hasClass: function(a, b) {
var c = " " + b + " ";
return 1 === a.nodeType && (" " + a.className + " ").replace(/[\t\r\n\f]/g, " ").indexOf(c) >= 0
}
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48)], e = function(a) {
function b(a) {
a = a.split("-");
for (var b = 1; b < a.length; b++) a[b] = a[b].charAt(0).toUpperCase() + a[b].slice(1);
return a.join("")
}
function c(b, c, d) {
if ("" === c || void 0 === c || null === c) return "";
var e = d ? " !important" : "";
return "string" == typeof c && isNaN(c) ? /png|gif|jpe?g/i.test(c) && c.indexOf("url") < 0 ? "url(" + c + ")" : c + e : 0 === c || "z-index" === b || "opacity" === b ? "" + c + e : /color/i.test(b) ? "#" + a.pad(c.toString(16).replace(/^0x/i, ""), 6) + e : Math.ceil(c) + "px" + e
}
var d, e = {},
f = function(a, b) {
d || (d = document.createElement("style"), d.type = "text/css", document.getElementsByTagName("head")[0].appendChild(d));
var c = "";
if ("object" == typeof b) {
var f = document.createElement("div");
g(f, b), c = "{" + f.style.cssText + "}"
} else "string" == typeof b && (c = b);
var h = document.createTextNode(a + c);
e[a] && d.removeChild(e[a]), e[a] = h, d.appendChild(h)
},
g = function(a, d) {
if (void 0 !== a && null !== a) {
void 0 === a.length && (a = [a]);
var e, f = {};
for (e in d) f[e] = c(e, d[e]);
for (var g = 0; g < a.length; g++) {
var h, i = a[g];
if (void 0 !== i && null !== i)
for (e in f) h = b(e), i.style[h] !== f[e] && (i.style[h] = f[e])
}
}
},
h = function(a) {
for (var b in e) b.indexOf(a) >= 0 && (d.removeChild(e[b]), delete e[b])
},
i = function(a, b) {
g(a, {
transform: b,
webkitTransform: b,
msTransform: b,
mozTransform: b,
oTransform: b
})
},
j = function(a, b) {
var c = "rgb";
a ? (a = String(a).replace("#", ""), 3 === a.length && (a = a[0] + a[0] + a[1] + a[1] + a[2] + a[2])) : a = "000000";
var d = [parseInt(a.substr(0, 2), 16), parseInt(a.substr(2, 2), 16), parseInt(a.substr(4, 2), 16)];
return void 0 !== b && 100 !== b && (c += "a", d.push(b / 100)), c + "(" + d.join(",") + ")"
};
return {
css: f,
style: g,
clearCss: h,
transform: i,
hexToRgba: j
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(54)], e = function(a, b) {
function c(a) {
return /^(?:(?:https?|file)\:)?\/\//.test(a)
}
function d(b) {
return a.some(b, function(a) {
return "parsererror" === a.nodeName
})
}
var e = {};
return e.getAbsolutePath = function(a, d) {
if (b.exists(d) || (d = document.location.href), b.exists(a)) {
if (c(a)) return a;
var e, f = d.substring(0, d.indexOf("://") + 3),
g = d.substring(f.length, d.indexOf("/", f.length + 1));
if (0 === a.indexOf("/")) e = a.split("/");
else {
var h = d.split("?")[0];
h = h.substring(f.length + g.length + 1, h.lastIndexOf("/")), e = h.split("/").concat(a.split("/"))
}
for (var i = [], j = 0; j < e.length; j++) e[j] && b.exists(e[j]) && "." !== e[j] && (".." === e[j] ? i.pop() : i.push(e[j]));
return f + g + "/" + i.join("/")
}
}, e.getScriptPath = a.memoize(function(a) {
for (var b = document.getElementsByTagName("script"), c = 0; c < b.length; c++) {
var d = b[c].src;
if (d && d.indexOf(a) >= 0) return d.substr(0, d.indexOf(a))
}
return ""
}), e.parseXML = function(a) {
var b = null;
try {
"DOMParser" in window ? (b = (new window.DOMParser).parseFromString(a, "text/xml"), (d(b.childNodes) || b.childNodes && d(b.childNodes[0].childNodes)) && (b = null)) : (b = new window.ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a))
} catch (c) {}
return b
}, e.serialize = function(a) {
if (void 0 === a) return null;
if ("string" == typeof a && a.length < 6) {
var b = a.toLowerCase();
if ("true" === b) return !0;
if ("false" === b) return !1;
if (!isNaN(Number(a)) && !isNaN(parseFloat(a))) return Number(a)
}
return a
}, e.parseDimension = function(a) {
return "string" == typeof a ? "" === a ? 0 : a.lastIndexOf("%") > -1 ? a : parseInt(a.replace("px", ""), 10) : a
}, e.timeFormat = function(a, b) {
if (a <= 0 && !b) return "00:00";
var c = a < 0 ? "-" : "";
a = Math.abs(a);
var d = Math.floor(a / 3600),
e = Math.floor((a - 3600 * d) / 60),
f = Math.floor(a % 60);
return c + (d ? d + ":" : "") + (e < 10 ? "0" : "") + e + ":" + (f < 10 ? "0" : "") + f
}, e.adaptiveType = function(a) {
if (0 !== a) {
var b = -120;
if (a <= b) return "DVR";
if (a < 0 || a === 1 / 0) return "LIVE"
}
return "VOD"
}, e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
var b = {};
return b.exists = function(a) {
switch (typeof a) {
case "string":
return a.length > 0;
case "object":
return null !== a;
case "undefined":
return !1
}
return !0
}, b.isHTTPS = function() {
return 0 === window.location.href.indexOf("https")
}, b.isRtmp = function(a, b) {
return 0 === a.indexOf("rtmp") || "rtmp" === b
},
b.isYouTube = function(a, b) {
return "youtube" === b || /^(http|\/\/).*(youtube\.com|youtu\.be)\/.+/.test(a)
}, b.isDrive = function(a, b) {
return "drive" === b || /^(http|\/\/).*(drive\.google\.com|docs\.google\.com)\/.+/.test(a)
}, b.youTubeID = function(a) {
var b = /v[=\/]([^?&]*)|youtu\.be\/([^?]*)|^([\w-]*)$/i.exec(a);
return b ? b.slice(1).join("").replace("?", "") : ""
}, b.driveID = function(a) {
if (a.indexOf("/d/") > -1) {
var b = a.split("/d/")[1];
if (b.indexOf("/") > -1 && (b = b.split("/")[0]), b) return b
}
if (a.indexOf("driveid=") > -1) {
var b = a.split("driveid=")[1];
if (b.indexOf("&") > -1 && (b = b.split("&")[0]), b) return b
}
return a.indexOf("?id=") > -1 ? a.split("?id=")[1] : ""
}, b.typeOf = function(b) {
if (null === b) return "null";
var c = typeof b;
return "object" === c && a.isArray(b) ? "array" : c
}, b.isHLSJSSupport = function(a, b) {
return "undefined" != typeof Hls && Hls.isSupported() === !0 && ("hlsjs" === b || "m3u8" === b)
}, b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(53)], e = function(a, b) {
function c(a) {
a.onload = null, a.onprogress = null, a.onreadystatechange = null, a.onerror = null, "abort" in a && a.abort()
}
function d(b, d) {
return function(e) {
var f = e.currentTarget || d.xhr;
if (clearTimeout(d.timeoutId), d.retryWithoutCredentials && d.xhr.withCredentials) {
c(f);
var g = a.extend({}, d, {
xhr: null,
withCredentials: !1,
retryWithoutCredentials: !1
});
return void l(g)
}
d.onerror(b, d.url, f)
}
}
function e(a) {
return function(b) {
var c = b.currentTarget || a.xhr;
if (4 === c.readyState) {
if (clearTimeout(a.timeoutId), c.status >= 400) {
var d;
return d = 404 === c.status ? "File not found" : "" + c.status + "(" + c.statusText + ")", a.onerror(d, a.url, c)
}
if (200 === c.status) return f(a)(b)
}
}
}
function f(a) {
return function(c) {
var d = c.currentTarget || a.xhr;
if (clearTimeout(a.timeoutId), a.responseType) {
if ("json" === a.responseType) return g(d, a)
} else {
var e, f = d.responseXML;
if (f) try {
e = f.firstChild
} catch (i) {}
if (f && e) return h(d, f, a);
if (j && d.responseText && !f && (f = b.parseXML(d.responseText), f && f.firstChild)) return h(d, f, a);
if (a.requireValidXML) return void a.onerror("Invalid XML", a.url, d)
}
a.oncomplete(d)
}
}
function g(b, c) {
if (!b.response || a.isString(b.response) && '"' !== b.responseText.substr(1)) try {
b = a.extend({}, b, {
response: JSON.parse(b.responseText)
})
} catch (d) {
return void c.onerror("Invalid JSON", c.url, b)
}
return c.oncomplete(b)
}
function h(b, c, d) {
var e = c.documentElement;
return d.requireValidXML && ("parsererror" === e.nodeName || e.getElementsByTagName("parsererror").length) ? void d.onerror("Invalid XML", d.url, b) : (b.responseXML || (b = a.extend({}, b, {
responseXML: c
})), d.oncomplete(b))
}
var i = function() {},
j = !1,
k = function(a) {
var b = document.createElement("a"),
c = document.createElement("a");
b.href = location.href;
try {
return c.href = a, c.href = c.href, b.protocol + "//" + b.host != c.protocol + "//" + c.host
} catch (d) {}
return !0
},
l = function(b, g, h, l) {
a.isObject(b) && (l = b, b = l.url);
var m, n = a.extend({
xhr: null,
url: b,
withCredentials: !1,
retryWithoutCredentials: !1,
timeout: 6e4,
timeoutId: -1,
oncomplete: g || i,
onerror: h || i,
mimeType: l && !l.responseType ? "text/xml" : "",
requireValidXML: !1,
responseType: l && l.plainText ? "text" : ""
}, l);
if ("XDomainRequest" in window && k(b)) m = n.xhr = new window.XDomainRequest, m.onload = f(n), m.ontimeout = m.onprogress = i, j = !0;
else {
if (!("XMLHttpRequest" in window)) return void n.onerror("", b);
m = n.xhr = new window.XMLHttpRequest, m.onreadystatechange = e(n)
}
var o = d("Error loading file", n);
m.onerror = o, "overrideMimeType" in m ? n.mimeType && m.overrideMimeType(n.mimeType) : j = !0;
try {
b = b.replace(/#.*$/, ""), m.open("GET", b, !0)
} catch (p) {
return o(p), m
}
if (n.responseType) try {
m.responseType = n.responseType
} catch (p) {}
n.timeout && (n.timeoutId = setTimeout(function() {
c(m), n.onerror("Timeout", b, m)
}, n.timeout));
try {
n.withCredentials && "withCredentials" in m && (m.withCredentials = !0), m.send()
} catch (p) {
o(p)
}
return m
};
return {
ajax: l,
crossdomain: k
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(57), c(43), c(54), c(53), c(58)], e = function(a, b, c, d, e) {
var f = {};
return f.repo = b.memoize(function() {
return d.getScriptPath("jwplayer.js")
}), f.versionCheck = function(a) {
var b = ("0" + a).split(/\W/),
c = e.split(/\W/),
d = parseFloat(b[0]),
f = parseFloat(c[0]);
return !(d > f) && !(d === f && parseFloat("0" + b[1]) > parseFloat(c[1]))
}, f.loadFrom = function() {
return d.getScriptPath("jwplayer.js")
}, f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return {
repo: "",
SkinsIncluded: ["seven"],
SkinsLoadable: ["beelden", "bekle", "five", "glow", "roundster", "six", "stormtrooper", "vapor"],
dvrSeekLimit: -25
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return "7.4.0+"
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
var a = function(a, c, d) {
if (c = c || this, d = d || [], window.jwplayer && window.jwplayer.debug) return a.apply(c, d);
try {
return a.apply(c, d)
} catch (e) {
return new b(a.name, e)
}
},
b = function(a, b) {
this.name = a, this.message = b.message || b.toString(), this.error = b
};
return {
tryCatch: a,
Error: b
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
var b = function() {
var b = {},
c = {},
d = {},
e = {};
return {
start: function(c) {
b[c] = a.now(), d[c] = d[c] + 1 || 1
},
end: function(d) {
if (b[d]) {
var e = a.now() - b[d];
c[d] = c[d] + e || e
}
},
dump: function() {
return {
counts: d,
sums: c,
events: e
}
},
tick: function(b, c) {
e[b] = c || a.now()
},
between: function(a, b) {
return e[b] && e[a] ? e[b] - e[a] : -1
}
}
};
return b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return {
BUFFERING: "buffering",
IDLE: "idle",
COMPLETE: "complete",
PAUSED: "paused",
PLAYING: "playing",
ERROR: "error",
LOADING: "loading",
STALLED: "stalled"
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(71), c(105), c(72), c(43), c(92), c(101), c(75), c(104), c(63), c(46), c(106), c(45), c(74), c(61), c(44), c(162)], e = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {
function q(a) {
return function() {
var b = Array.prototype.slice.call(arguments, 0);
this.eventsQueue.push([a, b])
}
}
function r(a) {
return a === n.LOADING || a === n.STALLED ? n.BUFFERING : a
}
var s = function(a) {
this.originalContainer = this.currentContainer = a, this.eventsQueue = [], d.extend(this, l), this._model = new g
};
return s.prototype = {
play: q("play"),
pause: q("pause"),
setVolume: q("setVolume"),
setMute: q("setMute"),
seek: q("seek"),
stop: q("stop"),
load: q("load"),
playlistNext: q("playlistNext"),
playlistPrev: q("playlistPrev"),
playlistItem: q("playlistItem"),
playlistItemChange: q("playlistItemChange"),
setFullscreen: q("setFullscreen"),
setCurrentCaptions: q("setCurrentCaptions"),
setCurrentQuality: q("setCurrentQuality"),
setSecondCaptions: q("setSecondCaptions"),
setSpeed: q("setSpeed"),
setup: function(g, l) {
function p() {
fa.mediaModel.on("change:state", function(a, b) {
var c = r(b);
fa.set("state", c)
})
}
function q() {
ia = null, E(fa.get("item")), fa.on("change:state", m, this), fa.on("change:castState", function(a, b) {
na.trigger(o.JWPLAYER_CAST_SESSION, b)
}), fa.on("change:fullscreen", function(a, b) {
na.trigger(o.JWPLAYER_FULLSCREEN, {
fullscreen: b
})
}), fa.on("itemReady", function() {
na.trigger(o.JWPLAYER_PLAYLIST_ITEM, {
index: fa.get("item"),
item: fa.get("playlistItem")
})
}), fa.on("change:playlist", function(a, b) {
b.length && na.trigger(o.JWPLAYER_PLAYLIST_LOADED, {
playlist: b
})
}), fa.on("change:volume", function(a, b) {
na.trigger(o.JWPLAYER_MEDIA_VOLUME, {
volume: b
})
}), fa.on("change:mute", function(a, b) {
na.trigger(o.JWPLAYER_MEDIA_MUTE, {
mute: b
})
}), fa.on("change:controls", function(a, b) {
na.trigger(o.JWPLAYER_CONTROLS, {
controls: b
})
}), fa.on("change:scrubbing", function(a, b) {
b ? y() : w()
}), fa.on("change:captionsList", function(a, b) {
na.trigger(o.JWPLAYER_CAPTIONS_LIST, {
tracks: b,
track: T()
})
}), fa.mediaController.on("all", na.trigger.bind(na)), ga.on("all", na.trigger.bind(na)), this.showView(ga.element()), window.addEventListener("beforeunload", function() {
ia && ia.destroy(), fa && fa.destroy()
}), d.defer(s)
}
function s() {
for (na.trigger(o.JWPLAYER_READY, {
setupTime: 0
}), na.trigger(o.JWPLAYER_PLAYLIST_LOADED, {
playlist: fa.get("playlist")
}), na.trigger(o.JWPLAYER_PLAYLIST_ITEM, {
index: fa.get("item"),
item: fa.get("playlistItem")
}), na.trigger(o.JWPLAYER_CAPTIONS_LIST, {
tracks: fa.get("captionsList"),
track: fa.get("captionsIndex")
}), fa.get("autostart") && w({
reason: "autostart"
}); na.eventsQueue.length > 0;) {
var a = na.eventsQueue.shift(),
b = a[0],
c = a[1] || [];
na[b].apply(na, c)
}
}
function t(a) {
switch (fa.get("state") === n.ERROR && fa.set("state", n.IDLE), x(!0), fa.get("autostart") && fa.once("itemReady", w), typeof a) {
case "string":
u(a);
break;
case "object":
var b = D(a);
b && E(0);
break;
case "number":
E(a)
}
}
function u(a) {
var b = new i;
b.on(o.JWPLAYER_PLAYLIST_LOADED, function(a) {
t(a.playlist)
}), b.on(o.JWPLAYER_ERROR, function(a) {
a.message = "Error loading playlist: " + a.message, this.triggerError(a)
}, this), b.load(a)
}
function v() {
var a = na._instreamAdapter && na._instreamAdapter.getState();
return d.isString(a) ? a : fa.get("state")
}
function w(a) {
var b;
if (a && fa.set("playReason", a.reason), fa.get("state") !== n.ERROR) {
var c = na._instreamAdapter && na._instreamAdapter.getState();
if (d.isString(c)) return l.pauseAd(!1);
if (fa.get("state") === n.COMPLETE && (x(!0), E(0)), !la && (la = !0, na.trigger(o.JWPLAYER_MEDIA_BEFOREPLAY, {
playReason: fa.get("playReason")
}), la = !1, ka)) return ka = !1, void(ja = null);
if (z()) {
if (0 === fa.get("playlist").length) return !1;
b = j.tryCatch(function() {
fa.loadVideo()
})
} else fa.get("state") === n.PAUSED && (b = j.tryCatch(function() {
fa.playVideo()
}));
return !(b instanceof j.Error) || (na.triggerError(b), ja = null, !1)
}
}
function x(a) {
fa.off("itemReady", w);
var b = !a;
ja = null;
var c = j.tryCatch(function() {
fa.stopVideo()
}, na);
return c instanceof j.Error ? (na.triggerError(c), !1) : (b && (ma = !0), la && (ka = !0), !0)
}
function y() {
ja = null;
var a = na._instreamAdapter && na._instreamAdapter.getState();
if (d.isString(a)) return l.pauseAd(!0);
switch (fa.get("state")) {
case n.ERROR:
return !1;
case n.PLAYING:
case n.BUFFERING:
var b = j.tryCatch(function() {
oa().pause()
}, this);
if (b instanceof j.Error) return na.triggerError(b), !1;
break;
default:
la && (ka = !0)
}
return !0
}
function z() {
var a = fa.get("state");
return a === n.IDLE || a === n.COMPLETE || a === n.ERROR
}
function A(a) {
fa.get("state") !== n.ERROR && (fa.get("scrubbing") || fa.get("state") === n.PLAYING || w(!0), oa().seek(a))
}
function B(a, b) {
x(!0), E(a), w(b)
}
function C(a) {
x(!0), E(a)
}
function D(a) {
var b = h(a);
return b = h.filterPlaylist(b, fa.getProviders(), fa.get("androidhls"), fa.get("drm"), fa.get("preload"), fa.get("feedid")), fa.set("playlist", b), !(!d.isArray(b) || 0 === b.length) || (na.triggerError({
message: "Error loading playlist: No playable sources found"
}), !1)
}
function E(a) {
var b = fa.get("playlist");
a = parseInt(a, 10) || 0, a = (a + b.length) % b.length, fa.set("item", a), fa.set("playlistItem", b[a]), fa.setActiveItem(b[a]), ha.reloadPlaylistItem(b[a]), ga.reloadPlaylistItem(b[a])
}
function F(a) {
B(fa.get("item") - 1, a || {
reason: "external"
})
}
function G(a) {
B(fa.get("item") + 1, a || {
reason: "external"
})
}
function H() {
if (z()) {
if (ma) return void(ma = !1);
ja = H;
var a = fa.get("item");
return a === fa.get("playlist").length - 1 ? void(fa.get("repeat") ? G({
reason: "repeat"
}) : (fa.set("state", n.COMPLETE), na.trigger(o.JWPLAYER_PLAYLIST_COMPLETE, {}))) : void G({
reason: "playlist"
})
}
}
function I(a) {
oa() && (a = parseInt(a, 10) || 0, oa().setCurrentQuality(a))
}
function J(a) {
var b = fa.get("provider").name;
return b.indexOf("html5") >= 0 && (oa().setSpeed(a), !0)
}
function K() {
return oa() ? oa().getCurrentQuality() : -1
}
function L() {
if (this._model) return this._model.getConfiguration()
}
function M() {
if (this._model.mediaModel) return this._model.mediaModel.get("visualQuality");
var a = N();
if (a) {
var b = K(),
c = a[b];
if (c) return {
level: d.extend({
index: b
}, c),
mode: "",
reason: ""
}
}
return null
}
function N() {
return oa() ? oa().getQualityLevels() : null
}
function O(a) {
oa() && (a = parseInt(a, 10) || 0, oa().setCurrentAudioTrack(a))
}
function P() {
return oa() ? oa().getCurrentAudioTrack() : -1
}
function Q() {
return oa() ? oa().getAudioTracks() : null
}
function R(a) {
a = parseInt(a, 10) || 0, fa.persistVideoSubtitleTrack(a), na.trigger(o.JWPLAYER_CAPTIONS_CHANGED, {
tracks: U(),
track: a
})
}
function S(a) {
a === -1 ? ga.setCaptionSecond({}) : ga.setCaptionSecond(ha.getDataCaption(a))
}
function T() {
return ha.getCurrentIndex()
}
function U() {
return ha.getCaptionsList()
}
function V() {
var a = fa.getVideo();
if (a) {
var b = a.detachMedia();
if (b instanceof HTMLVideoElement) return b
}
return null
}
function W() {
var a = j.tryCatch(function() {
fa.getVideo().attachMedia()
});
return a instanceof j.Error ? void j.log("Error calling _attachMedia", a) : void("function" == typeof ja && ja())
}
function X(a, b) {
oa() && oa().sendEvent(a, b)
}
function Y(a) {
oa() && oa().setMouse && oa().setMouse(a)
}
function Z(a) {
ga.setCaptionBack(a)
}
function $(a) {
ga.setCaptionDelay(a)
}
function _(a) {
ga.setCaptionColor(a)
}
function aa(a) {
ga.setCaptionLine(a)
}
function ba(a) {
ga.setCaptionSize(a)
}
function ca(a) {
ga.setCaptionFont(a)
}
function da(a) {
ga.setCaptionSecond(ha.getDataCaption(a))
}
function ea() {
return ga.getCaptionStyle()
}
var fa, ga, ha, ia, ja, ka, la = !1,
ma = !1,
na = this,
oa = function() {
return fa.getVideo()
},
pa = new a(g);
fa = this._model.setup(pa), ga = this._view = new k(l, fa), ha = new f(l, fa), ia = new e(l, fa, ga, D), ia.on(o.JWPLAYER_READY, q, this), ia.on(o.JWPLAYER_SETUP_ERROR, this.setupError, this), fa.mediaController.on(o.JWPLAYER_MEDIA_COMPLETE, function() {
d.defer(H)
}), fa.mediaController.on(o.JWPLAYER_MEDIA_ERROR, this.triggerError, this), fa.on("change:flashBlocked", function(a, b) {
if (!b) return void this._model.set("errorEvent", void 0);
var c = !!a.get("flashThrottle"),
d = {
message: c ? "Click to run Flash" : "Flash plugin failed to load"
};
c || this.trigger(o.JWPLAYER_ERROR, d), this._model.set("errorEvent", d)
}, this), p(), fa.on("change:mediaModel", p), this.play = w, this.pause = y, this.seek = A, this.stop = x, this.load = t, this.playlistNext = G, this.playlistPrev = F, this.playlistItem = B, this.playlistItemChange = C, this.setCurrentCaptions = R, this.setSecondCaptions = S, this.setCurrentQuality = I, this.setSpeed = J, this.sendEvent = X, this.setMouse = Y, this.setCaptionBack = Z, this.setCaptionDelay = $, this.setCaptionColor = _, this.setCaptionLine = aa, this.setCaptionSize = ba, this.setCaptionFont = ca, this.setCaptionSecond = da, this.getCaptionStyle = ea, this.detachMedia = V, this.attachMedia = W, this.getCurrentQuality = K, this.getQualityLevels = N, this.setCurrentAudioTrack = O, this.getCurrentAudioTrack = P, this.getAudioTracks = Q, this.getCurrentCaptions = T, this.getCaptionsList = U, this.getVisualQuality = M, this.getConfig = L, this.getState = v, this.setVolume = fa.setVolume, this.setMute = fa.setMute, this.getProvider = function() {
return fa.get("provider")
}, this.getWidth = function() {
return fa.get("containerWidth")
}, this.getHeight = function() {
return fa.get("containerHeight")
}, this.getContainer = function() {
return this.currentContainer
}, this.resize = ga.resize, this.getSafeRegion = ga.getSafeRegion, this.setCues = ga.addCues, this.setFullscreen = function(a) {
d.isBoolean(a) || (a = !fa.get("fullscreen")), fa.set("fullscreen", a), this._instreamAdapter && this._instreamAdapter._adModel && this._instreamAdapter._adModel.set("fullscreen", a)
}, this.addButton = function(a, b, c, e, f) {
var g = {
img: a,
tooltip: b,
callback: c,
id: e,
btnClass: f
},
h = fa.get("dock");
h = h ? h.slice(0) : [], h = d.reject(h, d.matches({
id: g.id
})), h.push(g), fa.set("dock", h)
}, this.removeButton = function(a) {
var b = fa.get("dock") || [];
b = d.reject(b, d.matches({
id: a
})), fa.set("dock", b)
}, this.checkBeforePlay = function() {
return la
}, this.getItemQoe = function() {
return fa._qoeItem
}, this.setControls = function(a) {
d.isBoolean(a) || (a = !fa.get("controls")), fa.set("controls", a);
var b = fa.getVideo();
b && b.setControls(a)
}, this.playerDestroy = function() {
this.stop(), this.showView(this.originalContainer), ga && ga.destroy(), fa && fa.destroy(), ia && (ia.destroy(), ia = null)
}, this.isBeforePlay = this.checkBeforePlay, this.isBeforeComplete = function() {
return fa.getVideo().checkComplete()
}, this.createInstream = function() {
return this.instreamDestroy(), this._instreamAdapter = new c(this, fa, ga), this._instreamAdapter
}, this.skipAd = function() {
this._instreamAdapter && this._instreamAdapter.skipAd()
}, this.instreamDestroy = function() {
na._instreamAdapter && na._instreamAdapter.destroy()
}, b(l, this), ia.start()
},
showView: function(a) {
(document.documentElement.contains(this.currentContainer) || (this.currentContainer = document.getElementById(this._model.get("id")), this.currentContainer)) && (this.currentContainer.parentElement && this.currentContainer.parentElement.replaceChild(a, this.currentContainer), this.currentContainer = a)
},
triggerError: function(a) {
this._model.set("errorEvent", a), this._model.set("state", n.ERROR), this._model.once("change:state", function() {
this._model.set("errorEvent", void 0)
}, this), this.trigger(o.JWPLAYER_ERROR, a)
},
setupError: function(a) {
var b = a.message,
c = j.createElement(p(this._model.get("id"), this._model.get("skin"), b)),
e = this._model.get("width"),
f = this._model.get("height");
j.style(c, {
width: e.toString().indexOf("%") > 0 ? e : e + "px",
height: f.toString().indexOf("%") > 0 ? f : f + "px"
}), this.showView(c);
var g = this;
d.defer(function() {
g.trigger(o.JWPLAYER_SETUP_ERROR, {
message: b
})
})
}
}, s
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(64), c(65), c(46), c(44), c(45), c(43)], e = function(a, b, c, d, e, f) {
var g = function() {
function g(e) {
var g = c.tryCatch(function() {
var c, g = e.responseXML ? e.responseXML.childNodes : null,
h = "";
if (g) {
for (var k = 0; k < g.length && (h = g[k], 8 === h.nodeType); k++);
"xml" === a.localName(h) && (h = h.nextSibling), "rss" === a.localName(h) && (c = {
playlist: b.parse(h)
})
}
if (!c) try {
var l = JSON.parse(e.responseText);
if (f.isArray(l)) c = {
playlist: l
};
else {
if (!f.isArray(l.playlist)) throw null;
c = l
}
} catch (m) {
return void i("Not a valid RSS/JSON feed")
}
j.trigger(d.JWPLAYER_PLAYLIST_LOADED, c)
});
g instanceof c.Error && i()
}
function h(a) {
i("Playlist load error: " + a)
}
function i(a) {
j.trigger(d.JWPLAYER_ERROR, {
message: a ? a : "Error loading file"
})
}
var j = f.extend(this, e);
this.load = function(a) {
c.ajax(a, g, h)
}, this.destroy = function() {
this.off()
}
};
return g
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48)], e = function(a) {
return {
localName: function(a) {
return a ? a.localName ? a.localName : a.baseName ? a.baseName : "" : ""
},
textContent: function(b) {
return b ? b.textContent ? a.trim(b.textContent) : b.text ? a.trim(b.text) : "" : ""
},
getChildNode: function(a, b) {
return a.childNodes[b]
},
numChildren: function(a) {
return a.childNodes ? a.childNodes.length : 0
}
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48), c(64), c(66), c(67), c(68)], e = function(a, b, c, d, e) {
function f(b) {
for (var f = {}, h = 0; h < b.childNodes.length; h++) {
var i = b.childNodes[h],
k = j(i);
if (k) switch (k.toLowerCase()) {
case "enclosure":
f.file = a.xmlAttribute(i, "url");
break;
case "title":
f.title = g(i);
break;
case "guid":
f.mediaid = g(i);
break;
case "pubdate":
f.date = g(i);
break;
case "description":
f.description = g(i);
break;
case "link":
f.link = g(i);
break;
case "category":
f.tags ? f.tags += g(i) : f.tags = g(i)
}
}
return f = d(b, f), f = c(b, f), new e(f)
}
var g = b.textContent,
h = b.getChildNode,
i = b.numChildren,
j = b.localName,
k = {};
return k.parse = function(a) {
for (var b = [], c = 0; c < i(a); c++) {
var d = h(a, c),
e = j(d).toLowerCase();
if ("channel" === e)
for (var g = 0; g < i(d); g++) {
var k = h(d, g);
"item" === j(k).toLowerCase() && b.push(f(k))
}
}
return b
}, k
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(64), c(48), c(46)], e = function(a, b, c) {
var d = "jwplayer",
e = function(e, f) {
for (var g = [], h = [], i = b.xmlAttribute, j = "default", k = "label", l = "file", m = "type", n = 0; n < e.childNodes.length; n++) {
var o = e.childNodes[n];
if (o.prefix === d) {
var p = a.localName(o);
"source" === p ? (delete f.sources, g.push({
file: i(o, l),
"default": i(o, j),
label: i(o, k),
type: i(o, m)
})) : "track" === p ? (delete f.tracks, h.push({
file: i(o, l),
"default": i(o, j),
kind: i(o, "kind"),
label: i(o, k)
})) : (f[p] = c.serialize(a.textContent(o)), "file" === p && f.sources && delete f.sources)
}
f[l] || (f[l] = f.link)
}
if (g.length)
for (f.sources = [], n = 0; n < g.length; n++) g[n].file.length > 0 && (g[n][j] = "true" === g[n][j], g[n].label.length || delete g[n].label, f.sources.push(g[n]));
if (h.length)
for (f.tracks = [], n = 0; n < h.length; n++) h[n].file.length > 0 && (h[n][j] = "true" === h[n][j], h[n].kind = h[n].kind.length ? h[n].kind : "captions", h[n].label.length || delete h[n].label, f.tracks.push(h[n]));
return f
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(64), c(48), c(46)], e = function(a, b, c) {
var d = b.xmlAttribute,
e = a.localName,
f = a.textContent,
g = a.numChildren,
h = "media",
i = function(a, b) {
function j(a) {
var b = {
zh: "Chinese",
nl: "Dutch",
en: "English",
fr: "French",
de: "German",
it: "Italian",
ja: "Japanese",
pt: "Portuguese",
ru: "Russian",
es: "Spanish"
};
return b[a] ? b[a] : a
}
var k, l, m = "tracks",
n = [];
for (l = 0; l < g(a); l++)
if (k = a.childNodes[l], k.prefix === h) {
if (!e(k)) continue;
switch (e(k).toLowerCase()) {
case "content":
d(k, "duration") && (b.duration = c.seconds(d(k, "duration"))), g(k) > 0 && (b = i(k, b)), d(k, "url") && (b.sources || (b.sources = []), b.sources.push({
file: d(k, "url"),
type: d(k, "type"),
width: d(k, "width"),
label: d(k, "label")
}));
break;
case "title":
b.title = f(k);
break;
case "description":
b.description = f(k);
break;
case "guid":
b.mediaid = f(k);
break;
case "thumbnail":
b.image || (b.image = d(k, "url"));
break;
case "player":
break;
case "group":
i(k, b);
break;
case "subtitle":
var o = {};
o.file = d(k, "url"), o.kind = "captions", d(k, "lang").length > 0 && (o.label = j(d(k, "lang"))), n.push(o)
}
}
for (b.hasOwnProperty(m) || (b[m] = []), l = 0; l < n.length; l++) b[m].push(n[l]);
return b
};
return i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(69), c(70)], e = function(a, b, c) {
var d = {
sources: [],
tracks: []
},
e = function(e) {
e = e || {}, a.isArray(e.tracks) || delete e.tracks;
var f = a.extend({}, d, e);
a.isObject(f.sources) && !a.isArray(f.sources) && (f.sources = [b(f.sources)]), a.isArray(f.sources) && 0 !== f.sources.length || (e.levels ? f.sources = e.levels : f.sources = [b(e)]);
for (var g = 0; g < f.sources.length; g++) {
var h = f.sources[g];
if (h) {
var i = h["default"];
i ? h["default"] = "true" === i.toString() : h["default"] = !1, f.sources[g].label || (f.sources[g].label = g.toString()), f.sources[g] = b(f.sources[g])
}
}
return f.sources = a.compact(f.sources), a.isArray(f.tracks) || (f.tracks = []), a.isArray(f.captions) && (f.tracks = f.tracks.concat(f.captions), delete f.captions), f.tracks = a.compact(a.map(f.tracks, c)), f
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(48), c(43)], e = function(a, b, c) {
var d = {
"default": !1
},
e = function(e) {
if (e && e.file) {
var f = c.extend({}, d, e);
f.file = b.trim("" + f.file);
var g = /^[^\/]+\/(?:x-)?([^\/]+)$/;
if (a.isYouTube(f.file) ? f.type = "youtube" : a.isRtmp(f.file) ? f.type = "rtmp" : g.test(f.type) ? f.type = f.type.replace(g, "$1") : f.type || (f.type = b.extension(f.file)), f.type) {
switch (f.type) {
case "m3u8":
case "vnd.apple.mpegurl":
f.type = "hls";
break;
case "dash+xml":
f.type = "dash";
break;
case "smil":
f.type = "rtmp";
break;
case "m4a":
f.type = "aac";
break;
case "hlsjs":
f.type = "hlsjs"
}
return c.each(f, function(a, b) {
"" === a && delete f[b]
}), f
}
}
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
var b = {
kind: "captions",
"default": !1
},
c = function(c) {
if (c && c.file) return a.extend({}, b, c)
};
return c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(43)], e = function(a, b) {
function d(c) {
b.each(c, function(b, d) {
c[d] = a.serialize(b)
})
}
function e(a) {
return a.slice && "px" === a.slice(-2) && (a = a.slice(0, -2)), a
}
function f(b, c) {
if (c.toString().indexOf("%") === -1) return 0;
if ("string" != typeof b || !a.exists(b)) return 0;
if (/^\d*\.?\d+%$/.test(b)) return b;
var d = b.indexOf(":");
if (d === -1) return 0;
var e = parseFloat(b.substr(0, d)),
f = parseFloat(b.substr(d + 1));
return e <= 0 || f <= 0 ? 0 : f / e * 100 + "%"
}
var g = {
autostart: !1,
controls: !0,
displaytitle: !0,
displaydescription: !0,
mobilecontrols: !1,
repeat: !1,
castAvailable: !1,
skin: "hdo",
stretching: "uniform",
width: 480,
height: 270
},
h = function(h) {
var i = b.extend({}, (window.jwplayer || {}).defaults, h);
d(i);
var j = b.extend({}, g, i);
if ("." === j.base && (j.base = a.getScriptPath("jwplayer.js")), j.base = (j.base || a.loadFrom()).replace(/\/?$/, "/"), c.p = j.base, j.width = e(j.width), j.height = e(j.height), j.flashplayer = j.flashplayer || a.getScriptPath("jwplayer.js") + "jwplayer.flash.swf", "http:" === window.location.protocol && (j.flashplayer = j.flashplayer.replace("https", "http")), j.aspectratio = f(j.aspectratio, j.width), b.isObject(j.skin) && (j.skinUrl = j.skin.url, j.skinColorInactive = j.skin.inactive, j.skinColorActive = j.skin.active, j.skinColorBackground = j.skin.background, j.skin = b.isString(j.skin.name) ? j.skin.name : g.skin), b.isString(j.skin) && j.skin.indexOf(".xml") > 0 && (console.log("JW Player does not support XML skins, please update your config"), j.skin = j.skin.replace(".xml", "")), j.aspectratio || delete j.aspectratio, !j.playlist) {
var k = b.pick(j, ["title", "description", "type", "mediaid", "image", "file", "sources", "tracks", "preload"]);
j.playlist = [k]
}
return j
};
return h
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(73), c(91), c(44), c(61), c(46), c(45), c(43)], e = function(a, b, c, d, e, f, g) {
function h(c) {
var d = c.get("provider").name || "";
return d.indexOf("flash") >= 0 ? b : a
}
var i = {
skipoffset: null,
tag: null
},
j = function(a, b, f) {
function j(a, b) {
b = b || {}, u.tag && !b.tag && (b.tag = u.tag), this.trigger(a, b)
}
function k(a) {
s._adModel.set("duration", a.duration), s._adModel.set("position", a.position)
}
function l(a) {
if (m && t + 1 < m.length) {
s._adModel.set("state", "buffering"), b.set("skipButton", !1), t++;
var d, e = m[t];
n && (d = n[t]), this.loadItem(e, d)
} else a.type === c.JWPLAYER_MEDIA_COMPLETE && (j.call(this, a.type, a), this.trigger(c.JWPLAYER_PLAYLIST_COMPLETE, {})), this.destroy()
}
var m, n, o, p, q, r = h(b),
s = new r(a, b),
t = 0,
u = {},
v = g.bind(function(a) {
a = a || {}, a.hasControls = !!b.get("controls"), this.trigger(c.JWPLAYER_INSTREAM_CLICK, a), s && s._adModel && (s._adModel.get("state") === d.PAUSED ? a.hasControls && s.instreamPlay() : s.instreamPause())
}, this),
w = g.bind(function() {
s && s._adModel && s._adModel.get("state") === d.PAUSED && b.get("controls") && (a.setFullscreen(), a.play())
}, this);
this.type = "instream", this.init = function() {
o = b.getVideo(), p = b.get("position"), q = b.get("playlist")[b.get("item")], s.on("all", j, this), s.on(c.JWPLAYER_MEDIA_TIME, k, this), s.on(c.JWPLAYER_MEDIA_COMPLETE, l, this), s.init(), o.detachMedia(), b.mediaModel.set("state", d.BUFFERING), a.checkBeforePlay() || 0 === p && !o.checkComplete() ? (p = 0, b.set("preInstreamState", "instream-preroll")) : o && o.checkComplete() || b.get("state") === d.COMPLETE ? b.set("preInstreamState", "instream-postroll") : b.set("preInstreamState", "instream-midroll");
var g = b.get("state");
return g !== d.PLAYING && g !== d.BUFFERING || o.pause(), f.setupInstream(s._adModel), s._adModel.set("state", d.BUFFERING), f.clickHandler().setAlternateClickHandlers(e.noop, null), this.setText("Loading ad"), this
}, this.loadItem = function(a, d) {
if (e.isAndroid(2.3)) return void this.trigger({
type: c.JWPLAYER_ERROR,
message: "Error loading instream: Cannot play instream on Android 2.3"
});
g.isArray(a) && (m = a, n = d, a = m[t], n && (d = n[t])), this.trigger(c.JWPLAYER_PLAYLIST_ITEM, {
index: t,
item: a
}), a.type = "mp4", a.sources || (a.sources = [{
file: a.file,
type: a.type
}]), u = g.extend({}, i, d), s.load(a), this.addClickHandler();
var f = a.skipoffset || u.skipoffset;
f && (s._adModel.set("skipMessage", u.skipMessage), s._adModel.set("skipText", u.skipText), s._adModel.set("skipOffset", f), b.set("skipButton", !0))
}, this.applyProviderListeners = function(a) {
s.applyProviderListeners(a), this.addClickHandler()
}, this.play = function() {
s.instreamPlay()
}, this.pause = function() {
s.instreamPause()
}, this.hide = function() {
s.hide()
}, this.addClickHandler = function() {
f.clickHandler().setAlternateClickHandlers(v, w), s.on(c.JWPLAYER_MEDIA_META, this.metaHandler, this)
}, this.skipAd = function(a) {
var b = c.JWPLAYER_AD_SKIPPED;
this.trigger(b, a), l.call(this, {
type: b
})
}, this.metaHandler = function(a) {
a.width && a.height && f.resizeMedia()
}, this.destroy = function() {
if (this.off(), b.set("skipButton", !1), s) {
f.clickHandler() && f.clickHandler().revertAlternateClickHandlers(), s.instreamDestroy(), f.destroyInstream(), s = null, a.attachMedia();
var c = b.get("preInstreamState");
switch (c) {
case "instream-preroll":
case "instream-midroll":
var h = g.extend({}, q);
h.starttime = p, b.loadVideo(h), e.isMobile() && b.mediaModel.get("state") === d.BUFFERING && o.setState(d.BUFFERING), o.play();
break;
case "instream-postroll":
case "instream-idle":
o.stop()
}
}
}, this.getState = function() {
return !(!s || !s._adModel) && s._adModel.get("state")
}, this.setText = function(a) {
f.setAltText(a ? a : "")
}, this.hide = function() {
f.useExternalControls()
}
};
return g.extend(j.prototype, f), j
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(45), c(74), c(44), c(61), c(75)], e = function(a, b, c, d, e, f) {
var g = function(g, h) {
function i(b) {
var e = b || m.getVideo();
if (n !== e) {
if (n = e, !e) return;
var f = "vpaid" === o;
e.off(), e.on("all", function(b, c) {
f && b === d.JWPLAYER_MEDIA_COMPLETE || (c = a.extend({}, c, {
type: b
}), this.trigger(b, c))
}, p), e.on(d.JWPLAYER_MEDIA_BUFFER_FULL, l), e.on(d.JWPLAYER_PLAYER_STATE, j), e.attachMedia(), e.volume(h.get("volume")), e.mute(h.get("mute")), m.on("change:state", c, p)
}
}
function j(a) {
switch (a.newstate) {
case e.PLAYING:
m.set("state", a.newstate);
break;
case e.PAUSED:
m.set("state", a.newstate)
}
}
function k(a) {
h.trigger(a.type, a), p.trigger(d.JWPLAYER_FULLSCREEN, {
fullscreen: a.jwstate
})
}
function l() {
m.getVideo().play()
}
var m, n, o = "instream",
p = a.extend(this, b);
return g.on(d.JWPLAYER_FULLSCREEN, function(a) {
this.trigger(d.JWPLAYER_FULLSCREEN, a)
}, p), this.init = function() {
m = (new f).setup({
id: h.get("id"),
volume: h.get("volume"),
fullscreen: h.get("fullscreen"),
mute: h.get("mute")
}), m.on("fullscreenchange", k), this._adModel = m
}, p.load = function(a) {
m.set("item", 0), m.set("playlistItem", a), m.set("type", a.adtype || "instream"), a.adtype && (o = a.adtype), m.setActiveItem(a), i(), m.off(d.JWPLAYER_ERROR), m.on(d.JWPLAYER_ERROR, function(a) {
this.trigger(d.JWPLAYER_ERROR, a)
}, p), m.loadVideo(a)
}, p.applyProviderListeners = function(a) {
i(a), a.off(d.JWPLAYER_ERROR), a.on(d.JWPLAYER_ERROR, function(a) {
this.trigger(d.JWPLAYER_ERROR, a)
}, p), h.on("change:volume", function(a, b) {
n.volume(b)
}, p), h.on("change:mute", function(a, b) {
n.mute(b)
}, p)
}, this.instreamDestroy = function() {
m && (m.off(), this.off(), n && (n.detachMedia(), n.off(), m.getVideo() && n.destroy()), m = null, g.off(null, null, this), g = null)
}, p.instreamPlay = function() {
m.getVideo() && m.getVideo().play(!0)
}, p.instreamPause = function() {
m.getVideo() && m.getVideo().pause(!0)
}, p
};
return g
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(61)], e = function(a) {
function b(b) {
return b === a.COMPLETE || b === a.ERROR ? a.IDLE : b
}
return function(a, c, d) {
if (c = b(c), d = b(d), c !== d) {
var e = c.replace(/(?:ing|d)$/, ""),
f = {
type: e,
newstate: c,
oldstate: d,
reason: a.mediaModel.get("state")
};
"play" === e && (f.playReason = a.get("playReason")), this.trigger(e, f)
}
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(76), c(88), c(89), c(43), c(45), c(90), c(44), c(61)], e = function(a, b, c, d, e, f, g, h, i) {
var j = ["volume", "mute", "captionLabel", "qualityLabel"],
k = function() {
function g(a, b) {
switch (a) {
case "flashThrottle":
var c = "resume" !== b.state;
this.set("flashThrottle", c), this.set("flashBlocked", c);
break;
case "flashBlocked":
return void this.set("flashBlocked", !0);
case "flashUnblocked":
return void this.set("flashBlocked", !1);
case "volume":
case "mute":
return void this.set(a, b[a]);
case h.JWPLAYER_MEDIA_TYPE:
this.mediaModel.set("mediaType", b.mediaType);
break;
case h.JWPLAYER_PLAYER_STATE:
return void this.mediaModel.set("state", b.newstate);
case h.JWPLAYER_MEDIA_BUFFER:
this.set("buffer", b.bufferPercent);
case h.JWPLAYER_MEDIA_META:
var d = b.duration;
e.isNumber(d) && (this.mediaModel.set("duration", d), this.set("duration", d));
break;
case h.JWPLAYER_MEDIA_BUFFER_FULL:
this.mediaModel.get("playAttempt") ? this.playVideo() : this.mediaModel.on("change:playAttempt", function() {
this.playVideo()
}, this);
break;
case h.JWPLAYER_MEDIA_TIME:
this.mediaModel.set("position", b.position), this.set("position", b.position), e.isNumber(b.duration) && (this.mediaModel.set("duration", b.duration), this.set("duration", b.duration));
break;
case h.JWPLAYER_PROVIDER_CHANGED:
this.set("provider", m.getName());
break;
case h.JWPLAYER_MEDIA_LEVELS:
this.setQualityLevel(b.currentQuality, b.levels), this.mediaModel.set("levels", b.levels);
break;
case h.JWPLAYER_MEDIA_LEVEL_CHANGED:
this.setQualityLevel(b.currentQuality, b.levels), this.persistQualityLevel(b.currentQuality, b.levels);
break;
case h.JWPLAYER_AUDIO_TRACKS:
this.setCurrentAudioTrack(b.currentTrack, b.tracks), this.mediaModel.set("audioTracks", b.tracks);
break;
case h.JWPLAYER_AUDIO_TRACK_CHANGED:
this.setCurrentAudioTrack(b.currentTrack, b.tracks);
break;
case "subtitlesTrackChanged":
this.setVideoSubtitleTrack(b.currentTrack, b.tracks);
break;
case "visualQuality":
var f = e.extend({}, b);
this.mediaModel.set("visualQuality", f)
}
var g = e.extend({}, b, {
type: a
});
this.mediaController.trigger(a, g)
}
var k, m, n = this,
o = a.noop;
this.mediaController = e.extend({}, f), this.mediaModel = new l, d.model(this), this.set("mediaModel", this.mediaModel), this.setup = function(b) {
var d = new c;
return d.track(j, this), b.item || (b.item = 0), e.extend(this.attributes, d.getAllItems(), b, {
state: i.IDLE,
flashBlocked: !1,
fullscreen: !1,
compactUI: !1,
scrubbing: !1,
duration: 0,
position: 0,
buffer: 0
}), void 0 === this.get("mute") && this.set("mute", !1), void 0 === this.get("volume") && this.set("volume", 90), a.isMobile() && !b.mobileSdk && this.set("autostart", !1), this.updateProviders(), this
}, this.getConfiguration = function() {
return e.omit(this.clone(), ["mediaModel"])
}, this.updateProviders = function() {
k = new b(this.getConfiguration())
}, this.setQualityLevel = function(a, b) {
a > -1 && b.length > 1 && "youtube" !== m.getName().name && this.mediaModel.set("currentLevel", parseInt(a))
}, this.persistQualityLevel = function(a, b) {
var c = b[a] || {},
d = c.label;
this.set("qualityLabel", d)
}, this.setCurrentAudioTrack = function(a, b) {
a > -1 && b.length > 0 && a < b.length && this.mediaModel.set("currentAudioTrack", parseInt(a))
}, this.onMediaContainer = function() {
var a = this.get("mediaContainer");
o.setContainer(a)
}, this.changeVideoProvider = function(a) {
this.off("change:mediaContainer", this.onMediaContainer), m && (m.off(null, null, this), m.getContainer() && m.remove()), o = new a(n.get("id"), n.getConfiguration());
var b = this.get("mediaContainer");
b ? o.setContainer(b) : this.once("change:mediaContainer", this.onMediaContainer), this.set("provider", o.getName()), o.getName().name.indexOf("flash") === -1 && (this.set("flashThrottle", void 0), this.set("flashBlocked", !1)), m = o, m.volume(n.get("volume")), m.mute(n.get("mute")), m.on("all", g, this)
}, this.destroy = function() {
this.off(), m && (m.off(null, null, this), m.destroy())
}, this.getVideo = function() {
return m
}, this.setFullscreen = function(a) {
a = !!a, a !== n.get("fullscreen") && n.set("fullscreen", a)
}, this.chooseProvider = function(a) {
return k.choose(a).provider
}, this.setActiveItem = function(a) {
this.mediaModel.off(), this.mediaModel = new l, this.set("mediaModel", this.mediaModel);
var b = a && a.sources && a.sources[0];
if (void 0 !== b) {
var c = this.chooseProvider(b);
if (!c) throw new Error("No suitable provider found");
o instanceof c || n.changeVideoProvider(c), o.init && o.init(a), this.trigger("itemReady", a)
}
}, this.getProviders = function() {
return k
}, this.resetProvider = function() {
o = null
}, this.setVolume = function(a) {
a = Math.round(a), n.set("volume", a), m && m.volume(a);
var b = 0 === a;
b !== n.get("mute") && n.setMute(b)
}, this.setMute = function(b) {
if (a.exists(b) || (b = !n.get("mute")), n.set("mute", b), m && m.mute(b), !b) {
var c = Math.max(10, n.get("volume"));
this.setVolume(c)
}
}, this.loadVideo = function(a) {
if (this.mediaModel.set("playAttempt", !0), this.mediaController.trigger(h.JWPLAYER_MEDIA_PLAY_ATTEMPT, {
playReason: this.get("playReason")
}), !a) {
var b = this.get("item");
a = this.get("playlist")[b]
}
this.set("position", a.starttime || 0), this.set("duration", a.duration || 0), m.load(a)
}, this.stopVideo = function() {
m && m.stop()
}, this.playVideo = function() {
m.play()
}, this.persistCaptionsTrack = function() {
var a = this.get("captionsTrack");
a ? this.set("captionLabel", a.label) : this.set("captionLabel", "Off")
}, this.setVideoSubtitleTrack = function(a, b) {
this.set("captionsIndex", a), a && b && a <= b.length && b[a - 1].data && b[a - 1].data.length > 0 && this.set("captionsTrack", b[a - 1]), m && m.setSubtitlesTrack && m.setSubtitlesTrack(a)
}, this.persistVideoSubtitleTrack = function(a) {
this.setVideoSubtitleTrack(a), this.persistCaptionsTrack()
}
},
l = k.MediaModel = function() {
this.set("state", i.IDLE)
};
return e.extend(k.prototype, g), e.extend(l.prototype, g), k
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(77), c(78), c(80), c(43)], e = function(a, b, d, e) {
function f(a) {
this.providers = b.slice(), this.config = a || {}, this.reorderProviders()
}
return f.registerProvider = function(c) {
var f;
try {
f = c.getName().name
} catch (g) {
f = "flash"
}
if (!d[f]) {
if (!e.find(b, e.matches({
name: f
}))) {
if (!e.isFunction(c.supports)) throw {
message: "Tried to register a provider with an invalid object"
};
b.unshift({
name: f,
supports: c.supports
})
}
var h = function() {};
h.prototype = a, c.prototype = new h, d[f] = c
}
}, f.load = function(a) {
return Promise.all(e.map(a, function(a) {
return new Promise(function(b) {
switch (a.name) {
case "html5":
! function(a) {
b(c(81))
}(c);
break;
case "flash":
! function(a) {
b(c(82))
}(c);
break;
case "youtube":
! function(a) {
b(c(85))
}(c);
break;
case "hlsjs":
! function(a) {
b(c(84))
}(c);
break;
default:
b()
}
}).then(function(a) {
a && f.registerProvider(a)
})
}))
}, e.extend(f.prototype, {
reorderProviders: function() {
if ("flash" === this.config.primary) {
var a = e.indexOf(this.providers, e.findWhere(this.providers, {
name: "flash"
})),
b = this.providers.splice(a, 1)[0],
c = e.indexOf(this.providers, e.findWhere(this.providers, {
name: "html5"
}));
this.providers.splice(c, 0, b)
}
},
providerSupports: function(a, b) {
return a.supports(b)
},
required: function(a, b) {
return a = a.slice(), e.compact(e.map(this.providers, function(c) {
for (var d = !1, e = a.length; e--;) {
var f = a[e],
g = c.supports(f.sources[0], b);
g && a.splice(e, 1), d = d || g
}
if (d) return c
}))
},
choose: function(a) {
a = e.isObject(a) ? a : {};
for (var b = this.providers.length, c = 0; c < b; c++) {
var f = this.providers[c];
if (this.providerSupports(f, a)) {
var g = b - c - 1;
return {
priority: g,
name: f.name,
type: a.type,
provider: d[f.name]
}
}
}
return null
}
}), f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(44), c(61), c(43)], e = function(a, b, c, d) {
var e = a.noop,
f = d.constant(!1),
g = {
supports: f,
play: e,
load: e,
stop: e,
volume: e,
mute: e,
seek: e,
resize: e,
remove: e,
destroy: e,
setVisibility: e,
setFullscreen: f,
getFullscreen: e,
getContainer: e,
setContainer: f,
getName: e,
getQualityLevels: e,
getCurrentQuality: e,
setCurrentQuality: e,
getAudioTracks: e,
getCurrentAudioTrack: e,
setCurrentAudioTrack: e,
checkComplete: e,
setControls: e,
attachMedia: e,
detachMedia: e,
setState: function(a) {
var d = this.state || c.IDLE;
this.state = a, a !== d && this.trigger(b.JWPLAYER_PLAYER_STATE, {
newstate: a
})
},
sendMediaType: function(a) {
var c = a[0].type,
d = "oga" === c || "aac" === c || "mp3" === c || "mpeg" === c || "vorbis" === c;
this.trigger(b.JWPLAYER_MEDIA_TYPE, {
mediaType: d ? "audio" : "video"
})
}
};
return g
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(43), c(79)], e = function(a, b, c) {
function d(b) {
if ("hls" === b.type)
if (b.androidhls !== !1) {
var c = a.isAndroidNative;
if (c(2) || c(3) || c("4.0")) return !1;
if (a.isAndroid()) return !0
} else if (a.isAndroid()) return !1;
return null
}
var e = [{
name: "youtube",
supports: function(b) {
return a.isYouTube(b.file, b.type)
}
}, {
name: "drive",
supports: function(b) {
return a.isDrive(b.file, b.type)
}
}, {
name: "hlsjs",
supports: function(b) {
return a.isHLSJSSupport(b.file, b.type)
}
}, {
name: "html5",
supports: function(b) {
var e = {
aac: "audio/mp4",
mp4: "video/mp4",
f4v: "video/mp4",
m4v: "video/mp4",
mov: "video/mp4",
mp3: "audio/mpeg",
mpeg: "audio/mpeg",
ogv: "video/ogg",
ogg: "video/ogg",
oga: "video/ogg",
vorbis: "video/ogg",
webm: "video/webm",
f4a: "video/aac",
m3u8: "application/vnd.apple.mpegurl",
m3u: "application/vnd.apple.mpegurl",
hls: "application/vnd.apple.mpegurl"
},
f = b.file,
g = b.type,
h = d(b);
if (null !== h) return h;
if (a.isRtmp(f, g)) return !1;
if (!e[g]) return !1;
if (c.canPlayType) {
var i = c.canPlayType(e[g]);
return !!i
}
return !1
}
}, {
name: "flash",
supports: function(c) {
var d = {
flv: "video",
f4v: "video",
mov: "video",
m4a: "video",
m4v: "video",
mp4: "video",
aac: "video",
f4a: "video",
mp3: "sound",
mpeg: "sound",
smil: "rtmp",
m3u8: "hls",
hls: "hls",
youtube: "youtube",
google: "google"
},
e = b.keys(d);
if (!a.isFlashSupported()) return !1;
var f = c.file,
g = c.type;
return !!a.isRtmp(f, g) || b.contains(e, g)
}
}];
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return document.createElement("video")
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(81), c(82), c(84), c(85), c(87)], e = function(a, b, c, d, e) {
var f = {
html5: a,
flash: b,
hlsjs: c,
youtube: d,
drive: e
};
return f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(52), c(46), c(50), c(43), c(44), c(61), c(77), c(45)], e = function(a, b, c, d, e, f, g, h) {
function i(a, c) {
b.foreach(a, function(a, b) {
c.addEventListener(a, b, !1)
})
}
function j(a, c) {
b.foreach(a, function(a, b) {
c.removeEventListener(a, b, !1)
})
}
function k(a, b, c) {
"addEventListener" in a ? a.addEventListener(b, c) : a["on" + b] = c
}
function l(a, b, c) {
a && ("removeEventListener" in a ? a.removeEventListener(b, c) : a["on" + b] = null)
}
function m(a) {
if ("hls" === a.type)
if (a.androidhls !== !1) {
var c = b.isAndroidNative;
if (c(2) || c(3) || c("4.0")) return !1;
if (b.isAndroid()) return !0
} else if (b.isAndroid()) return !1;
return null
}
function n(n, y) {
function z() {
Ha && (na(Va.audioTracks), ra(Va.textTracks), Va.setAttribute("jw-loaded", "data"))
}
function A() {
Ha && Va.setAttribute("jw-loaded", "started")
}
function B(a) {
Ba.trigger("click", a)
}
function C() {
Ha && !Ja && (J(I()), G(da(), ya, xa))
}
function D() {
Ha && G(da(), ya, xa)
}
function E() {
o(Fa), Da = !0, Ha && (Ba.state === f.STALLED ? Ba.setState(f.PLAYING) : Ba.state === f.PLAYING && (Fa = setTimeout(ca, p)), Ja && Va.duration === 1 / 0 && 0 === Va.currentTime || (J(I()), H(Va.currentTime), G(da(), ya, xa), Ba.state === f.PLAYING && (Ba.trigger(e.JWPLAYER_MEDIA_TIME, {
position: ya,
duration: xa
}), F())))
}
function F() {
var a = Ta.level;
if (a.width !== Va.videoWidth || a.height !== Va.videoHeight) {
if (a.width = Va.videoWidth, a.height = Va.videoHeight, ua(), !a.width || !a.height) return;
Ta.reason = Ta.reason || "auto", Ta.mode = "hls" === Aa[Ia].type ? "auto" : "manual", Ta.bitrate = 0, a.index = Ia, a.label = Aa[Ia].label, Ba.trigger("visualQuality", Ta), Ta.reason = ""
}
}
function G(a, b, c) {
a === Ga && c === xa || (Ga = a, Ba.trigger(e.JWPLAYER_MEDIA_BUFFER, {
bufferPercent: 100 * a,
position: b,
duration: c
}))
}
function H(a) {
xa < 0 && (a = -(_() - a)), ya = a
}
function I() {
var a = Va.duration,
b = _();
if (a === 1 / 0 && b) {
var c = b - Va.seekable.start(0);
c !== 1 / 0 && c > 120 && (a = -c)
}
return a
}
function J(a) {
xa = a, Ea && a && a !== 1 / 0 && Ba.seek(Ea)
}
function K() {
var a = I();
Ja && a === 1 / 0 && (a = 0), Ba.trigger(e.JWPLAYER_MEDIA_META, {
duration: a,
height: Va.videoHeight,
width: Va.videoWidth
}), J(a)
}
function L() {
Ha && (Da = !0, Ja || ua(), N())
}
function M() {
Ha && (Va.muted && (Va.muted = !1, Va.muted = !0), Va.setAttribute("jw-loaded", "meta"), K())
}
function N() {
za || (za = !0, Ba.trigger(e.JWPLAYER_MEDIA_BUFFER_FULL))
}
function O() {
Ba.setState(f.PLAYING), Va.hasAttribute("jw-played") || Va.setAttribute("jw-played", ""), Ba.trigger(e.JWPLAYER_PROVIDER_FIRST_FRAME, {})
}
function P() {
Ba.state !== f.COMPLETE && Va.currentTime !== Va.duration && Ba.setState(f.PAUSED)
}
function Q() {
Ja || Va.paused || Va.ended || Ba.state !== f.LOADING && Ba.state !== f.ERROR && (Ba.seeking || Ba.setState(f.STALLED))
}
function R() {
Ha && (b.log("Error playing media: %o %s", Va.error, Va.src), Ba.trigger(e.JWPLAYER_MEDIA_ERROR, {
message: "Error loading media: File could not be played"
}))
}
function S(a) {
var c;
return "array" === b.typeOf(a) && a.length > 0 && (c = d.map(a, function(a, b) {
return {
label: a.label || b
}
})), c
}
function T(a) {
Aa = a, Ia = U(a);
var b = S(a);
b && Ba.trigger(e.JWPLAYER_MEDIA_LEVELS, {
levels: b,
currentQuality: Ia
})
}
function U(a) {
var b = Math.max(0, Ia),
c = y.qualityLabel;
if (a)
for (var d = 0; d < a.length; d++)
if (a[d]["default"] && (b = d), c && a[d].label === c) return d;
return Ta.reason = "initial choice", Ta.level = {}, b
}
function V(a, c) {
Ea = 0, o(Fa);
var d = document.createElement("source");
d.src = Aa[Ia].file;
var e = Va.src !== d.src,
g = Va.getAttribute("jw-loaded"),
h = Va.hasAttribute("jw-played");
e || "none" === g || "started" === g ? (xa = c, W(Aa[Ia]), Y(Sa), Va.load()) : (0 === a && Va.currentTime > 0 && (Ea = -1, Ba.seek(a)), Va.play()), ya = Va.currentTime, s && !h && (N(), Va.paused || Ba.state === f.PLAYING || Ba.setState(f.LOADING)), b.isIOS() && Ba.getFullScreen() && (Va.controls = !0), a > 0 && Ba.seek(a)
}
function W(a) {
Na = null, Oa = null, Qa = -1, Pa = -1, Ra = -1, Ta.reason || (Ta.reason = "initial choice", Ta.level = {}), Da = !1, za = !1, Ja = m(a), a.preload && a.preload !== Va.getAttribute("preload") && Va.setAttribute("preload", a.preload);
var b = document.createElement("source");
b.src = a.file;
var c = Va.src !== b.src;
c && (Va.setAttribute("jw-loaded", "none"), Va.src = a.file)
}
function X() {
Va && (va(), Va.removeAttribute("crossorigin"), Va.removeAttribute("preload"), Va.removeAttribute("src"), Va.removeAttribute("jw-loaded"), Va.removeAttribute("jw-played"), c.emptyElement(Va), Ia = -1, Sa = null, !r && "load" in Va && Va.load())
}
function Y(a) {
if (null !== a) {
var d = b.isChrome() || b.isIOS() || b.isSafari();
!Ka && d && (a !== Sa || a.length && !Va.textTracks.length) && (va(), c.emptyElement(Va), Sa = a, Z(a))
}
}
function Z(a) {
if (a)
for (var c = 0; c < a.length; c++) {
var d = a[c];
if ((/\.(?:web)?vtt(?:\?.*)?$/i.test(d.file) || b.isIOS()) && /subtitles|captions|descriptions|chapters|metadata/i.test(d.kind)) {
b.isIOS() && Va.setAttribute("crossorigin", "anonymous");
var e = document.createElement("track");
e.src = d.file, e.kind = d.kind, e.srclang = d.language || "", e.label = d.label, e.mode = "disabled", e["default"] = d["default"] || (d.defaulttrack ? "default" : ""), e.id = d["default"] || (d.defaulttrack ? "default" : ""), Va.appendChild(e)
}
}
}
function $() {
for (var a = Va.seekable ? Va.seekable.length : 0, b = 1 / 0; a--;) b = Math.min(b, Va.seekable.start(a));
return b
}
function _() {
for (var a = Va.seekable ? Va.seekable.length : 0, b = 0; a--;) b = Math.max(b, Va.seekable.end(a));
return b
}
function aa() {
Ba.seeking = !1, Ba.trigger(e.JWPLAYER_MEDIA_SEEKED)
}
function ba() {
Ba.trigger("volume", {
volume: Math.round(100 * Va.volume)
}), Ba.trigger("mute", {
mute: Va.muted
})
}
function ca() {
Va.currentTime === ya && Q()
}
function da() {
var a = Va.buffered,
c = Va.duration;
return !a || 0 === a.length || c <= 0 || c === 1 / 0 ? 0 : b.between(a.end(a.length - 1) / c, 0, 1)
}
function ea() {
if (Ha && Ba.state !== f.IDLE && Ba.state !== f.COMPLETE) {
if (o(Fa), Ia = -1, La = !0, Ba.trigger(e.JWPLAYER_MEDIA_BEFORECOMPLETE), !Ha) return;
fa()
}
}
function fa() {
o(Fa), Ba.setState(f.COMPLETE), La = !1, Ba.trigger(e.JWPLAYER_MEDIA_COMPLETE)
}
function ga(a) {
Ma = !0, ma(a), b.isIOS() && (Va.controls = !1)
}
function ha() {
var a = -1,
b = 0;
if (Na)
for (b; b < Na.length; b++)
if ("showing" === Na[b].mode) {
a = b;
break
}
sa(a + 1)
}
function ia() {
for (var a = -1, b = 0; b < Va.audioTracks.length; b++)
if (Va.audioTracks[b].enabled) {
a = b;
break
}
oa(a)
}
function ja(a) {
ka(a.currentTarget.activeCues)
}
function ka(a) {
if (a && a.length && Ra !== a[0].startTime) {
var c = b.parseID3(a);
Ra = a[0].startTime, Ba.trigger("meta", {
metadataTime: Ra,
metadata: c
})
}
}
function la(a) {
Ma = !1, ma(a), b.isIOS() && (Va.controls = !1)
}
function ma(a) {
Ba.trigger("fullscreenchange", {
target: a.target,
jwstate: Ma
})
}
function na(a) {
if (Oa = null, a) {
if (a.length) {
for (var b = 0; b < a.length; b++)
if (a[b].enabled) {
Qa = b;
break
}
Qa === -1 && (Qa = 0, a[Qa].enabled = !0), Oa = d.map(a, function(a) {
var b = {
name: a.label || a.language,
language: a.language
};
return b
})
}
k(a, "change", ia), Oa && Ba.trigger("audioTracks", {
currentTrack: Qa,
tracks: Oa
})
}
}
function oa(a) {
Va && Va.audioTracks && Oa && a > -1 && a < Va.audioTracks.length && a !== Qa && (Va.audioTracks[Qa].enabled = !1, Qa = a, Va.audioTracks[Qa].enabled = !0, Ba.trigger("audioTrackChanged", {
currentTrack: Qa,
tracks: Oa
}))
}
function pa() {
return Oa || []
}
function qa() {
return Qa
}
function ra(a) {
if (Na = null, a) {
if (a.length) {
var b = 0,
c = a.length;
for (b; b < c; b++) "metadata" === a[b].kind ? (a[b].oncuechange = ja, a[b].mode = "showing") : "subtitles" !== a[b].kind && "captions" !== a[b].kind || (a[b].mode = "disabled", Na || (Na = []), Na.push(a[b]))
}
k(a, "change", ha), Na && Na.length && Ba.trigger("subtitlesTracks", {
tracks: Na
})
}
}
function sa(a) {
Na && Pa !== a - 1 && (Pa > -1 && Pa < Na.length ? Na[Pa].mode = "disabled" : d.each(Na, function(a) {
a.mode = "disabled"
}), a > 0 && a <= Na.length ? (Pa = a - 1, Na[Pa].mode = "showing") : Pa = -1, Ba.trigger("subtitlesTrackChanged", {
currentTrack: Pa + 1,
tracks: Na
}))
}
function ta() {
return Pa
}
function ua() {
if ("hls" === Aa[0].type) {
var a = "video";
0 === Va.videoHeight && (a = "audio"), Ba.trigger("mediaType", {
mediaType: a
})
}
}
function va() {
Na && Na[Pa] && (Na[Pa].mode = "disabled")
}
this.state = f.IDLE, this.seeking = !1, d.extend(this, h), this.trigger = function(a, b) {
if (Ha) return h.trigger.call(this, a, b)
}, this.setState = function(a) {
if (Ha) return g.setState.call(this, a)
};
var wa, xa, ya, za, Aa, Ba = this,
Ca = {
click: B,
durationchange: C,
ended: ea,
error: R,
loadstart: A,
loadeddata: z,
loadedmetadata: M,
canplay: L,
playing: O,
progress: D,
pause: P,
seeked: aa,
timeupdate: E,
volumechange: ba,
webkitbeginfullscreen: ga,
webkitendfullscreen: la
},
Da = !1,
Ea = 0,
Fa = -1,
Ga = -1,
Ha = !0,
Ia = -1,
Ja = null,
Ka = !!y.sdkplatform,
La = !1,
Ma = !1,
Na = null,
Oa = null,
Pa = -1,
Qa = -1,
Ra = -1,
Sa = null,
Ta = {
level: {}
},
Ua = document.getElementById(n),
Va = Ua ? Ua.querySelector("video") : void 0;
Va = Va || document.createElement("video"), Va.className = "jw-video jw-reset", d.isObject(y.cast) && y.cast.appid && Va.setAttribute("disableRemotePlayback", ""), i(Ca, Va), v || (Va.controls = !0, Va.controls = !1), Va.setAttribute("x-webkit-airplay", "allow"), Va.setAttribute("webkit-playsinline", ""), Va.setAttribute("playsinline", ""), this.stop = function() {
o(Fa), Ha && (X(), b.isIETrident() && Va.pause(), this.setState(f.IDLE))
}, this.destroy = function() {
j(Ca, Va), l(Va.audioTracks, "change", ia), l(Va.textTracks, "change", ha), this.remove(), this.off()
}, this.init = function(a) {
Ha && (Sa = null, Aa = a.sources, Ia = U(a.sources), a.sources.length && "hls" !== a.sources[0].type && this.sendMediaType(a.sources), ya = a.starttime || 0, xa = a.duration || 0, Ta.reason = "", W(Aa[Ia]), Y(a.tracks))
}, this.load = function(a) {
Ha && (T(a.sources), a.sources.length && "hls" !== a.sources[0].type && this.sendMediaType(a.sources), s && !Va.hasAttribute("jw-played") || Ba.setState(f.LOADING), V(a.starttime || 0, a.duration || 0), a.tracks && Y(a.tracks))
}, this.play = function() {
return Ba.seeking ? (Ba.setState(f.LOADING), void Ba.once(e.JWPLAYER_MEDIA_SEEKED, Ba.play)) : void Va.play()
}, this.pause = function() {
o(Fa), Va.pause(), this.setState(f.PAUSED)
}, this.seek = function(a) {
if (Ha)
if (a < 0 && (a += $() + _()), 0 === Ea && this.trigger(e.JWPLAYER_MEDIA_SEEK, {
position: Va.currentTime,
offset: a
}), Da || (Da = !!_()), Da) {
Ea = 0;
try {
Ba.seeking = !0, Va.currentTime = a
} catch (b) {
Ba.seeking = !1, Ea = a
}
} else Ea = a, t && Va.paused && Va.play()
}, this.volume = function(a) {
a = b.between(a / 100, 0, 1), Va.volume = a
}, this.mute = function(a) {
Va.muted = !!a
}, this.checkComplete = function() {
return La
}, this.detachMedia = function() {
return o(Fa), va(), Ha = !1, Va
}, this.attachMedia = function() {
Ha = !0, Da = !1, this.seeking = !1, Va.loop = !1, La && fa()
}, this.setContainer = function(a) {
wa = a, a.appendChild(Va)
}, this.getContainer = function() {
return wa
}, this.remove = function() {
X(), o(Fa), wa === Va.parentNode && wa.removeChild(Va)
}, this.setVisibility = function(b) {
b = !!b, b || u ? a.style(wa, {
visibility: "visible",
opacity: 1
}) : a.style(wa, {
visibility: "",
opacity: 0
})
}, this.resize = function(b, c, d) {
if (!(b && c && Va.videoWidth && Va.videoHeight)) return !1;
var e = {
objectFit: ""
};
if ("uniform" === d) {
var f = b / c,
g = Va.videoWidth / Va.videoHeight;
Math.abs(f - g) < .09 && (e.objectFit = "fill", d = "exactfit")
}
var h = q || u || v || w;
if (h) {
var i = -Math.floor(Va.videoWidth / 2 + 1),
j = -Math.floor(Va.videoHeight / 2 + 1),
k = Math.ceil(100 * b / Va.videoWidth) / 100,
l = Math.ceil(100 * c / Va.videoHeight) / 100;
"none" === d ? k = l = 1 : "fill" === d ? k = l = Math.max(k, l) : "uniform" === d && (k = l = Math.min(k, l)), e.width = Va.videoWidth, e.height = Va.videoHeight, e.top = e.left = "50%", e.margin = 0, a.transform(Va, "translate(" + i + "px, " + j + "px) scale(" + k.toFixed(2) + ", " + l.toFixed(2) + ")")
}
return a.style(Va, e), !1
}, this.setFullscreen = function(a) {
if (a = !!a) {
var c = b.tryCatch(function() {
var a = Va.webkitEnterFullscreen || Va.webkitEnterFullScreen;
a && a.apply(Va)
});
return !(c instanceof b.Error) && Ba.getFullScreen()
}
var d = Va.webkitExitFullscreen || Va.webkitExitFullScreen;
return d && d.apply(Va), a
}, Ba.getFullScreen = function() {
return Ma || !!Va.webkitDisplayingFullscreen
}, this.setCurrentQuality = function(a) {
if (Ia !== a && a >= 0 && Aa && Aa.length > a) {
Ia = a, Ta.reason = "api", Ta.level = {}, this.trigger(e.JWPLAYER_MEDIA_LEVEL_CHANGED, {
currentQuality: a,
levels: S(Aa)
}), y.qualityLabel = Aa[a].label;
var b = Va.currentTime || 0,
c = Va.duration || 0;
c <= 0 && (c = xa), Ba.setState(f.LOADING), V(b, c)
}
}, this.getCurrentQuality = function() {
return Ia
}, this.getQualityLevels = function() {
return S(Aa)
}, this.getName = function() {
return {
name: x
}
}, this.sendEvent = function() {}, this.setMouse = function() {}, this.setSpeed = function(a) {
Va.playbackRate = a, Va.defaultPlaybackRate = a, navigator.userAgent.toLowerCase().indexOf("firefox") > -1 && Ba.seek(ya)
}, this.setCurrentAudioTrack = oa, this.getAudioTracks = pa, this.getCurrentAudioTrack = qa, this.setSubtitlesTrack = sa, this.getSubtitlesTrack = ta
}
var o = window.clearTimeout,
p = 256,
q = b.isIE(),
r = b.isMSIE(),
s = b.isMobile(),
t = b.isFF(),
u = b.isAndroidNative(),
v = b.isIOS(7),
w = b.isIOS(8),
x = "html5",
y = function() {};
return y.prototype = g, n.prototype = new y, n.getName = function() {
return {
name: "html5"
}
}, n
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(43), c(44), c(61), c(83), c(77), c(45)], e = function(a, b, c, d, e, f, g) {
function h(a) {
return a + "_swf_" + k++
}
function i(b) {
var c = document.createElement("a");
c.href = b.flashplayer;
var d = c.hostname === window.location.host;
return a.isChrome() && !d
}
function j(j, k) {
function l(a) {
if (G)
for (var b = 0; b < a.length; b++) {
var c = a[b];
if (c.bitrate) {
var d = Math.round(c.bitrate / 1e3);
c.label = m(d)
}
}
}
function m(a) {
var b = G[a];
if (!b) {
for (var c = 1 / 0, d = G.bitrates.length; d--;) {
var e = Math.abs(G.bitrates[d] - a);
if (e > c) break;
c = e
}
b = G.labels[G.bitrates[d + 1]], G[a] = b
}
return b
}
function n() {
var a = k.hlslabels;
if (!a) return null;
var b = {},
c = [];
for (var d in a) {
var e = parseFloat(d);
if (!isNaN(e)) {
var f = Math.round(e);
b[f] = a[d], c.push(f)
}
}
return 0 === c.length ? null : (c.sort(function(a, b) {
return a - b
}), {
labels: b,
bitrates: c
})
}
function o() {
v = setTimeout(function() {
g.trigger.call(D, "flashBlocked")
}, 4e3), s.once("embedded", function() {
q(), g.trigger.call(D, "flashUnblocked")
}, D)
}
function p() {
q(), o()
}
function q() {
clearTimeout(v), window.removeEventListener("focus", p)
}
var r, s, t, u = null,
v = -1,
w = !1,
x = -1,
y = null,
z = -1,
A = null,
B = !0,
C = !1,
D = this,
E = function() {
return s && s.__ready
},
F = function() {
s && s.triggerFlash.apply(s, arguments)
},
G = n();
b.extend(this, g, {
init: function(a) {
a.preload && "none" !== a.preload && !k.autostart && (u = a)
},
load: function(a) {
u = a, w = !1, this.setState(d.LOADING), F("load", a), this.sendMediaType(a.sources)
},
play: function() {
F("play")
},
pause: function() {
F("pause"), this.setState(d.PAUSED)
},
stop: function() {
F("stop"), x = -1, u = null, this.setState(d.IDLE)
},
seek: function(a) {
F("seek", a)
},
volume: function(a) {
if (b.isNumber(a)) {
var c = Math.min(Math.max(0, a), 100);
E() && F("volume", c)
}
},
mute: function(a) {
E() && F("mute", a)
},
setState: function() {
return f.setState.apply(this, arguments)
},
checkComplete: function() {
return w
},
attachMedia: function() {
B = !0, w && (this.setState(d.COMPLETE), this.trigger(c.JWPLAYER_MEDIA_COMPLETE), w = !1)
},
detachMedia: function() {
return B = !1, null
},
getSwfObject: function(a) {
var b = a.getElementsByTagName("object")[0];
return b ? (b.off(null, null, this), b) : e.embed(k.flashplayer, a, h(j), k.wmode)
},
getContainer: function() {
return r
},
setContainer: function(e) {
if (r !== e) {
r = e, s = this.getSwfObject(e), document.hasFocus() ? o() : window.addEventListener("focus", p), s.once("ready", function() {
q(), s.once("pluginsLoaded", function() {
s.queueCommands = !1, s.setAttribute("queueCommands", "false"), F("setupCommandQueue", s.__commandQueue), s.__commandQueue = []
});
var a = b.extend({}, k),
d = s.triggerFlash("setup", a);
d === s ? s.__ready = !0 : this.trigger(c.JWPLAYER_MEDIA_ERROR, d), u && F("init", u)
}, this);
var f = [c.JWPLAYER_MEDIA_META, c.JWPLAYER_MEDIA_ERROR, c.JWPLAYER_MEDIA_SEEK, c.JWPLAYER_MEDIA_SEEKED, "subtitlesTracks", "subtitlesTrackChanged", "subtitlesTrackData", "mediaType"],
h = [c.JWPLAYER_MEDIA_BUFFER, c.JWPLAYER_MEDIA_TIME],
j = [c.JWPLAYER_MEDIA_BUFFER_FULL];
s.on(c.JWPLAYER_MEDIA_LEVELS, function(a) {
l(a.levels), x = a.currentQuality, y = a.levels, this.trigger(a.type, a)
}, this), s.on(c.JWPLAYER_MEDIA_LEVEL_CHANGED, function(a) {
l(a.levels), x = a.currentQuality, y = a.levels, this.trigger(a.type, a)
}, this), s.on(c.JWPLAYER_AUDIO_TRACKS, function(a) {
z = a.currentTrack, A = a.tracks, this.trigger(a.type, a)
}, this), s.on(c.JWPLAYER_AUDIO_TRACK_CHANGED, function(a) {
z = a.currentTrack, A = a.tracks, this.trigger(a.type, a)
}, this), s.on(c.JWPLAYER_PLAYER_STATE, function(a) {
var b = a.newstate;
b !== d.IDLE && this.setState(b)
}, this), s.on(h.join(" "), function(a) {
"Infinity" === a.duration && (a.duration = 1 / 0), this.trigger(a.type, a)
}, this), s.on(f.join(" "), function(a) {
this.trigger(a.type, a)
}, this), s.on(j.join(" "), function(a) {
this.trigger(a.type)
}, this), s.on(c.JWPLAYER_MEDIA_BEFORECOMPLETE, function(a) {
w = !0, this.trigger(a.type), B === !0 && (w = !1)
}, this), s.on(c.JWPLAYER_MEDIA_COMPLETE, function(a) {
w || (this.setState(d.COMPLETE), this.trigger(a.type))
}, this), s.on("visualQuality", function(a) {
a.reason = a.reason || "api", this.trigger("visualQuality", a), this.trigger(c.JWPLAYER_PROVIDER_FIRST_FRAME, {})
}, this), s.on(c.JWPLAYER_PROVIDER_CHANGED, function(a) {
t = a.message, this.trigger(c.JWPLAYER_PROVIDER_CHANGED, a)
}, this), s.on(c.JWPLAYER_ERROR, function(b) {
a.log("Error playing media: %o %s", b.code, b.message, b), this.trigger(c.JWPLAYER_MEDIA_ERROR, b)
}, this), s.on("sendEvent", function(a) {
this.trigger("sendEvent", a)
}, this), s.on("setMouse", function(a) {
this.trigger("setMouse", a)
}, this), i(k) && s.on("throttle", function(a) {
q(), "resume" === a.state ? g.trigger.call(D, "flashThrottle", a) : v = setTimeout(function() {
g.trigger.call(D, "flashThrottle", a)
}, 250)
}, this)
}
},
remove: function() {
x = -1, y = null, e.remove(s)
},
setVisibility: function(a) {
a = !!a, r.style.opacity = a ? 1 : 0
},
resize: function(a, b, c) {
c && F("stretch", c)
},
setControls: function(a) {
F("setControls", a)
},
setFullscreen: function(a) {
C = a, F("fullscreen", a)
},
getFullScreen: function() {
return C
},
setCurrentQuality: function(a) {
F("setCurrentQuality", a)
},
getCurrentQuality: function() {
return x
},
setSubtitlesTrack: function(a) {
F("setSubtitlesTrack", a)
},
getName: function() {
return t ? {
name: "flash_" + t
} : {
name: "flash"
}
},
getQualityLevels: function() {
return y || u.sources
},
getAudioTracks: function() {
return A
},
getCurrentAudioTrack: function() {
return z
},
setCurrentAudioTrack: function(a) {
F("setCurrentAudioTrack", a)
},
sendEvent: function(a, b) {
F("sendEvent", a, b)
},
setMouse: function(a) {
F("setMouse", a)
},
destroy: function() {
q(), this.remove(), s && (s.off(), s = null), r = null, u = null, this.off()
}
}), this.trigger = function(a, b) {
if (B) return g.trigger.call(this, a, b)
}
}
var k = 0,
l = function() {};
return l.prototype = f, j.prototype = new l, j.getName = function() {
return {
name: "flash"
}
}, j
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(45), c(43)], e = function(a, b, c) {
function d(a, b, c) {
var d = document.createElement("param");
d.setAttribute("name", b), d.setAttribute("value", c), a.appendChild(d)
}
function e(e, f, i, j) {
var k;
if (j = j || "opaque", a.isMSIE()) {
var l = document.createElement("div");
f.appendChild(l), l.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%" id="' + i + '" name="' + i + '" tabindex="0"><param name="movie" value="' + e + '"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="wmode" value="' + j + '"><param name="bgcolor" value="' + h + '"><param name="menu" value="false"></object>';
for (var m = f.getElementsByTagName("object"), n = m.length; n--;) m[n].id === i && (k = m[n])
} else k = document.createElement("object"), k.setAttribute("type", "application/x-shockwave-flash"), k.setAttribute("data", e), k.setAttribute("width", "100%"), k.setAttribute("height", "100%"), k.setAttribute("bgcolor", h), k.setAttribute("id", i), k.setAttribute("name", i), d(k, "allowfullscreen", "true"), d(k, "allowscriptaccess", "always"), d(k, "wmode", j), d(k, "menu", "false"), f.appendChild(k, f);
return k.className = "jw-swf jw-reset", k.style.display = "block", k.style.position = "absolute", k.style.left = 0, k.style.right = 0, k.style.top = 0, k.style.bottom = 0, c.extend(k, b), k.queueCommands = !0, k.setAttribute("queueCommands", "true"), k.triggerFlash = function(b) {
var d = this;
if ("setup" !== b && "true" === k.getAttribute("queueCommands") || !d.__externalCall) {
for (var e = d.__commandQueue, f = e.length; f--;) e[f][0] === b && e.splice(f, 1);
return e.push(Array.prototype.slice.call(arguments)), d
}
var h = Array.prototype.slice.call(arguments, 1),
i = a.tryCatch(function() {
if (h.length) {
for (var a = h.length; a--;) "object" == typeof h[a] && c.each(h[a], g);
var e = JSON.stringify(h);
d.__externalCall(b, e)
} else d.__externalCall(b)
});
return i instanceof a.Error && (console.error(b, i), "setup" === b) ? (i.name = "Failed to setup flash", i) : d
}, k.__commandQueue = [], k
}
function f(a) {
a && a.parentNode && (a.style.display = "none", a.parentNode.removeChild(a))
}
function g(a, b, c) {
a instanceof window.HTMLElement && delete c[b]
}
var h = "#000000";
return {
embed: e,
remove: f
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(52), c(46), c(50), c(43), c(44), c(61), c(77), c(45)], e = function(a, b, c, d, e, f, g, h) {
function i(a, c) {
b.foreach(a, function(a, b) {
c.addEventListener(a, b, !1)
})
}
function j(a, c) {
b.foreach(a, function(a, b) {
c.removeEventListener(a, b, !1)
})
}
function k(k) {
function v() {
var a = {
autoStartLoad: !0,
capLevelToPlayerSize: !1,
debug: !1,
defaultAudioCodec: void 0,
maxBufferLength: 300,
maxMaxBufferLength: 1200,
maxBufferSize: 1e8,
maxBufferHole: .3,
maxSeekHole: 2,
seekHoleNudgeDuration: .01,
maxFragLookUpTolerance: .2,
liveSyncDurationCount: 3,
liveMaxLatencyDurationCount: 10,
enableWorker: !0,
enableSoftwareAES: !0,
manifestLoadingTimeOut: 1e4,
manifestLoadingMaxRetry: 3,
manifestLoadingRetryDelay: 500,
levelLoadingTimeOut: 1e4,
levelLoadingMaxRetry: 3,
levelLoadingRetryDelay: 500,
fragLoadingTimeOut: 2e4,
fragLoadingMaxRetry: 3,
fragLoadingRetryDelay: 500,
startFragPrefech: !1,
appendErrorMaxRetry: 3,
enableCEA708Captions: !0
};
try {
j(ma, Fa)
} catch (b) {}
i(ma, Fa), Ba = new Hls(a), Ba.attachMedia(Fa), Ba.on(Hls.Events.MANIFEST_PARSED, y), Ba.on(Hls.Events.MANIFEST_LOADED, x), Ba.on(Hls.Events.LEVEL_SWITCH, z), Ba.on(Hls.Events.LEVEL_LOADED, w), Ba.on(Hls.Events.ERROR, A)
}
function w(a, b) {
Ca = b.live === !0
}
function x(a, b) {
b && (ua = b.audioTracks || [], ua.length > 1 && (va = Ba.audioTrack, la.trigger(e.JWPLAYER_AUDIO_TRACKS, {
tracks: ua,
currentTrack: va
})))
}
function y(a, b) {
sa = b.levels || [], sa = V(sa), sa.length > 1 && (sa.reverse(), sa.push({
label: "Auto"
}), ta = Ba.autoLevelEnabled ? Ba.levels.length : Ba.levels.length - 1 - Ba.currentLevel, la.trigger(e.JWPLAYER_MEDIA_LEVELS, {
levels: sa,
currentQuality: ta
}))
}
function z(a, b) {
sa.length > 1 && (ta = Ba.autoLevelEnabled ? Ba.levels.length : Ba.levels.length - 1 - b.level, la.trigger(e.JWPLAYER_MEDIA_LEVEL_CHANGED, {
currentQuality: ta,
levels: V(sa)
}))
}
function A(a, b) {
if (b.fatal) switch (b.type) {
case Hls.ErrorTypes.NETWORK_ERROR:
!b.response || 404 !== b.response.code && 428 !== b.response.code ? Ba.startLoad() : (S(b), Ba && (Ba.destroy(), Ba = null));
break;
case Hls.ErrorTypes.MEDIA_ERROR:
Ba.recoverMediaError();
break;
default:
S(b), Ba && (Ba.destroy(), Ba = null)
}
}
function B() {
ra && Fa.setAttribute("jw-loaded", "data")
}
function C() {
ra && Fa.setAttribute("jw-loaded", "started")
}
function D(a) {
la.trigger("click", a)
}
function E() {
ra && !wa && (K(J()), H(ba(), ja, ia))
}
function F() {
ra && H(ba(), ja, ia)
}
function G() {
l(pa), na = !0, ra && (la.state === f.STALLED ? la.setState(f.PLAYING) : la.state === f.PLAYING && (pa = setTimeout(aa, m)), wa && Fa.duration === 1 / 0 && 0 === Fa.currentTime || (K(J()), I(Fa.currentTime), H(ba(), ja, ia), la.state === f.PLAYING && la.trigger(e.JWPLAYER_MEDIA_TIME, {
position: ja,
duration: ia
})))
}
function H(a, b, c) {
a === qa && c === ia || (qa = a, la.trigger(e.JWPLAYER_MEDIA_BUFFER, {
bufferPercent: 100 * a,
position: b,
duration: c
}))
}
function I(a) {
ia < 0 && (a = -(Z() - a)), ja = a
}
function J() {
var a = Fa.duration,
b = Z();
if (a === 1 / 0 && b) {
var c = b - Fa.seekable.start(0);
c !== 1 / 0 && c > 120 && (a = -c)
}
return a
}
function K(a) {
ia = a, oa && a && a !== 1 / 0 && la.seek(oa)
}
function L() {
var a = J();
wa && a === 1 / 0 && (a = 0), la.trigger(e.JWPLAYER_MEDIA_META, {
duration: a,
height: Fa.videoHeight,
width: Fa.videoWidth
}), K(a)
}
function M() {
ra && (na = !0, O())
}
function N() {
ra && (Fa.muted && (Fa.muted = !1, Fa.muted = !0), Fa.setAttribute("jw-loaded", "meta"), L())
}
function O() {
ka || (ka = !0, la.trigger(e.JWPLAYER_MEDIA_BUFFER_FULL))
}
function P() {
la.setState(f.PLAYING), Fa.hasAttribute("jw-played") || Fa.setAttribute("jw-played", ""), la.trigger(e.JWPLAYER_PROVIDER_FIRST_FRAME, {})
}
function Q() {
la.state !== f.COMPLETE && Fa.currentTime !== Fa.duration && la.setState(f.PAUSED)
}
function R() {
wa || Fa.paused || Fa.ended || la.state !== f.LOADING && la.state !== f.ERROR && (la.seeking || la.setState(f.STALLED))
}
function S(a) {
if (ra) {
var c = Da.sources[0] || Da;
la.trigger(e.JWPLAYER_MEDIA_ERROR, {
message: "Error loading media: File could not be played",
data: a || {}
}), b.log("Error playing media: %s", c.file)
}
}
function T(a) {
if (a) return Math.round(a / 1024) + "kb"
}
function U(a) {
if (a) {
var b = "";
return "undefined" != typeof isLogin && "undefined" != typeof isVip && (a >= 800 && !isLogin ? b = "(Login)" : a >= 1024 && !isVip && (b = "(VIP)")), a > 1792 ? "1080p+" + b : a > 1280 ? "1080p" + b : a > 1024 ? "720p" + b : a > 800 ? "576p" + b : a > 640 ? "480p" + b : a > 480 ? "360p" + b : a > 320 ? "240p" + b : void 0
}
}
function V(a) {
var c;
return "array" === b.typeOf(a) && a.length > 0 && (c = d.map(a, function(a) {
return {
label: a.name || a.label || U(a.width) || T(a.bitrate) || "Unknow"
}
})), c
}
function W(a) {
oa = 0, l(pa);
var c = Fa.hasAttribute("jw-played");
0 === a && Fa.currentTime > 0 && (oa = -1, la.seek(a)), Fa.play(), ja = Fa.currentTime, p && !c && (O(), Fa.paused || la.state === f.PLAYING || la.setState(f.LOADING)), b.isIOS() && la.getFullScreen() && (Fa.controls = !0), a > 0 && la.seek(a)
}
function X() {
Fa && (Fa.removeAttribute("crossorigin"), Fa.removeAttribute("preload"), Fa.removeAttribute("src"), Fa.removeAttribute("jw-loaded"), Fa.removeAttribute("jw-played"), c.emptyElement(Fa), ta = 0, za = null, !o && "load" in Fa && Fa.load()), Ba && (Ba.destroy(), Ba = null)
}
function Y() {
for (var a = Fa.seekable ? Fa.seekable.length : 0, b = 1 / 0; a--;) b = Math.min(b, Fa.seekable.start(a));
return b
}
function Z() {
for (var a = Fa.seekable ? Fa.seekable.length : 0, b = 0; a--;) b = Math.max(b, Fa.seekable.end(a));
return b
}
function $() {
la.seeking = !1, la.trigger(e.JWPLAYER_MEDIA_SEEKED)
}
function _() {
la.trigger("volume", {
volume: Math.round(100 * Fa.volume)
}), la.trigger("mute", {
mute: Fa.muted
})
}
function aa() {
Fa.currentTime === ja && R()
}
function ba() {
var a = Fa.buffered,
c = Fa.duration;
return !a || 0 === a.length || c <= 0 || c === 1 / 0 ? 0 : b.between(a.end(a.length - 1) / c, 0, 1)
}
function ca() {
if (ra && la.state !== f.IDLE && la.state !== f.COMPLETE) {
if (l(pa), ta = 0, xa = !0, la.trigger(e.JWPLAYER_MEDIA_BEFORECOMPLETE), !ra) return;
da()
}
}
function da() {
l(pa), la.setState(f.COMPLETE), xa = !1, la.trigger(e.JWPLAYER_MEDIA_COMPLETE)
}
function ea(a) {
ya = !0, ga(a), b.isIOS() && (Fa.controls = !1)
}
function fa(a) {
ya = !1, ga(a), b.isIOS() && (Fa.controls = !1)
}
function ga(a) {
la.trigger("fullscreenchange", {
target: a.target,
jwstate: ya
})
}
this.state = f.IDLE, this.seeking = !1, d.extend(this, h), this.trigger = function(a, b) {
if (ra) return h.trigger.call(this, a, b)
}, this.setState = function(a) {
if (ra) return g.setState.call(this, a)
};
var ha, ia, ja, ka, la = this,
ma = {
click: D,
durationchange: E,
ended: ca,
error: S,
loadstart: C,
loadeddata: B,
loadedmetadata: N,
canplay: M,
playing: P,
progress: F,
pause: Q,
seeked: $,
timeupdate: G,
volumechange: _,
webkitbeginfullscreen: ea,
webkitendfullscreen: fa
},
na = !1,
oa = 0,
pa = -1,
qa = -1,
ra = !0,
sa = [],
ta = 0,
ua = [],
va = 0,
wa = null,
xa = !1,
ya = !1,
za = null,
Aa = {
level: {}
},
Ba = null,
Ca = !1,
Da = {},
Ea = document.getElementById(k),
Fa = Ea ? Ea.querySelector("video") : void 0;
Fa = Fa || document.createElement("video"), Fa.className = "jw-video jw-reset", s || (Fa.controls = !0, Fa.controls = !1), Fa.setAttribute("x-webkit-airplay", "allow"), Fa.setAttribute("webkit-playsinline", ""), Fa.setAttribute("playsinline", ""), this.stop = function() {
l(pa), ra && (X(), b.isIETrident() && Fa.pause(), this.setState(f.IDLE))
}, this.destroy = function() {
j(ma, Fa), this.remove(), this.off()
}, this.init = function(a) {
ra && (za = null, ja = a.starttime || 0, ia = a.duration || 0, Aa.reason = "")
}, this.load = function(a) {
if (ra) {
Ca = !1, null === Ba && v(), Da = a;
var b = a.sources[0] || a;
Ba.loadSource(b.file), Fa.setAttribute("jw-loaded", "none"), p && !Fa.hasAttribute("jw-played") || la.setState(f.LOADING), W(a.starttime || 0, a.duration || 0)
}
}, this.play = function() {
return la.seeking ? (la.setState(f.LOADING), void la.once(e.JWPLAYER_MEDIA_SEEKED, la.play)) : void Fa.play()
}, this.pause = function() {
l(pa), Fa.pause(), this.setState(f.PAUSED)
}, this.seek = function(a) {
if (ra)
if (a < 0 && (a += Y() + Z()), 0 === oa && this.trigger(e.JWPLAYER_MEDIA_SEEK, {
position: Fa.currentTime,
offset: a
}), na || (na = !!Z()), na) {
oa = 0;
try {
la.seeking = !0, Fa.currentTime = a
} catch (b) {
la.seeking = !1, oa = a
}
} else oa = a, q && Fa.paused && Fa.play()
}, this.volume = function(a) {
a = b.between(a / 100, 0, 1), Fa.volume = a
}, this.mute = function(a) {
Fa.muted = !!a
}, this.checkComplete = function() {
return xa
}, this.detachMedia = function() {
return l(pa), ra = !1, Fa
}, this.attachMedia = function() {
ra = !0, na = !1, this.seeking = !1, Fa.loop = !1, xa && da()
}, this.setContainer = function(a) {
ha = a, a.appendChild(Fa)
}, this.getContainer = function() {
return ha
}, this.remove = function() {
X(), l(pa), ha === Fa.parentNode && ha.removeChild(Fa)
}, this.setVisibility = function(b) {
b = !!b, b || r ? a.style(ha, {
visibility: "visible",
opacity: 1
}) : a.style(ha, {
visibility: "",
opacity: 0
})
}, this.resize = function(b, c, d) {
if (!(b && c && Fa.videoWidth && Fa.videoHeight)) return !1;
var e = {
objectFit: ""
};
if ("uniform" === d) {
var f = b / c,
g = Fa.videoWidth / Fa.videoHeight;
Math.abs(f - g) < .09 && (e.objectFit = "fill", d = "exactfit")
}
var h = n || r || s || t;
if (h) {
var i = -Math.floor(Fa.videoWidth / 2 + 1),
j = -Math.floor(Fa.videoHeight / 2 + 1),
k = Math.ceil(100 * b / Fa.videoWidth) / 100,
l = Math.ceil(100 * c / Fa.videoHeight) / 100;
"none" === d ? k = l = 1 : "fill" === d ? k = l = Math.max(k, l) : "uniform" === d && (k = l = Math.min(k, l)), e.width = Fa.videoWidth, e.height = Fa.videoHeight, e.top = e.left = "50%", e.margin = 0, a.transform(Fa, "translate(" + i + "px, " + j + "px) scale(" + k.toFixed(2) + ", " + l.toFixed(2) + ")")
}
return a.style(Fa, e), !1
}, this.setFullscreen = function(a) {
if (a = !!a) {
var c = b.tryCatch(function() {
var a = Fa.webkitEnterFullscreen || Fa.webkitEnterFullScreen;
a && a.apply(Fa)
});
return !(c instanceof b.Error) && la.getFullScreen()
}
var d = Fa.webkitExitFullscreen || Fa.webkitExitFullScreen;
return d && d.apply(Fa), a
}, la.getFullScreen = function() {
return ya || !!Fa.webkitDisplayingFullscreen
}, this.setCurrentQuality = function(a) {
null !== Ba && (la.trigger(e.JWPLAYER_MEDIA_LEVELS, {
levels: sa,
currentQuality: a
}), Ba.nextLevel = Ba.levels.length - a - 1)
}, this.getCurrentQuality = function() {
return ta
}, this.getQualityLevels = function() {
return V(sa)
}, this.getAudioTracks = function() {
return ua
}, this.getCurrentAudioTrack = function() {
return va
}, this.setCurrentAudioTrack = function(a) {
null !== Ba && (Ba.audioTrack = a)
}, this.getName = function() {
return {
name: u
}
}, this.sendEvent = function() {}, this.setMouse = function() {}, this.setSpeed = function(a) {
Fa.playbackRate = a, Fa.defaultPlaybackRate = a, navigator.userAgent.toLowerCase().indexOf("firefox") > -1 && la.seek(ja)
}
}
var l = window.clearTimeout,
m = 256,
n = b.isIE(),
o = b.isMSIE(),
p = b.isMobile(),
q = b.isFF(),
r = b.isAndroidNative(),
s = b.isIOS(7),
t = b.isIOS(8),
u = "hlsjs",
v = function() {};
return v.prototype = g, k.prototype = new v, k.getName = function() {
return {
name: "hlsjs"
}
}, k.supports = function(a) {
var b = a.type;
return "undefined" != typeof Hls && Hls.isSupported() === !0 && ("hlsjs" === b || "m3u8" === b)
}, k
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(52), c(43), c(44), c(61), c(86), c(77), c(45)], e = function(a, b, c, d, e, f, g, h) {
function i(l, m) {
function n() {
window.YT && window.YT.loaded ? (J = window.YT, q()) : setTimeout(n, 100)
}
function o() {
j && (j.off(), j = null)
}
function p() {
var a = L && L.parentNode;
return a ? a : (N || (window.jwplayer(l).onReady(q), N = !0), !1)
}
function q() {
J && p() && O && O.apply(I)
}
function r() {
if (K && K.getPlayerState) {
var a = K.getPlayerState();
null !== a && void 0 !== a && a !== R && A({
data: a
});
var b = J.PlayerState;
a === b.PLAYING ? t() : a === b.BUFFERING && u()
}
}
function s(a) {
return Math.round(10 * a) / 10
}
function t() {
u(), I.trigger(d.JWPLAYER_MEDIA_TIME, {
position: s(K.getCurrentTime()),
duration: K.getDuration()
})
}
function u() {
var a = 0;
K && K.getVideoLoadedFraction && (a = Math.round(100 * K.getVideoLoadedFraction())), M !== a && (M = a, I.trigger(d.JWPLAYER_MEDIA_BUFFER, {
bufferPercent: a
}))
}
function v() {
I.state !== e.IDLE && I.state !== e.COMPLETE && (S = !0, I.trigger(d.JWPLAYER_MEDIA_BEFORECOMPLETE), I.setState(e.COMPLETE), S = !1, I.trigger(d.JWPLAYER_MEDIA_COMPLETE))
}
function w() {
I.trigger(d.JWPLAYER_MEDIA_META, {
duration: K.getDuration(),
width: L.clientWidth,
height: L.clientHeight
})
}
function x() {
var a = arguments,
b = a.length - 1;
return function() {
for (var c = b, d = a[b].apply(this, arguments); c--;) d = a[c].call(this, d);
return d
}
}
function y(a, b) {
if (!a) throw "invalid Youtube ID";
var d = L.parentNode;
if (d) {
var e = {
height: "100%",
width: "100%",
videoId: a,
playerVars: c.extend({
html5: 1,
autoplay: 0,
controls: 0,
showinfo: 0,
rel: 0,
modestbranding: 0,
playsinline: 1,
iv_load_policy: 3,
origin: location.protocol + "//" + location.hostname
}, b),
events: {
onReady: z,
onStateChange: A,
onPlaybackQualityChange: B,
onError: C
}
};
I.setVisibility(!0), K = new J.Player(L, e), L = K.getIframe(), O = null
}
}
function z() {
P && (P.apply(I), P = null)
}
function A(b) {
var f = J.PlayerState;
switch (R = b.data) {
case f.UNSTARTED:
return void(a.isAndroid() && K.playVideo());
case f.ENDED:
return void v();
case f.PLAYING:
return c.isFunction(K.unloadModule) && K.unloadModule("captions"), T = !1, w(), I.trigger(d.JWPLAYER_MEDIA_LEVELS, {
levels: I.getQualityLevels(),
currentQuality: I.getCurrentQuality()
}), void I.setState(e.PLAYING);
case f.PAUSED:
return void I.setState(e.PAUSED);
case f.BUFFERING:
return void(I.seeking ? I.setState(e.LOADING) : I.setState(e.STALLED));
case f.CUED:
return I.setState(e.IDLE), void(a.isAndroid() && K.playVideo())
}
}
function B() {
R !== J.PlayerState.ENDED && I.play(), I.trigger(d.JWPLAYER_MEDIA_LEVEL_CHANGED, {
currentQuality: I.getCurrentQuality(),
levels: I.getQualityLevels()
})
}
function C() {
I.trigger(d.JWPLAYER_MEDIA_ERROR, {
message: "Error loading YouTube: Video could not be played"
})
}
function D() {
k && I.setVisibility(!0)
}
function E() {
clearInterval(Q), K && K.stopVideo && a.tryCatch(function() {
K.stopVideo(), K.clearVideo()
})
}
function F(b) {
P = null;
var c = b.sources[0].file,
d = a.youTubeID(c);
if (I.volume(m.volume), I.mute(m.mute), I.setVisibility(!0), !J || !K) return O = function() {
y(d)
}, void n();
if (!K.getPlayerState) {
var e = function() {
I.load(b)
};
return void(P = P ? x(e, P) : e)
}
var f = K.getVideoData().video_id;
if (f !== d) {
T ? (E(), K.cueVideoById(d)) : K.loadVideoById(d);
var g = K.getPlayerState(),
h = J.PlayerState;
g !== h.UNSTARTED && g !== h.CUED || D()
} else K.getCurrentTime() > 0 && K.seekTo(0), w()
}
function G(a) {
return "tiny" === a ? "144p" : "small" === a ? "240p" : "medium" === a ? "360p" : "large" === a ? "480p" : "hd720" === a ? "720p" : "hd1080" === a ? "1080p" : a
}
this.state = e.IDLE, c.extend(this, h);
var H, I = this,
J = window.YT,
K = null,
L = document.createElement("div"),
M = -1,
N = !1,
O = null,
P = null,
Q = -1,
R = -1,
S = !1,
T = k;
this.setState = function(a) {
clearInterval(Q), a !== e.IDLE && a !== e.COMPLETE && (Q = setInterval(r, 250), a === e.PLAYING ? this.seeking = !1 : a !== e.LOADING && a !== e.STALLED || u()), g.setState.apply(this, arguments)
}, !J && j && j.getStatus() === f.loaderstatus.NEW && (j.on(d.COMPLETE, n), j.on(d.ERROR, o), j.load()), L.id = l + "_youtube", this.init = function(a) {
F(a)
}, this.destroy = function() {
this.remove(), this.off(), H = L = J = I = null
}, this.load = function(a) {
this.setState(e.LOADING), F(a), I.play()
}, this.stop = function() {
E(), this.setState(e.IDLE)
}, this.play = function() {
T || (K && K.playVideo ? K.playVideo() : P = P ? x(this.play, P) : this.play)
}, this.pause = function() {
T || K.pauseVideo && K.pauseVideo()
}, this.seek = function(a) {
T || K.seekTo && (this.seeking = !0, K.seekTo(a))
}, this.volume = function(a) {
if (c.isNumber(a)) {
var b = Math.min(Math.max(0, a), 100);
K && K.getVolume && K.setVolume(b)
}
}, this.mute = function(b) {
var c = a.exists(b) ? !!b : !m.mute;
K && K.mute && (c ? K.mute() : K.unMute())
}, this.detachMedia = function() {
return null
}, this.attachMedia = function() {
S && (this.setState(e.COMPLETE), this.trigger(d.JWPLAYER_MEDIA_COMPLETE), S = !1)
}, this.setContainer = function(a) {
H = a, a.appendChild(L), this.setVisibility(!0)
}, this.getContainer = function() {
return H
}, this.remove = function() {
E(), L && H && H === L.parentNode && H.removeChild(L), O = P = K = null
}, this.setVisibility = function(a) {
a = !!a, a ? (b.style(L, {
display: "block"
}), b.style(H, {
visibility: "visible",
opacity: 1
})) : k || b.style(H, {
opacity: 0
})
}, this.resize = function() {
return !1
}, this.checkComplete = function() {
return S
}, this.getCurrentQuality = function() {
if (!K) return -1;
if (K.getAvailableQualityLevels) {
var a = K.getPlaybackQuality(),
b = K.getAvailableQualityLevels();
return b.indexOf(a)
}
return -1
}, this.getQualityLevels = function() {
if (K) {
if (!c.isFunction(K.getAvailableQualityLevels)) return [];
var a = K.getAvailableQualityLevels();
if (2 === a.length && c.contains(a, "auto")) return {
label: c.without(a, "auto")
};
var b = c.map(a, function(a) {
return {
label: G(a)
}
});
return b.reverse()
}
}, this.setCurrentQuality = function(a) {
if (K && K.getAvailableQualityLevels) {
var b = K.getAvailableQualityLevels();
if (b.length) {
var c = b[b.length - a - 1];
K.setPlaybackQuality(c)
}
}
}, this.getName = i.getName
}
var j = new f(window.location.protocol + "//www.youtube.com/iframe_api"),
k = a.isMobile();
return i.getName = function() {
return {
name: "youtube"
}
}, i.register = function(a) {
a.api.registerProvider(i)
}, i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(44), c(45), c(43)], e = function(a, b, c) {
var d = {},
e = {
NEW: 0,
LOADING: 1,
ERROR: 2,
COMPLETE: 3
},
f = function(f, g) {
function h(b) {
k = e.ERROR, j.trigger(a.ERROR, b)
}
function i(b) {
k = e.COMPLETE, j.trigger(a.COMPLETE, b)
}
var j = c.extend(this, b),
k = e.NEW;
this.addEventListener = this.on, this.removeEventListener = this.off, this.makeStyleLink = function(a) {
var b = document.createElement("link");
return b.type = "text/css", b.rel = "stylesheet", b.href = a, b
}, this.makeScriptTag = function(a) {
var b = document.createElement("script");
return b.src = a, b
}, this.makeTag = g ? this.makeStyleLink : this.makeScriptTag, this.load = function() {
if (k === e.NEW) {
var b = d[f];
if (b && (k = b.getStatus(), k < 2)) return b.on(a.ERROR, h), void b.on(a.COMPLETE, i);
var c = document.getElementsByTagName("head")[0] || document.documentElement,
j = this.makeTag(f),
l = !1;
j.onload = j.onreadystatechange = function(a) {
l || this.readyState && "loaded" !== this.readyState && "complete" !== this.readyState || (l = !0, i(a), j.onload = j.onreadystatechange = null, c && j.parentNode && !g && c.removeChild(j))
}, j.onerror = h, c.insertBefore(j, c.firstChild), k = e.LOADING, d[f] = this
}
}, this.getStatus = function() {
return k
}
};
return f.loaderstatus = e, f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(52), c(43), c(44), c(61), c(86), c(77), c(45)], e = function(a, b, c, d, e, f, g, h) {
function i(l, m) {
function n() {
window.YT && window.YT.loaded ? (N = window.YT, q()) : setTimeout(n, 100)
}
function o() {
j && (j.off(), j = null)
}
function p() {
var a = P && P.parentNode;
return a ? a : (R || (window.jwplayer(l).onReady(q), R = !0), !1)
}
function q() {
N && p() && S && S.apply(M)
}
function r() {
if (O && O.getPlayerState) {
var a = O.getPlayerState();
null !== a && void 0 !== a && a !== V && C({
data: a
});
var b = N.PlayerState;
a === b.PLAYING ? t() : a === b.BUFFERING && u()
}
}
function s(a) {
return Math.round(10 * a) / 10
}
function t() {
u(), M.trigger(d.JWPLAYER_MEDIA_TIME, {
position: s(O.getCurrentTime()),
duration: O.getDuration()
})
}
function u() {
var a = 0;
O && O.getVideoLoadedFraction && (a = Math.round(100 * O.getVideoLoadedFraction())), Q !== a && (Q = a, M.trigger(d.JWPLAYER_MEDIA_BUFFER, {
bufferPercent: a
}))
}
function v() {
M.state !== e.IDLE && M.state !== e.COMPLETE && (W = !0, M.trigger(d.JWPLAYER_MEDIA_BEFORECOMPLETE), M.setState(e.COMPLETE), W = !1, M.trigger(d.JWPLAYER_MEDIA_COMPLETE))
}
function w() {
M.trigger(d.JWPLAYER_MEDIA_META, {
duration: O.getDuration(),
width: P.clientWidth,
height: P.clientHeight
})
}
function x() {
var a = arguments,
b = a.length - 1;
return function() {
for (var c = b, d = a[b].apply(this, arguments); c--;) d = a[c].call(this, d);
return d
}
}
function y(a, b, d) {
if (A(), !a) return void E({
data: 100
});
var e = P.parentNode;
if (e) {
var f = window.location.host,
g = f.indexOf("hdonline.vn") > -1 || f.indexOf("localhost") > -1,
h = {
height: "100%",
width: "100%",
playerVars: c.extend({
autoplay: "undefined" != typeof d ? d : 0,
docid: g ? a : "",
partnerid: 30,
html5: 1,
controls: 0,
showinfo: 0,
rel: 0,
modestbranding: 0,
playsinline: 1
}, b),
events: {
onReady: B,
onStateChange: C,
onPlaybackQualityChange: D,
onError: E
}
};
M.setVisibility(!0), O = new N.Player(P, h), P = O.getIframe(), S = null, A(), $ = !0, L = setTimeout(z, 15e3), M.play()
}
}
function z() {
$ && (M.trigger(d.JWPLAYER_MEDIA_ERROR, {
message: "Error loading Video: Video could not be played"
}), O.destroy())
}
function A() {
$ = !1;
try {
clearTimeout(L)
} catch (a) {}
}
function B() {
T && (T.apply(M), T = null), A()
}
function C(b) {
A();
var f = N.PlayerState;
switch (V = b.data) {
case f.UNSTARTED:
return void(a.isAndroid() && O.playVideo());
case f.ENDED:
return void v();
case f.PLAYING:
return c.isFunction(O.unloadModule) && O.unloadModule("captions"), X = !1, w(), M.trigger(d.JWPLAYER_MEDIA_LEVELS, {
levels: M.getQualityLevels(),
currentQuality: M.getCurrentQuality()
}), void M.setState(e.PLAYING);
case f.PAUSED:
return void M.setState(e.PAUSED);
case f.BUFFERING:
return void(M.seeking ? M.setState(e.LOADING) : M.setState(e.STALLED));
case f.CUED:
return M.setState(e.IDLE), void(a.isAndroid() && O.playVideo())
}
}
function D() {
V !== N.PlayerState.ENDED && M.play(), M.trigger(d.JWPLAYER_MEDIA_LEVEL_CHANGED, {
currentQuality: M.getCurrentQuality(),
levels: M.getQualityLevels()
})
}
function E(a) {
if (A(), Y < Z.length - 1) {
Y++, O.destroy(), P = document.createElement("div");
var b = M.getContainer();
return b.appendChild(P), M.setVisibility(!0), void y(Z[Y], {}, 1)
}
M.trigger(d.JWPLAYER_MEDIA_ERROR, {
message: "Error loading Video: Video could not be played"
})
}
function F() {
k && M.setVisibility(!0)
}
function G() {
clearInterval(U), O && O.stopVideo && a.tryCatch(function() {
O.stopVideo(), O.clearVideo()
})
}
function H(a) {
T = null;
var b = a.sources[0].file;
if (M.volume(m.volume), M.mute(m.mute), M.setVisibility(!0), !N || !O) return S = function() {
I(b)
}, void n();
if (!O.getPlayerState) {
var c = function() {
M.load(a)
};
return void(T = T ? x(c, T) : c)
}
var d = O.getPlayerState(),
e = N.PlayerState;
d !== e.UNSTARTED && d !== e.CUED || F()
}
function I(b) {
var c = "";
if (Z = [], Y = 0, b.indexOf("|") > 0)
for (var d = b.split("|"), e = 0; e < d.length; e++) c = a.driveID(d[e]), "" != c && Z.push(c);
else Z.push(a.driveID(b));
y(Z[Y])
}
function J(a) {
return "tiny" === a ? "144p" : "small" === a ? "240p" : "medium" === a ? "360p" : "large" === a ? "480p" : "hd720" === a ? "720p" : "hd1080" === a ? "1080p" : "highres" === a ? "1080p+" : a
}
this.state = e.IDLE, c.extend(this, h);
var K, L, M = this,
N = window.YT,
O = null,
P = document.createElement("div"),
Q = -1,
R = !1,
S = null,
T = null,
U = -1,
V = -1,
W = !1,
X = k,
Y = 0,
Z = [],
$ = !1;
this.setState = function(a) {
clearInterval(U), a !== e.IDLE && a !== e.COMPLETE && (U = setInterval(r, 250), a === e.PLAYING ? this.seeking = !1 : a !== e.LOADING && a !== e.STALLED || u()), g.setState.apply(this, arguments)
}, !N && j && j.getStatus() === f.loaderstatus.NEW && (j.on(d.COMPLETE, n), j.on(d.ERROR, o), j.load()), P.id = l + "_drive", this.init = function(a) {
H(a)
}, this.destroy = function() {
this.remove(), this.off(), K = P = N = M = null
}, this.load = function(a) {
this.setState(e.LOADING), H(a), M.play()
}, this.stop = function() {
G(), this.setState(e.IDLE)
}, this.play = function() {
X || (O && O.playVideo ? O.playVideo() : T = T ? x(this.play, T) : this.play)
}, this.pause = function() {
X || O.pauseVideo && O.pauseVideo()
}, this.seek = function(a) {
X || O.seekTo && (this.seeking = !0, O.seekTo(a))
}, this.volume = function(a) {
if (c.isNumber(a)) {
var b = Math.min(Math.max(0, a), 100);
O && O.getVolume && O.setVolume(b)
}
}, this.mute = function(b) {
var c = a.exists(b) ? !!b : !m.mute;
O && O.mute && (c ? O.mute() : O.unMute())
}, this.detachMedia = function() {
return null
}, this.attachMedia = function() {
W && (this.setState(e.COMPLETE), this.trigger(d.JWPLAYER_MEDIA_COMPLETE), W = !1)
}, this.setContainer = function(a) {
K = a, a.appendChild(P), this.setVisibility(!0)
}, this.getContainer = function() {
return K
}, this.remove = function() {
G(), P && K && K === P.parentNode && K.removeChild(P), S = T = O = null
}, this.setVisibility = function(a) {
a = !!a, a ? (b.style(P, {
display: "block"
}), b.style(K, {
visibility: "visible",
opacity: 1
})) : k || b.style(K, {
opacity: 0
})
}, this.resize = function(a, b, c) {
if (O) {
var d = 500,
e = {
width: 160,
height: 90
},
f = this.scaleWH(e, a, b),
g = f.width,
h = f.height + d;
f.width < a && (g = f.width), P.style.left = (a - g) / 2 + "px", P.style.marginTop = (b - h) / 2 + "px", O.setSize(g, h)
}
}, this.scaleWH = function(a, b, c) {
var d = 100 / a.width * b,
e = 100 / a.height * c,
f = Math.floor(a.width / 100 * d * 100) / 100,
g = Math.floor(a.height / 100 * d * 100) / 100;
return (f > b || g > c) && (f = Math.floor(a.width / 100 * e * 100) / 100, g = Math.floor(a.height / 100 * e * 100) / 100), {
width: f,
height: g
}
}, this.checkComplete = function() {
return W
}, this.getCurrentQuality = function() {
if (!O) return -1;
if (O.getAvailableQualityLevels) {
var a = O.getPlaybackQuality(),
b = O.getAvailableQualityLevels();
return b.indexOf(a)
}
return -1
}, this.getQualityLevels = function() {
if (O) {
if (!c.isFunction(O.getAvailableQualityLevels)) return [];
var a = O.getAvailableQualityLevels(),
b = [];
return c.map(a, function(a) {
"auto" != a && (a = {
label: J(a)
}, b.push(a))
}), b
}
}, this.setCurrentQuality = function(a) {
if (O && O.getAvailableQualityLevels) {
var b = O.getAvailableQualityLevels();
b.length && O.setPlaybackQuality(b[a])
}
}, this.getName = i.getName
}
var j = new f(window.location.protocol + "//www.youtube.com/iframe_api"),
k = a.isMobile();
return i.getName = function() {
return {
name: "drive"
}
}, i.register = function(a) {
a.api.registerProvider(i)
}, i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(46)], e = function(a, b) {
function c(a) {
return "jwplayer." + a
}
function d() {
return a.reduce(this.persistItems, function(a, d) {
var e = j[c(d)];
return e && (a[d] = b.serialize(e)), a
}, {})
}
function e(a, b) {
try {
j[c(a)] = b
} catch (d) {
i && i.debug && console.error(d)
}
}
function f() {
a.each(this.persistItems, function(a) {
j.removeItem(c(a))
})
}
function g() {}
function h(b, c) {
this.persistItems = b, a.each(this.persistItems, function(a) {
c.on("change:" + a, function(b, c) {
e(a, c)
})
})
}
var i = window.jwplayer,
j = {
removeItem: b.noop
};
try {
j = window.localStorage
} catch (k) {}
return a.extend(g.prototype, {
getAllItems: d,
track: h,
clear: f
}), g
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(60), c(44), c(43)], e = function(a, b, c) {
function d(a) {
a.mediaController.off(b.JWPLAYER_MEDIA_PLAY_ATTEMPT, a._onPlayAttempt), a.mediaController.off(b.JWPLAYER_PROVIDER_FIRST_FRAME, a._triggerFirstFrame), a.mediaController.off(b.JWPLAYER_MEDIA_TIME, a._onTime)
}
function e(a) {
d(a), a._triggerFirstFrame = c.once(function() {
var c = a._qoeItem;
c.tick(b.JWPLAYER_MEDIA_FIRST_FRAME);
var e = c.between(b.JWPLAYER_MEDIA_PLAY_ATTEMPT, b.JWPLAYER_MEDIA_FIRST_FRAME);
a.mediaController.trigger(b.JWPLAYER_MEDIA_FIRST_FRAME, {
loadTime: e
}), d(a)
}), a._onTime = g(a._triggerFirstFrame), a._onPlayAttempt = function() {
a._qoeItem.tick(b.JWPLAYER_MEDIA_PLAY_ATTEMPT)
}, a.mediaController.on(b.JWPLAYER_MEDIA_PLAY_ATTEMPT, a._onPlayAttempt), a.mediaController.once(b.JWPLAYER_PROVIDER_FIRST_FRAME, a._triggerFirstFrame), a.mediaController.on(b.JWPLAYER_MEDIA_TIME, a._onTime)
}
function f(c) {
function d(c, d, f) {
c._qoeItem && f && c._qoeItem.end(f.get("state")), c._qoeItem = new a, c._qoeItem.tick(b.JWPLAYER_PLAYLIST_ITEM), c._qoeItem.start(d.get("state")), e(c), d.on("change:state", function(a, b, d) {
c._qoeItem.end(d), c._qoeItem.start(b)
})
}
c.on("change:mediaModel", d)
}
var g = function(a) {
var b = Number.MIN_VALUE;
return function(c) {
c.position > b && a(), b = c.position
}
};
return {
model: f
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(45)], e = function(a, b) {
var c = a.extend({
get: function(a) {
return this.attributes = this.attributes || {}, this.attributes[a]
},
set: function(a, b) {
if (this.attributes = this.attributes || {}, this.attributes[a] !== b) {
var c = this.attributes[a];
this.attributes[a] = b, this.trigger("change:" + a, this, b, c)
}
},
clone: function() {
return a.clone(this.attributes)
}
}, b);
return c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(45), c(75), c(74), c(44), c(61), c(46), c(43)], e = function(a, b, c, d, e, f, g) {
var h = function(a, d) {
this.model = d, this._adModel = (new b).setup({
id: d.get("id"),
volume: d.get("volume"),
fullscreen: d.get("fullscreen"),
mute: d.get("mute")
}), this._adModel.on("change:state", c, this);
var e = a.getContainer();
this.swf = e.querySelector("object")
};
return h.prototype = g.extend({
init: function() {
if (f.isChrome()) {
var a = -1,
b = !1;
this.swf.on("throttle", function(c) {
if (clearTimeout(a), "resume" === c.state) b && (b = !1, this.instreamPlay());
else {
var d = this;
a = setTimeout(function() {
d._adModel.get("state") === e.PLAYING && (b = !0, d.instreamPause())
}, 250)
}
}, this)
}
this.swf.on("instream:state", function(a) {
switch (a.newstate) {
case e.PLAYING:
this._adModel.set("state", a.newstate);
break;
case e.PAUSED:
this._adModel.set("state", a.newstate)
}
}, this).on("instream:time", function(a) {
this._adModel.set("position", a.position), this._adModel.set("duration", a.duration), this.trigger(d.JWPLAYER_MEDIA_TIME, a)
}, this).on("instream:complete", function(a) {
this.trigger(d.JWPLAYER_MEDIA_COMPLETE, a)
}, this).on("instream:error", function(a) {
this.trigger(d.JWPLAYER_MEDIA_ERROR, a)
}, this), this.swf.triggerFlash("instream:init"), this.applyProviderListeners = function(a) {
this.model.on("change:volume", function(b, c) {
a.volume(c)
}, this), this.model.on("change:mute", function(b, c) {
a.mute(c)
}, this)
}
},
instreamDestroy: function() {
this._adModel && (this.off(), this.swf.off(null, null, this), this.swf.triggerFlash("instream:destroy"), this.swf = null, this._adModel.off(), this._adModel = null, this.model = null)
},
load: function(a) {
this.swf.triggerFlash("instream:load", a)
},
instreamPlay: function() {
this.swf.triggerFlash("instream:play")
},
instreamPause: function() {
this.swf.triggerFlash("instream:pause")
}
}, a), h
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(93), c(45), c(43), c(44)], e = function(a, b, c, d) {
var e = function(b, e, f, g) {
function h() {
m("Setup Timeout Error", "Setup took longer than " + q + " seconds to complete.")
}
function i() {
c.each(p, function(a) {
a.complete !== !0 && a.running !== !0 && null !== b && k(a.depends) && (a.running = !0, j(a))
})
}
function j(a) {
var c = function(b) {
b = b || {}, l(a, b)
};
a.method(c, e, b, f, g)
}
function k(a) {
return c.all(a, function(a) {
return p[a].complete
})
}
function l(a, b) {
"error" === b.type ? m(b.msg, b.reason) : "complete" === b.type ? (clearTimeout(n), o.trigger(d.JWPLAYER_READY)) : (a.complete = !0, i())
}
function m(a, b) {
clearTimeout(n), o.trigger(d.JWPLAYER_SETUP_ERROR, {
message: a + ": " + b
}), o.destroy()
}
var n, o = this,
p = a.getQueue(),
q = 30;
this.start = function() {
n = setTimeout(h, 1e3 * q), i()
}, this.destroy = function() {
clearTimeout(n), this.off(), p.length = 0, b = null, e = null, f = null
}
};
return e.prototype = b, e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(76), c(94), c(63), c(86), c(57), c(43), c(46), c(44)], e = function(a, b, d, e, f, g, h, i) {
function j() {
var a = {
LOAD_PROMISE_POLYFILL: {
method: k,
depends: []
},
LOAD_BASE64_POLYFILL: {
method: l,
depends: []
},
LOADED_POLYFILLS: {
method: m,
depends: ["LOAD_PROMISE_POLYFILL", "LOAD_BASE64_POLYFILL"]
},
LOAD_PLUGINS: {
method: n,
depends: ["LOADED_POLYFILLS"]
},
INIT_PLUGINS: {
method: o,
depends: ["LOAD_PLUGINS", "SETUP_VIEW"]
},
LOAD_PROVIDERS: {
method: w,
depends: ["FILTER_PLAYLIST"]
},
LOAD_SKIN: {
method: v,
depends: ["LOADED_POLYFILLS"]
},
LOAD_PLAYLIST: {
method: q,
depends: ["LOADED_POLYFILLS"]
},
FILTER_PLAYLIST: {
method: r,
depends: ["LOAD_PLAYLIST"]
},
SETUP_VIEW: {
method: x,
depends: ["LOAD_SKIN"]
},
SEND_READY: {
method: y,
depends: ["INIT_PLUGINS", "LOAD_PROVIDERS", "SETUP_VIEW"]
}
};
return a
}
function k(a) {
window.Promise ? a() : c.e(1, function(b) {
c(99), a()
})
}
function l(a) {
window.btoa && window.atob ? a() : c.e(2, function(b) {
c(100), a()
})
}
function m(a) {
a()
}
function n(a, c) {
A = b.loadPlugins(c.get("id"), c.get("plugins")), A.on(i.COMPLETE, a), A.on(i.ERROR, g.partial(p, a)), A.load()
}
function o(a, b, c) {
A.setupPlugins(c, b), a()
}
function p(a, b) {
z(a, "Could not load plugin", b.message)
}
function q(a, b) {
var c = b.get("playlist");
g.isString(c) ? (B = new d, B.on(i.JWPLAYER_PLAYLIST_LOADED, function(c) {
b.set("playlist", c.playlist), b.set("feedid", c.feedid), a()
}), B.on(i.JWPLAYER_ERROR, g.partial(s, a)), B.load(c)) : a()
}
function r(a, b, c, d, e) {
var f = b.get("playlist"),
g = e(f);
g ? a() : s(a)
}
function s(a, b) {
b && b.message ? z(a, "Error loading playlist", b.message) : z(a, "Error loading player", "No playable sources found")
}
function t(a, b) {
if (g.contains(f.SkinsLoadable, a)) return b + "skins/" + a + ".css"
}
function u(a) {
for (var b = document.styleSheets, c = 0, d = b.length; c < d; c++)
if (b[c].href === a) return !0;
return !1
}
function v(a, b) {
var c = b.get("skin"),
d = b.get("skinUrl");
if (g.contains(f.SkinsIncluded, c)) return void a();
if (d || (d = t(c, b.get("base"))), g.isString(d) && !u(d)) {
b.set("skin-loading", !0);
var h = !0,
j = new e(d, h);
j.addEventListener(i.COMPLETE, function() {
b.set("skin-loading", !1)
}), j.addEventListener(i.ERROR, function() {
b.set("skin", "seven"), b.set("skin-loading", !1)
}), j.load()
}
g.defer(function() {
a()
})
}
function w(b, c) {
var d = c.getProviders(),
e = c.get("playlist"),
f = d.required(e);
a.load(f).then(b)
}
function x(a, b, c, d) {
d.setup(), a()
}
function y(a) {
a({
type: "complete"
})
}
function z(a, b, c) {
a({
type: "error",
msg: b,
reason: c
})
}
var A, B;
return {
getQueue: j,
error: z
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(95), c(97), c(98), c(96)], e = function(a, b, c, d) {
var e = {},
f = {},
g = function(c, d) {
return f[c] = new a(new b(e), d), f[c]
},
h = function(a, b, f, g) {
var h = d.getPluginName(a);
e[h] || (e[h] = new c(a)), e[h].registerPlugin(a, b, f, g)
};
return {
loadPlugins: g,
registerPlugin: h
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(96), c(46), c(44), c(45), c(43), c(86)], e = function(a, b, c, d, e, f) {
function g(a, b, c) {
return function() {
var d = a.getContainer().getElementsByClassName("jw-overlays")[0];
d && (d.appendChild(c), c.left = d.style.left, c.top = d.style.top, b.displayArea = d)
}
}
function h(a) {
function b() {
var b = a.displayArea;
b && a.resize(b.clientWidth, b.clientHeight)
}
return function() {
b(), setTimeout(b, 400)
}
}
var i = function(i, j) {
function k() {
q || (q = !0, p = f.loaderstatus.COMPLETE, o.trigger(c.COMPLETE))
}
function l() {
if (!s && (j && 0 !== e.keys(j).length || k(), !q)) {
var d = i.getPlugins();
n = e.after(r, k), e.each(j, function(e, g) {
var h = a.getPluginName(g),
i = d[h],
j = i.getJS(),
k = i.getTarget(),
l = i.getStatus();
l !== f.loaderstatus.LOADING && l !== f.loaderstatus.NEW && (j && !b.versionCheck(k) && o.trigger(c.ERROR, {
message: "Incompatible player version"
}), n())
})
}
}
function m(a) {
if (!s) {
var d = "File not found";
a.url && b.log(d, a.url), this.off(), this.trigger(c.ERROR, {
message: d
}), l()
}
}
var n, o = e.extend(this, d),
p = f.loaderstatus.NEW,
q = !1,
r = e.size(j),
s = !1;
this.setupPlugins = function(c, d) {
var f = [],
j = i.getPlugins(),
k = d.get("plugins");
e.each(k, function(d, i) {
var l = a.getPluginName(i),
m = j[l],
n = m.getFlashPath(),
o = m.getJS(),
p = m.getURL();
if (n) {
var q = e.extend({
name: l,
swf: n,
pluginmode: m.getPluginmode()
}, d);
f.push(q)
}
var r = b.tryCatch(function() {
if (o && k[p]) {
var a = document.createElement("div");
a.id = c.id + "_" + l, a.className = "jw-plugin jw-reset";
var b = e.extend({}, k[p]),
d = m.getNewInstance(c, b, a);
d.addToPlayer = g(c, d, a), d.resizeHandler = h(d), c.addPlugin(l, d, a)
}
});
r instanceof b.Error && b.log("ERROR: Failed to load " + l + ".")
}), d.set("flashPlugins", f)
}, this.load = function() {
if (b.exists(j) && "object" !== b.typeOf(j)) return void l();
p = f.loaderstatus.LOADING, e.each(j, function(a, d) {
if (b.exists(d)) {
var e = i.addPlugin(d);
e.on(c.COMPLETE, l), e.on(c.ERROR, m)
}
});
var a = i.getPlugins();
e.each(a, function(a) {
a.load()
}), l()
}, this.destroy = function() {
s = !0, this.off()
}, this.getStatus = function() {
return p
}
};
return i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48)], e = function(a) {
var b = {},
c = b.pluginPathType = {
ABSOLUTE: 0,
RELATIVE: 1,
CDN: 2
};
return b.getPluginPathType = function(b) {
if ("string" == typeof b) {
b = b.split("?")[0];
var d = b.indexOf("://");
if (d > 0) return c.ABSOLUTE;
var e = b.indexOf("/"),
f = a.extension(b);
return !(d < 0 && e < 0) || f && isNaN(f) ? c.RELATIVE : c.CDN
}
}, b.getPluginName = function(a) {
return a.replace(/^(.*\/)?([^-]*)-?.*\.(swf|js)$/, "$2")
}, b.getPluginVersion = function(a) {
return a.replace(/[^-]*-?([^\.]*).*$/, "$1")
}, b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(96), c(98)], e = function(a, b) {
var c = function(c) {
this.addPlugin = function(d) {
var e = a.getPluginName(d);
return c[e] || (c[e] = new b(d)), c[e]
}, this.getPlugins = function() {
return c
}
};
return c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(96), c(44), c(45), c(86), c(43)], e = function(a, b, c, d, e, f) {
var g = {
FLASH: 0,
JAVASCRIPT: 1,
HYBRID: 2
},
h = function(h) {
function i() {
switch (b.getPluginPathType(h)) {
case b.pluginPathType.ABSOLUTE:
return h;
case b.pluginPathType.RELATIVE:
return a.getAbsolutePath(h, window.location.href)
}
}
function j() {
f.defer(function() {
q = e.loaderstatus.COMPLETE, p.trigger(c.COMPLETE)
})
}
function k() {
q = e.loaderstatus.ERROR, p.trigger(c.ERROR, {
url: h
})
}
var l, m, n, o, p = f.extend(this, d),
q = e.loaderstatus.NEW;
this.load = function() {
if (q === e.loaderstatus.NEW) {
if (h.lastIndexOf(".swf") > 0) return l = h, q = e.loaderstatus.COMPLETE, void p.trigger(c.COMPLETE);
if (b.getPluginPathType(h) === b.pluginPathType.CDN) return q = e.loaderstatus.COMPLETE, void p.trigger(c.COMPLETE);
q = e.loaderstatus.LOADING;
var a = new e(i());
a.on(c.COMPLETE, j), a.on(c.ERROR, k), a.load()
}
}, this.registerPlugin = function(a, b, d, f) {
o && (clearTimeout(o), o = void 0), n = b, d && f ? (l = f, m = d) : "string" == typeof d ? l = d : "function" == typeof d ? m = d : d || f || (l = a), q = e.loaderstatus.COMPLETE, p.trigger(c.COMPLETE)
}, this.getStatus = function() {
return q
}, this.getPluginName = function() {
return b.getPluginName(h)
}, this.getFlashPath = function() {
if (l) switch (b.getPluginPathType(l)) {
case b.pluginPathType.ABSOLUTE:
return l;
case b.pluginPathType.RELATIVE:
return h.lastIndexOf(".swf") > 0 ? a.getAbsolutePath(l, window.location.href) : a.getAbsolutePath(l, i())
}
return null
}, this.getJS = function() {
return m
}, this.getTarget = function() {
return n
}, this.getPluginmode = function() {
return void 0 !== typeof l && void 0 !== typeof m ? g.HYBRID : void 0 !== typeof l ? g.FLASH : void 0 !== typeof m ? g.JAVASCRIPT : void 0
}, this.getNewInstance = function(a, b, c) {
return new m(a, b, c)
}, this.getURL = function() {
return h
}
};
return h
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, , , function(a, b, c) {
var d, e;
d = [c(64), c(102), c(103), c(46)], e = function(a, b, c, d) {
var e = function(e, f) {
function g(a) {
if (a.tracks.length) {
f.mediaController.off("meta", h), w = [], x = {}, y = {}, z = 0;
for (var b = a.tracks || [], c = 0; c < b.length; c++) {
var d = b[c];
d.id = d.name, d.label = d.name || d.language, n(d)
}
var e = r();
this.setCaptionsList(e), s()
}
}
function h(a) {
var b = a.metadata;
if (b && "textdata" === b.type) {
if (!b.text) return;
var c = x[b.trackid];
if (!c) {
c = {
kind: "captions",
id: b.trackid,
data: []
}, n(c);
var d = r();
this.setCaptionsList(d)
}
var e, g;
b.useDTS ? (c.source || (c.source = b.source || "mpegts"), e = b.begin, g = b.begin + "_" + b.text) : (e = a.position || f.get("position"), g = "" + Math.round(10 * e) + "_" + b.text);
var h = y[g];
h || (h = {
begin: e,
text: b.text
}, b.end && (h.end = b.end), y[g] = h, c.data.push(h))
}
}
function i(a) {
d.log("CAPTIONS(" + a + ")")
}
function j(a, b) {
v = b, w = [], x = {}, y = {}, z = 0
}
function k(a) {
j(f, a), f.mediaController.off("meta", h), f.mediaController.off("subtitlesTracks", g);
var b, c, d, e = a.tracks;
for (d = 0; d < e.length; d++) b = e[d], c = b.kind.toLowerCase(), "captions" !== c && "subtitles" !== c || (b.file ? (n(b), o(b)) : b.data && n(b));
var i = r();
u.setCaptionsList(i), s()
}
function l() {
var a, b, c, d = w;
for (w = [], c = 0; c < d.length; c++) a = d[c], b = a.kind.toLowerCase(), "captions" !== b && "subtitles" !== b || (a.file ? n(a) : a.data && n(a));
var e = r();
u.setCaptionsList(e), s()
}
function m(a, b) {
if (w && w.length > 1) {
if (1 === b) {
var c = this.getCaptionsList();
if (void 0 !== c && null !== c && c.length > 1) {
var d = this.getCurrentIndex();
3 === d ? u._api.setSecondCaptions(0) : 2 === d ? u._api.setSecondCaptions(1) : (u._api.setSecondCaptions(0),
e = w[w.length - 1], a.set("captionsTrack", e))
}
return
}
u._api.setSecondCaptions(-1)
}
var e = null;
0 !== b && (e = w.length > 1 ? w[b - 2] : w[b - 1]), a.set("captionsTrack", e)
}
function n(a) {
"number" != typeof a.id && (a.id = a.name || a.file || "cc" + w.length), a.data = a.data || [], a.label || (a.label = "Unknown CC", z++, z > 1 && (a.label += " (" + z + ")")), w.push(a), x[a.id] = a
}
function o(a) {
d.ajax(a.file, function(b) {
p(b, a)
}, function(b) {
delete a.file, delete a.data, q(b), l()
}, !0)
}
function p(e, f) {
var g, h = e.responseXML ? e.responseXML.firstChild : null;
if (h)
for ("xml" === a.localName(h) && (h = h.nextSibling); h.nodeType === h.COMMENT_NODE;) h = h.nextSibling;
g = h && "tt" === a.localName(h) ? d.tryCatch(function() {
f.data = c(e.responseXML)
}) : d.tryCatch(function() {
f.data = b(e.responseText)
}), g instanceof d.Error && i(g.message + ": " + f.file)
}
function q(a) {
i(a)
}
function r() {
var a = [{
id: "off",
label: "Tắt phụ đề"
}];
w.length > 1 && a.push({
id: "double",
label: "Song Ngữ"
});
for (var b = 0; b < w.length; b++) a.push({
id: w[b].id,
label: w[b].label || "Unknown CC"
});
return a
}
function s() {
var a = 0,
b = f.get("captionLabel");
if ("Off" === b || "Tắt phụ đề" === b) return void f.set("captionsIndex", 0);
if ("double" === b || "Song Ngữ" === b) return void f.set("captionsIndex", 1);
var c = null;
try {
c = localStorage.getItem("jwplayer.captionLabel")
} catch (d) {
c = null
}
null !== c && (b = c);
for (var e = 0; e < w.length; e++) {
var g = w[e];
if (b && b === g.label) {
a = e + 1;
break
}
g["default"] || g.defaulttrack ? a = e + 1 : g.autoselect
}
w.length > 1 && (a += 1), t(a)
}
function t(a) {
w.length ? f.setVideoSubtitleTrack(a, w) : f.set("captionsIndex", a)
}
var u = this;
u._api = e, f.on("change:playlistItem", j, this), f.on("change:captionsIndex", m, this), f.on("itemReady", k, this), f.mediaController.on("subtitlesTracks", g, this), f.mediaController.on("subtitlesTrackData", function(a) {
var b = x[a.name];
if (b) {
b.source = a.source;
for (var c = a.captions || [], d = !1, e = 0; e < c.length; e++) {
var f = c[e],
g = a.name + "_" + f.begin + "_" + f.end;
y[g] || (y[g] = f, b.data.push(f), d = !0)
}
d && b.data.sort(function(a, b) {
return a.begin - b.begin
})
}
}, this), f.mediaController.on("meta", h, this);
var v = {},
w = [],
x = {},
y = {},
z = 0;
this.getCurrentIndex = function() {
return f.get("captionsIndex")
}, this.getCaptionsList = function() {
return f.get("captionsList")
}, this.setCaptionsList = function(a) {
f.set("captionsList", a)
}, this.reloadPlaylistItem = function(a) {
k(a)
}, this.getDataCaption = function(a) {
return w[a]
}
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(48)], e = function(a, b) {
function c(a) {
var b = {},
c = a.split("\r\n");
1 === c.length && (c = a.split("\n"));
var e = 1;
if (c[0].indexOf(" --> ") > 0 && (e = 0), c.length > e + 1 && c[e + 1]) {
var f = c[e],
g = f.indexOf(" --> ");
g > 0 && (b.begin = d(f.substr(0, g)), b.end = d(f.substr(g + 5)), b.text = c.slice(e + 1).join("<br/>"))
}
return b
}
var d = a.seconds;
return function(a) {
var d = [];
a = b.trim(a);
var e = a.split("\r\n\r\n");
1 === e.length && (e = a.split("\n\n"));
for (var f = 0; f < e.length; f++)
if ("WEBVTT" !== e[f]) {
var g = c(e[f]);
g.text && d.push(g)
}
if (!d.length) throw new Error("Invalid SRT file");
return d
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(48)], e = function(a) {
function b(a) {
a || c()
}
function c() {
throw new Error("Invalid DFXP file")
}
var d = a.seconds;
return function(e) {
b(e);
var f = [],
g = e.getElementsByTagName("p");
b(g), g.length || (g = e.getElementsByTagName("tt:p"), g.length || (g = e.getElementsByTagName("tts:p")));
for (var h = 0; h < g.length; h++) {
var i = g[h],
j = i.innerHTML || i.textContent || i.text || "",
k = a.trim(j).replace(/>\s+</g, "><").replace(/tts?:/g, "");
if (k) {
var l = i.getAttribute("begin"),
m = i.getAttribute("dur"),
n = i.getAttribute("end"),
o = {
begin: d(l),
text: k
};
n ? o.end = d(n) : m && (o.end = o.begin + d(m)), f.push(o)
}
}
return f.length || c(), f
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(68), c(69), c(43), c(76)], e = function(a, b, c, d) {
function e(a, b) {
for (var c = 0; c < a.length; c++) {
var d = a[c],
e = b.choose(d);
if (e) return d.type
}
return null
}
var f = function(b) {
return b = c.isArray(b) ? b : [b], c.compact(c.map(b, a))
};
f.filterPlaylist = function(a, b, d, e, f, i) {
var j = [];
return c.each(a, function(a) {
a = c.extend({}, a), a.allSources = g(a.sources, d, a.drm || e, a.preload || f), a.sources = h(a.allSources, b), a.sources.length && (a.file = a.sources[0].file, (a.preload || f) && (a.preload = a.preload || f), (a.feedid || i) && (a.feedid = a.feedid || i), j.push(a))
}), j
};
var g = function(a, d, e, f) {
return c.compact(c.map(a, function(a) {
if (c.isObject(a)) return void 0 !== d && null !== d && (a.androidhls = d), (a.drm || e) && (a.drm = a.drm || e), (a.preload || f) && (a.preload = a.preload || f), b(a)
}))
},
h = function(a, b) {
b && b.choose || (b = new d({
primary: b ? "flash" : null
}));
var f = e(a, b);
return c.where(a, {
type: f
})
};
return f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [], e = function() {
return function(a, b) {
a.getPlaylistIndex = a.getItem;
var c = {
jwPlay: b.play,
jwPause: b.pause,
jwSetMute: b.setMute,
jwLoad: b.load,
jwPlaylistItem: b.item,
jwGetAudioTracks: b.getAudioTracks,
jwDetachMedia: b.detachMedia,
jwAttachMedia: b.attachMedia,
jwAddEventListener: b.on,
jwRemoveEventListener: b.off,
jwStop: b.stop,
jwSeek: b.seek,
jwSetVolume: b.setVolume,
jwPlaylistNext: b.next,
jwPlaylistPrev: b.prev,
jwSetFullscreen: b.setFullscreen,
jwGetQualityLevels: b.getQualityLevels,
jwGetCurrentQuality: b.getCurrentQuality,
jwSetCurrentQuality: b.setCurrentQuality,
jwSetCurrentAudioTrack: b.setCurrentAudioTrack,
jwGetCurrentAudioTrack: b.getCurrentAudioTrack,
jwGetCaptionsList: b.getCaptionsList,
jwGetCurrentCaptions: b.getCurrentCaptions,
jwSetCurrentCaptions: b.setCurrentCaptions,
jwSetCues: b.setCues
};
a.callInternal = function(a) {
console.log("You are using the deprecated callInternal method for " + a);
var d = Array.prototype.slice.call(arguments, 1);
c[a].apply(b, d)
}
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(44), c(45), c(57), c(61), c(129), c(130), c(131), c(133), c(107), c(135), c(151), c(152), c(154), c(43), c(155)], e = function(a, b, d, e, f, g, h, i, j, k, l, m, n, o, p, q) {
var r = a.style,
s = a.bounds,
t = a.isMobile(),
u = ["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"],
v = function(v, w) {
function x(b) {
var c = 0,
d = w.get("duration"),
f = w.get("position");
"DVR" === a.adaptiveType(d) && (c = d, d = Math.max(f, e.dvrSeekLimit));
var g = a.between(f + b, c, d);
v.seek(g)
}
function y(b) {
var c = a.between(w.get("volume") + b, 0, 100);
v.setVolume(c)
}
function z(a) {
return !a.ctrlKey && !a.metaKey && !!w.get("controls")
}
function A(a) {
if (!z(a)) return !0;
switch (Ha || ba(), a.keyCode) {
case 27:
v.setFullscreen(!1);
break;
case 13:
v.setFullscreen();
break;
case 32:
v.play({
reason: "interaction"
});
break;
case 37:
Ha || x(-5);
break;
case 39:
Ha || x(5);
break;
case 38:
y(10);
break;
case 40:
y(-10);
break;
case 77:
v.setMute();
break;
case 70:
v.setFullscreen();
break;
default:
if (a.keyCode >= 48 && a.keyCode <= 59) {
var b = a.keyCode - 48,
c = b / 10 * w.get("duration");
v.seek(c)
}
}
return /13|32|37|38|39|40/.test(a.keyCode) ? (a.preventDefault(), !1) : void 0
}
function B() {
Ma = !1, a.removeClass(ka, "jw-no-focus")
}
function C() {
Ma = !0, a.addClass(ka, "jw-no-focus")
}
function D() {
Ma || B(), Ha || ba()
}
function E() {
var a = s(ka),
c = Math.round(a.width),
d = Math.round(a.height);
return document.body.contains(ka) ? c && d && (c === na && d === oa || (na = c, oa = d, clearTimeout(Ja), Ja = setTimeout(Y, 50), w.set("containerWidth", c), w.set("containerHeight", d), Na.trigger(b.JWPLAYER_RESIZE, {
width: c,
height: d
}))) : (window.removeEventListener("resize", E), t && window.removeEventListener("orientationchange", E)), a
}
function F(b, c) {
c = c || !1, a.toggleClass(ka, "jw-flag-casting", c)
}
function G(b, c) {
a.toggleClass(ka, "jw-flag-cast-available", c), a.toggleClass(la, "jw-flag-cast-available", c)
}
function H(b, c) {
a.replaceClass(ka, /jw-stretch-\S+/, "jw-stretch-" + c)
}
function I(b, c) {
a.toggleClass(ka, "jw-flag-compact-player", c)
}
function J(a) {
a && !t && (a.element().addEventListener("mousemove", M, !1), a.element().addEventListener("mouseout", N, !1))
}
function K() {
w.get("state") !== f.IDLE && w.get("state") !== f.COMPLETE && w.get("state") !== f.PAUSED || !w.get("controls") || v.play({
reason: "interaction"
}), Ia ? aa() : ba()
}
function L(a) {
a.link ? (v.pause(!0), v.setFullscreen(!1), window.open(a.link, a.linktarget)) : w.get("controls") && v.play({
reason: "interaction"
})
}
function M() {
clearTimeout(Ea)
}
function N() {
ba()
}
function O(a) {
Na.trigger(a.type, a)
}
function P(b, c) {
c ? (za && za.destroy(), a.addClass(ka, "jw-flag-flash-blocked")) : (za && za.setup(w, ka, ka, v), a.removeClass(ka, "jw-flag-flash-blocked"))
}
function Q() {
w.get("controls") && v.setFullscreen()
}
function R() {
var c = ka.getElementsByClassName("jw-overlays")[0];
c.addEventListener("mousemove", ba), sa = new h(w, ma, {
useHover: !0
}), sa.on("click", function() {
O({
type: b.JWPLAYER_DISPLAY_CLICK
}), w.get("controls") && v.play({
reason: "interaction"
})
}), sa.on("tap", function() {
O({
type: b.JWPLAYER_DISPLAY_CLICK
}), K()
}), sa.on("doubleClick", Q), sa.on("move", ba), sa.on("over", ba);
var d = new i(w);
d.on("click", function() {
O({
type: b.JWPLAYER_DISPLAY_CLICK
}), v.play({
reason: "interaction"
})
}), d.on("tap", function() {
O({
type: b.JWPLAYER_DISPLAY_CLICK
}), K()
}), a.isChrome() && d.el.addEventListener("mousedown", function() {
var a = w.getVideo(),
b = a && 0 === a.getName().name.indexOf("flash");
if (b) {
var c = function() {
document.removeEventListener("mouseup", c), d.el.style.pointerEvents = "auto"
};
this.style.pointerEvents = "none", document.addEventListener("mouseup", c)
}
}), la.appendChild(d.element()), ua = new j(w), va = new k(w), va.on(b.JWPLAYER_LOGO_CLICK, L);
var e = document.createElement("div");
e.className = "jw-controls-right jw-reset", va.setup(e), e.appendChild(ua.element()), la.appendChild(e), xa = new g(w), xa.setup(w.get("captions")), la.parentNode.insertBefore(xa.element(), wa.element());
var f = w.get("height");
t && ("string" == typeof f || f >= 1.5 * Ga) ? a.addClass(ka, "jw-flag-touch") : (za = new n, za.setup(w, ka, ka, v)), qa = new l(v, w), qa.on(b.JWPLAYER_USER_ACTION, ba), w.on("change:scrubbing", T), w.on("change:compactUI", I), la.appendChild(qa.element()), ka.addEventListener("focus", D), ka.addEventListener("blur", B), ka.addEventListener("keydown", A), ka.onmousedown = C
}
function S(b) {
return b.get("state") === f.PAUSED ? void b.once("change:state", S) : void(b.get("scrubbing") === !1 && a.removeClass(ka, "jw-flag-dragging"))
}
function T(b, c) {
b.off("change:state", S), c ? a.addClass(ka, "jw-flag-dragging") : S(b)
}
function U(b, c, d) {
var e, f = ka.className;
d = !!d, d && (f = f.replace(/\s*aspectMode/, ""), ka.className !== f && (ka.className = f), r(ka, {
display: "block"
}, d)), a.exists(b) && a.exists(c) && (w.set("width", b), w.set("height", c)), e = {
width: b
}, a.hasClass(ka, "jw-flag-aspect-mode") || (e.height = c), r(ka, e, !0), V(c), Y(b, c)
}
function V(b) {
if (ya = W(b), qa && !ya) {
var c = Ha ? pa : w;
ja(c, c.get("state"))
}
a.toggleClass(ka, "jw-flag-audio-player", ya)
}
function W(a) {
if (w.get("aspectratio")) return !1;
if (p.isString(a) && a.indexOf("%") > -1) return !1;
var b = p.isNumber(a) ? a : w.get("containerHeight");
return X(b)
}
function X(a) {
return a && a <= Ga * (t ? 1.75 : 1)
}
function Y(b, c) {
if (!b || isNaN(Number(b))) {
if (!ma) return;
b = ma.clientWidth
}
if (!c || isNaN(Number(c))) {
if (!ma) return;
c = ma.clientHeight
}
a.isMSIE(9) && document.all && !window.atob && (b = c = "100%");
var d = w.getVideo();
if (d) {
var e = d.resize(b, c, w.get("stretching"));
e && (clearTimeout(Ja), Ja = setTimeout(Y, 250)), qa.checkCompactMode(b), xa && xa.resize()
}
}
function Z() {
if (La) {
var a = document.fullscreenElement || document.webkitCurrentFullScreenElement || document.mozFullScreenElement || document.msFullscreenElement;
return !(!a || a.id !== w.get("id"))
}
return Ha ? pa.getVideo().getFullScreen() : w.getVideo().getFullScreen()
}
function $(a) {
var b = w.get("fullscreen"),
c = void 0 !== a.jwstate ? a.jwstate : Z();
b !== c && w.set("fullscreen", c), clearTimeout(Ja), Ja = setTimeout(Y, 200)
}
function _(b, c) {
a.removeClass(b, "jw-flag-fullscreen"), c ? (a.addClass(b, "jw-flag-fullscreen"), r(document.body, {
"overflow-y": "hidden"
}), ba()) : r(document.body, {
"overflow-y": ""
}), Y()
}
function aa() {
Ia = !1, clearTimeout(Ea), qa.hideComponents(), a.addClass(ka, "jw-flag-user-inactive"), v.setMouse(!1)
}
function ba() {
Ia || (a.removeClass(ka, "jw-flag-user-inactive"), qa.checkCompactMode(ma.clientWidth)), Ia = !0, clearTimeout(Ea), Ea = setTimeout(aa, Fa), v.setMouse(!0)
}
function ca() {
v.setFullscreen(!1)
}
function da() {
ta && ta.setState(w.get("state")), ea(w, w.mediaModel.get("mediaType")), w.mediaModel.on("change:mediaType", ea, this)
}
function ea(b, c) {
var d = "audio" === c,
e = w.getVideo(),
f = e && 0 === e.getName().name.indexOf("flash");
a.toggleClass(ka, "jw-flag-media-audio", d), d && !f ? ka.insertBefore(ra.el, ma) : ka.insertBefore(ra.el, xa.element())
}
function fa(b, c) {
var d = "LIVE" === a.adaptiveType(c);
a.toggleClass(ka, "jw-flag-live", d), Na.setAltText(d ? "Live Broadcast" : "")
}
function ga(a, b) {
return b ? void(b.name ? wa.updateText(b.name, b.message) : wa.updateText(b.message, "")) : void wa.playlistItem(a, a.get("playlistItem"))
}
function ha() {
var a = w.getVideo();
return !!a && a.isCaster
}
function ia() {
a.replaceClass(ka, /jw-state-\S+/, "jw-state-" + Aa)
}
function ja(b, c) {
if (Aa = c, clearTimeout(Ka), c === f.COMPLETE || c === f.IDLE ? Ka = setTimeout(ia, 100) : ia(), ha()) return void a.addClass(ma, "jw-media-show");
switch (c) {
case f.PLAYING:
Y();
break;
case f.PAUSED:
ba()
}
}
var ka, la, ma, na, oa, pa, qa, ra, sa, ta, ua, va, wa, xa, ya, za, Aa, Ba, Ca, Da, Ea = -1,
Fa = t ? 4e3 : 2e3,
Ga = 40,
Ha = !1,
Ia = !1,
Ja = -1,
Ka = -1,
La = !1,
Ma = !1,
Na = p.extend(this, d);
window.webpackJsonpjwplayer && c(156), this.model = w, this.api = v, ka = a.createElement(q({
id: w.get("id")
})), a.isIE() && a.addClass(ka, "jw-ie");
var Oa = w.get("width"),
Pa = w.get("height");
r(ka, {
width: Oa.toString().indexOf("%") > 0 ? Oa : Oa + "px",
height: Pa.toString().indexOf("%") > 0 ? Pa : Pa + "px"
}), Ca = ka.requestFullscreen || ka.webkitRequestFullscreen || ka.webkitRequestFullScreen || ka.mozRequestFullScreen || ka.msRequestFullscreen, Da = document.exitFullscreen || document.webkitExitFullscreen || document.webkitCancelFullScreen || document.mozCancelFullScreen || document.msExitFullscreen, La = Ca && Da, this.onChangeSkin = function(b, c) {
a.replaceClass(ka, /jw-skin-\S+/, c ? "jw-skin-" + c : "")
}, this.handleColorOverrides = function() {
function b(b, d, e) {
if (e) {
b = a.prefix(b, "#" + c + " ");
var f = {};
f[d] = e, a.css(b.join(", "), f)
}
}
var c = w.get("id"),
d = w.get("skinColorActive"),
e = w.get("skinColorInactive"),
f = w.get("skinColorBackground");
b([".jw-toggle", ".jw-button-color:hover"], "color", d), b([".jw-active-option", ".jw-progress", ".jw-playlist-container .jw-option.jw-active-option", ".jw-playlist-container .jw-option:hover"], "background", d), b([".jw-text", ".jw-option", ".jw-button-color", ".jw-toggle.jw-off", ".jw-tooltip-title", ".jw-skip .jw-skip-icon", ".jw-playlist-container .jw-icon"], "color", e), b([".jw-cue", ".jw-knob"], "background", e), b([".jw-playlist-container .jw-option"], "border-bottom-color", e), b([".jw-background-color", ".jw-tooltip-title", ".jw-playlist", ".jw-playlist-container .jw-option"], "background", f), b([".jw-playlist-container ::-webkit-scrollbar"], "border-color", f)
}, this.setup = function() {
this.handleColorOverrides(), w.get("skin-loading") === !0 && (a.addClass(ka, "jw-flag-skin-loading"), w.once("change:skin-loading", function() {
a.removeClass(ka, "jw-flag-skin-loading")
})), this.onChangeSkin(w, w.get("skin"), ""), w.on("change:skin", this.onChangeSkin, this), ma = ka.getElementsByClassName("jw-media")[0], la = ka.getElementsByClassName("jw-controls")[0];
var c = ka.getElementsByClassName("jw-preview")[0];
ra = new m(w), ra.setup(c);
var d = ka.getElementsByClassName("jw-title")[0];
wa = new o(w), wa.setup(d), R(), ba(), w.set("mediaContainer", ma), w.mediaController.on("fullscreenchange", $);
for (var e = u.length; e--;) document.addEventListener(u[e], $, !1);
window.removeEventListener("resize", E), window.addEventListener("resize", E, !1), t && (window.removeEventListener("orientationchange", E), window.addEventListener("orientationchange", E, !1)), w.on("change:errorEvent", ga), w.on("change:controls", Qa), Qa(w, w.get("controls")), w.on("change:state", ja), w.on("change:duration", fa, this), w.on("change:flashBlocked", P), P(w, w.get("flashBlocked")), v.onPlaylistComplete(ca), v.onPlaylistItem(da), w.on("change:castAvailable", G), G(w, w.get("castAvailable")), w.on("change:castActive", F), F(w, w.get("castActive")), w.get("stretching") && H(w, w.get("stretching")), w.on("change:stretching", H), ja(w, f.IDLE), w.on("change:fullscreen", Ra), J(qa), J(va);
var g = w.get("aspectratio");
if (g) {
a.addClass(ka, "jw-flag-aspect-mode");
var h = ka.getElementsByClassName("jw-aspect")[0];
r(h, {
paddingTop: g
})
}
v.on(b.JWPLAYER_READY, function() {
E(), U(w.get("width"), w.get("height"))
})
};
var Qa = function(b, c) {
if (c) {
var d = Ha ? pa.get("state") : w.get("state");
ja(b, d)
}
a.toggleClass(ka, "jw-flag-controls-disabled", !c)
},
Ra = function(b, c) {
var d = w.getVideo();
La ? (c ? Ca.apply(ka) : Da.apply(document), _(ka, c)) : a.isIE() ? _(ka, c) : (pa && pa.getVideo() && pa.getVideo().setFullscreen(c), d.setFullscreen(c)), d && 0 === d.getName().name.indexOf("flash") && d.setFullscreen(c)
};
this.resize = function(a, b) {
var c = !0;
U(a, b, c), E(), xa && xa.resize()
}, this.resizeMedia = Y, this.reset = function() {
document.contains(ka) && ka.parentNode.replaceChild(Ba, ka), a.emptyElement(ka)
}, this.setupInstream = function(b) {
this.instreamModel = pa = b, pa.on("change:controls", Qa, this), pa.on("change:state", ja, this), Ha = !0, a.addClass(ka, "jw-flag-ads"), ba()
}, this.setAltText = function(a) {
qa.setAltText(a)
}, this.useExternalControls = function() {
a.addClass(ka, "jw-flag-ads-hide-controls")
}, this.destroyInstream = function() {
if (Ha = !1, pa && (pa.off(null, null, this), pa = null), this.setAltText(""), a.removeClass(ka, "jw-flag-ads"), a.removeClass(ka, "jw-flag-ads-hide-controls"), w.getVideo) {
var b = w.getVideo();
b.setContainer(ma)
}
fa(w, w.get("duration")), sa.revertAlternateClickHandlers()
}, this.addCues = function(a) {
qa && qa.addCues(a)
}, this.clickHandler = function() {
return sa
}, this.controlsContainer = function() {
return la
}, this.getContainer = this.element = function() {
return ka
}, this.getSafeRegion = function(b) {
var c = {
x: 0,
y: 0,
width: w.get("containerWidth") || 0,
height: w.get("containerHeight") || 0
},
d = w.get("dock");
return d && d.length && w.get("controls") && (c.y = ua.element().clientHeight, c.height -= c.y), b = b || !a.exists(b), b && w.get("controls") && (c.height -= qa.element().clientHeight), c
}, this.destroy = function() {
window.removeEventListener("resize", E), window.removeEventListener("orientationchange", E);
for (var b = u.length; b--;) document.removeEventListener(u[b], $, !1);
w.mediaController && w.mediaController.off("fullscreenchange", $), ka.removeEventListener("keydown", A, !1), za && za.destroy(), ta && (w.off("change:state", ta.statusDelegate), ta.destroy(), ta = null), Ha && this.destroyInstream(), va && va.destroy(), a.clearCss("#" + w.get("id"))
}, this.reloadPlaylistItem = function(a) {
qa.reloadPlaylistItem(a)
}, this.setCaptionBack = function(a) {
xa.setCaptionBack(a)
}, this.setCaptionDelay = function(a) {
xa.setCaptionDelay(a)
}, this.setCaptionColor = function(a) {
xa.setCaptionColor(a)
}, this.setCaptionLine = function(a) {
xa.setCaptionLine(a)
}, this.setCaptionSize = function(a) {
xa.setCaptionSize(a)
}, this.setCaptionFont = function(a) {
xa.setCaptionFont(a)
}, this.setCaptionSecond = function(a) {
xa.setSecondCaptionsTrack(a)
}, this.getCaptionStyle = function() {
return xa.getCaptionStyle()
}
};
return v
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(108), c(46), c(44), c(43), c(45), c(109)], e = function(a, b, c, d, e, f) {
var g = b.style,
h = {
linktarget: "_blank",
margin: 8,
hide: !1,
position: "top-right"
},
i = function(i) {
var j, k, l = new Image,
m = d.extend({}, i.get("logo"));
return d.extend(this, e), this.setup = function(e) {
if (k = d.extend({}, h, m), k.hide = "true" === k.hide.toString(), j = b.createElement(f()), k.file) {
k.hide && b.addClass(j, "jw-hide"), b.addClass(j, "jw-logo-" + (k.position || h.position)), "top-right" === k.position && (i.on("change:dock", this.topRight, this), i.on("change:controls", this.topRight, this), this.topRight(i)), i.set("logo", k), l.onload = function() {
var a = {
backgroundImage: 'url("' + this.src + '")',
width: this.width,
height: this.height
};
if (k.margin !== h.margin) {
var b = /(\w+)-(\w+)/.exec(k.position);
3 === b.length && (a["margin-" + b[1]] = k.margin, a["margin-" + b[2]] = k.margin)
}
g(j, a), i.set("logoWidth", a.width)
}, l.src = k.file;
var n = new a(j);
n.on("click tap", function(a) {
b.exists(a) && a.stopPropagation && a.stopPropagation(), this.trigger(c.JWPLAYER_LOGO_CLICK, {
link: k.link,
linktarget: k.linktarget
})
}, this), e.appendChild(j)
}
}, this.topRight = function(a) {
var b = a.get("controls"),
c = a.get("dock"),
d = b && (c && c.length || a.get("sharing") || a.get("related"));
g(j, {
top: d ? "3.5em" : 0
})
}, this.element = function() {
return j
}, this.position = function() {
return k.position
}, this.destroy = function() {
l.onload = null
}, this
};
return i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(45), c(44), c(43), c(46)], e = function(a, b, c, d) {
function e(a, b) {
return /touch/.test(a.type) ? (a.originalEvent || a).changedTouches[0]["page" + b] : a["page" + b]
}
function f(a) {
var b = a || window.event;
return a instanceof MouseEvent && ("which" in b ? 3 === b.which : "button" in b && 2 === b.button)
}
function g(a, b, c) {
var d;
return d = b instanceof MouseEvent || !b.touches && !b.changedTouches ? b : b.touches && b.touches.length ? b.touches[0] : b.changedTouches[0], {
type: a,
target: b.target,
currentTarget: c,
pageX: d.pageX,
pageY: d.pageY
}
}
function h(a) {
(a instanceof MouseEvent || a instanceof window.TouchEvent) && (a.preventManipulation && a.preventManipulation(), a.cancelable && a.preventDefault && a.preventDefault())
}
var i = !c.isUndefined(window.PointerEvent),
j = !i && d.isMobile(),
k = !i && !j,
l = d.isFF() && d.isOSX(),
m = function(a, d) {
function j(a) {
(k || i && "touch" !== a.pointerType) && r(b.touchEvents.OVER, a)
}
function m(a) {
(k || i && "touch" !== a.pointerType) && r(b.touchEvents.MOVE, a)
}
function n(c) {
(k || i && "touch" !== c.pointerType && !a.contains(document.elementFromPoint(c.x, c.y))) && r(b.touchEvents.OUT, c)
}
function o(b) {
s = b.target, w = e(b, "X"), x = e(b, "Y"), f(b) || (i ? b.isPrimary && (d.preventScrolling && (t = b.pointerId, a.setPointerCapture(t)), a.addEventListener("pointermove", p), a.addEventListener("pointercancel", q), a.addEventListener("pointerup", q)) : k && (document.addEventListener("mousemove", p), l && "object" === b.target.nodeName.toLowerCase() ? a.addEventListener("click", q) : document.addEventListener("mouseup", q)), s.addEventListener("touchmove", p), s.addEventListener("touchcancel", q), s.addEventListener("touchend", q))
}
function p(a) {
var c = b.touchEvents,
f = 6;
if (v) r(c.DRAG, a);
else {
var g = e(a, "X"),
i = e(a, "Y"),
j = g - w,
k = i - x;
j * j + k * k > f * f && (r(c.DRAG_START, a), v = !0, r(c.DRAG, a))
}
d.preventScrolling && h(a)
}
function q(c) {
var e = b.touchEvents;
i ? (d.preventScrolling && a.releasePointerCapture(t), a.removeEventListener("pointermove", p), a.removeEventListener("pointercancel", q), a.removeEventListener("pointerup", q)) : k && (document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", q)), s.removeEventListener("touchmove", p), s.removeEventListener("touchcancel", q), s.removeEventListener("touchend", q), v ? r(e.DRAG_END, c) : d.directSelect && c.target !== a || c.type.indexOf("cancel") !== -1 || (i && c instanceof window.PointerEvent ? "touch" === c.pointerType ? r(e.TAP, c) : r(e.CLICK, c) : k ? r(e.CLICK, c) : (r(e.TAP, c), h(c))), s = null, v = !1
}
function r(a, e) {
var f;
if (d.enableDoubleTap && (a === b.touchEvents.CLICK || a === b.touchEvents.TAP))
if (c.now() - y < z) {
var h = a === b.touchEvents.CLICK ? b.touchEvents.DOUBLE_CLICK : b.touchEvents.DOUBLE_TAP;
f = g(h, e, u), A.trigger(h, f), y = 0
} else y = c.now();
f = g(a, e, u), A.trigger(a, f)
}
var s, t, u = a,
v = !1,
w = 0,
x = 0,
y = 0,
z = 300;
d = d || {}, i ? (a.addEventListener("pointerdown", o), d.useHover && (a.addEventListener("pointerover", j), a.addEventListener("pointerout", n)), d.useMove && a.addEventListener("pointermove", m)) : k && (a.addEventListener("mousedown", o), d.useHover && (a.addEventListener("mouseover", j), a.addEventListener("mouseout", n)), d.useMove && a.addEventListener("mousemove", m)), a.addEventListener("touchstart", o);
var A = this;
return this.triggerEvent = r, this.destroy = function() {
a.removeEventListener("touchstart", o), a.removeEventListener("mousedown", o), s && (s.removeEventListener("touchmove", p), s.removeEventListener("touchcancel", q), s.removeEventListener("touchend", q)), i && (d.preventScrolling && a.releasePointerCapture(t), a.removeEventListener("pointerover", j), a.removeEventListener("pointerdown", o), a.removeEventListener("pointermove", p), a.removeEventListener("pointermove", m), a.removeEventListener("pointercancel", q), a.removeEventListener("pointerout", n), a.removeEventListener("pointerup", q)), a.removeEventListener("click", q), a.removeEventListener("mouseover", j), a.removeEventListener("mousemove", m), a.removeEventListener("mouseout", n), document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", q)
}, this
};
return c.extend(m.prototype, a), m
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
return '<div class="jw-logo jw-reset"></div>'
},
useData: !0
})
}, function(a, b, c) {
a.exports = c(111)["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
function e(a) {
if (a && a.__esModule) return a;
var b = {};
if (null != a)
for (var c in a) Object.prototype.hasOwnProperty.call(a, c) && (b[c] = a[c]);
return b["default"] = a, b
}
function f() {
var a = new h.HandlebarsEnvironment;
return n.extend(a, h), a.SafeString = j["default"], a.Exception = l["default"], a.Utils = n, a.escapeExpression = n.escapeExpression, a.VM = p, a.template = function(b) {
return p.template(b, a)
}, a
}
b.__esModule = !0;
var g = c(112),
h = e(g),
i = c(126),
j = d(i),
k = c(114),
l = d(k),
m = c(113),
n = e(m),
o = c(127),
p = e(o),
q = c(128),
r = d(q),
s = f();
s.create = f, r["default"](s), s["default"] = s, b["default"] = s, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
function e(a, b, c) {
this.helpers = a || {}, this.partials = b || {}, this.decorators = c || {}, i.registerDefaultHelpers(this), j.registerDefaultDecorators(this)
}
b.__esModule = !0, b.HandlebarsEnvironment = e;
var f = c(113),
g = c(114),
h = d(g),
i = c(115),
j = c(123),
k = c(125),
l = d(k),
m = "4.0.5";
b.VERSION = m;
var n = 7;
b.COMPILER_REVISION = n;
var o = {
1: "<= 1.0.rc.2",
2: "== 1.0.0-rc.3",
3: "== 1.0.0-rc.4",
4: "== 1.x.x",
5: "== 2.0.0-alpha.x",
6: ">= 2.0.0-beta.1",
7: ">= 4.0.0"
};
b.REVISION_CHANGES = o;
var p = "[object Object]";
e.prototype = {
constructor: e,
logger: l["default"],
log: l["default"].log,
registerHelper: function(a, b) {
if (f.toString.call(a) === p) {
if (b) throw new h["default"]("Arg not supported with multiple helpers");
f.extend(this.helpers, a)
} else this.helpers[a] = b
},
unregisterHelper: function(a) {
delete this.helpers[a]
},
registerPartial: function(a, b) {
if (f.toString.call(a) === p) f.extend(this.partials, a);
else {
if ("undefined" == typeof b) throw new h["default"]('Attempting to register a partial called "' + a + '" as undefined');
this.partials[a] = b
}
},
unregisterPartial: function(a) {
delete this.partials[a]
},
registerDecorator: function(a, b) {
if (f.toString.call(a) === p) {
if (b) throw new h["default"]("Arg not supported with multiple decorators");
f.extend(this.decorators, a)
} else this.decorators[a] = b
},
unregisterDecorator: function(a) {
delete this.decorators[a]
}
};
var q = l["default"].log;
b.log = q, b.createFrame = f.createFrame, b.logger = l["default"]
}, function(a, b) {
"use strict";
function c(a) {
return k[a]
}
function d(a) {
for (var b = 1; b < arguments.length; b++)
for (var c in arguments[b]) Object.prototype.hasOwnProperty.call(arguments[b], c) && (a[c] = arguments[b][c]);
return a
}
function e(a, b) {
for (var c = 0, d = a.length; c < d; c++)
if (a[c] === b) return c;
return -1
}
function f(a) {
if ("string" != typeof a) {
if (a && a.toHTML) return a.toHTML();
if (null == a) return "";
if (!a) return a + "";
a = "" + a
}
return m.test(a) ? a.replace(l, c) : a
}
function g(a) {
return !a && 0 !== a || !(!p(a) || 0 !== a.length)
}
function h(a) {
var b = d({}, a);
return b._parent = a, b
}
function i(a, b) {
return a.path = b, a
}
function j(a, b) {
return (a ? a + "." : "") + b
}
b.__esModule = !0, b.extend = d, b.indexOf = e, b.escapeExpression = f, b.isEmpty = g, b.createFrame = h, b.blockParams = i, b.appendContextPath = j;
var k = {
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#x27;",
"`": "&#x60;",
"=": "&#x3D;"
},
l = /[&<>"'`=]/g,
m = /[&<>"'`=]/,
n = Object.prototype.toString;
b.toString = n;
var o = function(a) {
return "function" == typeof a
};
o(/x/) && (b.isFunction = o = function(a) {
return "function" == typeof a && "[object Function]" === n.call(a)
}), b.isFunction = o;
var p = Array.isArray || function(a) {
return !(!a || "object" != typeof a) && "[object Array]" === n.call(a)
};
b.isArray = p
}, function(a, b) {
"use strict";
function c(a, b) {
var e = b && b.loc,
f = void 0,
g = void 0;
e && (f = e.start.line, g = e.start.column, a += " - " + f + ":" + g);
for (var h = Error.prototype.constructor.call(this, a), i = 0; i < d.length; i++) this[d[i]] = h[d[i]];
Error.captureStackTrace && Error.captureStackTrace(this, c);
try {
e && (this.lineNumber = f, Object.defineProperty ? Object.defineProperty(this, "column", {
value: g
}) : this.column = g)
} catch (j) {}
}
b.__esModule = !0;
var d = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"];
c.prototype = new Error, b["default"] = c, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
function e(a) {
g["default"](a), i["default"](a), k["default"](a), m["default"](a), o["default"](a), q["default"](a), s["default"](a)
}
b.__esModule = !0, b.registerDefaultHelpers = e;
var f = c(116),
g = d(f),
h = c(117),
i = d(h),
j = c(118),
k = d(j),
l = c(119),
m = d(l),
n = c(120),
o = d(n),
p = c(121),
q = d(p),
r = c(122),
s = d(r)
}, function(a, b, c) {
"use strict";
b.__esModule = !0;
var d = c(113);
b["default"] = function(a) {
a.registerHelper("blockHelperMissing", function(b, c) {
var e = c.inverse,
f = c.fn;
if (b === !0) return f(this);
if (b === !1 || null == b) return e(this);
if (d.isArray(b)) return b.length > 0 ? (c.ids && (c.ids = [c.name]), a.helpers.each(b, c)) : e(this);
if (c.data && c.ids) {
var g = d.createFrame(c.data);
g.contextPath = d.appendContextPath(c.data.contextPath, c.name), c = {
data: g
}
}
return f(b, c)
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
b.__esModule = !0;
var e = c(113),
f = c(114),
g = d(f);
b["default"] = function(a) {
a.registerHelper("each", function(a, b) {
function c(b, c, f) {
j && (j.key = b, j.index = c, j.first = 0 === c, j.last = !!f, k && (j.contextPath = k + b)), i += d(a[b], {
data: j,
blockParams: e.blockParams([a[b], b], [k + b, null])
})
}
if (!b) throw new g["default"]("Must pass iterator to #each");
var d = b.fn,
f = b.inverse,
h = 0,
i = "",
j = void 0,
k = void 0;
if (b.data && b.ids && (k = e.appendContextPath(b.data.contextPath, b.ids[0]) + "."), e.isFunction(a) && (a = a.call(this)), b.data && (j = e.createFrame(b.data)), a && "object" == typeof a)
if (e.isArray(a))
for (var l = a.length; h < l; h++) h in a && c(h, h, h === a.length - 1);
else {
var m = void 0;
for (var n in a) a.hasOwnProperty(n) && (void 0 !== m && c(m, h - 1), m = n, h++);
void 0 !== m && c(m, h - 1, !0)
}
return 0 === h && (i = f(this)), i
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
b.__esModule = !0;
var e = c(114),
f = d(e);
b["default"] = function(a) {
a.registerHelper("helperMissing", function() {
if (1 !== arguments.length) throw new f["default"]('Missing helper: "' + arguments[arguments.length - 1].name + '"')
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
b.__esModule = !0;
var d = c(113);
b["default"] = function(a) {
a.registerHelper("if", function(a, b) {
return d.isFunction(a) && (a = a.call(this)), !b.hash.includeZero && !a || d.isEmpty(a) ? b.inverse(this) : b.fn(this)
}), a.registerHelper("unless", function(b, c) {
return a.helpers["if"].call(this, b, {
fn: c.inverse,
inverse: c.fn,
hash: c.hash
})
})
}, a.exports = b["default"]
}, function(a, b) {
"use strict";
b.__esModule = !0, b["default"] = function(a) {
a.registerHelper("log", function() {
for (var b = [void 0], c = arguments[arguments.length - 1], d = 0; d < arguments.length - 1; d++) b.push(arguments[d]);
var e = 1;
null != c.hash.level ? e = c.hash.level : c.data && null != c.data.level && (e = c.data.level), b[0] = e, a.log.apply(a, b)
})
}, a.exports = b["default"]
}, function(a, b) {
"use strict";
b.__esModule = !0, b["default"] = function(a) {
a.registerHelper("lookup", function(a, b) {
return a && a[b]
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
b.__esModule = !0;
var d = c(113);
b["default"] = function(a) {
a.registerHelper("with", function(a, b) {
d.isFunction(a) && (a = a.call(this));
var c = b.fn;
if (d.isEmpty(a)) return b.inverse(this);
var e = b.data;
return b.data && b.ids && (e = d.createFrame(b.data), e.contextPath = d.appendContextPath(b.data.contextPath, b.ids[0])), c(a, {
data: e,
blockParams: d.blockParams([a], [e && e.contextPath])
})
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
function e(a) {
g["default"](a)
}
b.__esModule = !0, b.registerDefaultDecorators = e;
var f = c(124),
g = d(f)
}, function(a, b, c) {
"use strict";
b.__esModule = !0;
var d = c(113);
b["default"] = function(a) {
a.registerDecorator("inline", function(a, b, c, e) {
var f = a;
return b.partials || (b.partials = {}, f = function(e, f) {
var g = c.partials;
c.partials = d.extend({}, g, b.partials);
var h = a(e, f);
return c.partials = g, h
}), b.partials[e.args[0]] = e.fn, f
})
}, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
b.__esModule = !0;
var d = c(113),
e = {
methodMap: ["debug", "info", "warn", "error"],
level: "info",
lookupLevel: function(a) {
if ("string" == typeof a) {
var b = d.indexOf(e.methodMap, a.toLowerCase());
a = b >= 0 ? b : parseInt(a, 10)
}
return a
},
log: function(a) {
if (a = e.lookupLevel(a), "undefined" != typeof console && e.lookupLevel(e.level) <= a) {
var b = e.methodMap[a];
console[b] || (b = "log");
for (var c = arguments.length, d = Array(c > 1 ? c - 1 : 0), f = 1; f < c; f++) d[f - 1] = arguments[f];
console[b].apply(console, d)
}
}
};
b["default"] = e, a.exports = b["default"];
}, function(a, b) {
"use strict";
function c(a) {
this.string = a
}
b.__esModule = !0, c.prototype.toString = c.prototype.toHTML = function() {
return "" + this.string
}, b["default"] = c, a.exports = b["default"]
}, function(a, b, c) {
"use strict";
function d(a) {
return a && a.__esModule ? a : {
"default": a
}
}
function e(a) {
if (a && a.__esModule) return a;
var b = {};
if (null != a)
for (var c in a) Object.prototype.hasOwnProperty.call(a, c) && (b[c] = a[c]);
return b["default"] = a, b
}
function f(a) {
var b = a && a[0] || 1,
c = r.COMPILER_REVISION;
if (b !== c) {
if (b < c) {
var d = r.REVISION_CHANGES[c],
e = r.REVISION_CHANGES[b];
throw new q["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + d + ") or downgrade your runtime to an older version (" + e + ").")
}
throw new q["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + a[1] + ").")
}
}
function g(a, b) {
function c(c, d, e) {
e.hash && (d = o.extend({}, d, e.hash), e.ids && (e.ids[0] = !0)), c = b.VM.resolvePartial.call(this, c, d, e);
var f = b.VM.invokePartial.call(this, c, d, e);
if (null == f && b.compile && (e.partials[e.name] = b.compile(c, a.compilerOptions, b), f = e.partials[e.name](d, e)), null != f) {
if (e.indent) {
for (var g = f.split("\n"), h = 0, i = g.length; h < i && (g[h] || h + 1 !== i); h++) g[h] = e.indent + g[h];
f = g.join("\n")
}
return f
}
throw new q["default"]("The partial " + e.name + " could not be compiled when running in runtime-only mode")
}
function d(b) {
function c(b) {
return "" + a.main(e, b, e.helpers, e.partials, g, i, h)
}
var f = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
g = f.data;
d._setup(f), !f.partial && a.useData && (g = l(b, g));
var h = void 0,
i = a.useBlockParams ? [] : void 0;
return a.useDepths && (h = f.depths ? b != f.depths[0] ? [b].concat(f.depths) : f.depths : [b]), (c = m(a.main, c, e, f.depths || [], g, i))(b, f)
}
if (!b) throw new q["default"]("No environment passed to template");
if (!a || !a.main) throw new q["default"]("Unknown template object: " + typeof a);
a.main.decorator = a.main_d, b.VM.checkRevision(a.compiler);
var e = {
strict: function(a, b) {
if (!(b in a)) throw new q["default"]('"' + b + '" not defined in ' + a);
return a[b]
},
lookup: function(a, b) {
for (var c = a.length, d = 0; d < c; d++)
if (a[d] && null != a[d][b]) return a[d][b]
},
lambda: function(a, b) {
return "function" == typeof a ? a.call(b) : a
},
escapeExpression: o.escapeExpression,
invokePartial: c,
fn: function(b) {
var c = a[b];
return c.decorator = a[b + "_d"], c
},
programs: [],
program: function(a, b, c, d, e) {
var f = this.programs[a],
g = this.fn(a);
return b || e || d || c ? f = h(this, a, g, b, c, d, e) : f || (f = this.programs[a] = h(this, a, g)), f
},
data: function(a, b) {
for (; a && b--;) a = a._parent;
return a
},
merge: function(a, b) {
var c = a || b;
return a && b && a !== b && (c = o.extend({}, b, a)), c
},
noop: b.VM.noop,
compilerInfo: a.compiler
};
return d.isTop = !0, d._setup = function(c) {
c.partial ? (e.helpers = c.helpers, e.partials = c.partials, e.decorators = c.decorators) : (e.helpers = e.merge(c.helpers, b.helpers), a.usePartial && (e.partials = e.merge(c.partials, b.partials)), (a.usePartial || a.useDecorators) && (e.decorators = e.merge(c.decorators, b.decorators)))
}, d._child = function(b, c, d, f) {
if (a.useBlockParams && !d) throw new q["default"]("must pass block params");
if (a.useDepths && !f) throw new q["default"]("must pass parent depths");
return h(e, b, a[b], c, 0, d, f)
}, d
}
function h(a, b, c, d, e, f, g) {
function h(b) {
var e = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
h = g;
return g && b != g[0] && (h = [b].concat(g)), c(a, b, a.helpers, a.partials, e.data || d, f && [e.blockParams].concat(f), h)
}
return h = m(c, h, a, g, d, f), h.program = b, h.depth = g ? g.length : 0, h.blockParams = e || 0, h
}
function i(a, b, c) {
if (a) a.call || c.name || (c.name = a, a = c.partials[a]);
else if ("@partial-block" === c.name) {
for (var d = c.data; d["partial-block"] === k;) d = d._parent;
a = d["partial-block"], d["partial-block"] = k
} else a = c.partials[c.name];
return a
}
function j(a, b, c) {
c.partial = !0, c.ids && (c.data.contextPath = c.ids[0] || c.data.contextPath);
var d = void 0;
if (c.fn && c.fn !== k && (c.data = r.createFrame(c.data), d = c.data["partial-block"] = c.fn, d.partials && (c.partials = o.extend({}, c.partials, d.partials))), void 0 === a && d && (a = d), void 0 === a) throw new q["default"]("The partial " + c.name + " could not be found");
if (a instanceof Function) return a(b, c)
}
function k() {
return ""
}
function l(a, b) {
return b && "root" in b || (b = b ? r.createFrame(b) : {}, b.root = a), b
}
function m(a, b, c, d, e, f) {
if (a.decorator) {
var g = {};
b = a.decorator(b, g, c, d && d[0], e, f, d), o.extend(b, g)
}
return b
}
b.__esModule = !0, b.checkRevision = f, b.template = g, b.wrapProgram = h, b.resolvePartial = i, b.invokePartial = j, b.noop = k;
var n = c(113),
o = e(n),
p = c(114),
q = d(p),
r = c(112)
}, function(a, b) {
(function(c) {
"use strict";
b.__esModule = !0, b["default"] = function(a) {
var b = "undefined" != typeof c ? c : window,
d = b.Handlebars;
a.noConflict = function() {
return b.Handlebars === a && (b.Handlebars = d), a
}
}, a.exports = b["default"]
}).call(b, function() {
return this
}())
}, function(a, b, c) {
var d, e;
d = [c(46), c(52), c(61), c(43)], e = function(a, b, c, d) {
var e = b.style,
f = {
back: !1,
fontSize: 20,
fontFamily: "Arial",
fontOpacity: 100,
color: "#FFFFFF",
backgroundColor: "#000",
backgroundOpacity: 50,
edgeStyle: "uniform",
windowColor: "#FFF",
windowOpacity: 0,
preprocessor: d.identity,
delayTime: 0,
textShadow: "#080808",
captionSecondPos: "below"
},
g = "jwplayer.captionconfig",
h = function(h) {
function i(b) {
b = b || "";
var c = "jw-captions-window jw-reset";
b ? (z.innerHTML = b, y.className = c + " jw-captions-window-active") : (y.className = c, a.empty(z))
}
function j(b) {
if (b = b || "") {
var c = b,
d = "border-top: 1px solid rgba(204, 204, 204, 0.28);";
b = '<div style="padding-top: 5px;margin-top: 5px;text-align: center;' + d + '">', b += c + "</div>", A.innerHTML = b
} else a.empty(A)
}
function k(a) {
w = a, n(s, w)
}
function l(a, b) {
var c = a.source,
e = b.metadata;
return c ? !(!e || !d.isNumber(e[c])) && e[c] : b.position
}
function m(a) {
if (t && t.data) {
var b = l(t, a);
if (b !== !1) {
b += Number(B.delayTime);
var c = t.data;
if (v >= 0 && o(c, v, b));
else {
for (var d = -1, e = 0; e < c.length; e++)
if (o(c, e, b)) {
d = e;
break
}
d === -1 ? j("") : d !== v && (v = d, j(B.preprocessor(c[v].text)))
}
}
} else j("")
}
function n(a, b) {
if (a && a.data && b) {
var c = l(a, b);
if (c !== !1) {
c += Number(B.delayTime);
var d = a.data;
if (!(u >= 0 && o(d, u, c))) {
for (var e = -1, f = 0; f < d.length; f++)
if (o(d, f, c)) {
e = f;
break
}
e === -1 ? i("") : e !== u && (u = e, i(B.preprocessor(d[u].text))), m(b)
}
}
}
}
function o(a, b, c) {
return a[b].begin <= c && (!a[b].end || a[b].end >= c) && (b === a.length - 1 || a[b + 1].begin >= c)
}
function p(a) {
for (var b = a + "=", c = document.cookie.split(";"), d = 0; d < c.length; d++) {
for (var e = c[d];
" " === e.charAt(0);) e = e.substring(1);
if (0 === e.indexOf(b)) return e.substring(b.length, e.length)
}
return ""
}
function q(a, b, c) {
var d = new Date;
c || (c = 30), d.setTime(d.getTime() + 24 * c * 60 * 60 * 1e3);
var e = "expires=" + d.toUTCString();
document.cookie = a + "=" + b + "; " + e
}
function r(a, c, d) {
d = 100;
var e = b.hexToRgba("#000000", d);
c.textShadow && (e = b.hexToRgba(c.textShadow, d)), "dropshadow" === a ? c.textShadow = "0 2px 1px " + e : "raised" === a ? c.textShadow = "0 0 5px " + e + ", 0 1px 5px " + e + ", 0 2px 5px " + e : "depressed" === a ? c.textShadow = "0 -2px 1px " + e : "uniform" === a && (c.textShadow = "-2px 0 1px " + e + ",2px 0 1px " + e + ",0 -2px 1px " + e + ",0 2px 1px " + e + ",-1px 1px 1px " + e + ",1px 1px 1px " + e + ",1px -1px 1px " + e + ",1px 1px 1px " + e)
}
var s, t, u, v, w, x, y, z, A, B = {};
x = document.createElement("div"), x.className = "jw-captions jw-reset", this.show = function() {
x.className = "jw-captions jw-captions-enabled jw-reset"
}, this.hide = function() {
x.className = "jw-captions jw-reset"
}, this.populate = function(a) {
return u = -1, s = a, a ? void n(a, w) : void i("")
}, this.setSecondCaptionsTrack = function(a) {
t = a;
var b = {};
t && t.data ? b = {
minHeight: Math.max(50, z.clientHeight) + "px"
} : b.minHeight = 0, e(A, b)
}, this.setCaptionBack = function(a) {
a === !0 ? B.backgroundOpacity = 50 : B.backgroundOpacity = 0, B.back = a;
var c = {
backgroundColor: b.hexToRgba(B.backgroundColor, B.backgroundOpacity)
};
e(z, c), e(A, c), q(g, JSON.stringify(B))
}, this.setCaptionDelay = function(a) {
B.delayTime = Number(a), q(g, JSON.stringify(B))
}, this.setCaptionColor = function(a) {
B.color = a;
var b = {
color: B.color
};
e(z, b), e(A, b), q(g, JSON.stringify(B))
}, this.setCaptionLine = function(a) {
B.textShadow = a;
var b = {
textShadow: B.textShadow
};
r(B.edgeStyle, b), e(z, b), e(A, b), q(g, JSON.stringify(B))
}, this.setCaptionSize = function(a) {
B.fontSize = a;
var b = {
fontSize: B.fontSize
};
e(z, b), q(g, JSON.stringify(B)), this.resize()
}, this.setCaptionFont = function(a) {
B.fontFamily = a;
var b = {
fontFamily: B.fontFamily
};
e(z, b), e(A, b), q(g, JSON.stringify(B))
}, this.getCaptionStyle = function() {
return B
}, this.resize = function() {
var a = x.clientWidth,
b = Math.pow(a / 400, .6);
if (b > 0) {
var c = {
fontSize: Math.round(B.fontSize * b) + "px"
};
e(z, c), t && t.data && (c.minHeight = Math.max(50, z.clientHeight) + "px"), e(A, c)
}
if (b) {
var d = B.fontSize * b;
e(x, {
fontSize: Math.round(d) + "px"
})
}
}, this.setup = function(a) {
y = document.createElement("div"), z = document.createElement("span"), A = document.createElement("span"), y.className = "jw-captions-window jw-reset", z.className = "jw-captions-text jw-reset";
var c = p(g);
if ("" === c) c = {};
else try {
c = JSON.parse(c)
} catch (i) {
c = {}
}
if (B = d.extend(f, c, a)) {
var j = B.fontOpacity,
k = B.windowOpacity,
l = B.edgeStyle,
m = B.backgroundColor,
n = {},
o = {
color: b.hexToRgba(B.color, j),
fontFamily: B.fontFamily,
fontStyle: B.fontStyle,
fontWeight: B.fontWeight,
textDecoration: B.textDecoration,
textShadow: B.textShadow,
fontSize: B.fontSize,
display: "block"
};
k && (n.backgroundColor = b.hexToRgba(B.windowColor, k)), r(l, o, j), B.back ? o.backgroundColor = b.hexToRgba(m, B.backgroundOpacity) : null === l && r("uniform", o), e(y, n), e(z, o), e(A, o)
}
y.appendChild(z), y.appendChild(A), x.appendChild(y), q(g, JSON.stringify(B)), this.populate(h.get("captionsTrack"))
}, this.element = function() {
return x
}, h.on("change:playlistItem", function() {
w = null, u = -1, i("")
}, this), h.on("change:captionsTrack", function(a, b) {
this.populate(b)
}, this), h.mediaController.on("seek", function() {
u = -1
}, this), h.mediaController.on("time seek", k, this), h.mediaController.on("subtitlesTrackData", function() {
n(s, w)
}, this), h.on("change:state", function(a, b) {
switch (b) {
case c.IDLE:
case c.ERROR:
case c.COMPLETE:
this.hide();
break;
default:
this.show()
}
}, this)
};
return h
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(108), c(44), c(45), c(43)], e = function(a, b, c, d) {
var e = function(e, f, g) {
function h(a) {
if (!e.get("flashBlocked")) return k ? void k(a) : void o.trigger(a.type === b.touchEvents.CLICK ? "click" : "tap")
}
function i() {
return l ? void l() : void o.trigger("doubleClick")
}
var j, k, l, m = {
enableDoubleTap: !0,
useMove: !0
};
d.extend(this, c), j = f, this.element = function() {
return j
};
var n = new a(j, d.extend(m, g));
n.on("click tap", h), n.on("doubleClick doubleTap", i), n.on("move", function() {
o.trigger("move")
}), n.on("over", function() {
o.trigger("over")
}), n.on("out", function() {
o.trigger("out")
}), this.clickHandler = h;
var o = this;
this.setAlternateClickHandlers = function(a, b) {
k = a, l = b || null
}, this.revertAlternateClickHandlers = function() {
k = null, l = null
}
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(45), c(108), c(132), c(43)], e = function(a, b, c, d, e) {
var f = function(f) {
e.extend(this, b), this.model = f, this.el = a.createElement(d({}));
var g = this;
this.iconUI = new c(this.el).on("click tap", function(a) {
g.trigger(a.type)
})
};
return e.extend(f.prototype, {
element: function() {
return this.el
}
}), f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
return '<div class="jw-display-icon-container jw-background-color jw-reset">\r\n <div class="jw-icon jw-icon-display jw-button-color jw-reset"></div>\r\n</div>\r\n'
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(134), c(46), c(43), c(108)], e = function(a, b, c, d) {
var e = function(a) {
this.model = a, this.setup(), this.model.on("change:dock", this.render, this)
};
return c.extend(e.prototype, {
setup: function() {
var c = this.model.get("dock"),
e = this.click.bind(this),
f = a(c);
this.el = b.createElement(f), new d(this.el).on("click tap", e)
},
getDockButton: function(a) {
return b.hasClass(a.target, "jw-dock-button") ? a.target : b.hasClass(a.target, "jw-dock-text") ? a.target.parentElement.parentElement : a.target.parentElement
},
click: function(a) {
var b = this.getDockButton(a),
d = b.getAttribute("button"),
e = this.model.get("dock"),
f = c.findWhere(e, {
id: d
});
f && f.callback && f.callback(a)
},
render: function() {
var c = this.model.get("dock"),
d = a(c),
e = b.createElement(d);
this.el.innerHTML = e.innerHTML
},
element: function() {
return this.el
}
}), e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
1: function(a, b, c, d, e) {
var f, g, h = null != b ? b : {};
return ' <div class="jw-dock-button jw-background-color jw-reset' + (null != (f = c["if"].call(h, null != b ? b.btnClass : b, {
name: "if",
hash: {},
fn: a.program(2, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '" button="' + a.escapeExpression((g = null != (g = c.id || (null != b ? b.id : b)) ? g : c.helperMissing, "function" == typeof g ? g.call(h, {
name: "id",
hash: {},
data: e
}) : g)) + '">\r\n <div class="jw-icon jw-dock-image jw-reset" ' + (null != (f = c["if"].call(h, null != b ? b.img : b, {
name: "if",
hash: {},
fn: a.program(4, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '></div>\r\n <div class="jw-arrow jw-reset"></div>\r\n' + (null != (f = c["if"].call(h, null != b ? b.tooltip : b, {
name: "if",
hash: {},
fn: a.program(6, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + " </div>\r\n"
},
2: function(a, b, c, d, e) {
var f;
return " " + a.escapeExpression((f = null != (f = c.btnClass || (null != b ? b.btnClass : b)) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "btnClass",
hash: {},
data: e
}) : f))
},
4: function(a, b, c, d, e) {
var f;
return "style='background-image: url(\"" + a.escapeExpression((f = null != (f = c.img || (null != b ? b.img : b)) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "img",
hash: {},
data: e
}) : f)) + "\")'"
},
6: function(a, b, c, d, e) {
var f;
return ' <div class="jw-overlay jw-background-color jw-reset">\r\n <span class="jw-text jw-dock-text jw-reset">' + a.escapeExpression((f = null != (f = c.tooltip || (null != b ? b.tooltip : b)) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "tooltip",
hash: {},
data: e
}) : f)) + "</span>\r\n </div>\r\n"
},
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f;
return '<div class="jw-dock jw-reset">\r\n' + (null != (f = c.each.call(null != b ? b : {}, b, {
name: "each",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + "</div>"
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(46), c(43), c(45), c(57), c(108), c(140), c(142), c(136), c(145), c(147), c(149), c(150), c(44)], e = function(a, b, c, d, e, f, g, h, i, j, k, l, m) {
function n(a, b) {
var c = document.createElement("div");
return c.className = "jw-icon jw-icon-inline jw-button-color jw-reset " + a, c.style.display = "none", b && new e(c).on("click tap", function() {
b()
}), {
element: function() {
return c
},
toggle: function(a) {
a ? this.show() : this.hide()
},
show: function() {
c.style.display = ""
},
hide: function() {
c.style.display = "none"
}
}
}
function o(a) {
var b = document.createElement("span");
return b.className = "jw-text jw-reset " + a, b
}
function p(a) {
var b = new h(a);
return b
}
function q(a, c) {
var d = document.createElement("div");
return d.className = "jw-group jw-controlbar-" + a + "-group jw-reset", b.each(c, function(a) {
a.element && (a = a.element()), d.appendChild(a)
}), d
}
function r(b, c) {
this._api = b, this._model = c, this._isMobile = a.isMobile(), this._compactModeMaxSize = 400, this._maxCompactWidth = -1, this.setup()
}
return b.extend(r.prototype, c, {
setup: function() {
this.build(), this.initialize()
},
build: function() {
var a, c, d, e, h, m = new g(this._model, this._api),
r = new l("jw-icon-more");
this._model.get("visualplaylist") !== !1 && (a = new i("jw-icon-playlist")), h = new j("jw-icon-setting"), this._isMobile || (e = n("jw-icon-volume", this._api.setMute), c = new f("jw-slider-volume", "horizontal"), d = new k(this._model, "jw-icon-volume")), this.elements = {
alt: o("jw-text-alt"),
play: n("jw-icon-playback", this._api.play.bind(this, {
reason: "interaction"
})),
prev: n("jw-icon-prev", this._api.playlistPrev.bind(this, {
reason: "interaction"
})),
next: n("jw-icon-next", this._api.playlistNext.bind(this, {
reason: "interaction"
})),
playlist: a,
elapsed: o("jw-text-elapsed"),
time: m,
duration: o("jw-text-duration"),
drawer: r,
hd: p("jw-icon-hd"),
cc: p("jw-icon-cc"),
audiotracks: p("jw-icon-audio-tracks"),
mute: e,
volume: c,
volumetooltip: d,
cast: n("jw-icon-cast jw-off", this._api.castToggle),
fullscreen: n("jw-icon-fullscreen", this._api.setFullscreen),
setting: h
}, this.layout = {
left: [this.elements.prev, this.elements.play, this.elements.next, this.elements.elapsed, this.elements.duration],
center: [this.elements.time, this.elements.alt],
right: [this.elements.hd, this.elements.cc, this.elements.audiotracks, this.elements.drawer, this.elements.playlist, this.elements.setting, this.elements.mute, this.elements.cast, this.elements.volume, this.elements.volumetooltip, this.elements.fullscreen],
drawer: []
}, this.menus = b.compact([this.elements.playlist, this.elements.hd, this.elements.cc, this.elements.audiotracks, this.elements.volumetooltip]), this.layout.left = b.compact(this.layout.left), this.layout.center = b.compact(this.layout.center), this.layout.right = b.compact(this.layout.right), this.layout.drawer = b.compact(this.layout.drawer), this.el = document.createElement("div"), this.el.className = "jw-controlbar jw-background-color jw-reset", this.elements.left = q("left", this.layout.left), this.elements.center = q("center", this.layout.center), this.elements.right = q("right", this.layout.right), this.el.appendChild(this.elements.left), this.el.appendChild(this.elements.center), this.el.appendChild(this.elements.right)
},
initialize: function() {
this.elements.play.show(), this.elements.setting.setup(this._api, this._model), this.elements.fullscreen.show(), this.elements.mute && this.elements.mute.show(), this.onVolume(this._model, this._model.get("volume")), this.onPlaylist(this._model, this._model.get("playlist")), this.onPlaylistItem(this._model, this._model.get("playlistItem")), this.onMediaModel(this._model, this._model.get("mediaModel")), this.onCastAvailable(this._model, this._model.get("castAvailable")), this.onCastActive(this._model, this._model.get("castActive")), this.onCaptionsList(this._model, this._model.get("captionsList")), this._model.on("change:volume", this.onVolume, this), this._model.on("change:mute", this.onMute, this), this._model.on("change:playlist", this.onPlaylist, this), this._model.on("change:playlistItem", this.onPlaylistItem, this), this._model.on("change:mediaModel", this.onMediaModel, this), this._model.on("change:castAvailable", this.onCastAvailable, this), this._model.on("change:castActive", this.onCastActive, this), this._model.on("change:duration", this.onDuration, this), this._model.on("change:position", this.onElapsed, this), this._model.on("change:fullscreen", this.onFullscreen, this), this._model.on("change:captionsList", this.onCaptionsList, this), this._model.on("change:captionsIndex", this.onCaptionsIndex, this), this._model.on("change:compactUI", this.onCompactUI, this), this.elements.volume && this.elements.volume.on("update", function(a) {
var b = a.percentage;
this._api.setVolume(b)
}, this), this.elements.volumetooltip && (this.elements.volumetooltip.on("update", function(a) {
var b = a.percentage;
this._api.setVolume(b)
}, this), this.elements.volumetooltip.on("toggleValue", function() {
this._api.setMute()
}, this)), this.elements.playlist && this.elements.playlist.on("select", function(a) {
this._model.once("itemReady", function() {
this._api.play({
reason: "interaction"
})
}, this), this._api.load(a)
}, this), this.elements.setting.on("bufferchange", function(a) {
this._api.sendEvent("setbuffer", a)
}, this), this.elements.setting.on("playersize", function(a) {
console.log(a)
}, this), this.elements.setting.on("playerspeed", function(a) {
try {
this._api.setSpeed(a)
} catch (b) {}
}, this), this.elements.setting.on("captiondelay", function(a) {
this._api.setCaptionDelay(a)
}, this), this.elements.setting.on("captionback", function(a) {
this._api.setCaptionBack(a)
}, this), this.elements.setting.on("captioncolor", function(a) {
this._api.setCaptionColor(a)
}, this), this.elements.setting.on("captionSecond", function(a) {
if ("hide" === a) this._api.setSecondCaptions(-1);
else {
var b = this._api.getCaptionsList();
if (void 0 !== b && null !== b && b.length > 1) {
var c = this._api.getCurrentCaptions();
2 === c ? this._api.setSecondCaptions(0) : 1 === c && this._api.setSecondCaptions(1)
}
}
}, this), this.elements.setting.on("captionline", function(a) {
this._api.setCaptionLine(a)
}, this), this.elements.setting.on("captionsize", function(a) {
this._api.setCaptionSize(a)
}, this), this.elements.setting.on("sendVideoDune", function() {
this._api.trigger(m.JWPLAYER_SEND_DUNE, {})
}, this), this.elements.hd.on("select", function(a) {
try {
var b = this._model.getVideo().getQualityLevels();
if (b[a].label.toLocaleLowerCase().indexOf("vip") > -1 || b[a].label.toLocaleLowerCase().indexOf("login") > -1) return void this._api.trigger(m.JWPLAYER_VIP_ALERT, {
selecttor: "quality",
quality: a,
lable: b[a].label
})
} catch (c) {
console.log(c)
}
this._model.getVideo().setCurrentQuality(a)
}, this), this.elements.hd.on("toggleValue", function() {
this._model.getVideo().setCurrentQuality(0 === this._model.getVideo().getCurrentQuality() ? 1 : 0)
}, this), this.elements.cc.on("select", function(a) {
this._api.setCurrentCaptions(a)
}, this), this.elements.cc.on("toggleValue", function() {
var a = this._model.get("captionsIndex");
this._api.setCurrentCaptions(a ? 0 : 1)
}, this), this.elements.audiotracks.on("select", function(a) {
this._model.getVideo().setCurrentAudioTrack(a)
}, this), new e(this.elements.duration).on("click tap", function() {
if ("DVR" === a.adaptiveType(this._model.get("duration"))) {
var b = this._model.get("position");
this._api.seek(Math.max(d.dvrSeekLimit, b))
}
}, this), new e(this.el).on("click tap drag", function() {
this.trigger("userAction")
}, this), this.elements.drawer.on("open-drawer close-drawer", function(b, c) {
a.toggleClass(this.el, "jw-drawer-expanded", c.isOpen), c.isOpen || this.closeMenus()
}, this), b.each(this.menus, function(a) {
a.on("open-tooltip", this.closeMenus, this)
}, this)
},
onCaptionsList: function(a, b) {
var c = a.get("captionsIndex");
this.elements.cc.setup(b, c), this.clearCompactMode()
},
onCaptionsIndex: function(a, b) {
this.elements.cc.selectItem(b)
},
onPlaylist: function(a, b) {
var c = b.length > 1;
this.elements.next.toggle(c), this.elements.prev.toggle(c), this.elements.playlist && this.elements.playlist.setup(b, a.get("item"))
},
onPlaylistItem: function(a) {
this.elements.time.updateBuffer(0), this.elements.time.render(0), this.elements.duration.innerHTML = "00:00", this.elements.elapsed.innerHTML = "00:00", this.clearCompactMode();
var b = a.get("item");
this.elements.playlist && this.elements.playlist.selectItem(b), this.elements.audiotracks.setup()
},
onMediaModel: function(c, d) {
d.on("change:levels", function(a, b) {
this.elements.hd.setup(b, a.get("currentLevel")), this.clearCompactMode()
}, this), d.on("change:currentLevel", function(a, b) {
this.elements.hd.selectItem(b)
}, this), d.on("change:audioTracks", function(a, c) {
var d = b.map(c, function(a) {
return {
label: a.name
}
});
this.elements.audiotracks.setup(d, a.get("currentAudioTrack"), {
toggle: !1
}), this.clearCompactMode()
}, this), d.on("change:currentAudioTrack", function(a, b) {
this.elements.audiotracks.selectItem(b)
}, this), d.on("change:state", function(b, c) {
"complete" === c && (this.elements.drawer.closeTooltip(), a.removeClass(this.el, "jw-drawer-expanded"))
}, this)
},
onVolume: function(a, b) {
this.renderVolume(a.get("mute"), b)
},
onMute: function(a, b) {
this.renderVolume(b, a.get("volume"))
},
renderVolume: function(b, c) {
this.elements.mute && a.toggleClass(this.elements.mute.element(), "jw-off", b), this.elements.volume && this.elements.volume.render(b ? 0 : c), this.elements.volumetooltip && (this.elements.volumetooltip.volumeSlider.render(b ? 0 : c), a.toggleClass(this.elements.volumetooltip.element(), "jw-off", b))
},
onCastAvailable: function(a, b) {
this.elements.cast.toggle(b), this.clearCompactMode()
},
onCastActive: function(b, c) {
a.toggleClass(this.elements.cast.element(), "jw-off", !c)
},
onElapsed: function(b, c) {
var d, e = b.get("duration");
d = "DVR" === a.adaptiveType(e) ? "-" + a.timeFormat(-e) : a.timeFormat(c), this.elements.elapsed.innerHTML = d
},
onDuration: function(b, c) {
var d;
"DVR" === a.adaptiveType(c) ? (d = "Live", this.clearCompactMode()) : d = a.timeFormat(c), this.elements.duration.innerHTML = d
},
onFullscreen: function(b, c) {
a.toggleClass(this.elements.fullscreen.element(), "jw-off", c)
},
element: function() {
return this.el
},
getVisibleBounds: function() {
var b, c = this.el,
d = getComputedStyle ? getComputedStyle(c) : c.currentStyle;
return "table" === d.display ? a.bounds(c) : (c.style.visibility = "hidden", c.style.display = "table", b = a.bounds(c), c.style.visibility = c.style.display = "", b)
},
setAltText: function(a) {
this.elements.alt.innerHTML = a
},
addCues: function(a) {
this.elements.time && (b.each(a, function(a) {
this.elements.time.addCue(a)
}, this), this.elements.time.drawCues())
},
closeMenus: function(a) {
b.each(this.menus, function(b) {
a && a.target === b.el || b.closeTooltip(a)
})
},
hideComponents: function() {
this.closeMenus(), this.elements.drawer.closeTooltip(), a.removeClass(this.el, "jw-drawer-expanded")
},
clearCompactMode: function() {
this._maxCompactWidth = -1, this._model.set("compactUI", !1), this._containerWidth && this.checkCompactMode(this._containerWidth)
},
setCompactModeBounds: function() {
if (this.element().offsetWidth > 0) {
var b = this.elements.left.offsetWidth + this.elements.right.offsetWidth;
if ("LIVE" === a.adaptiveType(this._model.get("duration"))) this._maxCompactWidth = b + this.elements.alt.offsetWidth;
else {
var c = b + (this.elements.center.offsetWidth - this.elements.time.el.offsetWidth),
d = .2;
this._maxCompactWidth = c / (1 - d)
}
}
},
checkCompactMode: function(a) {
this._maxCompactWidth === -1 && this.setCompactModeBounds(), this._containerWidth = a, this._model.set("compactUI", !1)
},
onCompactUI: function(c, d) {
a.removeClass(this.el, "jw-drawer-expanded"), this.elements.drawer.setup(this.layout.drawer, d), (!d || this.elements.drawer.activeContents.length < 2) && b.each(this.layout.drawer, function(a) {
this.elements.right.insertBefore(a.el, this.elements.drawer.el)
}, this)
},
reloadPlaylistItem: function(a) {
this.elements.time.reloadPlaylistItem(a)
}
}), r
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(137), c(46), c(43), c(108), c(139)], e = function(a, b, c, d, e) {
var f = a.extend({
setup: function(a, f, g) {
this.iconUI || (this.iconUI = new d(this.el, {
useHover: !0,
directSelect: !0
}), this.toggleValueListener = this.toggleValue.bind(this), this.toggleOpenStateListener = this.toggleOpenState.bind(this), this.openTooltipListener = this.openTooltip.bind(this), this.closeTooltipListener = this.closeTooltip.bind(this), this.selectListener = this.select.bind(this)), this.reset(), a = c.isArray(a) ? a : [], b.toggleClass(this.el, "jw-hidden", a.length < 2);
var h = a.length > 2 || 2 === a.length && g && g.toggle === !1,
i = !1;
b.toggleClass(this.el, "jw-toggle", i), b.toggleClass(this.el, "jw-button-color", !i), this.isActive = h || i, b.removeClass(this.el, "jw-off"), this.iconUI.on("tap", this.toggleOpenStateListener).on("over", this.openTooltipListener).on("out", this.closeTooltipListener);
var j = e(a),
k = b.createElement(j);
this.addContent(k), this.contentUI = new d(this.content).on("click tap", this.selectListener), this.selectItem(f)
},
toggleValue: function() {
this.trigger("toggleValue")
},
select: function(a) {
if (a.target.parentElement === this.content) {
var d = b.classList(a.target),
e = c.find(d, function(a) {
return 0 === a.indexOf("jw-item")
});
e && (this.trigger("select", parseInt(e.split("-")[2])), this.closeTooltipListener())
}
},
selectItem: function(a) {
if (this.content)
for (var c = 0; c < this.content.children.length; c++) b.toggleClass(this.content.children[c], "jw-active-option", a === c);
else b.toggleClass(this.el, "jw-off", 0 === a)
},
reset: function() {
b.addClass(this.el, "jw-off"), this.iconUI.off(), this.contentUI && this.contentUI.off().destroy(), this.removeContent()
}
});
return f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(138), c(46)], e = function(a, b) {
var c = a.extend({
constructor: function(a) {
this.el = document.createElement("div"), this.el.className = "jw-icon jw-icon-tooltip " + a + " jw-button-color jw-reset jw-hidden", this.container = document.createElement("div"), this.container.className = "jw-overlay jw-reset", this.openClass = "jw-open", this.componentType = "tooltip", this.el.appendChild(this.container)
},
addContent: function(a) {
this.content && this.removeContent(), this.content = a, this.container.appendChild(a)
},
removeContent: function() {
this.content && (this.container.removeChild(this.content), this.content = null)
},
hasContent: function() {
return !!this.content
},
element: function() {
return this.el
},
openTooltip: function(a) {
this.trigger("open-" + this.componentType, a, {
isOpen: !0
}), this.isOpen = !0, b.toggleClass(this.el, this.openClass, this.isOpen)
},
closeTooltip: function(a) {
this.trigger("close-" + this.componentType, a, {
isOpen: !1
}), this.isOpen = !1, b.toggleClass(this.el, this.openClass, this.isOpen)
},
toggleOpenState: function(a) {
this.isOpen ? this.closeTooltip(a) : this.openTooltip(a)
}
});
return c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(45), c(43)], e = function(a, b) {
function c() {}
var d = function(a, c) {
var d, e = this;
d = a && b.has(a, "constructor") ? a.constructor : function() {
return e.apply(this, arguments)
}, b.extend(d, e, c);
var f = function() {
this.constructor = d
};
return f.prototype = e.prototype, d.prototype = new f, a && b.extend(d.prototype, a), d.__super__ = e.prototype, d
};
return c.extend = d, b.extend(c.prototype, a), c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
1: function(a, b, c, d, e) {
var f, g = a.escapeExpression;
return " <li class='jw-text jw-option jw-item-" + g((f = null != (f = c.index || e && e.index) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "index",
hash: {},
data: e
}) : f)) + " jw-reset'>" + g(a.lambda(null != b ? b.label : b, b)) + "</li>\r\n"
},
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f;
return '<ul class="jw-menu jw-background-color jw-reset">\r\n' + (null != (f = c.each.call(null != b ? b : {}, b, {
name: "each",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + "</ul>"
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(138), c(108), c(141), c(46)], e = function(a, b, c, d) {
var e = a.extend({
constructor: function(a, b) {
this.className = a + " jw-background-color jw-reset", this.orientation = b, this.dragStartListener = this.dragStart.bind(this), this.dragMoveListener = this.dragMove.bind(this), this.dragEndListener = this.dragEnd.bind(this), this.tapListener = this.tap.bind(this), this.setup()
},
setup: function() {
var a = {
"default": this["default"],
className: this.className,
orientation: "jw-slider-" + this.orientation
};
this.el = d.createElement(c(a)), this.elementRail = this.el.getElementsByClassName("jw-slider-container")[0], this.elementBuffer = this.el.getElementsByClassName("jw-buffer")[0], this.elementProgress = this.el.getElementsByClassName("jw-progress")[0], this.elementThumb = this.el.getElementsByClassName("jw-knob")[0], this.userInteract = new b(this.element(), {
preventScrolling: !0
}), this.userInteract.on("dragStart", this.dragStartListener), this.userInteract.on("drag", this.dragMoveListener), this.userInteract.on("dragEnd", this.dragEndListener), this.userInteract.on("tap click", this.tapListener)
},
dragStart: function() {
this.trigger("dragStart"), this.railBounds = d.bounds(this.elementRail)
},
dragEnd: function(a) {
this.dragMove(a), this.trigger("dragEnd")
},
dragMove: function(a) {
var b, c, e = this.railBounds = this.railBounds ? this.railBounds : d.bounds(this.elementRail);
"horizontal" === this.orientation ? (b = a.pageX, c = b < e.left ? 0 : b > e.right ? 100 : 100 * d.between((b - e.left) / e.width, 0, 1)) : (b = a.pageY, c = b >= e.bottom ? 0 : b <= e.top ? 100 : 100 * d.between((e.height - (b - e.top)) / e.height, 0, 1));
var f = this.limit(c);
return this.render(f), this.update(f), !1
},
tap: function(a) {
this.railBounds = d.bounds(this.elementRail), this.dragMove(a)
},
limit: function(a) {
return a
},
update: function(a) {
this.trigger("update", {
percentage: a
})
},
render: function(a) {
a = Math.max(0, Math.min(a, 100)), "horizontal" === this.orientation ? (this.elementThumb.style.left = a + "%", this.elementProgress.style.width = a + "%") : (this.elementThumb.style.bottom = a + "%", this.elementProgress.style.height = a + "%")
},
updateBuffer: function(a) {
this.elementBuffer.style.width = a + "%"
},
element: function() {
return this.el
}
});
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f, g = null != b ? b : {},
h = c.helperMissing,
i = "function",
j = a.escapeExpression;
return '<div class="' + j((f = null != (f = c.className || (null != b ? b.className : b)) ? f : h, typeof f === i ? f.call(g, {
name: "className",
hash: {},
data: e
}) : f)) + " " + j((f = null != (f = c.orientation || (null != b ? b.orientation : b)) ? f : h, typeof f === i ? f.call(g, {
name: "orientation",
hash: {},
data: e
}) : f)) + ' jw-reset">\r\n <div class="jw-slider-container jw-reset">\r\n <div class="jw-rail jw-reset"></div>\r\n <div class="jw-buffer jw-reset"></div>\r\n <div class="jw-progress jw-reset"></div>\r\n <div class="jw-knob jw-reset"></div>\r\n </div>\r\n</div>'
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(43), c(46), c(57), c(140), c(137), c(143), c(144)],
e = function(a, b, c, d, e, f, g) {
var h = e.extend({
setup: function() {
this.text = document.createElement("span"), this.text.className = "jw-text jw-reset", this.img = document.createElement("div"), this.img.className = "jw-reset";
var a = document.createElement("div");
a.className = "jw-time-tip jw-background-color jw-reset", a.appendChild(this.img), a.appendChild(this.text), b.removeClass(this.el, "jw-hidden"), this.addContent(a)
},
image: function(a) {
b.style(this.img, a)
},
update: function(a) {
this.text.innerHTML = a
}
}),
i = d.extend({
constructor: function(b, c) {
this._model = b, this._api = c, this.timeTip = new h("jw-tooltip-time"), this.timeTip.setup(), this.cues = [], this.seekThrottled = a.throttle(this.performSeek, 400), this._model.on("change:playlistItem", this.onPlaylistItem, this).on("change:position", this.onPosition, this).on("change:duration", this.onDuration, this).on("change:buffer", this.onBuffer, this), d.call(this, "jw-slider-time", "horizontal")
},
setup: function() {
d.prototype.setup.apply(this, arguments), this._model.get("playlistItem") && this.onPlaylistItem(this._model, this._model.get("playlistItem")), this.elementRail.appendChild(this.timeTip.element()), this.el.addEventListener("mousemove", this.showTimeTooltip.bind(this), !1), this.el.addEventListener("mouseout", this.hideTimeTooltip.bind(this), !1)
},
limit: function(d) {
if (this.activeCue && a.isNumber(this.activeCue.pct)) return this.activeCue.pct;
var e = this._model.get("duration"),
f = b.adaptiveType(e);
if ("DVR" === f) {
var g = (1 - d / 100) * e,
h = this._model.get("position"),
i = Math.min(g, Math.max(c.dvrSeekLimit, h)),
j = 100 * i / e;
return 100 - j
}
return d
},
update: function(a) {
this.seekTo = a, this.seekThrottled(), d.prototype.update.apply(this, arguments)
},
dragStart: function() {
this._model.set("scrubbing", !0), d.prototype.dragStart.apply(this, arguments)
},
dragEnd: function() {
d.prototype.dragEnd.apply(this, arguments), this._model.set("scrubbing", !1)
},
onSeeked: function() {
this._model.get("scrubbing") && this.performSeek()
},
onBuffer: function(a, b) {
this.updateBuffer(b)
},
onPosition: function(a, b) {
this.updateTime(b, a.get("duration"))
},
onDuration: function(a, b) {
this.updateTime(a.get("position"), b)
},
updateTime: function(a, c) {
var d = 0;
if (c) {
var e = b.adaptiveType(c);
"DVR" === e ? d = (c - a) / c * 100 : "VOD" === e && (d = a / c * 100)
}
this.render(d)
},
onPlaylistItem: function(b, c) {
this.reset(), b.mediaModel.on("seeked", this.onSeeked, this);
var d = c.tracks;
a.each(d, function(a) {
a && a.kind && "thumbnails" === a.kind.toLowerCase() ? a.content ? this.thumbnailsLoadFromConfig(a.content) : this.loadThumbnails(a.file) : a && a.kind && "chapters" === a.kind.toLowerCase() && this.loadChapters(a.file)
}, this)
},
reloadPlaylistItem: function(b) {
var c = b.tracks;
a.each(c, function(a) {
a && a.kind && "thumbnails" === a.kind.toLowerCase() ? a.content ? this.thumbnailsLoadFromConfig(a.content) : this.loadThumbnails(a.file) : a && a.kind && "chapters" === a.kind.toLowerCase() && this.loadChapters(a.file)
}, this)
},
performSeek: function() {
var a, c = this.seekTo,
d = this._model.get("duration"),
e = b.adaptiveType(d);
0 === d ? this._api.play() : "DVR" === e ? (a = (100 - c) / 100 * d, this._api.seek(a)) : (a = c / 100 * d, this._api.seek(Math.min(a, d - .25)))
},
showTimeTooltip: function(a) {
var d = this._model.get("duration");
if (0 !== d) {
var e = b.bounds(this.elementRail),
f = a.pageX ? a.pageX - e.left : a.x,
g = this.timeTip.el.querySelector(".jw-time-tip").clientWidth / 2,
h = e.width - this.timeTip.el.querySelector(".jw-time-tip").clientWidth / 2 - 4;
f = b.between(f, 0, e.width);
var i = f / e.width,
j = g / e.width,
k = h / e.width,
l = d * i;
d < 0 && (l = d - l);
var m;
if (this.activeCue) m = this.activeCue.text;
else {
var n = !0;
m = b.timeFormat(l, n), d < 0 && l > c.dvrSeekLimit && (m = "Live")
}
this.timeTip.update(m), this.showThumbnail(l), b.addClass(this.timeTip.el, "jw-open"), i < j ? this.timeTip.el.style.left = 100 * j + "%" : i > k ? this.timeTip.el.style.left = 100 * k + "%" : this.timeTip.el.style.left = 100 * i + "%"
}
},
hideTimeTooltip: function() {
b.removeClass(this.timeTip.el, "jw-open")
},
reset: function() {
this.resetChapters(), this.resetThumbnails()
}
});
return a.extend(i.prototype, f, g), i
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(46), c(102)], e = function(a, b, c) {
function d(a, b) {
this.time = a, this.text = b, this.el = document.createElement("div"), this.el.className = "jw-cue jw-reset"
}
a.extend(d.prototype, {
align: function(a) {
if ("%" === this.time.toString().slice(-1)) this.pct = this.time;
else {
var b = this.time / a * 100;
this.pct = b + "%"
}
this.el.style.left = this.pct
}
});
var e = {
loadChapters: function(a) {
b.ajax(a, this.chaptersLoaded.bind(this), this.chaptersFailed, {
plainText: !0
})
},
chaptersLoaded: function(b) {
var d = c(b.responseText);
a.isArray(d) && (a.each(d, this.addCue, this), this.drawCues())
},
chaptersFailed: function() {},
addCue: function(a) {
this.cues.push(new d(a.begin, a.text))
},
drawCues: function() {
var b = this._model.mediaModel.get("duration");
if (!b || b <= 0) return void this._model.mediaModel.once("change:duration", this.drawCues, this);
var c = this;
a.each(this.cues, function(a) {
a.align(b), a.el.addEventListener("mouseover", function() {
c.activeCue = a
}), a.el.addEventListener("mouseout", function() {
c.activeCue = null
}), c.elementRail.appendChild(a.el)
})
},
resetChapters: function() {
a.each(this.cues, function(a) {
a.el.parentNode && a.el.parentNode.removeChild(a.el)
}, this), this.cues = []
}
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(46), c(102)], e = function(a, b, c) {
function d(a) {
this.begin = a.begin, this.end = a.end, this.img = a.text
}
var e = {
loadThumbnails: function(a) {
a && (this.vttPath = a.split("?")[0].split("/").slice(0, -1).join("/"), this.individualImage = null, b.ajax(a, this.thumbnailsLoaded.bind(this), this.thumbnailsFailed.bind(this), {
plainText: !0
}))
},
thumbnailsLoadFromConfig: function(b) {
a.isArray(b) && (a.each(b, function(a) {
this.thumbnails.push(new d(a))
}, this), this.drawCues())
},
thumbnailsLoaded: function(b) {
var e = c(b.responseText);
a.isArray(e) && (a.each(e, function(a) {
this.thumbnails.push(new d(a))
}, this), this.drawCues())
},
thumbnailsFailed: function() {},
chooseThumbnail: function(b) {
var c = a.sortedIndex(this.thumbnails, {
end: b
}, a.property("end"));
c >= this.thumbnails.length && (c = this.thumbnails.length - 1);
var d = this.thumbnails[c].img;
return d.indexOf("://") < 0 && (d = this.vttPath ? this.vttPath + "/" + d : d), d
},
loadThumbnail: function(b) {
var c = this.chooseThumbnail(b),
d = {
display: "block",
margin: "0 auto",
backgroundPosition: "0 0"
},
e = c.indexOf("#xywh");
if (e > 0) try {
var f = /(.+)\#xywh=(\d+),(\d+),(\d+),(\d+)/.exec(c);
c = f[1], d.backgroundPosition = f[2] * -1 + "px " + f[3] * -1 + "px", d.width = f[4], d.height = f[5]
} catch (g) {
return
} else this.individualImage || (this.individualImage = new Image, this.individualImage.onload = a.bind(function() {
this.individualImage.onload = null, this.timeTip.image({
width: this.individualImage.width,
height: this.individualImage.height
})
}, this), this.individualImage.src = c);
return d.backgroundImage = 'url("' + c + '")', d
},
showThumbnail: function(a) {
this.thumbnails.length < 1 || this.timeTip.image(this.loadThumbnail(a))
},
resetThumbnails: function() {
this.timeTip.image({
backgroundImage: "",
width: 0,
height: 0
}), this.thumbnails = []
}
};
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(43), c(137), c(108), c(146)], e = function(a, b, c, d, e) {
var f = c.extend({
setup: function(c, e) {
if (this.iconUI || (this.iconUI = new d(this.el, {
useHover: !0
}), this.toggleOpenStateListener = this.toggleOpenState.bind(this), this.openTooltipListener = this.openTooltip.bind(this), this.closeTooltipListener = this.closeTooltip.bind(this), this.selectListener = this.onSelect.bind(this)), this.reset(), c = b.isArray(c) ? c : [], a.toggleClass(this.el, "jw-hidden", c.length < 2), c.length >= 2) {
this.iconUI = new d(this.el, {
useHover: !0
}).on("tap", this.toggleOpenStateListener).on("click", this.toggleOpenStateListener);
var f = this.menuTemplate(c, e),
g = a.createElement(f);
this.addContent(g), this.contentUI = new d(this.content), this.contentUI.on("click tap", this.selectListener)
}
this.originalList = c
},
menuTemplate: function(c, d) {
var f = b.map(c, function(b, c) {
var e = b.title ? a.createElement(b.title).textContent : "";
return {
active: c === d,
label: c + 1 + ".",
title: e
}
});
return e(f)
},
onSelect: function(c) {
var d = c.target;
if ("UL" !== d.tagName) {
"LI" !== d.tagName && (d = d.parentElement);
var e = a.classList(d),
f = b.find(e, function(a) {
return 0 === a.indexOf("jw-item")
});
f && (this.trigger("select", parseInt(f.split("-")[2])), this.closeTooltip())
}
},
selectItem: function(a) {
this.setup(this.originalList, a)
},
reset: function() {
this.iconUI.off(), this.contentUI && this.contentUI.off().destroy(), this.removeContent()
}
});
return f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
1: function(a, b, c, d, e) {
var f;
return null != (f = c["if"].call(null != b ? b : {}, null != b ? b.active : b, {
name: "if",
hash: {},
fn: a.program(2, e, 0),
inverse: a.program(4, e, 0),
data: e
})) ? f : ""
},
2: function(a, b, c, d, e) {
var f, g = a.escapeExpression,
h = a.lambda;
return " <li class='jw-option jw-text jw-active-option jw-item-" + g((f = null != (f = c.index || e && e.index) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "index",
hash: {},
data: e
}) : f)) + ' jw-reset\'>\r\n <span class="jw-playlist-thumb"><img src="' + g(h(null != b ? b.thumb : b, b)) + '"></span>\r\n <span class="jw-name jw-reset">' + g(h(null != b ? b.title : b, b)) + "</span>\r\n </li>\r\n"
},
4: function(a, b, c, d, e) {
var f, g = a.escapeExpression,
h = a.lambda;
return " <li class='jw-option jw-text jw-item-" + g((f = null != (f = c.index || e && e.index) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "index",
hash: {},
data: e
}) : f)) + ' jw-reset\'>\r\n <span class="jw-playlist-thumb"><img src="' + g(h(null != b ? b.thumb : b, b)) + '"></span>\r\n <span class="jw-name jw-reset">' + g(h(null != b ? b.title : b, b)) + "</span>\r\n </li>\r\n"
},
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f;
return '<div class="jw-menu jw-playlist-container jw-background-color jw-reset">\r\n <ul class="jw-playlist jw-reset">\r\n' + (null != (f = c.each.call(null != b ? b : {}, b, {
name: "each",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + " </ul>\r\n</div>"
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(46), c(43), c(137), c(108), c(148)], e = function(a, b, c, d, e) {
var f = c.extend({
setup: function(b, c) {
var e = window.location.host;
if (e.indexOf("hdonline.vn") !== -1 || e.indexOf("localhost") !== -1 || e.indexOf("tranvu.info") !== -1) {
this.api = b, this.model = c, this.iconUI || (this.iconUI = new d(this.el, {
useHover: !0
}), this.toggleOpenStateListener = this.toggleOpenState.bind(this), this.openTooltipListener = this.openTooltip.bind(this), this.closeTooltipListener = this.closeTooltip.bind(this), this.openTooltipListener = this.onOpenTooltip.bind(this), this.selectListener = this.onSelect.bind(this)), this.reset(), this.iconUI = new d(this.el, {
useHover: !0
}).on("tap", this.toggleOpenStateListener).on("click", this.openTooltipListener);
var f = this.menuTemplate(b),
g = a.createElement(f);
this.addContent(g), this.contentUI = new d(this.content), this.elementContain = g, this.contentUI.on("click tap", this.selectListener), a.toggleClass(this.el, "jw-hidden", !1), this.updateHtml(), this.model.on("change:provider", this.updateHtml, this), this.model.on("change:captionsList", this.updateHtml, this), this.model.on("itemReady", this.updateHtml, this)
}
},
onOpenTooltip: function(a) {
try {
a.target.className.indexOf("jw-icon-tooltip") > -1 && this.toggleOpenState(a)
} catch (b) {
this.toggleOpenState(a)
}
},
updateHtml: function() {
var a = this.api.getProvider(),
b = this.elementContain.getElementsByClassName("jw-setting-speed")[0];
if (b && (b.style.display = "none", "undefined" != typeof a && a.name.indexOf("html5") > -1 && (b.style.display = "block")), b = this.elementContain.getElementsByClassName("jw-setting-captions")[0]) {
b.style.display = "none";
var c = this.api.getCaptionsList();
"undefined" != typeof c && c.length > 1 && (b.style.display = "block")
}
if (b = this.elementContain.getElementsByClassName("jw-setting-dune")[0]) {
b.style.display = "none";
var d = this.api.getConfig();
"undefined" != typeof d && d.allowDune === !0 && (b.style.display = "block")
}
},
getCookie: function(a) {
var b = document.cookie.match("(^|;) ?" + a + "=([^;]*)(;|$)");
return b ? b[2] : null
},
setCookie: function(a, b, c) {
c || (c = 31536e6);
var d = new Date;
d.setTime(d.getTime() + c), document.cookie = a + "=" + b + "; path=/; expires=" + d.toUTCString()
},
menuTemplate: function(a) {
for (var b = {
currentOption: a.getCaptionStyle(),
playerID: a.id,
reMiss: "question" === this.getCookie("jwplayer.remissQuestion"),
fontList: [{
name: "UVNNhanNang"
}, {
name: "Arial"
}, {
name: "Tahoma"
}, {
name: "Times New Roman"
}, {
name: "Lucida Sans Unicode"
}, {
name: "Trebuchet MS"
}, {
name: "Georgia"
}, {
name: "Verdana"
}, {
name: "Apple Chancery"
}, {
name: "Brush Script MT"
}],
colorList: [{
color: "#080808"
}, {
color: "#0000FF"
}, {
color: "#01FF00"
}, {
color: "#01FFFF"
}, {
color: "#FF0000"
}, {
color: "#FF00FF"
}, {
color: "#FFFF00"
}, {
color: "#FFFFFF"
}]
}, c = 0; c < b.colorList.length; c++) b.colorList[c].color === b.currentOption.color && (b.colorList[c].activeColor = !0), b.colorList[c].color === b.currentOption.textShadow && (b.colorList[c].activeLine = !0);
for (c = 0; c < b.fontList.length; c++) b.fontList[c].name === b.currentOption.fontFamily && (b.fontList[c].activeLine = !0);
return e(b)
},
onSelect: function(c) {
var d = c.target,
e = [],
f = 0;
if ("A" === d.tagName) {
var g = a.classList(d),
h = b.find(g, function(a) {
return 0 === a.indexOf("button-buffer")
});
if (h) {
for (this.trigger("bufferchange", parseInt(h.split("-")[2])), e = d.parentElement.parentElement.getElementsByClassName("bf-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
if (h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-size")
}), h && this.trigger("playersize", h.split("-")[3]), h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-speed")
})) {
for (this.trigger("playerspeed", Number(h.split("-")[3])), e = d.parentElement.parentElement.getElementsByClassName("bsp-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
if (h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-caption-delay")
}), h && (e = d.parentElement.parentElement.getElementsByClassName("caption-delay"), "up" === h.split("-")[4] ? e[0].value = Number(e[0].value) + .5 : e[0].value = Number(e[0].value) - .5, this.trigger("captiondelay", Number(e[0].value))), h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-caption-back")
})) {
var i = !0;
for ("hide" === h.split("-")[4] && (i = !1), this.trigger("captionback", i), e = d.parentElement.parentElement.getElementsByClassName("bb-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
if (h = b.find(g, function(a) {
return 0 === a.indexOf("button-caption-color")
})) {
for (this.trigger("captioncolor", d.getAttribute("data-color")), e = d.parentElement.parentElement.getElementsByClassName("bclc-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
if (h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-remiss")
})) {
for (this.setCookie("jwplayer.remissQuestion", h.split("-")[3]), e = d.parentElement.parentElement.getElementsByClassName("br-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
if (h = b.find(g, function(a) {
return 0 === a.indexOf("button-caption-line")
})) {
for (this.trigger("captionline", d.getAttribute("data-color")), e = d.parentElement.parentElement.getElementsByClassName("bcll-remove"), f = 0; f < e.length; f++) e[f].className = e[f].className.replace(/\bactive\b/, "").trim();
d.className += " active"
}
h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-caption-size")
}), h && (e = d.parentElement.parentElement.getElementsByClassName("caption-size"), "up" === h.split("-")[4] ? e[0].value = Number(e[0].value) + 2 : e[0].value = Number(e[0].value) - 2, this.trigger("captionsize", Number(e[0].value))), h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-caption-second")
}), h && this.trigger("captionSecond", h.split("-")[4]), h = b.find(g, function(a) {
return 0 === a.indexOf("button-player-senđune")
}), h && this.trigger("sendVideoDune")
}
},
selectItem: function(a) {
this.setup(this.originalList, a)
},
reset: function() {
this.iconUI.off(), this.contentUI && this.contentUI.off().destroy(), this.removeContent()
}
});
return f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
1: function(a, b, c, d, e) {
return "active"
},
3: function(a, b, c, d, e) {
var f, g = a.lambda,
h = a.escapeExpression;
return " <option " + (null != (f = c["if"].call(null != b ? b : {}, null != b ? b.activeLine : b, {
name: "if",
hash: {},
fn: a.program(4, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + ' value="' + h(g(null != b ? b.name : b, b)) + '">' + h(g(null != b ? b.name : b, b)) + "</option>\r\n"
},
4: function(a, b, c, d, e) {
return "selected"
},
6: function(a, b, c, d, e) {
var f, g = a.lambda,
h = a.escapeExpression;
return ' <a href="javascript:void(0)" class="button-color bclc-remove button-caption-color ' + (null != (f = c["if"].call(null != b ? b : {}, null != b ? b.activeColor : b, {
name: "if",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '" data-color="' + h(g(null != b ? b.color : b, b)) + '" style="background-color:' + h(g(null != b ? b.color : b, b)) + '"></a>\r\n'
},
8: function(a, b, c, d, e) {
var f, g = a.lambda,
h = a.escapeExpression;
return ' <a href="javascript:void(0)" class="button-color bcll-remove button-caption-line ' + (null != (f = c["if"].call(null != b ? b : {}, null != b ? b.activeLine : b, {
name: "if",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '" data-color="' + h(g(null != b ? b.color : b, b)) + '" style="background-color:' + h(g(null != b ? b.color : b, b)) + '"></a>\r\n'
},
10: function(a, b, c, d, e) {
return ' <a href="javascript:void(0)" class="button-select bb-remove button-player-caption-back-hide">Ẩn</a>\r\n <a href="javascript:void(0)" class="button-select bb-remove button-player-caption-back-show active">Hiện</a>\r\n'
},
12: function(a, b, c, d, e) {
return ' <a href="javascript:void(0)" class="button-select bb-remove button-player-caption-back-hide active">Ẩn</a>\r\n <a href="javascript:void(0)" class="button-select bb-remove button-player-caption-back-show">Hiện</a>\r\n'
},
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f, g = null != b ? b : {},
h = a.lambda,
i = a.escapeExpression;
return '<div class="jw-menu jw-setting-container jw-background-color jw-reset">\r\n <div class="jw-setting-row jw-setting-dune">\r\n <div class="jw-setting-label">Mở rộng</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select bd-remove button-player-senđune">Xem trên Dune</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Xem tiếp</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select br-remove button-player-remiss-question ' + (null != (f = c["if"].call(g, null != b ? b.reMiss : b, {
name: "if",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '">Luôn hỏi</a>\r\n <a href="javascript:void(0)" class="button-select br-remove button-player-remiss-auto ' + (null != (f = c.unless.call(g, null != b ? b.reMiss : b, {
name: "unless",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '">Tự động</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Tải trước</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select bf-remove button-buffer-120 active">2 phút</a>\r\n <a href="javascript:void(0)" class="button-select bf-remove button-buffer-300">5 phút</a>\r\n <a href="javascript:void(0)" class="button-select bf-remove button-buffer-420">7 phút</a>\r\n <a href="javascript:void(0)" class="button-select bf-remove button-buffer-600">10 phút</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Kích thước</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" onclick="resize_player(\'' + i(h(null != b ? b.playerID : b, b)) + '\' , \'min\')" class="button-select bs-remove button-player-size-normal">Chuẩn</a>\r\n <a href="javascript:void(0)" onclick="resize_player(\'' + i(h(null != b ? b.playerID : b, b)) + '\' , \'large\')" class="button-select bs-remove button-player-size-large">Lớn</a>\r\n <a href="javascript:void(0)" onclick="jwplayer(\'' + i(h(null != b ? b.playerID : b, b)) + '\').setFullscreen()" class="button-select bs-remove button-player-size-fullscreen">Toà n mà n hình</a>\r\n\r\n </div>\r\n </div>\r\n <div class="jw-setting-row jw-setting-speed">\r\n <div class="jw-setting-label">Tốc độ</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select bsp-remove button-player-speed-0.25">0.25</a>\r\n <a href="javascript:void(0)" class="button-select bsp-remove button-player-speed-0.5">0.5</a>\r\n <a href="javascript:void(0)" class="button-select bsp-remove active button-player-speed-1">Chuẩn</a>\r\n <a href="javascript:void(0)" class="button-select bsp-remove button-player-speed-1.25">1.25</a>\r\n <a href="javascript:void(0)" class="button-select bsp-remove button-player-speed-1.5">1.5</a>\r\n <a href="javascript:void(0)" class="button-select bsp-remove button-player-speed-2">2</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-captions">\r\n <div class="jw-setting-row-break">\r\n <div class="row-beak-title">Phụ đề</div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Cỡ chữ</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select bz-remove button-player-caption-size-down">-</a>\r\n <input type="text" class="jw-input caption-size" value="' + i(h(null != (f = null != b ? b.currentOption : b) ? f.fontSize : f, b)) + '">\r\n <a href="javascript:void(0)" class="button-select bz-remove button-player-caption-size-up" readonly="readonly">+</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Độ lệch</div>\r\n <div class="jw-setting-value">\r\n <a href="javascript:void(0)" class="button-select bc-remove button-player-caption-delay-down">-</a>\r\n <input type="text" class="jw-input caption-delay" value="0">\r\n <a href="javascript:void(0)" class="button-select bc-remove button-player-caption-delay-up" readonly="readonly">+</a>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Phông chữ</div>\r\n <div class="jw-setting-value">\r\n <label class="jw-setting-font-label">\r\n <select onchange="jwplayer(\'' + i(h(null != b ? b.playerID : b, b)) + '\').setCaptionFont(this.value)" class="jw-setting-font-select">\r\n' + (null != (f = c.each.call(g, null != b ? b.fontList : b, {
name: "each",
hash: {},
fn: a.program(3, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + ' </select>\r\n </label>\r\n </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Mà u chữ</div>\r\n <div class="jw-setting-value">\r\n' + (null != (f = c.each.call(g, null != b ? b.colorList : b, {
name: "each",
hash: {},
fn: a.program(6, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + ' </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <div class="jw-setting-label">Viền chữ</div>\r\n <div class="jw-setting-value">\r\n' + (null != (f = c.each.call(g, null != b ? b.colorList : b, {
name: "each",
hash: {},
fn: a.program(8, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + ' </div>\r\n </div>\r\n <div class="jw-setting-row">\r\n <span class="jw-setting-label">Nền chữ</span>\r\n <span class="jw-setting-value">\r\n' + (null != (f = c["if"].call(g, null != (f = null != b ? b.currentOption : b) ? f.back : f, {
name: "if",
hash: {},
fn: a.program(10, e, 0),
inverse: a.program(12, e, 0),
data: e
})) ? f : "") + " </span>\r\n </div>\r\n </div>\r\n</div>"
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(137), c(140), c(108), c(46)], e = function(a, b, c, d) {
var e = a.extend({
constructor: function(e, f) {
this._model = e, a.call(this, f), this.volumeSlider = new b("jw-slider-volume jw-volume-tip", "vertical"), this.addContent(this.volumeSlider.element()), this.volumeSlider.on("update", function(a) {
this.trigger("update", a)
}, this), d.removeClass(this.el, "jw-hidden"), new c(this.el, {
useHover: !0,
directSelect: !0
}).on("click", this.toggleValue, this).on("tap", this.toggleOpenState, this).on("over", this.openTooltip, this).on("out", this.closeTooltip, this), this._model.on("change:volume", this.onVolume, this)
},
toggleValue: function() {
this.trigger("toggleValue")
}
});
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(137), c(46), c(43), c(108)], e = function(a, b, c, d) {
var e = a.extend({
constructor: function(b) {
a.call(this, b), this.container.className = "jw-overlay-horizontal jw-reset", this.openClass = "jw-open-drawer", this.componentType = "drawer"
},
setup: function(a, e) {
this.iconUI || (this.iconUI = new d(this.el, {
useHover: !0,
directSelect: !0
}), this.toggleOpenStateListener = this.toggleOpenState.bind(this), this.openTooltipListener = this.openTooltip.bind(this), this.closeTooltipListener = this.closeTooltip.bind(this)), this.reset(), a = c.isArray(a) ? a : [], this.activeContents = c.filter(a, function(a) {
return a.isActive
}), b.toggleClass(this.el, "jw-hidden", !e || this.activeContents.length < 2), e && this.activeContents.length > 1 && (b.removeClass(this.el, "jw-off"), this.iconUI.on("tap", this.toggleOpenStateListener).on("over", this.openTooltipListener).on("out", this.closeTooltipListener), c.each(a, function(a) {
this.container.appendChild(a.el)
}, this))
},
reset: function() {
b.addClass(this.el, "jw-off"), this.iconUI.off(), this.contentUI && this.contentUI.off().destroy(), this.removeContent()
}
});
return e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(46)], e = function(a, b) {
function c(a, b) {
b.off("change:mediaType", null, this), b.on("change:mediaType", function(b, c) {
"audio" === c && this.setImage(a.get("playlistItem").image)
}, this)
}
function d(a, c) {
var d = a.get("autostart") && !b.isMobile() || a.get("item") > 0;
return d ? (this.setImage(null), a.off("change:state", null, this), void a.on("change:state", function(a, b) {
"complete" !== b && "idle" !== b && "error" !== b || this.setImage(c.image)
}, this)) : void this.setImage(c.image)
}
var e = function(a) {
this.model = a, a.on("change:playlistItem", d, this), a.on("change:mediaModel", c, this)
};
return a.extend(e.prototype, {
setup: function(a) {
this.el = a;
var b = this.model.get("playlistItem");
b && this.setImage(b.image)
},
setImage: function(c) {
this.model.off("change:state", null, this);
var d = "";
a.isString(c) && (d = 'url("' + c + '")'), b.style(this.el, {
backgroundImage: d
})
},
element: function() {
return this.el
}
}), e
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(46), c(153), c(43), c(108), c(58)], e = function(a, b, c, d, e) {
var f = function() {};
return c.extend(f.prototype, {
buildArray: function() {
var a = e.split("+"),
b = a[0],
c = {
items: [{
title: "Sao chép URL",
featured: !0,
showLogo: !1,
click: 'jwplayer("' + this.api.id + '").showCopyUrl()',
link: ""
}, {
title: "Sao chép URL tại thời điểm hiện tại",
featured: !0,
showLogo: !1,
click: 'jwplayer("' + this.api.id + '").showCopyUrlCurrent()',
link: ""
}, {
title: "HDO Player 2",
featured: !0,
showLogo: !1,
link: "//hdonline.vn"
}, {
title: "vPlayer - Powered by JWPlayer " + b,
featured: !0,
showLogo: !1,
link: "//vplayer.tranvu.info?v=" + b
}]
},
d = this.model.get("provider").name;
return d.indexOf("html5") >= 0 && c.items.unshift({
title: "Lưu screenshot",
featured: !0,
showLogo: !1,
link: "",
click: 'jwplayer("' + this.api.id + '").saveScreenShot()'
}), c
},
buildMenu: function() {
var c = this.buildArray();
return a.createElement(b(c))
},
updateHtml: function() {
this.el.innerHTML = this.buildMenu().innerHTML
},
rightClick: function(a) {
return this.lazySetup(), !this.mouseOverContext && (this.hideMenu(), this.showMenu(a), !1)
},
getOffset: function(a) {
for (var b = a.target, c = a.offsetX || a.layerX, d = a.offsetY || a.layerY; b !== this.playerElement;) c += b.offsetLeft, d += b.offsetTop, b = b.parentNode;
return {
x: c,
y: d
}
},
showMenu: function(b) {
var c = this.getOffset(b);
return this.el.style.left = c.x + "px", this.el.style.top = c.y + "px", a.addClass(this.playerElement, "jw-flag-rightclick-open"), a.addClass(this.el, "jw-open"), !1
},
hideMenu: function() {
this.mouseOverContext || (a.removeClass(this.playerElement, "jw-flag-rightclick-open"), a.removeClass(this.el, "jw-open"))
},
lazySetup: function() {
this.el || (this.el = this.buildMenu(), this.layer.appendChild(this.el), this.hideMenuHandler = this.hideMenu.bind(this), this.addOffListener(this.playerElement), this.addOffListener(document), this.model.on("change:provider", this.updateHtml, this), this.elementUI = new d(this.el, {
useHover: !0
}).on("over", function() {
this.mouseOverContext = !0
}, this).on("out", function() {
this.mouseOverContext = !1
}, this))
},
setup: function(a, b, c, d) {
this.playerElement = b, this.model = a, this.mouseOverContext = !1, this.layer = c, this.api = d, b.oncontextmenu = this.rightClick.bind(this)
},
addOffListener: function(a) {
a.addEventListener("mousedown", this.hideMenuHandler), a.addEventListener("touchstart", this.hideMenuHandler), a.addEventListener("pointerdown", this.hideMenuHandler)
},
removeOffListener: function(a) {
a.removeEventListener("mousedown", this.hideMenuHandler), a.removeEventListener("touchstart", this.hideMenuHandler), a.removeEventListener("pointerdown", this.hideMenuHandler)
},
destroy: function() {
this.el && (this.hideMenu(), this.elementUI.off(), this.removeOffListener(this.playerElement), this.removeOffListener(document), this.hideMenuHandler = null, this.el = null), this.playerElement && (this.playerElement.oncontextmenu = null, this.playerElement = null), this.model && (this.model.off("change:provider", this.updateHtml), this.model = null)
}
}), f
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
1: function(a, b, c, d, e) {
var f;
return null != (f = c["if"].call(null != b ? b : {}, null != b ? b.click : b, {
name: "if",
hash: {},
fn: a.program(2, e, 0),
inverse: a.program(7, e, 0),
data: e
})) ? f : ""
},
2: function(a, b, c, d, e) {
var f, g, h = null != b ? b : {},
i = c.helperMissing,
j = "function",
k = a.escapeExpression;
return ' <li class="jw-reset' + (null != (f = c["if"].call(h, null != b ? b.featured : b, {
name: "if",
hash: {},
fn: a.program(3, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '">\r\n <a href="javascript:void(0)" class="jw-reset" onclick="' + k((g = null != (g = c.click || (null != b ? b.click : b)) ? g : i, typeof g === j ? g.call(h, {
name: "click",
hash: {},
data: e
}) : g)) + '">\r\n' + (null != (f = c["if"].call(h, null != b ? b.showLogo : b, {
name: "if",
hash: {},
fn: a.program(5, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + " " + k((g = null != (g = c.title || (null != b ? b.title : b)) ? g : i, typeof g === j ? g.call(h, {
name: "title",
hash: {},
data: e
}) : g)) + "\r\n </a>\r\n </li>\r\n"
},
3: function(a, b, c, d, e) {
return " jw-featured"
},
5: function(a, b, c, d, e) {
return ' <span class="jw-icon jw-rightclick-logo jw-reset"></span>\r\n'
},
7: function(a, b, c, d, e) {
var f, g, h = null != b ? b : {},
i = c.helperMissing,
j = "function",
k = a.escapeExpression;
return ' <li class="jw-reset' + (null != (f = c["if"].call(h, null != b ? b.featured : b, {
name: "if",
hash: {},
fn: a.program(3, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + '">\r\n <a href="' + k((g = null != (g = c.link || (null != b ? b.link : b)) ? g : i, typeof g === j ? g.call(h, {
name: "link",
hash: {},
data: e
}) : g)) + '" class="jw-reset" target="_blank">\r\n' + (null != (f = c["if"].call(h, null != b ? b.showLogo : b, {
name: "if",
hash: {},
fn: a.program(5, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + " " + k((g = null != (g = c.title || (null != b ? b.title : b)) ? g : i, typeof g === j ? g.call(h, {
name: "title",
hash: {},
data: e
}) : g)) + "\r\n </a>\r\n </li>\r\n"
},
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f;
return '<div class="jw-rightclick jw-reset">\r\n <ul class="jw-reset">\r\n' + (null != (f = c.each.call(null != b ? b : {}, null != b ? b.items : b, {
name: "each",
hash: {},
fn: a.program(1, e, 0),
inverse: a.noop,
data: e
})) ? f : "") + " </ul>\r\n</div>"
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(43), c(46)], e = function(a, b) {
var c = function(a) {
this.model = a, this.model.on("change:playlistItem", this.playlistItem, this)
};
return a.extend(c.prototype, {
hide: function() {
this.el.style.display = "none"
},
show: function() {
this.el.style.display = ""
},
setup: function(a) {
this.el = a;
var b = this.el.getElementsByTagName("div");
this.title = b[0], this.description = b[1], this.model.get("playlistItem") && this.playlistItem(this.model, this.model.get("playlistItem")),
this.model.on("change:logoWidth", this.update, this), this.model.on("change:dock", this.update, this)
},
update: function(a) {
var c = {
paddingLeft: 0,
paddingRight: 0
},
d = a.get("controls"),
e = a.get("dock"),
f = a.get("logo");
if (f) {
var g = 1 * ("" + f.margin).replace("px", ""),
h = a.get("logoWidth") + (isNaN(g) ? 0 : g);
"top-left" === f.position ? c.paddingLeft = h : "top-right" === f.position && (c.paddingRight = h)
}
if (d && e && e.length) {
var i = 56 * e.length;
c.paddingRight = Math.max(c.paddingRight, i)
}
b.style(this.el, c)
},
playlistItem: function(a, b) {
if (a.get("displaytitle") || a.get("displaydescription")) {
var c = "",
d = "";
b.title && a.get("displaytitle") && (c = b.title), b.description && a.get("displaydescription") && (d = b.description), this.updateText(c, d)
} else this.hide()
},
updateText: function(a, b) {
this.title.innerHTML = a, this.description.innerHTML = b, this.title.firstChild || this.description.firstChild ? this.show() : this.hide()
},
element: function() {
return this.el
}
}), c
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f;
return '<div id="' + a.escapeExpression((f = null != (f = c.id || (null != b ? b.id : b)) ? f : c.helperMissing, "function" == typeof f ? f.call(null != b ? b : {}, {
name: "id",
hash: {},
data: e
}) : f)) + '" class="jwplayer jw-reset" tabindex="0">\r\n <div class="jw-aspect jw-reset"></div>\r\n <div class="jw-media jw-reset"></div>\r\n <div class="jw-preview jw-reset"></div>\r\n <div class="jw-title jw-reset">\r\n <div class="jw-title-primary jw-reset"></div>\r\n <div class="jw-title-secondary jw-reset"></div>\r\n </div>\r\n <div class="jw-overlays jw-reset"></div>\r\n <div class="jw-controls jw-reset"></div>\r\n</div>'
},
useData: !0
})
}, function(a, b, c) {
var d = c(157);
"string" == typeof d && (d = [
[a.id, d, ""]
]);
c(161)(d, {});
d.locals && (a.exports = d.locals)
}, function(a, b, c) {
b = a.exports = c(158)(), b.push([a.id, ".jw-reset{color:inherit;background-color:transparent;padding:0;margin:0;float:none;font-family:Arial,Helvetica,sans-serif;font-size:1em;line-height:1em;list-style:none;text-align:left;text-transform:none;vertical-align:baseline;border:0;direction:ltr;font-variant:inherit;font-stretch:inherit;-webkit-tap-highlight-color:rgba(255,255,255,0)}@font-face{font-family:'jw-icons';src:url(" + c(159) + ") format('woff'),url(" + c(160) + ') format(\'truetype\');font-weight:normal;font-style:normal}.jw-icon{-webkit-transition:color .2s linear;transition:color .2s linear}.jw-icon-inline,.jw-icon-tooltip,.jw-icon-display,.jw-controlbar .jw-menu .jw-option:before{-webkit-transition:color .2s linear;transition:color .2s linear;font-family:\'jw-icons\';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;text-transform:none;background-color:transparent;font-variant:normal;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale}.jw-icon-audio-tracks:before{content:"\\E31D"}.jw-icon-buffer:before{content:"\\E900"}.jw-icon-cast:before{content:"\\E603"}.jw-icon-cast.jw-off:before{content:"\\E602"}.jw-icon-cc:before{content:"\\E01C"}.jw-icon-cue:before{content:"\\E606"}.jw-icon-menu-bullet:before{content:"\\E606"}.jw-icon-error:before{content:"\\E607"}.jw-icon-fullscreen:before{content:"\\E5D0"}.jw-icon-fullscreen.jw-off:before{content:"\\E5D1"}.jw-icon-hd:before{content:"\\E052"}.jw-watermark:before,.jw-rightclick-logo:before{content:"\\E60B"}.jw-icon-next:before{content:"\\E044"}.jw-icon-pause:before{content:"\\E034"}.jw-icon-play:before{content:"\\E037"}.jw-icon-prev:before{content:"\\E045"}.jw-icon-replay:before{content:"\\E610"}.jw-icon-volume:before{content:"\\E050"}.jw-icon-volume.jw-off:before{content:"\\E04E"}.jw-icon-more:before{content:"\\E614"}.jw-icon-close:before{content:"\\E615"}.jw-icon-playlist:before{content:"\\E3E0"}.jw-icon-setting:before{content:"\\E8B8"}.jwplayer{width:100%;font-size:16px;position:relative;display:block;min-height:0;overflow:hidden;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;background-color:#000;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jwplayer *{box-sizing:inherit}.jwplayer.jw-flag-aspect-mode{height:auto !important}.jwplayer.jw-flag-aspect-mode .jw-aspect{display:block}.jwplayer .jw-aspect{display:none}.jwplayer.jw-no-focus:focus,.jwplayer .jw-swf{outline:none}.jwplayer.jw-ie:focus{outline:#585858 dotted 1px}.jwplayer:hover .jw-display-icon-container{background-color:#333;background:#333;background-size:#333}.jw-media,.jw-preview,.jw-overlays,.jw-controls{position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0}.jw-media{overflow:hidden;cursor:pointer}.jw-overlays{cursor:auto}.jw-media.jw-media-show{visibility:visible;opacity:1}.jw-controls.jw-controls-disabled{display:none}.jw-controls .jw-controls-right{position:absolute;top:0;right:0;left:0;bottom:2em}.jw-text{height:1em;font-family:Arial,Helvetica,sans-serif;font-size:.75em;font-style:normal;font-weight:normal;color:white;text-align:center;font-variant:normal;font-stretch:normal}.jw-plugin{position:absolute;bottom:2.5em}.jw-plugin .jw-banner{max-width:100%;opacity:0;cursor:pointer;position:absolute;margin:auto auto 0 auto;left:0;right:0;bottom:0;display:block}.jw-cast-screen{width:100%;height:100%}.jw-instream{position:absolute;top:0;right:0;bottom:0;left:0;display:none}.jw-icon-playback:before{content:"\\E037"}.jw-preview,.jw-captions,.jw-title,.jw-overlays,.jw-controls{pointer-events:none}.jw-overlays>div,.jw-media,.jw-controlbar,.jw-dock,.jw-logo,.jw-skip,.jw-display-icon-container{pointer-events:all}.jwplayer video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:auto;background:transparent}.jwplayer video::-webkit-media-controls-start-playback-button{display:none}.jwplayer video::-webkit-media-text-track-display{-webkit-transform:translateY(-1.5em);transform:translateY(-1.5em)}.jwplayer.jw-flag-user-inactive.jw-state-playing video::-webkit-media-text-track-display{-webkit-transform:translateY(0);transform:translateY(0)}.jwplayer.jw-stretch-uniform video{-o-object-fit:contain;object-fit:contain}.jwplayer.jw-stretch-none video{-o-object-fit:none;object-fit:none}.jwplayer.jw-stretch-fill video{-o-object-fit:cover;object-fit:cover}.jwplayer.jw-stretch-exactfit video{-o-object-fit:fill;object-fit:fill}.jw-click{position:absolute;width:100%;height:100%}.jw-preview{position:absolute;display:none;opacity:1;visibility:visible;width:100%;height:100%;background:#000 no-repeat 50% 50%}.jwplayer .jw-preview,.jw-error .jw-preview,.jw-stretch-uniform .jw-preview{background-size:contain}.jw-stretch-none .jw-preview{background-size:auto auto}.jw-stretch-fill .jw-preview{background-size:cover}.jw-stretch-exactfit .jw-preview{background-size:100% 100%}.jw-display-icon-container{position:relative;top:50%;display:table;height:3.5em;width:3.5em;margin:-1.75em auto 0;cursor:pointer;pointer-events:none !important}.jw-display-icon-container .jw-icon-display{position:relative;display:table-cell;text-align:center;vertical-align:middle !important;background-position:50% 50%;background-repeat:no-repeat;font-size:2em;pointer-events:none !important}.jw-flag-audio-player .jw-display-icon-container,.jw-flag-dragging .jw-display-icon-container{display:none}.jw-icon{font-family:\'jw-icons\';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;text-transform:none;background-color:transparent;font-variant:normal;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale}.jw-controlbar{display:table;position:absolute;right:0;left:0;bottom:0;height:2em;padding:0 .25em;width:100%}.jw-controlbar .jw-hidden{display:none}.jw-controlbar.jw-drawer-expanded .jw-controlbar-left-group,.jw-controlbar.jw-drawer-expanded .jw-controlbar-center-group{opacity:0}.jw-background-color{background-color:#414040}.jw-group{display:table-cell}.jw-controlbar-center-group{position:absolute;left:0;top:-10px;width:100%;padding:0 .25em}.jw-controlbar-center-group .jw-slider-time,.jw-controlbar-center-group .jw-text-alt{padding:0}.jw-controlbar-center-group .jw-text-alt{display:none}.jw-controlbar-right-group{text-align:right}.jw-controlbar-left-group,.jw-controlbar-right-group{white-space:nowrap}.jw-knob:hover,.jw-icon-inline:hover,.jw-icon-tooltip:hover,.jw-icon-display:hover,.jw-option:before:hover{color:#eee}.jw-icon-inline,.jw-icon-tooltip,.jw-slider-horizontal,.jw-text-elapsed,.jw-text-duration{display:inline-block;height:2em;position:relative;line-height:2em;vertical-align:middle;cursor:pointer}.jw-icon-inline,.jw-icon-tooltip{min-width:1.25em;text-align:center}.jw-icon-playback{min-width:2.25em}.jw-icon-volume{min-width:1.75em;text-align:left}.jw-time-tip{line-height:1em;pointer-events:none}.jw-icon-inline:after,.jw-icon-tooltip:after{width:100%;height:100%;font-size:1em}.jw-icon-cast{display:none}.jw-slider-volume.jw-slider-horizontal,.jw-icon-inline.jw-icon-volume{display:none}.jw-dock{margin:.75em;display:block;opacity:1;clear:right}.jw-dock:after{content:\'\';clear:both;display:block}.jw-dock-button{cursor:pointer;float:right;position:relative;width:2.5em;height:2.5em;margin:.5em}.jw-dock-button .jw-arrow{display:none;position:absolute;bottom:-0.2em;width:.5em;height:.2em;left:50%;margin-left:-0.25em}.jw-dock-button .jw-overlay{display:none;position:absolute;top:2.5em;right:0;margin-top:.25em;padding:.5em;white-space:nowrap}.jw-dock-button:hover .jw-overlay,.jw-dock-button:hover .jw-arrow{display:block}.jw-dock-image{width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;opacity:.75}.jw-title{display:none;position:absolute;top:0;width:100%;font-size:.875em;height:8em;background:-webkit-linear-gradient(top, rgba(0,0,0,0.38) 0, rgba(0,0,0,0.63) 8%, rgba(0,0,0,0) 100%);background:linear-gradient(to bottom, rgba(0,0,0,0.38) 0, rgba(0,0,0,0.63) 8%, rgba(0,0,0,0) 100%)}.jw-title-primary,.jw-title-secondary{padding:.75em 1.5em;min-height:2.5em;width:100%;color:white;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden}.jw-title-primary{font-weight:bold}.jw-title-secondary{margin-top:-0.5em}.jw-slider-container{display:inline-block;height:1em;position:relative;touch-action:none}.jw-rail,.jw-buffer,.jw-progress{position:absolute;cursor:pointer}.jw-progress{background-color:#fff}.jw-rail{background-color:#aaa}.jw-buffer{background-color:#202020}.jw-cue,.jw-knob{position:absolute;cursor:pointer}.jw-cue{background-color:#fff;width:.1em;height:.4em}.jw-knob{background-color:#aaa;width:.4em;height:.4em}.jw-slider-horizontal{width:4em;height:1em;background:none !important}.jw-slider-horizontal.jw-slider-volume{margin-right:5px}.jw-slider-horizontal .jw-rail,.jw-slider-horizontal .jw-buffer,.jw-slider-horizontal .jw-progress{width:100%;height:.4em}.jw-slider-horizontal .jw-progress,.jw-slider-horizontal .jw-buffer{width:0}.jw-slider-horizontal .jw-rail,.jw-slider-horizontal .jw-progress,.jw-slider-horizontal .jw-slider-container{width:100%}.jw-slider-horizontal .jw-knob{left:0;margin-left:-0.325em}.jw-slider-vertical{width:.75em;height:4em;bottom:0;position:absolute;padding:1em}.jw-slider-vertical .jw-rail,.jw-slider-vertical .jw-buffer,.jw-slider-vertical .jw-progress{bottom:0;height:100%}.jw-slider-vertical .jw-progress,.jw-slider-vertical .jw-buffer{height:0}.jw-slider-vertical .jw-slider-container,.jw-slider-vertical .jw-rail,.jw-slider-vertical .jw-progress{bottom:0;width:.75em;height:100%;left:0;right:0;margin:0 auto}.jw-slider-vertical .jw-slider-container{height:4em;position:relative}.jw-slider-vertical .jw-knob{bottom:0;left:0;right:0;margin:0 auto}.jw-slider-time{right:0;left:0;width:100%}.jw-tooltip-time{position:absolute;bottom:.1em}.jw-slider-volume .jw-buffer{display:none}.jw-captions{position:absolute;display:none;margin:0 auto;width:100%;left:0;bottom:3em;right:0;max-width:90%;text-align:center;-webkit-transition:bottom .2s linear;transition:bottom .2s linear}.jw-captions.jw-captions-enabled{display:block}.jw-captions-window{display:none;padding:.25em;border-radius:.25em}.jw-captions-window.jw-captions-window-active{display:inline-block}.jw-captions-text{display:inline-block;color:white;background-color:black;word-wrap:break-word;white-space:pre-line;font-style:normal;font-weight:normal;text-align:center;text-decoration:none;line-height:1.3em;padding:.1em .8em}.jwplayer video::-webkit-media-text-track-container{bottom:1.5em}.jwplayer.jw-flag-compact-player video::-webkit-media-text-track-container{bottom:2.5em}.jw-rightclick{display:none;position:absolute;white-space:nowrap}.jw-rightclick.jw-open{display:block}.jw-rightclick ul{list-style:none;font-weight:bold;border-radius:.15em;margin:0;border:1px solid #444;padding-left:0}.jw-rightclick .jw-rightclick-logo{font-size:2em;color:#ff0147;vertical-align:middle;padding-right:.3em;margin-right:.3em;border-right:1px solid #444}.jw-rightclick li{background-color:#000;border-bottom:1px solid #444}.jw-rightclick a{color:#fff;text-decoration:none;padding:1em;display:block;font-size:.6875em}.jw-rightclick li:last-child{border-bottom:none}.jw-rightclick li:hover{background-color:#1a1a1a;cursor:pointer}.jw-rightclick .jw-featured{background-color:#252525;vertical-align:middle}.jw-rightclick .jw-featured a{color:#777}.jw-logo{position:absolute;margin:.75em;cursor:pointer;pointer-events:all;background-repeat:no-repeat;background-size:contain;top:auto;right:auto;left:auto;bottom:auto}.jw-logo .jw-flag-audio-player{display:none}.jw-logo-top-right{top:0;right:0}.jw-logo-top-left{top:0;left:0}.jw-logo-bottom-left{bottom:0;left:0}.jw-logo-bottom-right{bottom:0;right:0}.jw-watermark{position:absolute;top:50%;left:0;right:0;bottom:0;text-align:center;font-size:14em;color:#eee;opacity:.33;pointer-events:none}.jw-icon-tooltip.jw-open .jw-overlay{opacity:1;visibility:visible;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jw-icon-tooltip.jw-hidden{display:none}.jw-overlay-horizontal{display:none}.jw-icon-tooltip.jw-open-drawer:before{display:none}.jw-icon-tooltip.jw-open-drawer .jw-overlay-horizontal{opacity:1;display:inline-block;vertical-align:top;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jw-overlay:before{position:absolute;top:0;bottom:0;left:-50%;width:100%;background-color:rgba(0,0,0,0);content:" "}.jw-slider-time .jw-overlay:before{height:1em;top:auto}.jw-time-tip,.jw-volume-tip,.jw-menu{position:relative;left:-50%;border:solid 1px #000;margin:0}.jw-volume-tip{width:100%;height:100%;display:block}.jw-time-tip{text-align:center;font-family:inherit;color:#aaa;bottom:1em;border:solid 4px #000}.jw-time-tip .jw-text{line-height:1em}.jw-controlbar .jw-overlay{margin:0;position:absolute;bottom:2em;left:50%;opacity:0;visibility:hidden}.jw-controlbar .jw-overlay .jw-contents{position:relative}.jw-controlbar .jw-option{position:relative;white-space:nowrap;cursor:pointer;list-style:none;height:1.5em;font-family:inherit;line-height:1.5em;color:#aaa;padding:0 .5em;font-size:.8em}.jw-controlbar .jw-option:hover,.jw-controlbar .jw-option:before:hover{color:#eee}.jw-controlbar .jw-option:before{padding-right:.125em}.jw-playlist-container ::-webkit-scrollbar-track{background-color:#333;border-radius:10px}.jw-playlist-container ::-webkit-scrollbar{width:5px;border:10px solid black;border-bottom:0;border-top:0}.jw-playlist-container ::-webkit-scrollbar-thumb{background-color:white;border-radius:5px}.jw-tooltip-title{border-bottom:1px solid #444;text-align:left;padding-left:.7em}.jw-playlist{max-height:20em;min-height:4.5em;overflow-x:hidden;overflow-y:auto;width:calc(100% - 4px)}.jw-playlist .jw-option{height:3em;margin-right:5px;color:white;padding-left:1em;font-size:.8em}.jw-playlist .jw-label,.jw-playlist .jw-name,.jw-playlist .jw-playlist-thumb{display:inline-block;line-height:3em;text-align:left;overflow:hidden;white-space:nowrap}.jw-playlist .jw-label{width:1em}.jw-playlist .jw-name{width:11em}.jw-skip{cursor:default;position:absolute;float:right;display:inline-block;right:.75em;bottom:3em}.jw-skip.jw-skippable{cursor:pointer}.jw-skip.jw-hidden{visibility:hidden}.jw-skip .jw-skip-icon{display:none;margin-left:-0.75em}.jw-skip .jw-skip-icon:before{content:"\\E044"}.jw-skip .jw-text,.jw-skip .jw-skip-icon{color:#aaa;vertical-align:middle;line-height:1.5em;font-size:.7em}.jw-skip.jw-skippable:hover{cursor:pointer}.jw-skip.jw-skippable:hover .jw-text,.jw-skip.jw-skippable:hover .jw-skip-icon{color:#eee}.jw-skip.jw-skippable .jw-skip-icon{display:inline;margin:0}.jwplayer.jw-state-playing.jw-flag-casting .jw-display-icon-container,.jwplayer.jw-state-paused.jw-flag-casting .jw-display-icon-container{display:table}.jwplayer.jw-flag-casting .jw-display-icon-container{border-radius:0;border:1px solid white;position:absolute;top:auto;left:.5em;right:.5em;bottom:50%;margin-bottom:-12.5%;height:50%;width:50%;padding:0;background-repeat:no-repeat;background-position:center}.jwplayer.jw-flag-casting .jw-display-icon-container .jw-icon{font-size:3em}.jwplayer.jw-flag-casting.jw-state-complete .jw-preview{display:none}.jw-cast{position:absolute;width:100%;height:100%;background-repeat:no-repeat;background-size:auto;background-position:50% 50%}.jw-cast-label{position:absolute;left:.5em;right:.5em;bottom:75%;margin-bottom:1.5em;text-align:center}.jw-cast-name{color:#ccc}.jw-state-idle .jw-preview{display:block}.jw-state-idle .jw-icon-display:before{content:"\\E037"}.jw-state-idle .jw-controlbar{visibility:visible;opacity:1;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jw-state-idle .jw-captions{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jw-state-idle .jw-title{display:block;visibility:visible;opacity:1;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-playing .jw-display-icon-container{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-playing .jw-display-icon-container .jw-icon-display:before{content:"\\E034"}.jwplayer.jw-state-playing .jw-icon-playback:before{content:"\\E034"}.jwplayer.jw-state-paused .jw-display-icon-container{visibility:visible;opacity:1;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-paused .jw-display-icon-container .jw-icon-display:before{content:"\\E037"}.jwplayer.jw-state-paused .jw-icon-playback:before{content:"\\E037"}.jwplayer.jw-state-buffering .jw-display-icon-container .jw-icon-display{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.jwplayer.jw-state-buffering .jw-display-icon-container .jw-icon-display:before{content:"\\E900"}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.jwplayer.jw-state-buffering .jw-display-icon-container .jw-text{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-buffering .jw-icon-playback:before{content:"\\E034"}.jwplayer.jw-state-complete .jw-preview{visibility:visible;opacity:1;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-complete .jw-display-icon-container .jw-icon-display:before{content:"\\E610"}.jwplayer.jw-state-complete .jw-display-icon-container .jw-text{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jwplayer.jw-state-complete .jw-icon-playback:before{content:"\\E037"}.jwplayer.jw-state-complete .jw-captions{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}body .jw-error .jw-title,.jwplayer.jw-state-error .jw-title{visibility:visible;opacity:1;display:block;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}body .jw-error .jw-title .jw-title-primary,.jwplayer.jw-state-error .jw-title .jw-title-primary{white-space:normal}body .jw-error .jw-preview,.jwplayer.jw-state-error .jw-preview{visibility:visible;opacity:1;display:block;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}body .jw-error .jw-controlbar,.jwplayer.jw-state-error .jw-controlbar{visibility:visible;opacity:1;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}body .jw-error .jw-captions,.jwplayer.jw-state-error .jw-captions{visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}body .jw-error:hover .jw-display-icon-container,.jwplayer.jw-state-error:hover .jw-display-icon-container{cursor:default;color:#fff;background:#000}body .jw-error .jw-icon-display,.jwplayer.jw-state-error .jw-icon-display{cursor:default;-webkit-transition:color .2s linear;transition:color .2s linear;font-family:\'jw-icons\';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;text-transform:none;background-color:transparent;font-variant:normal;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale}body .jw-error .jw-icon-display:before,.jwplayer.jw-state-error .jw-icon-display:before{content:"\\E607"}body .jw-error .jw-icon-display:hover,.jwplayer.jw-state-error .jw-icon-display:hover{color:#fff}body .jw-error{font-size:16px;background-color:#000;color:#eee;width:100%;height:100%;display:table;opacity:1;position:relative}body .jw-error .jw-icon-container{position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0}.jwplayer.jw-flag-cast-available .jw-controlbar{display:table}.jwplayer.jw-flag-cast-available .jw-icon-cast{display:inline-block}.jwplayer.jw-flag-skin-loading .jw-captions,.jwplayer.jw-flag-skin-loading .jw-controls,.jwplayer.jw-flag-skin-loading .jw-title{display:none}.jwplayer.jw-flag-fullscreen{width:100% !important;height:100% !important;top:0;right:0;bottom:0;left:0;z-index:1000;margin:0;position:fixed}.jwplayer.jw-flag-fullscreen.jw-flag-user-inactive{cursor:none;-webkit-cursor-visibility:auto-hide}.jwplayer.jw-flag-fullscreen.jw-flag-user-inactive .jw-media{cursor:none}.jwplayer.jw-flag-fullscreen:hover .jw-title{display:block}.jwplayer.jw-flag-user-inactive .jw-title{display:none !important}.jwplayer.jw-flag-live .jw-controlbar-center-group{position:relative;left:auto;top:auto}.jwplayer.jw-flag-live .jw-controlbar .jw-text-elapsed,.jwplayer.jw-flag-live .jw-controlbar .jw-text-duration,.jwplayer.jw-flag-live .jw-controlbar .jw-slider-time{display:none}.jwplayer.jw-flag-live .jw-controlbar .jw-text-alt{display:inline}.jwplayer.jw-flag-user-inactive.jw-state-playing .jw-controlbar,.jwplayer.jw-flag-user-inactive.jw-state-playing .jw-dock{visibility:hidden;opacity:0;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jwplayer.jw-flag-user-inactive.jw-state-playing .jw-logo.jw-hide{visibility:hidden;opacity:0;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jwplayer.jw-flag-user-inactive.jw-state-playing .jw-plugin,.jwplayer.jw-flag-user-inactive.jw-state-playing .jw-captions{bottom:.5em}.jwplayer.jw-flag-user-inactive.jw-state-playing video::-webkit-media-text-track-container{bottom:.5em}.jwplayer.jw-flag-user-inactive.jw-state-buffering .jw-controlbar{display:none}.jwplayer.jw-flag-media-audio .jw-controlbar{display:table}.jw-flag-media-audio .jw-preview{display:block}.jwplayer.jw-flag-ads .jw-controlbar-center-group{position:relative;left:auto;top:auto}.jwplayer.jw-flag-ads .jw-preview,.jwplayer.jw-flag-ads .jw-dock,.jwplayer.jw-flag-ads .jw-logo,.jwplayer.jw-flag-ads .jw-captions.jw-captions-enabled{display:none}.jwplayer.jw-flag-ads video::-webkit-media-text-track-container{display:none}.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-inline,.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-tooltip,.jwplayer.jw-flag-ads .jw-controlbar .jw-text,.jwplayer.jw-flag-ads .jw-controlbar .jw-slider-horizontal{display:none}.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-playback,.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-volume,.jwplayer.jw-flag-ads .jw-controlbar .jw-slider-volume,.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-fullscreen{display:inline-block}.jwplayer.jw-flag-ads .jw-controlbar .jw-text-alt{display:inline}.jwplayer.jw-flag-ads .jw-controlbar .jw-slider-volume.jw-slider-horizontal,.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-inline.jw-icon-volume{display:inline-block}.jwplayer.jw-flag-ads .jw-controlbar .jw-icon-tooltip.jw-icon-volume{display:none}.jwplayer.jw-flag-ads .jw-logo,.jwplayer.jw-flag-ads .jw-captions{display:none}.jwplayer.jw-flag-ads-googleima .jw-controlbar{display:table;bottom:0}.jwplayer.jw-flag-ads-googleima.jw-flag-touch .jw-controlbar{font-size:1em}.jwplayer.jw-flag-ads-googleima.jw-flag-touch.jw-state-paused .jw-display-icon-container{display:none}.jwplayer.jw-flag-ads-googleima.jw-skin-seven .jw-controlbar{font-size:.9em}.jwplayer.jw-flag-ads-vpaid .jw-controlbar{display:none}.jwplayer.jw-flag-ads-hide-controls .jw-controls{display:none !important}.jwplayer.jw-flag-ads.jw-flag-touch .jw-controlbar{display:table}.jwplayer.jw-flag-ads .jw-controlbar{display:table}.jwplayer.jw-flag-overlay-open .jw-title{display:none}.jwplayer.jw-flag-overlay-open .jw-controls-right .jw-logo{display:none}.jwplayer.jw-flag-overlay-open-sharing .jw-controls,.jwplayer.jw-flag-overlay-open-related .jw-controls,.jwplayer.jw-flag-overlay-open-sharing .jw-title,.jwplayer.jw-flag-overlay-open-related .jw-title{display:none}.jwplayer.jw-flag-rightclick-open{overflow:visible}.jwplayer.jw-flag-rightclick-open .jw-rightclick{z-index:16777215}.jw-flag-controls-disabled .jw-controls{visibility:hidden;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jw-flag-controls-disabled .jw-logo{visibility:visible;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jw-flag-controls-disabled .jw-media{cursor:auto}body .jwplayer.jw-flag-flash-blocked .jw-title{display:block}body .jwplayer.jw-flag-flash-blocked .jw-controls,body .jwplayer.jw-flag-flash-blocked .jw-overlays,body .jwplayer.jw-flag-flash-blocked .jw-preview{display:none}.jw-flag-touch .jw-controlbar,.jw-flag-touch .jw-skip,.jw-flag-touch .jw-plugin{font-size:1.2em}.jw-flag-touch .jw-captions{bottom:4.25em}.jw-flag-touch video::-webkit-media-text-track-container{bottom:4.25em}.jw-flag-touch .jw-icon-tooltip.jw-open-drawer:before{display:inline}.jw-flag-touch .jw-icon-tooltip.jw-open-drawer:before{content:"\\E615"}.jw-flag-touch .jw-display-icon-container{pointer-events:none}.jw-flag-touch.jw-state-paused .jw-display-icon-container{display:table}.jw-flag-touch.jw-state-paused.jw-flag-dragging .jw-display-icon-container{display:none}.jw-flag-touch .jw-controlbar .jw-icon{font-size:.9em !important}.jw-flag-touch .jw-text-elapsed,.jw-flag-touch .jw-text-duration{font-size:.7em !important}.jw-flag-compact-player .jw-icon-playlist,.jw-flag-compact-player .jw-text-elapsed,.jw-flag-compact-player .jw-text-duration{display:none}.jwplayer.jw-flag-audio-player{background-color:transparent}.jwplayer.jw-flag-audio-player .jw-controlbar-center-group{position:relative;left:auto;top:auto}.jwplayer.jw-flag-audio-player .jw-media{visibility:hidden}.jwplayer.jw-flag-audio-player .jw-media object{width:1px;height:1px}.jwplayer.jw-flag-audio-player .jw-preview,.jwplayer.jw-flag-audio-player .jw-display-icon-container{display:none}.jwplayer.jw-flag-audio-player .jw-controlbar{display:table;height:auto;left:0;bottom:0;margin:0;width:100%;min-width:100%;opacity:1;visibility:visible;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jwplayer.jw-flag-audio-player .jw-controlbar .jw-icon-fullscreen{display:none}.jwplayer.jw-flag-audio-player .jw-controlbar .jw-icon-tooltip{display:none}.jwplayer.jw-flag-audio-player .jw-controlbar .jw-slider-volume.jw-slider-horizontal,.jwplayer.jw-flag-audio-player .jw-controlbar .jw-icon-inline.jw-icon-volume{display:inline-block}.jwplayer.jw-flag-audio-player .jw-controlbar .jw-icon-tooltip.jw-icon-volume{display:none}.jwplayer.jw-flag-audio-player .jw-controlbar{display:table;left:0;visibility:visible;opacity:1;-webkit-transition:visibility .5s,opacity .5s linear;transition:visibility .5s,opacity .5s linear}.jwplayer.jw-flag-audio-player .jw-controlbar{height:auto}.jwplayer.jw-flag-audio-player .jw-preview{display:none}.jwplayer.jw-flag-audio-player .jw-display-icon-container{display:none}.jw-skin-hdo .jw-background-color{background:rgba(0,0,0,0.7)}.jw-skin-hdo .jw-controlbar{height:3em}.jw-skin-hdo .jw-group{vertical-align:middle}.jw-skin-hdo .jw-title{font-size:1em}.jw-skin-hdo .jw-playlist{background-color:rgba(0,0,0,0.5)}.jw-skin-hdo .jw-playlist-container{left:-43%;background-color:rgba(0,0,0,0.5)}.jw-skin-hdo .jw-playlist-container .jw-active-option .jw-name{color:#4caf50}.jw-skin-hdo .jw-playlist-container .jw-option{font-size:.7em;border-bottom:1px solid #444}.jw-skin-hdo .jw-playlist-container .jw-option:hover,.jw-skin-hdo .jw-playlist-container .jw-option.jw-active-option{background-color:rgba(0,0,0,0.33)}.jw-skin-hdo .jw-playlist-container .jw-option:hover .jw-label{color:#4caf50}.jw-skin-hdo .jw-playlist-container .jw-icon-playlist{margin-left:0}.jw-skin-hdo .jw-playlist-container .jw-label .jw-icon-play{color:#4caf50}.jw-skin-hdo .jw-playlist-container .jw-label .jw-icon-play:before{padding-left:0}.jw-skin-hdo .jw-tooltip-title{background-color:#000;color:#fff}.jw-skin-hdo .jw-text{color:#fff}.jw-skin-hdo .jw-icon-tooltip .jw-text:hover{color:#4caf50}.jw-skin-hdo .jw-button-color{color:#fff}.jw-skin-hdo .jw-button-color:hover{color:#4caf50}.jw-skin-hdo .jw-toggle{color:#4caf50}.jw-skin-hdo .jw-toggle.jw-off{color:#fff}.jw-skin-hdo .jw-captions-text{background-color:transparent}.jw-skin-hdo .jw-controlbar .jw-icon:before{font-size:1.3em;padding:0 .3em}.jw-skin-hdo .jw-text-elapsed,.jw-skin-hdo .jw-text-duration{padding:0 .7em}.jw-skin-hdo .jw-controlbar .jw-icon-setting:before,.jw-skin-hdo .jw-controlbar .jw-icon-volume:before,.jw-skin-hdo .jw-controlbar .jw-icon-fullscreen:before,.jw-skin-hdo .jw-controlbar .jw-icon-audio-tracks:before{padding:0 .4em}.jw-skin-hdo .jw-controlbar.jw-background-color{background:rgba(0,0,0,0.15)}.jw-skin-hdo .jw-text-duration{padding-left:0}.jw-skin-hdo .jw-text-duration:before{content:"";border-left:1px solid #fff;padding-left:.5em}.jw-skin-hdo .jw-controlbar .jw-icon-playlist:before,.jw-skin-hdo .jw-controlbar .jw-icon-setting:before,.jw-skin-hdo .jw-controlbar .jw-icon-volume:before,.jw-skin-hdo .jw-controlbar .jw-icon-volume.jw-off:before{font-size:1em}.jw-skin-hdo .jw-controlbar .jw-icon-hd .jw-option,.jw-skin-hdo .jw-controlbar .jw-icon-cc .jw-option,.jw-skin-hdo .jw-controlbar .jw-icon-audio-tracks .jw-option{line-height:1.7em;height:1.7em}.jw-skin-hdo .jw-controlbar .jw-icon-hd,.jw-skin-hdo .jw-controlbar .jw-icon-cc,.jw-skin-hdo .jw-controlbar .jw-icon-playlist{font-size:1.3em !important}.jw-skin-hdo .jw-controlbar .jw-option{font-size:.7em}.jw-skin-hdo .jw-controlbar .jw-icon-prev:before{padding-right:.25em}.jw-skin-hdo .jw-controlbar .jw-icon-playlist:before{padding:0 .45em}.jw-skin-hdo .jw-controlbar .jw-icon-next:before{padding-left:.25em}.jw-skin-hdo .jw-controlbar .jw-icon{font-size:1.5em}.jw-skin-hdo .jw-icon-display{color:#fff}.jw-skin-hdo .jw-icon-display:before{padding-left:0;font-size:1.7em}.jw-skin-hdo .jw-display-icon-container{border-radius:50%;background:transparent !important;height:5em;width:5em;margin:-2.75em auto 0}.jw-skin-hdo .jw-rail{background-color:#384154;box-shadow:none}.jw-skin-hdo .jw-buffer{background-color:#666F82}.jw-skin-hdo .jw-progress{background:#4caf50}.jw-skin-hdo .jw-knob{width:.6em;height:.6em;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,0.5);border-radius:1em}.jw-skin-hdo .jw-slider-horizontal .jw-slider-container{height:.95em}.jw-skin-hdo .jw-slider-horizontal .jw-rail,.jw-skin-hdo .jw-slider-horizontal .jw-buffer,.jw-skin-hdo .jw-slider-horizontal .jw-progress{height:.2em;border-radius:0}.jw-skin-hdo .jw-slider-horizontal .jw-knob{top:-0.2em}.jw-skin-hdo .jw-slider-horizontal .jw-cue{top:-0.05em;top:-0.02em;width:.2em;height:.25em;background-color:#F7F056;border-radius:50%;-webkit-transition:width .2s,height .2s linear;transition:width .2s,height .2s linear}.jw-skin-hdo .jw-slider-time .jw-rail,.jw-skin-hdo .jw-slider-time .jw-progress,.jw-skin-hdo .jw-slider-time .jw-buffer{height:.2em;-webkit-transition:height .2s,top .2s linear;transition:height .2s,top .2s linear}.jw-skin-hdo .jw-slider-time .jw-knob{width:.9em;height:.9em;top:-0.3em;visibility:hidden;opacity:0;-webkit-transition:visibility .2s,opacity .2s linear;transition:visibility .2s,opacity .2s linear}.jw-skin-hdo .jw-slider-time .jw-slider-container{top:-0.2em;-webkit-transition:height .2s,top .2s linear;transition:height .2s,top .2s linear;height:.75em}.jw-skin-hdo .jw-slider-time:hover .jw-rail,.jw-skin-hdo .jw-slider-time:hover .jw-progress,.jw-skin-hdo .jw-slider-time:hover .jw-buffer{height:.4em}.jw-skin-hdo .jw-slider-time:hover .jw-cue{width:.3em;height:.4em}.jw-skin-hdo .jw-slider-time:hover .jw-knob{top:-0.25em;visibility:visible;opacity:1}.jw-skin-hdo .jw-slider-time:hover .jw-slider-container{top:-0.3em}.jw-skin-hdo .jw-slider-vertical .jw-rail,.jw-skin-hdo .jw-slider-vertical .jw-buffer,.jw-skin-hdo .jw-slider-vertical .jw-progress{width:.2em}.jw-skin-hdo .jw-volume-tip{width:100%;left:-45%;padding-bottom:.7em}.jw-skin-hdo .jw-text-duration{color:#fff}.jw-skin-hdo .jw-controlbar-right-group .jw-icon-inline:first-child:before{border:none}.jw-skin-hdo .jw-dock .jw-dock-button{border-radius:50%;border:1px solid #333}.jw-skin-hdo .jw-dock .jw-overlay{border-radius:2.5em}.jw-skin-hdo .jw-icon-tooltip .jw-active-option{background-color:rgba(76,175,80,0.7);color:#fff}.jw-skin-hdo .jw-icon-volume{min-width:1.8em}.jw-skin-hdo .jw-time-tip,.jw-skin-hdo .jw-menu,.jw-skin-hdo .jw-volume-tip,.jw-skin-hdo .jw-skip{border:1px solid #333}.jw-skin-hdo .jw-time-tip{padding:.2em;bottom:-10px}.jw-skin-hdo .jw-time-tip .jw-reset{background-size:cover}.jw-skin-hdo .jw-menu,.jw-skin-hdo .jw-volume-tip{bottom:.4em}.jw-skin-hdo .jw-text-elapsed,.jw-skin-hdo .jw-text-duration{font-size:1em}.jw-skin-hdo .jw-skip{padding:.4em;border-radius:1.75em}.jw-skin-hdo .jw-skip .jw-text,.jw-skin-hdo .jw-skip .jw-icon-inline{color:#fff;line-height:1.75em}.jw-skin-hdo .jw-skip.jw-skippable:hover .jw-text,.jw-skin-hdo .jw-skip.jw-skippable:hover .jw-icon-inline{color:#4caf50}.jw-skin-hdo.jw-flag-touch .jw-controlbar .jw-icon:before,.jw-skin-hdo.jw-flag-touch .jw-text-elapsed,.jw-skin-hdo.jw-flag-touch .jw-text-duration{padding:0 .35em}.jw-skin-hdo.jw-flag-touch .jw-controlbar .jw-icon-prev:before{padding:0 .125em 0 .7em}.jw-skin-hdo.jw-flag-touch .jw-controlbar .jw-icon-next:before{padding:0 .7em 0 .125em}.jw-skin-hdo.jw-flag-touch .jw-controlbar .jw-icon-playlist:before{padding:0 .225em}.jw-skin-hdo.jw-flag-fullscreen .jw-icon-prev,.jw-skin-hdo.jw-flag-fullscreen .jw-icon-next{font-size:1em}.jw-skin-hdo.jw-flag-fullscreen .jw-controlbar .jw-icon{font-size:1.5em}.jw-skin-hdo.jw-flag-fullscreen .jw-text-elapsed,.jw-skin-hdo.jw-flag-fullscreen .jw-text-duration{font-size:1.3em}.jw-skin-hdo.jw-flag-fullscreen .jw-controlbar{height:3.3em}.jw-skin-hdo .jw-setting-container{width:400px}.jw-skin-hdo .jw-setting-container .jw-setting-row-break{display:block}.jw-skin-hdo .jw-setting-container .jw-setting-row-break .row-beak-title{border-bottom:1px solid rgba(255,255,255,0.27);padding-bottom:10px;font-size:.6em;color:#fff;padding-left:10px;text-transform:uppercase;padding-top:5px}.jw-skin-hdo .jw-setting-container .jw-setting-row{padding:3px 10px}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-label{font-size:.5em;color:#fff;display:inline-block;width:21%}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value{display:inline-block}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-select{padding:2px 7px;font-size:.5em;display:inline-block;background:rgba(0,0,0,0.54);text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,0.27);-webkit-transition:background-color .3s linear;transition:background-color .3s linear}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-select:hover,.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-select.active{background-color:#4caf50}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-color{border:1px solid #fff;padding:0 10px;margin-right:7px;position:relative}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-color.active:before{content:"\\2714";color:#333;position:absolute;left:2px}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-value .button-color:hover{border:1px solid #4caf50}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-font-select{padding:3px;margin:0;border-radius:4px;background:rgba(51,51,51,0.8);color:#fff;border:none;outline:none;display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:13px}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-font-label{position:relative}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-font-label:after{content:\'\';right:0;top:5px;width:20px;height:20px;background:rgba(51,51,51,0.34);position:absolute;pointer-events:none;display:block}.jw-skin-hdo .jw-setting-container .jw-setting-row .jw-setting-font-label:before{content:\'<>\';font:11px "Consolas",monospace;color:#aaa;-webkit-transform:rotate(90deg);transform:rotate(90deg);right:1px;top:6px;padding:0 0 2px;border-bottom:1px solid #333;position:absolute;pointer-events:none}.jw-skin-hdo .caption-delay,.jw-skin-hdo .caption-size{width:50px;background-color:#fff;background-image:none;border:1px solid #ccc;height:25px;color:#000;font-size:15px}.jw-skin-hdo .jw-rightclick .jw-featured{background-color:rgba(37,37,37,0.72);vertical-align:middle}.jw-skin-hdo .jw-rightclick .jw-featured:hover{background-color:#252525;vertical-align:middle}.jw-skin-hdo .jw-rightclick .jw-featured a{color:#fff;font-weight:normal}.jw-skin-hdo .jw-preview{background-size:cover}.jw-skin-hdo .jw-slider-volume.jw-slider-horizontal,.jw-skin-hdo .jw-icon-inline.jw-icon-volume{display:inline-block}.jw-skin-hdo .jw-icon-tooltip.jw-icon-volume{display:none}', ""]);
}, function(a, b) {
a.exports = function() {
var a = [];
return a.toString = function() {
for (var a = [], b = 0; b < this.length; b++) {
var c = this[b];
c[2] ? a.push("@media " + c[2] + "{" + c[1] + "}") : a.push(c[1])
}
return a.join("")
}, a.i = function(b, c) {
"string" == typeof b && (b = [
[null, b, ""]
]);
for (var d = {}, e = 0; e < this.length; e++) {
var f = this[e][0];
"number" == typeof f && (d[f] = !0)
}
for (e = 0; e < b.length; e++) {
var g = b[e];
"number" == typeof g[0] && d[g[0]] || (c && !g[2] ? g[2] = c : c && (g[2] = "(" + g[2] + ") and (" + c + ")"), a.push(g))
}
}, a
}
}, function(a, b, c) {
a.exports = c.p + "jw-icons.woff"
}, function(a, b, c) {
a.exports = c.p + "jw-icons.ttf"
}, function(a, b) {
function c(a, b) {
for (var c = 0; c < a.length; c++) {
var d, e = a[c],
f = k[e.id];
if (f) {
for (f.refs++, d = 0; d < f.parts.length; d++) f.parts[d](e.parts[d]);
for (; d < e.parts.length; d++) f.parts.push(h(e.parts[d], b))
} else {
var g = [];
for (d = 0; d < e.parts.length; d++) g.push(h(e.parts[d], b));
k[e.id] = {
id: e.id,
refs: 1,
parts: g
}
}
}
}
function d(a) {
for (var b = [], c = {}, d = 0; d < a.length; d++) {
var e = a[d],
f = e[0],
g = e[1],
h = e[2],
i = {
css: g,
media: h
};
c[f] ? c[f].parts.push(i) : b.push(c[f] = {
id: f,
parts: [i]
})
}
return b
}
function e(a, b) {
var c = n(),
d = q[q.length - 1];
if ("top" === a.insertAt) d ? d.nextSibling ? c.insertBefore(b, d.nextSibling) : c.appendChild(b) : c.insertBefore(b, c.firstChild), q.push(b);
else {
if ("bottom" !== a.insertAt) throw new Error("Invalid value for parameter insertAt. Must be top or bottom.");
c.appendChild(b)
}
}
function f(a) {
a.parentNode.removeChild(a);
var b = q.indexOf(a);
b >= 0 && q.splice(b, 1)
}
function g(a) {
var b = document.createElement("style");
return b.type = "text/css", e(a, b), b
}
function h(a, b) {
var c, d, e;
if (b.singleton) {
var h = p++;
c = o || (o = g(b)), d = i.bind(null, c, h, !1), e = i.bind(null, c, h, !0)
} else c = g(b), d = j.bind(null, c), e = function() {
f(c)
};
return d(a),
function(b) {
if (b) {
if (b.css === a.css && b.media === a.media) return;
d(a = b)
} else e()
}
}
function i(a, b, c, d) {
var e = c ? "" : d.css;
if (a.styleSheet) a.styleSheet.cssText = r(b, e);
else {
var f = document.createTextNode(e),
g = a.childNodes;
g[b] && a.removeChild(g[b]), g.length ? a.insertBefore(f, g[b]) : a.appendChild(f)
}
}
function j(a, b) {
var c = b.css,
d = b.media;
if (d && a.setAttribute("media", d), a.styleSheet) a.styleSheet.cssText = c;
else {
for (; a.firstChild;) a.removeChild(a.firstChild);
a.appendChild(document.createTextNode(c))
}
}
var k = {},
l = function(a) {
var b;
return function() {
return "undefined" == typeof b && (b = a.apply(this, arguments)), b
}
},
m = l(function() {
return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())
}),
n = l(function() {
return document.head || document.getElementsByTagName("head")[0]
}),
o = null,
p = 0,
q = [];
a.exports = function(a, b) {
b = b || {}, "undefined" == typeof b.singleton && (b.singleton = m()), "undefined" == typeof b.insertAt && (b.insertAt = "bottom");
var e = d(a);
return c(e, b),
function(a) {
for (var f, g = [], h = 0; h < e.length; h++) {
var i = e[h];
f = k[i.id], f.refs--, g.push(f)
}
if (a) {
var j = d(a);
c(j, b)
}
for (h = 0; h < g.length; h++)
if (f = g[h], 0 === f.refs) {
for (var l = 0; l < f.parts.length; l++) f.parts[l]();
delete k[f.id]
}
}
};
var r = function() {
var a = [];
return function(b, c) {
return a[b] = c, a.filter(Boolean).join("\n")
}
}()
}, function(a, b, c) {
var d, e;
d = [c(163)], e = function(a) {
function b(b, c, d, e) {
return a({
id: b,
skin: c,
title: d,
body: e
})
}
return b
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d = c(110);
a.exports = (d["default"] || d).template({
compiler: [7, ">= 4.0.0"],
main: function(a, b, c, d, e) {
var f, g = null != b ? b : {},
h = c.helperMissing,
i = "function",
j = a.escapeExpression;
return '<div id="' + j((f = null != (f = c.id || (null != b ? b.id : b)) ? f : h, typeof f === i ? f.call(g, {
name: "id",
hash: {},
data: e
}) : f)) + '"class="jw-skin-' + j((f = null != (f = c.skin || (null != b ? b.skin : b)) ? f : h, typeof f === i ? f.call(g, {
name: "skin",
hash: {},
data: e
}) : f)) + ' jw-error jw-reset">\r\n <div class="jw-title jw-reset">\r\n <div class="jw-title-primary jw-reset">' + j((f = null != (f = c.title || (null != b ? b.title : b)) ? f : h, typeof f === i ? f.call(g, {
name: "title",
hash: {},
data: e
}) : f)) + '</div>\r\n <div class="jw-title-secondary jw-reset">' + j((f = null != (f = c.body || (null != b ? b.body : b)) ? f : h, typeof f === i ? f.call(g, {
name: "body",
hash: {},
data: e
}) : f)) + '</div>\r\n </div>\r\n\r\n <div class="jw-icon-container jw-reset">\r\n <div class="jw-display-icon-container jw-background-color jw-reset">\r\n <div class="jw-icon jw-icon-display jw-reset"></div>\r\n </div>\r\n </div>\r\n</div>\r\n'
},
useData: !0
})
}, function(a, b, c) {
var d, e;
d = [c(94), c(43)], e = function(a, b) {
return function(c, d) {
var e = ["seek", "skipAd", "stop", "playlistNext", "playlistPrev", "playlistItem", "playlistItemChange", "resize", "addButton", "removeButton", "registerPlugin", "attachMedia"];
b.each(e, function(a) {
c[a] = function() {
return d[a].apply(d, arguments), c
}
}), c.registerPlugin = a.registerPlugin
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43)], e = function(a) {
return function(b, c) {
var d = ["buffer", "controls", "position", "duration", "fullscreen", "volume", "mute", "item", "stretching", "playlist"];
a.each(d, function(a) {
var d = a.slice(0, 1).toUpperCase() + a.slice(1);
b["get" + d] = function() {
return c._model.get(a)
}
});
var e = ["getAudioTracks", "getCaptionsList", "getWidth", "getHeight", "getCurrentAudioTrack", "setCurrentAudioTrack", "getCurrentCaptions", "setCurrentCaptions", "getCurrentQuality", "setCurrentQuality", "getQualityLevels", "getVisualQuality", "getConfig", "getState", "getSafeRegion", "isBeforeComplete", "isBeforePlay", "getProvider", "detachMedia"],
f = ["setControls", "setFullscreen", "setVolume", "setMute", "setCues"];
a.each(e, function(a) {
b[a] = function() {
return c[a] ? c[a].apply(c, arguments) : null
}
}), a.each(f, function(a) {
b[a] = function() {
return c[a].apply(c, arguments), b
}
}), b.getPlaylistIndex = b.getItem
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}, function(a, b, c) {
var d, e;
d = [c(43), c(44)], e = function(a, b) {
return function(c) {
var d = {
onBufferChange: b.JWPLAYER_MEDIA_BUFFER,
onBufferFull: b.JWPLAYER_MEDIA_BUFFER_FULL,
onError: b.JWPLAYER_ERROR,
onSetupError: b.JWPLAYER_SETUP_ERROR,
onFullscreen: b.JWPLAYER_FULLSCREEN,
onMeta: b.JWPLAYER_MEDIA_META,
onMute: b.JWPLAYER_MEDIA_MUTE,
onPlaylist: b.JWPLAYER_PLAYLIST_LOADED,
onPlaylistItem: b.JWPLAYER_PLAYLIST_ITEM,
onPlaylistComplete: b.JWPLAYER_PLAYLIST_COMPLETE,
onReady: b.JWPLAYER_READY,
onResize: b.JWPLAYER_RESIZE,
onComplete: b.JWPLAYER_MEDIA_COMPLETE,
onSeek: b.JWPLAYER_MEDIA_SEEK,
onTime: b.JWPLAYER_MEDIA_TIME,
onVolume: b.JWPLAYER_MEDIA_VOLUME,
onBeforePlay: b.JWPLAYER_MEDIA_BEFOREPLAY,
onBeforeComplete: b.JWPLAYER_MEDIA_BEFORECOMPLETE,
onDisplayClick: b.JWPLAYER_DISPLAY_CLICK,
onControls: b.JWPLAYER_CONTROLS,
onQualityLevels: b.JWPLAYER_MEDIA_LEVELS,
onQualityChange: b.JWPLAYER_MEDIA_LEVEL_CHANGED,
onCaptionsList: b.JWPLAYER_CAPTIONS_LIST,
onCaptionsChange: b.JWPLAYER_CAPTIONS_CHANGED,
onAdError: b.JWPLAYER_AD_ERROR,
onAdClick: b.JWPLAYER_AD_CLICK,
onAdImpression: b.JWPLAYER_AD_IMPRESSION,
onAdTime: b.JWPLAYER_AD_TIME,
onAdComplete: b.JWPLAYER_AD_COMPLETE,
onAdCompanions: b.JWPLAYER_AD_COMPANIONS,
onAdSkipped: b.JWPLAYER_AD_SKIPPED,
onAdPlay: b.JWPLAYER_AD_PLAY,
onAdPause: b.JWPLAYER_AD_PAUSE,
onAdMeta: b.JWPLAYER_AD_META,
onCast: b.JWPLAYER_CAST_SESSION,
onAudioTrackChange: b.JWPLAYER_AUDIO_TRACK_CHANGED,
onAudioTracks: b.JWPLAYER_AUDIO_TRACKS
},
e = {
onBuffer: "buffer",
onPause: "pause",
onPlay: "play",
onIdle: "idle"
};
a.each(e, function(b, d) {
c[d] = a.partial(c.on, b, a)
}), a.each(d, function(b, d) {
c[d] = a.partial(c.on, b, a)
})
}
}.apply(b, d), !(void 0 !== e && (a.exports = e))
}])
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment