5318 lines
169 KiB
JavaScript
5318 lines
169 KiB
JavaScript
/*!
|
|
JW Player version 8.7.4
|
|
Copyright (c) 2019, JW Player, All Rights Reserved
|
|
This source code and its use and distribution is subject to the terms
|
|
and conditions of the applicable license agreement.
|
|
https://www.jwplayer.com/tos/
|
|
This product includes portions of other software. For the full text of licenses, see
|
|
https://ssl.p.jwpcdn.com/player/v/8.7.4/notice.txt
|
|
*/
|
|
window.jwplayer = function(t) {
|
|
function e(e) {
|
|
for (var n, i, o = e[0], u = e[1], a = 0, s = []; a < o.length; a++) i = o[a], r[i] && s.push(r[i][0]), r[i] = 0;
|
|
for (n in u) Object.prototype.hasOwnProperty.call(u, n) && (t[n] = u[n]);
|
|
for (c && c(e); s.length;) s.shift()()
|
|
}
|
|
var n = {},
|
|
r = {
|
|
17: 0
|
|
};
|
|
|
|
function i(e) {
|
|
if (n[e]) return n[e].exports;
|
|
var r = n[e] = {
|
|
i: e,
|
|
l: !1,
|
|
exports: {}
|
|
};
|
|
return t[e].call(r.exports, r, r.exports, i), r.l = !0, r.exports
|
|
}
|
|
i.e = function(t) {
|
|
var e = [],
|
|
n = r[t];
|
|
if (0 !== n)
|
|
if (n) e.push(n[2]);
|
|
else {
|
|
var o = new Promise(function(e, i) {
|
|
n = r[t] = [e, i]
|
|
});
|
|
e.push(n[2] = o);
|
|
var u = document.getElementsByTagName("head")[0],
|
|
a = document.createElement("script");
|
|
a.charset = "utf-8", a.timeout = 55, i.nc && a.setAttribute("nonce", i.nc), a.src = i.p + "" + ({
|
|
0: "related",
|
|
1: "provider.html5",
|
|
2: "jwplayer.controls",
|
|
3: "polyfills.intersection-observer",
|
|
4: "jwplayer.core",
|
|
5: "jwplayer.core.controls",
|
|
6: "jwplayer.core.controls.polyfills",
|
|
7: "jwplayer.core.controls.html5",
|
|
8: "jwplayer.core.controls.polyfills.html5",
|
|
9: "provider.flash",
|
|
10: "provider.hlsjs",
|
|
11: "provider.shaka",
|
|
12: "polyfills.webvtt",
|
|
13: "jwplayer.vr",
|
|
14: "provider.airplay",
|
|
15: "provider.cast",
|
|
16: "vttparser"
|
|
} [t] || t) + ".js";
|
|
var c = setTimeout(function() {
|
|
s({
|
|
type: "timeout",
|
|
target: a
|
|
})
|
|
}, 55e3);
|
|
|
|
function s(e) {
|
|
a.onerror = a.onload = null, clearTimeout(c);
|
|
var n = r[t];
|
|
if (0 !== n) {
|
|
if (n) {
|
|
var i = e && ("load" === e.type ? "missing" : e.type),
|
|
o = e && e.target && e.target.src,
|
|
u = new Error("Loading chunk " + t + " failed.\n(" + i + ": " + o + ")");
|
|
u.type = i, u.request = o, n[1](u)
|
|
}
|
|
r[t] = void 0
|
|
}
|
|
}
|
|
a.onerror = a.onload = s, u.appendChild(a)
|
|
} return Promise.all(e)
|
|
}, i.m = t, i.c = n, i.d = function(t, e, n) {
|
|
i.o(t, e) || Object.defineProperty(t, e, {
|
|
configurable: !1,
|
|
enumerable: !0,
|
|
get: n
|
|
})
|
|
}, i.r = function(t) {
|
|
Object.defineProperty(t, "__esModule", {
|
|
value: !0
|
|
})
|
|
}, i.n = function(t) {
|
|
var e = t && t.__esModule ? function() {
|
|
return t.default
|
|
} : function() {
|
|
return t
|
|
};
|
|
return i.d(e, "a", e), e
|
|
}, i.o = function(t, e) {
|
|
return Object.prototype.hasOwnProperty.call(t, e)
|
|
}, i.p = "", i.oe = function(t) {
|
|
throw console.error(t), t
|
|
};
|
|
var o = window.webpackJsonpjwplayer = window.webpackJsonpjwplayer || [],
|
|
u = o.push.bind(o);
|
|
o.push = e, o = o.slice();
|
|
for (var a = 0; a < o.length; a++) e(o[a]);
|
|
var c = u;
|
|
return i(i.s = 60)
|
|
}([function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "i", function() {
|
|
return C
|
|
}), n.d(e, "A", function() {
|
|
return x
|
|
}), n.d(e, "F", function() {
|
|
return S
|
|
}), n.d(e, "l", function() {
|
|
return _
|
|
}), n.d(e, "k", function() {
|
|
return F
|
|
}), n.d(e, "a", function() {
|
|
return M
|
|
}), n.d(e, "b", function() {
|
|
return L
|
|
}), n.d(e, "G", function() {
|
|
return D
|
|
}), n.d(e, "n", function() {
|
|
return Q
|
|
}), n.d(e, "H", function() {
|
|
return X
|
|
}), n.d(e, "e", function() {
|
|
return W
|
|
}), n.d(e, "J", function() {
|
|
return H
|
|
}), n.d(e, "m", function() {
|
|
return Y
|
|
}), n.d(e, "h", function() {
|
|
return J
|
|
}), n.d(e, "p", function() {
|
|
return K
|
|
}), n.d(e, "c", function() {
|
|
return G
|
|
}), n.d(e, "C", function() {
|
|
return et
|
|
}), n.d(e, "I", function() {
|
|
return it
|
|
}), n.d(e, "q", function() {
|
|
return at
|
|
}), n.d(e, "g", function() {
|
|
return ct
|
|
}), n.d(e, "j", function() {
|
|
return st
|
|
}), n.d(e, "D", function() {
|
|
return lt
|
|
}), n.d(e, "w", function() {
|
|
return dt
|
|
}), n.d(e, "t", function() {
|
|
return gt
|
|
}), n.d(e, "v", function() {
|
|
return mt
|
|
}), n.d(e, "x", function() {
|
|
return bt
|
|
}), n.d(e, "s", function() {
|
|
return yt
|
|
}), n.d(e, "u", function() {
|
|
return jt
|
|
}), n.d(e, "r", function() {
|
|
return wt
|
|
}), n.d(e, "y", function() {
|
|
return Ot
|
|
}), n.d(e, "o", function() {
|
|
return kt
|
|
}), n.d(e, "d", function() {
|
|
return xt
|
|
}), n.d(e, "E", function() {
|
|
return Pt
|
|
}), n.d(e, "B", function() {
|
|
return St
|
|
}), n.d(e, "z", function() {
|
|
return Et
|
|
});
|
|
var r = n(17),
|
|
i = {},
|
|
o = Array.prototype,
|
|
u = Object.prototype,
|
|
a = Function.prototype,
|
|
c = o.slice,
|
|
s = o.concat,
|
|
l = u.toString,
|
|
f = u.hasOwnProperty,
|
|
d = o.map,
|
|
p = o.reduce,
|
|
h = o.forEach,
|
|
v = o.filter,
|
|
g = o.every,
|
|
m = o.some,
|
|
b = o.indexOf,
|
|
y = Array.isArray,
|
|
j = Object.keys,
|
|
w = a.bind,
|
|
O = window.isFinite,
|
|
C = function(t, e, n) {
|
|
var r = void 0,
|
|
o = void 0;
|
|
if (null == t) return t;
|
|
if (h && t.forEach === h) t.forEach(e, n);
|
|
else if (t.length === +t.length) {
|
|
for (r = 0, o = t.length; r < o; r++)
|
|
if (e.call(n, t[r], r, t) === i) return
|
|
} else {
|
|
var u = ot(t);
|
|
for (r = 0, o = u.length; r < o; r++)
|
|
if (e.call(n, t[u[r]], u[r], t) === i) return
|
|
}
|
|
return t
|
|
},
|
|
k = C,
|
|
x = function(t, e, n) {
|
|
var r = [];
|
|
return null == t ? r : d && t.map === d ? t.map(e, n) : (C(t, function(t, i, o) {
|
|
r.push(e.call(n, t, i, o))
|
|
}), r)
|
|
},
|
|
P = x,
|
|
S = function(t, e, n, r) {
|
|
var i = arguments.length > 2;
|
|
if (null == t && (t = []), p && t.reduce === p) return r && (e = G(e, r)), i ? t.reduce(e, n) : t.reduce(e);
|
|
if (C(t, function(t, o, u) {
|
|
i ? n = e.call(r, n, t, o, u) : (n = t, i = !0)
|
|
}), !i) throw new TypeError("Reduce of empty array with no initial value");
|
|
return n
|
|
},
|
|
T = S,
|
|
E = S,
|
|
_ = function(t, e, n) {
|
|
var r = void 0;
|
|
return L(t, function(t, i, o) {
|
|
if (e.call(n, t, i, o)) return r = t, !0
|
|
}), r
|
|
},
|
|
A = _,
|
|
F = function(t, e, n) {
|
|
var r = [];
|
|
return null == t ? r : v && t.filter === v ? t.filter(e, n) : (C(t, function(t, i, o) {
|
|
e.call(n, t, i, o) && r.push(t)
|
|
}), r)
|
|
},
|
|
N = F,
|
|
M = function(t, e, n) {
|
|
e || (e = kt);
|
|
var r = !0;
|
|
return null == t ? r : g && t.every === g ? t.every(e, n) : (C(t, function(t, o, u) {
|
|
if (!(r = r && e.call(n, t, o, u))) return i
|
|
}), !!r)
|
|
},
|
|
I = M,
|
|
L = function(t, e, n) {
|
|
e || (e = kt);
|
|
var r = !1;
|
|
return null == t ? r : m && t.some === m ? t.some(e, n) : (C(t, function(t, o, u) {
|
|
if (r || (r = e.call(n, t, o, u))) return i
|
|
}), !!r)
|
|
},
|
|
R = L,
|
|
D = function(t) {
|
|
return null == t ? 0 : t.length === +t.length ? t.length : ot(t).length
|
|
},
|
|
B = function(t, e) {
|
|
var n = void 0;
|
|
return function() {
|
|
return --t > 0 && (n = e.apply(this, arguments)), t <= 1 && (e = null), n
|
|
}
|
|
},
|
|
z = function(t) {
|
|
return null == t ? kt : gt(t) ? t : Pt(t)
|
|
},
|
|
q = function(t) {
|
|
return function(e, n, r) {
|
|
var i = {};
|
|
return n = z(n), C(e, function(o, u) {
|
|
var a = n.call(r, o, u, e);
|
|
t(i, a, o)
|
|
}), i
|
|
}
|
|
},
|
|
Q = q(function(t, e, n) {
|
|
Ct(t, e) ? t[e].push(n) : t[e] = [n]
|
|
}),
|
|
V = q(function(t, e, n) {
|
|
t[e] = n
|
|
}),
|
|
X = function(t, e, n, r) {
|
|
for (var i = (n = z(n)).call(r, e), o = 0, u = t.length; o < u;) {
|
|
var a = o + u >>> 1;
|
|
n.call(r, t[a]) < i ? o = a + 1 : u = a
|
|
}
|
|
return o
|
|
},
|
|
W = function(t, e) {
|
|
return null != t && (t.length !== +t.length && (t = ut(t)), K(t, e) >= 0)
|
|
},
|
|
U = W,
|
|
H = function(t, e) {
|
|
return F(t, St(e))
|
|
},
|
|
Y = function(t, e) {
|
|
return _(t, St(e))
|
|
},
|
|
J = function(t) {
|
|
var e = s.apply(o, c.call(arguments, 1));
|
|
return F(t, function(t) {
|
|
return !W(e, t)
|
|
})
|
|
},
|
|
K = function(t, e, n) {
|
|
if (null == t) return -1;
|
|
var r = 0,
|
|
i = t.length;
|
|
if (n) {
|
|
if ("number" != typeof n) return t[r = X(t, e)] === e ? r : -1;
|
|
r = n < 0 ? Math.max(0, i + n) : n
|
|
}
|
|
if (b && t.indexOf === b) return t.indexOf(e, n);
|
|
for (; r < i; r++)
|
|
if (t[r] === e) return r;
|
|
return -1
|
|
},
|
|
$ = function() {},
|
|
G = function(t, e) {
|
|
var n = void 0,
|
|
r = void 0;
|
|
if (w && t.bind === w) return w.apply(t, c.call(arguments, 1));
|
|
if (!gt(t)) throw new TypeError;
|
|
return n = c.call(arguments, 2), r = function() {
|
|
if (!(this instanceof r)) return t.apply(e, n.concat(c.call(arguments)));
|
|
$.prototype = t.prototype;
|
|
var i = new $;
|
|
$.prototype = null;
|
|
var o = t.apply(i, n.concat(c.call(arguments)));
|
|
return Object(o) === o ? o : i
|
|
}
|
|
},
|
|
Z = function(t) {
|
|
var e = c.call(arguments, 1);
|
|
return function() {
|
|
for (var n = 0, r = e.slice(), i = 0, o = r.length; i < o; i++) Ct(r[i], "partial") && (r[i] = arguments[n++]);
|
|
for (; n < arguments.length;) r.push(arguments[n++]);
|
|
return t.apply(this, r)
|
|
}
|
|
},
|
|
tt = Z(B, 2),
|
|
et = function(t, e) {
|
|
var n = {};
|
|
return e || (e = kt),
|
|
function() {
|
|
var r = e.apply(this, arguments);
|
|
return Ct(n, r) ? n[r] : n[r] = t.apply(this, arguments)
|
|
}
|
|
},
|
|
nt = function(t, e) {
|
|
var n = c.call(arguments, 2);
|
|
return setTimeout(function() {
|
|
return t.apply(null, n)
|
|
}, e)
|
|
},
|
|
rt = Z(nt, {
|
|
partial: Z
|
|
}, 1),
|
|
it = function(t, e, n) {
|
|
var r = void 0,
|
|
i = void 0,
|
|
o = void 0,
|
|
u = null,
|
|
a = 0;
|
|
n || (n = {});
|
|
var c = function() {
|
|
a = !1 === n.leading ? 0 : Tt(), u = null, o = t.apply(r, i), r = i = null
|
|
};
|
|
return function() {
|
|
a || !1 !== n.leading || (a = Tt);
|
|
var s = e - (Tt - a);
|
|
return r = this, i = arguments, s <= 0 ? (clearTimeout(u), u = null, a = Tt, o = t.apply(r, i), r = i = null) : u || !1 === n.trailing || (u = setTimeout(c, s)), o
|
|
}
|
|
},
|
|
ot = function(t) {
|
|
if (!dt(t)) return [];
|
|
if (j) return j(t);
|
|
var e = [];
|
|
for (var n in t) Ct(t, n) && e.push(n);
|
|
return e
|
|
},
|
|
ut = function(t) {
|
|
for (var e = ot(t), n = ot.length, r = Array(n), i = 0; i < n; i++) r[i] = t[e[i]];
|
|
return r
|
|
},
|
|
at = function(t) {
|
|
for (var e = {}, n = ot(t), r = 0, i = n.length; r < i; r++) e[t[n[r]]] = n[r];
|
|
return e
|
|
},
|
|
ct = function(t) {
|
|
return C(c.call(arguments, 1), function(e) {
|
|
if (e)
|
|
for (var n in e) void 0 === t[n] && (t[n] = e[n])
|
|
}), t
|
|
},
|
|
st = Object.assign || function(t) {
|
|
return C(c.call(arguments, 1), function(e) {
|
|
if (e)
|
|
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n])
|
|
}), t
|
|
},
|
|
lt = function(t) {
|
|
var e = {},
|
|
n = s.apply(o, c.call(arguments, 1));
|
|
return C(n, function(n) {
|
|
n in t && (e[n] = t[n])
|
|
}), e
|
|
},
|
|
ft = y || function(t) {
|
|
return "[object Array]" == l.call(t)
|
|
},
|
|
dt = function(t) {
|
|
return t === Object(t)
|
|
},
|
|
pt = [];
|
|
C(["Function", "String", "Number", "Date", "RegExp"], function(t) {
|
|
pt[t] = function(e) {
|
|
return l.call(e) == "[object " + t + "]"
|
|
}
|
|
}), pt.Function = function(t) {
|
|
return "function" == typeof t
|
|
};
|
|
var ht = pt.Date,
|
|
vt = pt.RegExp,
|
|
gt = pt.Function,
|
|
mt = pt.Number,
|
|
bt = pt.String,
|
|
yt = function(t) {
|
|
return O(t) && !jt(parseFloat(t))
|
|
},
|
|
jt = function(t) {
|
|
return mt(t) && t != +t
|
|
},
|
|
wt = function(t) {
|
|
return !0 === t || !1 === t || "[object Boolean]" == l.call(t)
|
|
},
|
|
Ot = function(t) {
|
|
return void 0 === t
|
|
},
|
|
Ct = function(t, e) {
|
|
return f.call(t, e)
|
|
},
|
|
kt = function(t) {
|
|
return t
|
|
},
|
|
xt = function(t) {
|
|
return function() {
|
|
return t
|
|
}
|
|
},
|
|
Pt = function(t) {
|
|
return function(e) {
|
|
return e[t]
|
|
}
|
|
},
|
|
St = function(t) {
|
|
return function(e) {
|
|
if (e === t) return !0;
|
|
for (var n in t)
|
|
if (t[n] !== e[n]) return !1;
|
|
return !0
|
|
}
|
|
},
|
|
Tt = r.a,
|
|
Et = function(t) {
|
|
return mt(t) && !jt(t)
|
|
};
|
|
e.f = {
|
|
after: function(t, e) {
|
|
return function() {
|
|
if (--t < 1) return e.apply(this, arguments)
|
|
}
|
|
},
|
|
all: M,
|
|
any: L,
|
|
before: B,
|
|
bind: G,
|
|
clone: function(t) {
|
|
return dt(t) ? ft(t) ? t.slice() : st({}, t) : t
|
|
},
|
|
collect: P,
|
|
compact: function(t) {
|
|
return F(t, kt)
|
|
},
|
|
constant: xt,
|
|
contains: W,
|
|
defaults: ct,
|
|
defer: rt,
|
|
delay: nt,
|
|
detect: A,
|
|
difference: J,
|
|
each: C,
|
|
every: I,
|
|
extend: st,
|
|
filter: F,
|
|
find: _,
|
|
findWhere: Y,
|
|
foldl: T,
|
|
forEach: k,
|
|
groupBy: Q,
|
|
has: Ct,
|
|
identity: kt,
|
|
include: U,
|
|
indexBy: V,
|
|
indexOf: K,
|
|
inject: E,
|
|
invert: at,
|
|
isArray: ft,
|
|
isBoolean: wt,
|
|
isDate: ht,
|
|
isFinite: yt,
|
|
isFunction: gt,
|
|
isNaN: jt,
|
|
isNull: function(t) {
|
|
return null === t
|
|
},
|
|
isNumber: mt,
|
|
isObject: dt,
|
|
isRegExp: vt,
|
|
isString: bt,
|
|
isUndefined: Ot,
|
|
isValidNumber: Et,
|
|
keys: ot,
|
|
last: function(t, e, n) {
|
|
if (null != t) return null == e || n ? t[t.length - 1] : c.call(t, Math.max(t.length - e, 0))
|
|
},
|
|
map: x,
|
|
matches: St,
|
|
max: function(t, e, n) {
|
|
if (!e && ft(t) && t[0] === +t[0] && t.length < 65535) return Math.max.apply(Math, t);
|
|
var r = -1 / 0,
|
|
i = -1 / 0;
|
|
return C(t, function(t, o, u) {
|
|
var a = e ? e.call(n, t, o, u) : t;
|
|
a > i && (r = t, i = a)
|
|
}), r
|
|
},
|
|
memoize: et,
|
|
now: Tt,
|
|
omit: function(t) {
|
|
var e = {},
|
|
n = s.apply(o, c.call(arguments, 1));
|
|
for (var r in t) W(n, r) || (e[r] = t[r]);
|
|
return e
|
|
},
|
|
once: tt,
|
|
partial: Z,
|
|
pick: lt,
|
|
pluck: function(t, e) {
|
|
return x(t, Pt(e))
|
|
},
|
|
property: Pt,
|
|
propertyOf: function(t) {
|
|
return null == t ? function() {} : function(e) {
|
|
return t[e]
|
|
}
|
|
},
|
|
reduce: S,
|
|
reject: function(t, e, n) {
|
|
return F(t, function(t, r, i) {
|
|
return !e.call(n, t, r, i)
|
|
}, n)
|
|
},
|
|
result: function(t, e) {
|
|
if (null != t) {
|
|
var n = t[e];
|
|
return gt(n) ? n.call(t) : n
|
|
}
|
|
},
|
|
select: N,
|
|
size: D,
|
|
some: R,
|
|
sortedIndex: X,
|
|
throttle: it,
|
|
where: H,
|
|
without: function(t) {
|
|
return J(t, c.call(arguments, 1))
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "y", function() {
|
|
return o
|
|
}), n.d(e, "x", function() {
|
|
return u
|
|
}), n.d(e, "w", function() {
|
|
return a
|
|
}), n.d(e, "t", function() {
|
|
return c
|
|
}), n.d(e, "u", function() {
|
|
return s
|
|
}), n.d(e, "a", function() {
|
|
return l
|
|
}), n.d(e, "c", function() {
|
|
return f
|
|
}), n.d(e, "v", function() {
|
|
return d
|
|
}), n.d(e, "d", function() {
|
|
return p
|
|
}), n.d(e, "h", function() {
|
|
return h
|
|
}), n.d(e, "e", function() {
|
|
return v
|
|
}), n.d(e, "k", function() {
|
|
return g
|
|
}), n.d(e, "i", function() {
|
|
return m
|
|
}), n.d(e, "j", function() {
|
|
return b
|
|
}), n.d(e, "b", function() {
|
|
return x
|
|
}), n.d(e, "f", function() {
|
|
return P
|
|
}), n.d(e, "g", function() {
|
|
return S
|
|
}), n.d(e, "o", function() {
|
|
return T
|
|
}), n.d(e, "l", function() {
|
|
return E
|
|
}), n.d(e, "m", function() {
|
|
return _
|
|
}), n.d(e, "n", function() {
|
|
return A
|
|
}), n.d(e, "p", function() {
|
|
return F
|
|
}), n.d(e, "q", function() {
|
|
return N
|
|
}), n.d(e, "r", function() {
|
|
return M
|
|
}), n.d(e, "s", function() {
|
|
return I
|
|
}), n.d(e, "A", function() {
|
|
return L
|
|
}), n.d(e, "z", function() {
|
|
return R
|
|
}), n.d(e, "B", function() {
|
|
return D
|
|
});
|
|
var r = n(0),
|
|
i = function() {
|
|
function t(t, e) {
|
|
for (var n = 0; n < e.length; n++) {
|
|
var r = e[n];
|
|
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
|
|
}
|
|
}
|
|
return function(e, n, r) {
|
|
return n && t(e.prototype, n), r && t(e, r), e
|
|
}
|
|
}();
|
|
var o = 1e5,
|
|
u = 100001,
|
|
a = 100002,
|
|
c = 101e3,
|
|
s = 102e3,
|
|
l = 200001,
|
|
f = 202e3,
|
|
d = 104e3,
|
|
p = 203e3,
|
|
h = 203640,
|
|
v = 204e3,
|
|
g = 210001,
|
|
m = 21e4,
|
|
b = 214e3,
|
|
y = 303200,
|
|
j = 303210,
|
|
w = 303212,
|
|
O = 303213,
|
|
C = 303220,
|
|
k = 303230,
|
|
x = 306e3,
|
|
P = 308e3,
|
|
S = 308640,
|
|
T = "cantPlayVideo",
|
|
E = "badConnection",
|
|
_ = "cantLoadPlayer",
|
|
A = "cantPlayInBrowser",
|
|
F = "liveStreamDown",
|
|
N = "protectedContent",
|
|
M = "technicalError",
|
|
I = function() {
|
|
function t(e, n) {
|
|
var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
|
|
! function(t, e) {
|
|
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, t), this.code = Object(r.z)(n) ? n : 0, this.sourceError = i, e && (this.key = e)
|
|
}
|
|
return i(t, null, [{
|
|
key: "logMessage",
|
|
value: function(t) {
|
|
var e = t % 1e3,
|
|
n = Math.floor((t - e) / 1e3),
|
|
r = t;
|
|
return e >= 400 && e < 600 && (r = n + "400-" + n + "599"), "JW Player " + (t > 299999 && t < 4e5 ? "Warning" : "Error") + " " + t + ". For more information see https://developer.jwplayer.com/jw-player/docs/developer-guide/api/errors-reference#" + r
|
|
}
|
|
}]), t
|
|
}();
|
|
|
|
function L(t, e, n) {
|
|
return n instanceof I && n.code ? n : new I(t, e, n)
|
|
}
|
|
|
|
function R(t, e) {
|
|
var n = L(M, e, t);
|
|
return n.code = (t && t.code || 0) + e, n
|
|
}
|
|
|
|
function D(t) {
|
|
var e = t.name,
|
|
n = t.message;
|
|
switch (e) {
|
|
case "AbortError":
|
|
return /pause/.test(n) ? O : /load/.test(n) ? w : j;
|
|
case "NotAllowedError":
|
|
return C;
|
|
case "NotSupportedError":
|
|
return k;
|
|
default:
|
|
return y
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "h", function() {
|
|
return o
|
|
}), n.d(e, "d", function() {
|
|
return u
|
|
}), n.d(e, "i", function() {
|
|
return a
|
|
}), n.d(e, "a", function() {
|
|
return c
|
|
}), n.d(e, "b", function() {
|
|
return s
|
|
}), n.d(e, "f", function() {
|
|
return l
|
|
}), n.d(e, "c", function() {
|
|
return f
|
|
}), n.d(e, "e", function() {
|
|
return d
|
|
}), n.d(e, "g", function() {
|
|
return p
|
|
});
|
|
var r = n(0),
|
|
i = window.parseFloat;
|
|
|
|
function o(t) {
|
|
return t.replace(/^\s+|\s+$/g, "")
|
|
}
|
|
|
|
function u(t, e, n) {
|
|
for (t = "" + t, n = n || "0"; t.length < e;) t = n + t;
|
|
return t
|
|
}
|
|
|
|
function a(t, e) {
|
|
for (var n = t.attributes, r = 0; r < n.length; r++)
|
|
if (n[r].name && n[r].name.toLowerCase() === e.toLowerCase()) return n[r].value.toString();
|
|
return ""
|
|
}
|
|
|
|
function c(t) {
|
|
if (!t || "rtmp" === t.substr(0, 4)) return "";
|
|
var e = /[(,]format=(m3u8|mpd)-/i.exec(t);
|
|
return e ? e[1] : (t = t.split("?")[0].split("#")[0]).lastIndexOf(".") > -1 ? t.substr(t.lastIndexOf(".") + 1, t.length).toLowerCase() : void 0
|
|
}
|
|
|
|
function s(t) {
|
|
var e = (t / 60 | 0) % 60,
|
|
n = t % 60;
|
|
return u(t / 3600 | 0, 2) + ":" + u(e, 2) + ":" + u(n.toFixed(3), 6)
|
|
}
|
|
|
|
function l(t, e) {
|
|
if (!t) return 0;
|
|
if (Object(r.z)(t)) return t;
|
|
var n = t.replace(",", "."),
|
|
o = n.slice(-1),
|
|
u = n.split(":"),
|
|
a = u.length,
|
|
c = 0;
|
|
if ("s" === o) c = i(n);
|
|
else if ("m" === o) c = 60 * i(n);
|
|
else if ("h" === o) c = 3600 * i(n);
|
|
else if (a > 1) {
|
|
var s = a - 1;
|
|
4 === a && (e && (c = i(u[s]) / e), s -= 1), c += i(u[s]), c += 60 * i(u[s - 1]), a >= 3 && (c += 3600 * i(u[s - 2]))
|
|
} else c = i(n);
|
|
return Object(r.z)(c) ? c : 0
|
|
}
|
|
|
|
function f(t, e, n) {
|
|
if (Object(r.x)(t) && "%" === t.slice(-1)) {
|
|
var o = i(t);
|
|
return e && Object(r.z)(e) && Object(r.z)(o) ? e * o / 100 : null
|
|
}
|
|
return l(t, n)
|
|
}
|
|
|
|
function d(t, e) {
|
|
return t.map(function(t) {
|
|
return e + t
|
|
})
|
|
}
|
|
|
|
function p(t, e) {
|
|
return t.map(function(t) {
|
|
return t + e
|
|
})
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "Ka", function() {
|
|
return r
|
|
}), n.d(e, "Na", function() {
|
|
return i
|
|
}), n.d(e, "La", function() {
|
|
return o
|
|
}), n.d(e, "Pa", function() {
|
|
return u
|
|
}), n.d(e, "Qa", function() {
|
|
return a
|
|
}), n.d(e, "Ma", function() {
|
|
return c
|
|
}), n.d(e, "Oa", function() {
|
|
return s
|
|
}), n.d(e, "Ra", function() {
|
|
return l
|
|
}), n.d(e, "s", function() {
|
|
return f
|
|
}), n.d(e, "u", function() {
|
|
return d
|
|
}), n.d(e, "t", function() {
|
|
return p
|
|
}), n.d(e, "n", function() {
|
|
return h
|
|
}), n.d(e, "q", function() {
|
|
return v
|
|
}), n.d(e, "Sa", function() {
|
|
return g
|
|
}), n.d(e, "r", function() {
|
|
return m
|
|
}), n.d(e, "Z", function() {
|
|
return b
|
|
}), n.d(e, "W", function() {
|
|
return y
|
|
}), n.d(e, "v", function() {
|
|
return j
|
|
}), n.d(e, "Y", function() {
|
|
return w
|
|
}), n.d(e, "w", function() {
|
|
return O
|
|
}), n.d(e, "Ua", function() {
|
|
return C
|
|
}), n.d(e, "a", function() {
|
|
return k
|
|
}), n.d(e, "b", function() {
|
|
return x
|
|
}), n.d(e, "c", function() {
|
|
return P
|
|
}), n.d(e, "d", function() {
|
|
return S
|
|
}), n.d(e, "e", function() {
|
|
return T
|
|
}), n.d(e, "h", function() {
|
|
return E
|
|
}), n.d(e, "F", function() {
|
|
return _
|
|
}), n.d(e, "Ha", function() {
|
|
return A
|
|
}), n.d(e, "Q", function() {
|
|
return F
|
|
}), n.d(e, "C", function() {
|
|
return N
|
|
}), n.d(e, "B", function() {
|
|
return M
|
|
}), n.d(e, "E", function() {
|
|
return I
|
|
}), n.d(e, "p", function() {
|
|
return L
|
|
}), n.d(e, "Ca", function() {
|
|
return R
|
|
}), n.d(e, "m", function() {
|
|
return D
|
|
}), n.d(e, "G", function() {
|
|
return B
|
|
}), n.d(e, "H", function() {
|
|
return z
|
|
}), n.d(e, "N", function() {
|
|
return q
|
|
}), n.d(e, "O", function() {
|
|
return Q
|
|
}), n.d(e, "R", function() {
|
|
return V
|
|
}), n.d(e, "Ja", function() {
|
|
return X
|
|
}), n.d(e, "Ba", function() {
|
|
return W
|
|
}), n.d(e, "D", function() {
|
|
return U
|
|
}), n.d(e, "S", function() {
|
|
return H
|
|
}), n.d(e, "P", function() {
|
|
return Y
|
|
}), n.d(e, "T", function() {
|
|
return J
|
|
}), n.d(e, "V", function() {
|
|
return K
|
|
}), n.d(e, "M", function() {
|
|
return $
|
|
}), n.d(e, "L", function() {
|
|
return G
|
|
}), n.d(e, "K", function() {
|
|
return Z
|
|
}), n.d(e, "I", function() {
|
|
return tt
|
|
}), n.d(e, "J", function() {
|
|
return et
|
|
}), n.d(e, "U", function() {
|
|
return nt
|
|
}), n.d(e, "o", function() {
|
|
return rt
|
|
}), n.d(e, "y", function() {
|
|
return it
|
|
}), n.d(e, "Ia", function() {
|
|
return ot
|
|
}), n.d(e, "Da", function() {
|
|
return ut
|
|
}), n.d(e, "Ea", function() {
|
|
return at
|
|
}), n.d(e, "f", function() {
|
|
return ct
|
|
}), n.d(e, "g", function() {
|
|
return st
|
|
}), n.d(e, "Aa", function() {
|
|
return lt
|
|
}), n.d(e, "A", function() {
|
|
return ft
|
|
}), n.d(e, "l", function() {
|
|
return dt
|
|
}), n.d(e, "k", function() {
|
|
return pt
|
|
}), n.d(e, "Fa", function() {
|
|
return ht
|
|
}), n.d(e, "Ga", function() {
|
|
return vt
|
|
}), n.d(e, "Ta", function() {
|
|
return gt
|
|
}), n.d(e, "z", function() {
|
|
return mt
|
|
}), n.d(e, "j", function() {
|
|
return bt
|
|
}), n.d(e, "X", function() {
|
|
return yt
|
|
}), n.d(e, "i", function() {
|
|
return jt
|
|
}), n.d(e, "x", function() {
|
|
return wt
|
|
});
|
|
var r = "buffering",
|
|
i = "idle",
|
|
o = "complete",
|
|
u = "paused",
|
|
a = "playing",
|
|
c = "error",
|
|
s = "loading",
|
|
l = "stalled",
|
|
f = "drag",
|
|
d = "dragStart",
|
|
p = "dragEnd",
|
|
h = "click",
|
|
v = "doubleClick",
|
|
g = "tap",
|
|
m = "doubleTap",
|
|
b = "over",
|
|
y = "move",
|
|
j = "enter",
|
|
w = "out",
|
|
O = c,
|
|
C = "warning",
|
|
k = "adClick",
|
|
x = "adPause",
|
|
P = "adPlay",
|
|
S = "adSkipped",
|
|
T = "adTime",
|
|
E = "autostartNotAllowed",
|
|
_ = o,
|
|
A = "ready",
|
|
F = "seek",
|
|
N = "beforePlay",
|
|
M = "beforeComplete",
|
|
I = "bufferFull",
|
|
L = "displayClick",
|
|
R = "playlistComplete",
|
|
D = "cast",
|
|
B = "mediaError",
|
|
z = "firstFrame",
|
|
q = "playAttempt",
|
|
Q = "playAttemptFailed",
|
|
V = "seeked",
|
|
X = "setupError",
|
|
W = "state",
|
|
U = "bufferChange",
|
|
H = "time",
|
|
Y = "ratechange",
|
|
J = "mediaType",
|
|
K = "volume",
|
|
$ = "mute",
|
|
G = "metadataCueParsed",
|
|
Z = "meta",
|
|
tt = "levels",
|
|
et = "levelsChanged",
|
|
nt = "visualQuality",
|
|
rt = "controls",
|
|
it = "fullscreen",
|
|
ot = "resize",
|
|
ut = "playlistItem",
|
|
at = "playlist",
|
|
ct = "audioTracks",
|
|
st = "audioTrackChanged",
|
|
lt = "playbackRateChanged",
|
|
ft = "logoClick",
|
|
dt = "captionsList",
|
|
pt = "captionsChanged",
|
|
ht = "providerChanged",
|
|
vt = "providerFirstFrame",
|
|
gt = "userAction",
|
|
mt = "instreamClick",
|
|
bt = "breakpoint",
|
|
yt = "fullscreenchange",
|
|
jt = "bandwidthEstimate",
|
|
wt = "float"
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return i
|
|
}), n.d(e, "d", function() {
|
|
return o
|
|
}), n.d(e, "a", function() {
|
|
return u
|
|
}), n.d(e, "c", function() {
|
|
return a
|
|
});
|
|
var r = n(2);
|
|
|
|
function i(t) {
|
|
var e = "";
|
|
return t && (t.localName ? e = t.localName : t.baseName && (e = t.baseName)), e
|
|
}
|
|
|
|
function o(t) {
|
|
var e = "";
|
|
return t && (t.textContent ? e = Object(r.h)(t.textContent) : t.text && (e = Object(r.h)(t.text))), e
|
|
}
|
|
|
|
function u(t, e) {
|
|
return t.childNodes[e]
|
|
}
|
|
|
|
function a(t) {
|
|
return t.childNodes ? t.childNodes.length : 0
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "c", function() {
|
|
return o
|
|
}), n.d(e, "d", function() {
|
|
return u
|
|
}), n.d(e, "b", function() {
|
|
return a
|
|
}), n.d(e, "e", function() {
|
|
return c
|
|
}), n.d(e, "f", function() {
|
|
return s
|
|
});
|
|
var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
|
return typeof t
|
|
} : function(t) {
|
|
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
|
},
|
|
i = [].slice;
|
|
|
|
function o(t, e, n) {
|
|
if (!f(this, "on", t, [e, n]) || !e) return this;
|
|
var r = this._events || (this._events = {});
|
|
return (r[t] || (r[t] = [])).push({
|
|
callback: e,
|
|
context: n
|
|
}), this
|
|
}
|
|
|
|
function u(t, e, n) {
|
|
if (!f(this, "once", t, [e, n]) || !e) return this;
|
|
var r = 0,
|
|
i = this,
|
|
o = function n() {
|
|
r++ || (i.off(t, n), e.apply(this, arguments))
|
|
};
|
|
return o._callback = e, this.on(t, o, n)
|
|
}
|
|
|
|
function a(t, e, n) {
|
|
if (!this._events || !f(this, "off", t, [e, n])) return this;
|
|
if (!t && !e && !n) return delete this._events, this;
|
|
for (var r = t ? [t] : Object.keys(this._events), i = 0, o = r.length; i < o; i++) {
|
|
t = r[i];
|
|
var u = this._events[t];
|
|
if (u) {
|
|
var a = this._events[t] = [];
|
|
if (e || n)
|
|
for (var c = 0, s = u.length; c < s; c++) {
|
|
var l = u[c];
|
|
(e && e !== l.callback && e !== l.callback._callback || n && n !== l.context) && a.push(l)
|
|
}
|
|
a.length || delete this._events[t]
|
|
}
|
|
}
|
|
return this
|
|
}
|
|
|
|
function c(t) {
|
|
if (!this._events) return this;
|
|
var e = i.call(arguments, 1);
|
|
if (!f(this, "trigger", t, e)) return this;
|
|
var n = this._events[t],
|
|
r = this._events.all;
|
|
return n && d(n, e, this), r && d(r, arguments, this), this
|
|
}
|
|
|
|
function s(t) {
|
|
if (!this._events) return this;
|
|
var e = i.call(arguments, 1);
|
|
if (!f(this, "trigger", t, e)) return this;
|
|
var n = this._events[t],
|
|
r = this._events.all;
|
|
return n && d(n, e, this, t), r && d(r, arguments, this, t), this
|
|
}
|
|
var l = /\s+/;
|
|
|
|
function f(t, e, n, i) {
|
|
if (!n) return !0;
|
|
if ("object" === (void 0 === n ? "undefined" : r(n))) {
|
|
for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && t[e].apply(t, [o, n[o]].concat(i));
|
|
return !1
|
|
}
|
|
if (l.test(n)) {
|
|
for (var u = n.split(l), a = 0, c = u.length; a < c; a++) t[e].apply(t, [u[a]].concat(i));
|
|
return !1
|
|
}
|
|
return !0
|
|
}
|
|
|
|
function d(t, e, n, r) {
|
|
for (var i = -1, o = t.length; ++i < o;) {
|
|
var u = t[i];
|
|
if (r) try {
|
|
u.callback.apply(u.context || n, e)
|
|
} catch (t) {
|
|
console.log('Error in "' + r + '" event handler:', t)
|
|
} else u.callback.apply(u.context || n, e)
|
|
}
|
|
}
|
|
e.a = {
|
|
on: o,
|
|
once: u,
|
|
off: a,
|
|
trigger: c
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "h", function() {
|
|
return u
|
|
}), n.d(e, "f", function() {
|
|
return a
|
|
}), n.d(e, "l", function() {
|
|
return s
|
|
}), n.d(e, "k", function() {
|
|
return l
|
|
}), n.d(e, "p", function() {
|
|
return f
|
|
}), n.d(e, "g", function() {
|
|
return d
|
|
}), n.d(e, "e", function() {
|
|
return p
|
|
}), n.d(e, "n", function() {
|
|
return h
|
|
}), n.d(e, "d", function() {
|
|
return v
|
|
}), n.d(e, "i", function() {
|
|
return g
|
|
}), n.d(e, "q", function() {
|
|
return m
|
|
}), n.d(e, "j", function() {
|
|
return b
|
|
}), n.d(e, "c", function() {
|
|
return y
|
|
}), n.d(e, "b", function() {
|
|
return j
|
|
}), n.d(e, "o", function() {
|
|
return w
|
|
}), n.d(e, "m", function() {
|
|
return O
|
|
}), n.d(e, "a", function() {
|
|
return C
|
|
});
|
|
var r = navigator.userAgent;
|
|
|
|
function i(t) {
|
|
return null !== r.match(t)
|
|
}
|
|
|
|
function o(t) {
|
|
return function() {
|
|
return i(t)
|
|
}
|
|
}
|
|
|
|
function u() {
|
|
var t = C();
|
|
return !!(t && t >= 18)
|
|
}
|
|
var a = o(/gecko\//i),
|
|
c = o(/trident\/.+rv:\s*11/i),
|
|
s = o(/iP(hone|od)/i),
|
|
l = o(/iPad/i),
|
|
f = o(/Macintosh/i),
|
|
d = o(/FBAV/i);
|
|
|
|
function p() {
|
|
return i(/\sEdge\/\d+/i)
|
|
}
|
|
|
|
function h() {
|
|
return i(/msie/i)
|
|
}
|
|
|
|
function v() {
|
|
return i(/\s(?:(?:Headless)?Chrome|CriOS)\//i) && !p() && !i(/UCBrowser/i)
|
|
}
|
|
|
|
function g() {
|
|
return p() || c() || h()
|
|
}
|
|
|
|
function m() {
|
|
return i(/safari/i) && !i(/(?:Chrome|CriOS|chromium|android|phantom)/i)
|
|
}
|
|
|
|
function b() {
|
|
return i(/iP(hone|ad|od)/i)
|
|
}
|
|
|
|
function y() {
|
|
return !(i(/chrome\/[123456789]/i) && !i(/chrome\/18/i) && !a()) && j()
|
|
}
|
|
|
|
function j() {
|
|
return i(/Android/i) && !i(/Windows Phone/i)
|
|
}
|
|
|
|
function w() {
|
|
return b() || j() || i(/Windows Phone/i)
|
|
}
|
|
|
|
function O() {
|
|
try {
|
|
return window.self !== window.top
|
|
} catch (t) {
|
|
return !0
|
|
}
|
|
}
|
|
|
|
function C() {
|
|
if (j()) return 0;
|
|
var t = navigator.plugins,
|
|
e = void 0;
|
|
if (t && (e = t["Shockwave Flash"]) && e.description) return parseFloat(e.description.replace(/\D+(\d+\.?\d*).*/, "$1"));
|
|
if (void 0 !== window.ActiveXObject) {
|
|
try {
|
|
if (e = new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash")) return parseFloat(e.GetVariable("$version").split(" ")[1].replace(/\s*,\s*/, "."))
|
|
} catch (t) {
|
|
return 0
|
|
}
|
|
return e
|
|
}
|
|
return 0
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.r(e);
|
|
var r = n(6);
|
|
|
|
function i(t, e) {
|
|
if (t && t.length > e) return t[e]
|
|
}
|
|
var o = n(0);
|
|
n.d(e, "Browser", function() {
|
|
return a
|
|
}), n.d(e, "OS", function() {
|
|
return c
|
|
}), n.d(e, "Features", function() {
|
|
return s
|
|
});
|
|
var u = navigator.userAgent;
|
|
var a = {},
|
|
c = {},
|
|
s = {};
|
|
Object.defineProperties(a, {
|
|
androidNative: {
|
|
get: Object(o.C)(r.c),
|
|
enumerable: !0
|
|
},
|
|
chrome: {
|
|
get: Object(o.C)(r.d),
|
|
enumerable: !0
|
|
},
|
|
edge: {
|
|
get: Object(o.C)(r.e),
|
|
enumerable: !0
|
|
},
|
|
facebook: {
|
|
get: Object(o.C)(r.g),
|
|
enumerable: !0
|
|
},
|
|
firefox: {
|
|
get: Object(o.C)(r.f),
|
|
enumerable: !0
|
|
},
|
|
ie: {
|
|
get: Object(o.C)(r.i),
|
|
enumerable: !0
|
|
},
|
|
msie: {
|
|
get: Object(o.C)(r.n),
|
|
enumerable: !0
|
|
},
|
|
safari: {
|
|
get: Object(o.C)(r.q),
|
|
enumerable: !0
|
|
},
|
|
version: {
|
|
get: Object(o.C)(function(t, e) {
|
|
var n = void 0,
|
|
r = void 0,
|
|
i = void 0,
|
|
o = void 0;
|
|
return t.chrome ? n = -1 !== e.indexOf("Chrome") ? e.substring(e.indexOf("Chrome") + 7) : e.substring(e.indexOf("CriOS") + 6) : t.safari ? n = e.substring(e.indexOf("Version") + 8) : t.firefox ? n = e.substring(e.indexOf("Firefox") + 8) : t.edge ? n = e.substring(e.indexOf("Edge") + 5) : t.ie && (-1 !== e.indexOf("rv:") ? n = e.substring(e.indexOf("rv:") + 3) : -1 !== e.indexOf("MSIE") && (n = e.substring(e.indexOf("MSIE") + 5))), n && (-1 !== (o = n.indexOf(";")) && (n = n.substring(0, o)), -1 !== (o = n.indexOf(" ")) && (n = n.substring(0, o)), -1 !== (o = n.indexOf(")")) && (n = n.substring(0, o)), r = parseInt(n, 10), i = parseInt(n.split(".")[1], 10)), {
|
|
version: n,
|
|
major: r,
|
|
minor: i
|
|
}
|
|
}.bind(void 0, a, u)),
|
|
enumerable: !0
|
|
}
|
|
}), Object.defineProperties(c, {
|
|
android: {
|
|
get: Object(o.C)(r.b),
|
|
enumerable: !0
|
|
},
|
|
iOS: {
|
|
get: Object(o.C)(r.j),
|
|
enumerable: !0
|
|
},
|
|
mobile: {
|
|
get: Object(o.C)(r.o),
|
|
enumerable: !0
|
|
},
|
|
mac: {
|
|
get: Object(o.C)(r.p),
|
|
enumerable: !0
|
|
},
|
|
iPad: {
|
|
get: Object(o.C)(r.k),
|
|
enumerable: !0
|
|
},
|
|
iPhone: {
|
|
get: Object(o.C)(r.l),
|
|
enumerable: !0
|
|
},
|
|
windows: {
|
|
get: Object(o.C)(function() {
|
|
return u.indexOf("Windows") > -1
|
|
}),
|
|
enumerable: !0
|
|
},
|
|
version: {
|
|
get: Object(o.C)(function(t, e) {
|
|
var n = void 0,
|
|
r = void 0,
|
|
o = void 0;
|
|
if (t.windows) switch (n = i(/Windows(?: NT|)? ([._\d]+)/.exec(e), 1)) {
|
|
case "6.1":
|
|
n = "7.0";
|
|
break;
|
|
case "6.2":
|
|
n = "8.0";
|
|
break;
|
|
case "6.3":
|
|
n = "8.1"
|
|
} else t.android ? n = i(/Android ([._\d]+)/.exec(e), 1) : t.iOS ? n = i(/OS ([._\d]+)/.exec(e), 1) : t.mac && (n = i(/Mac OS X (10[._\d]+)/.exec(e), 1));
|
|
if (n) {
|
|
r = parseInt(n, 10);
|
|
var u = n.split(/[._]/);
|
|
u && (o = parseInt(u[1], 10))
|
|
}
|
|
return {
|
|
version: n,
|
|
major: r,
|
|
minor: o
|
|
}
|
|
}.bind(void 0, c, u)),
|
|
enumerable: !0
|
|
}
|
|
}), Object.defineProperties(s, {
|
|
flash: {
|
|
get: Object(o.C)(r.h),
|
|
enumerable: !0
|
|
},
|
|
flashVersion: {
|
|
get: Object(o.C)(r.a),
|
|
enumerable: !0
|
|
},
|
|
iframe: {
|
|
get: Object(o.C)(r.m),
|
|
enumerable: !0
|
|
},
|
|
passiveEvents: {
|
|
get: Object(o.C)(function() {
|
|
var t = !1;
|
|
try {
|
|
var e = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return t = !0
|
|
}
|
|
});
|
|
window.addEventListener("testPassive", null, e), window.removeEventListener("testPassive", null, e)
|
|
} catch (t) {}
|
|
return t
|
|
}),
|
|
enumerable: !0
|
|
},
|
|
backgroundLoading: {
|
|
get: Object(o.C)(function() {
|
|
return !(c.iOS || a.safari)
|
|
}),
|
|
enumerable: !0
|
|
}
|
|
})
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.r(e), n.d(e, "exists", function() {
|
|
return o
|
|
}), n.d(e, "isHTTPS", function() {
|
|
return u
|
|
}), n.d(e, "isFileProtocol", function() {
|
|
return a
|
|
}), n.d(e, "isRtmp", function() {
|
|
return c
|
|
}), n.d(e, "isYouTube", function() {
|
|
return s
|
|
}), n.d(e, "typeOf", function() {
|
|
return l
|
|
}), n.d(e, "isDeepKeyCompliant", function() {
|
|
return f
|
|
});
|
|
var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
|
return typeof t
|
|
} : function(t) {
|
|
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
|
},
|
|
i = window.location.protocol;
|
|
|
|
function o(t) {
|
|
switch (void 0 === t ? "undefined" : r(t)) {
|
|
case "string":
|
|
return t.length > 0;
|
|
case "object":
|
|
return null !== t;
|
|
case "undefined":
|
|
return !1;
|
|
default:
|
|
return !0
|
|
}
|
|
}
|
|
|
|
function u() {
|
|
return "https:" === i
|
|
}
|
|
|
|
function a() {
|
|
return "file:" === i
|
|
}
|
|
|
|
function c(t, e) {
|
|
return 0 === t.indexOf("rtmp:") || "rtmp" === e
|
|
}
|
|
|
|
function s(t, e) {
|
|
return "youtube" === e || /^(http|\/\/).*(youtube\.com|youtu\.be)\/.+/.test(t)
|
|
}
|
|
|
|
function l(t) {
|
|
if (null === t) return "null";
|
|
var e = void 0 === t ? "undefined" : r(t);
|
|
return "object" === e && Array.isArray(t) ? "array" : e
|
|
}
|
|
|
|
function f(t, e, n) {
|
|
var i = Object.keys(t);
|
|
return Object.keys(e).length >= i.length && i.every(function(i) {
|
|
var o = t[i],
|
|
u = e[i];
|
|
return o && "object" === (void 0 === o ? "undefined" : r(o)) ? !(!u || "object" !== (void 0 === u ? "undefined" : r(u))) && f(o, u, n) : n(i, t)
|
|
})
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "h", function() {
|
|
return u
|
|
}), n.d(e, "e", function() {
|
|
return a
|
|
}), n.d(e, "o", function() {
|
|
return c
|
|
}), n.d(e, "i", function() {
|
|
return s
|
|
}), n.d(e, "q", function() {
|
|
return l
|
|
}), n.d(e, "p", function() {
|
|
return f
|
|
}), n.d(e, "s", function() {
|
|
return d
|
|
}), n.d(e, "d", function() {
|
|
return v
|
|
}), n.d(e, "a", function() {
|
|
return g
|
|
}), n.d(e, "m", function() {
|
|
return m
|
|
}), n.d(e, "n", function() {
|
|
return b
|
|
}), n.d(e, "t", function() {
|
|
return y
|
|
}), n.d(e, "r", function() {
|
|
return j
|
|
}), n.d(e, "g", function() {
|
|
return w
|
|
}), n.d(e, "b", function() {
|
|
return O
|
|
}), n.d(e, "f", function() {
|
|
return C
|
|
}), n.d(e, "c", function() {
|
|
return k
|
|
}), n.d(e, "k", function() {
|
|
return x
|
|
}), n.d(e, "j", function() {
|
|
return P
|
|
}), n.d(e, "l", function() {
|
|
return S
|
|
});
|
|
var r = n(2),
|
|
i = n(0),
|
|
o = void 0;
|
|
|
|
function u(t, e) {
|
|
return t.classList.contains(e)
|
|
}
|
|
|
|
function a(t) {
|
|
return s(t).firstChild
|
|
}
|
|
|
|
function c(t, e) {
|
|
w(t),
|
|
function(t, e) {
|
|
if (!e) return;
|
|
for (var n = document.createDocumentFragment(), r = s(e).childNodes, i = 0; i < r.length; i++) n.appendChild(r[i].cloneNode());
|
|
t.appendChild(n)
|
|
}(t, e)
|
|
}
|
|
|
|
function s(t) {
|
|
o || (o = new DOMParser);
|
|
var e = o.parseFromString(t, "text/html").body;
|
|
l(e);
|
|
for (var n = e.querySelectorAll("img,svg"), r = 0; r < n.length; r++) {
|
|
f(n[r])
|
|
}
|
|
return e
|
|
}
|
|
|
|
function l(t) {
|
|
for (var e = t.querySelectorAll("script"), n = 0; n < e.length; n++) {
|
|
var r = e[n];
|
|
r.parentNode.removeChild(r)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function f(t) {
|
|
for (var e = t.attributes, n = 0; n < e.length; n++) {
|
|
var r = e[n].name;
|
|
/^on/.test(r) && t.removeAttribute(r)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function d(t) {
|
|
return t + (t.toString().indexOf("%") > 0 ? "" : "px")
|
|
}
|
|
|
|
function p(t) {
|
|
return Object(i.x)(t.className) ? t.className.split(" ") : []
|
|
}
|
|
|
|
function h(t, e) {
|
|
e = Object(r.h)(e), t.className !== e && (t.className = e)
|
|
}
|
|
|
|
function v(t) {
|
|
return t.classList ? t.classList : p(t)
|
|
}
|
|
|
|
function g(t, e) {
|
|
var n = p(t);
|
|
(Array.isArray(e) ? e : e.split(" ")).forEach(function(t) {
|
|
Object(i.e)(n, t) || n.push(t)
|
|
}), h(t, n.join(" "))
|
|
}
|
|
|
|
function m(t, e) {
|
|
var n = p(t),
|
|
r = Array.isArray(e) ? e : e.split(" ");
|
|
h(t, Object(i.h)(n, r).join(" "))
|
|
}
|
|
|
|
function b(t, e, n) {
|
|
var r = t.className || "";
|
|
e.test(r) ? r = r.replace(e, n) : n && (r += " " + n), h(t, r)
|
|
}
|
|
|
|
function y(t, e, n) {
|
|
var r = u(t, e);
|
|
(n = Object(i.r)(n) ? n : !r) !== r && (n ? g(t, e) : m(t, e))
|
|
}
|
|
|
|
function j(t, e, n) {
|
|
t.setAttribute(e, n)
|
|
}
|
|
|
|
function w(t) {
|
|
for (; t.firstChild;) t.removeChild(t.firstChild)
|
|
}
|
|
|
|
function O(t) {
|
|
var e = document.createElement("link");
|
|
e.rel = "stylesheet", e.href = t, document.getElementsByTagName("head")[0].appendChild(e)
|
|
}
|
|
|
|
function C(t) {
|
|
t && w(t)
|
|
}
|
|
|
|
function k(t) {
|
|
var e = {
|
|
left: 0,
|
|
right: 0,
|
|
width: 0,
|
|
height: 0,
|
|
top: 0,
|
|
bottom: 0
|
|
};
|
|
if (!t || !document.body.contains(t)) return e;
|
|
var n = t.getBoundingClientRect(),
|
|
r = window.pageYOffset,
|
|
i = window.pageXOffset;
|
|
return n.width || n.height || n.left || n.top ? (e.left = n.left + i, e.right = n.right + i, e.top = n.top + r, e.bottom = n.bottom + r, e.width = n.right - n.left, e.height = n.bottom - n.top, e) : e
|
|
}
|
|
|
|
function x(t, e) {
|
|
t.insertBefore(e, t.firstChild)
|
|
}
|
|
|
|
function P(t) {
|
|
return t.nextElementSibling
|
|
}
|
|
|
|
function S(t) {
|
|
return t.previousElementSibling
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return l
|
|
}), n.d(e, "d", function() {
|
|
return f
|
|
}), n.d(e, "b", function() {
|
|
return d
|
|
}), n.d(e, "c", function() {
|
|
return p
|
|
});
|
|
var r = n(28),
|
|
i = n(29),
|
|
o = n(16),
|
|
u = n(15),
|
|
a = n(38),
|
|
c = n(1),
|
|
s = null,
|
|
l = {};
|
|
|
|
function f(t) {
|
|
return s || (s = function(t) {
|
|
var e = t.get("controls"),
|
|
s = h(),
|
|
f = function(t, e) {
|
|
var n = t.get("playlist");
|
|
if (Array.isArray(n) && n.length)
|
|
for (var u = Object(i.c)(Object(r.a)(n[0]), t), a = 0; a < u.length; a++)
|
|
for (var c = u[a], s = t.getProviders(), l = 0; l < o.a.length; l++) {
|
|
var f = o.a[l];
|
|
if (s.providerSupports(f, c)) return f.name === e
|
|
}
|
|
return !1
|
|
}(t, "html5");
|
|
if (e && s && f) return function() {
|
|
var t = n.e(8).then(function(t) {
|
|
n(36);
|
|
var e = n(20).default;
|
|
return a.a.controls = n(21).default, Object(u.a)(n(128).default), e
|
|
}.bind(null, n)).catch(d(c.t + 105));
|
|
return l.html5 = t, t
|
|
}();
|
|
if (e && f) return function() {
|
|
var t = n.e(7).then(function(t) {
|
|
var e = n(20).default;
|
|
return a.a.controls = n(21).default, Object(u.a)(n(128).default), e
|
|
}.bind(null, n)).catch(d(c.t + 104));
|
|
return l.html5 = t, t
|
|
}();
|
|
if (e && s) return n.e(6).then(function(t) {
|
|
n(36);
|
|
var e = n(20).default;
|
|
return a.a.controls = n(21).default, e
|
|
}.bind(null, n)).catch(d(c.t + 103));
|
|
if (e) return n.e(5).then(function(t) {
|
|
var e = n(20).default;
|
|
return a.a.controls = n(21).default, e
|
|
}.bind(null, n)).catch(d(c.t + 102));
|
|
return (h() ? n.e(3).then(function(t) {
|
|
return n(36)
|
|
}.bind(null, n)).catch(d(c.t + 120)) : Promise.resolve()).then(function() {
|
|
return n.e(4).then(function(t) {
|
|
return n(20).default
|
|
}.bind(null, n)).catch(d(c.t + 101))
|
|
})
|
|
}(t)), s
|
|
}
|
|
|
|
function d(t, e) {
|
|
return function() {
|
|
throw new c.s(c.m, t, e)
|
|
}
|
|
}
|
|
|
|
function p(t, e) {
|
|
return function() {
|
|
throw new c.s(null, t, e)
|
|
}
|
|
}
|
|
|
|
function h() {
|
|
var t = window.IntersectionObserverEntry;
|
|
return !(t && "IntersectionObserver" in window && "intersectionRatio" in t.prototype)
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.r(e), n.d(e, "getAbsolutePath", function() {
|
|
return o
|
|
}), n.d(e, "isAbsolutePath", function() {
|
|
return u
|
|
}), n.d(e, "parseXML", function() {
|
|
return c
|
|
}), n.d(e, "serialize", function() {
|
|
return s
|
|
}), n.d(e, "parseDimension", function() {
|
|
return l
|
|
}), n.d(e, "timeFormat", function() {
|
|
return f
|
|
});
|
|
var r = n(8),
|
|
i = n(0);
|
|
|
|
function o(t, e) {
|
|
if (Object(r.exists)(e) || (e = document.location.href), Object(r.exists)(t)) {
|
|
if (u(t)) return t;
|
|
var n = e.substring(0, e.indexOf("://") + 3),
|
|
i = e.substring(n.length, e.indexOf("/", n.length + 1)),
|
|
o = void 0;
|
|
if (0 === t.indexOf("/")) o = t.split("/");
|
|
else {
|
|
var a = e.split("?")[0];
|
|
o = (a = a.substring(n.length + i.length + 1, a.lastIndexOf("/"))).split("/").concat(t.split("/"))
|
|
}
|
|
for (var c = [], s = 0; s < o.length; s++) o[s] && Object(r.exists)(o[s]) && "." !== o[s] && (".." === o[s] ? c.pop() : c.push(o[s]));
|
|
return n + i + "/" + c.join("/")
|
|
}
|
|
}
|
|
|
|
function u(t) {
|
|
return /^(?:(?:https?|file):)?\/\//.test(t)
|
|
}
|
|
|
|
function a(t) {
|
|
return Object(i.b)(t, function(t) {
|
|
return "parsererror" === t.nodeName
|
|
})
|
|
}
|
|
|
|
function c(t) {
|
|
var e = null;
|
|
try {
|
|
(a((e = (new window.DOMParser).parseFromString(t, "text/xml")).childNodes) || e.childNodes && a(e.childNodes[0].childNodes)) && (e = null)
|
|
} catch (t) {}
|
|
return e
|
|
}
|
|
|
|
function s(t) {
|
|
if (void 0 === t) return null;
|
|
if ("string" == typeof t && t.length < 6) {
|
|
var e = t.toLowerCase();
|
|
if ("true" === e) return !0;
|
|
if ("false" === e) return !1;
|
|
if (!Object(i.u)(Number(t)) && !Object(i.u)(parseFloat(t))) return Number(t)
|
|
}
|
|
return t
|
|
}
|
|
|
|
function l(t) {
|
|
return "string" == typeof t ? "" === t ? 0 : t.lastIndexOf("%") > -1 ? t : parseInt(t.replace("px", ""), 10) : t
|
|
}
|
|
|
|
function f(t, e) {
|
|
if (t <= 0 && !e || Object(i.u)(parseInt(t))) return "00:00";
|
|
var n = t < 0 ? "-" : "";
|
|
t = Math.abs(t);
|
|
var r = Math.floor(t / 3600),
|
|
o = Math.floor((t - 3600 * r) / 60),
|
|
u = Math.floor(t % 60);
|
|
return n + (r ? r + ":" : "") + (o < 10 ? "0" : "") + o + ":" + (u < 10 ? "0" : "") + u
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return i
|
|
}), n.d(e, "c", function() {
|
|
return o
|
|
}), n.d(e, "a", function() {
|
|
return u
|
|
});
|
|
var r = n(0),
|
|
i = function(t) {
|
|
return t.replace(/^(.*\/)?([^-]*)-?.*\.(js)$/, "$2")
|
|
};
|
|
|
|
function o(t) {
|
|
var e = 305e3;
|
|
if (!t) return e;
|
|
switch (i(t)) {
|
|
case "jwpsrv":
|
|
e = 305001;
|
|
break;
|
|
case "googima":
|
|
e = 305002;
|
|
break;
|
|
case "vast":
|
|
e = 305003;
|
|
break;
|
|
case "freewheel":
|
|
e = 305004;
|
|
break;
|
|
case "dai":
|
|
e = 305005;
|
|
break;
|
|
case "gapro":
|
|
e = 305006
|
|
}
|
|
return e
|
|
}
|
|
|
|
function u(t, e, n) {
|
|
var i = t.name,
|
|
o = document.createElement("div");
|
|
o.id = n.id + "_" + i, o.className = "jw-plugin jw-reset";
|
|
var u = Object(r.j)({}, e),
|
|
a = t.getNewInstance(n, u, o);
|
|
return n.addPlugin(i, a), a
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "j", function() {
|
|
return p
|
|
}), n.d(e, "d", function() {
|
|
return h
|
|
}), n.d(e, "b", function() {
|
|
return v
|
|
}), n.d(e, "e", function() {
|
|
return m
|
|
}), n.d(e, "g", function() {
|
|
return y
|
|
}), n.d(e, "h", function() {
|
|
return j
|
|
}), n.d(e, "c", function() {
|
|
return w
|
|
}), n.d(e, "f", function() {
|
|
return O
|
|
}), n.d(e, "i", function() {
|
|
return C
|
|
}), n.d(e, "a", function() {
|
|
return k
|
|
});
|
|
var r = n(0),
|
|
i = n(6),
|
|
o = n(27),
|
|
u = n(8),
|
|
a = n(39),
|
|
c = {},
|
|
s = {
|
|
zh: "Chinese",
|
|
nl: "Dutch",
|
|
en: "English",
|
|
fr: "French",
|
|
de: "German",
|
|
it: "Italian",
|
|
ja: "Japanese",
|
|
pt: "Portuguese",
|
|
ru: "Russian",
|
|
es: "Spanish",
|
|
el: "Greek"
|
|
},
|
|
l = Object(r.q)(s);
|
|
|
|
function f(t) {
|
|
var e = d(t),
|
|
n = e.indexOf("_");
|
|
return -1 === n ? e : e.substring(0, n)
|
|
}
|
|
|
|
function d(t) {
|
|
return t.toLowerCase().replace("-", "_")
|
|
}
|
|
|
|
function p(t) {
|
|
return t ? Object.keys(t).reduce(function(e, n) {
|
|
return e[d(n)] = t[n], e
|
|
}, {}) : {}
|
|
}
|
|
|
|
function h(t) {
|
|
if (t) return 3 === t.length ? t : s[f(t)] || t
|
|
}
|
|
|
|
function v(t) {
|
|
return l[t] || ""
|
|
}
|
|
|
|
function g(t) {
|
|
var e = t.querySelector("html");
|
|
return e ? e.getAttribute("lang") : null
|
|
}
|
|
|
|
function m() {
|
|
var t = g(document);
|
|
if (!t && Object(i.m)()) try {
|
|
t = g(window.top.document)
|
|
} catch (t) {}
|
|
return t || navigator.language || "en"
|
|
}
|
|
var b = ["ar", "da", "de", "es", "fr", "he", "it", "ja", "nl", "no", "pt", "ro", "sv", "tr", "zh"];
|
|
|
|
function y(t) {
|
|
return 8207 === t.charCodeAt(0) || /^[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/.test(t)
|
|
}
|
|
|
|
function j(t) {
|
|
return b.indexOf(f(t)) >= 0
|
|
}
|
|
|
|
function w(t, e, n) {
|
|
return Object(r.j)({}, t, e[f(n)], e[d(n)])
|
|
}
|
|
|
|
function O(t) {
|
|
return Object(u.isDeepKeyCompliant)(a.a, t, function(t, e) {
|
|
return "string" == typeof e[t]
|
|
})
|
|
}
|
|
|
|
function C(t, e) {
|
|
var n = c[e];
|
|
if (!n) {
|
|
var r = t + "translations/" + f(e) + ".json";
|
|
c[e] = n = new Promise(function(t, n) {
|
|
Object(o.a)({
|
|
url: r,
|
|
oncomplete: t,
|
|
onerror: function(t, r, i, o) {
|
|
c[e] = null, n(o)
|
|
},
|
|
responseType: "json"
|
|
})
|
|
})
|
|
}
|
|
return n
|
|
}
|
|
|
|
function k(t, e) {
|
|
var n = Object(r.j)({}, t, e);
|
|
return x(n, "errors", t, e), x(n, "related", t, e), x(n, "sharing", t, e), x(n, "advertising", t, e), n
|
|
}
|
|
|
|
function x(t, e, n, i) {
|
|
t[e] = Object(r.j)({}, n[e], i[e])
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
e.a = []
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return a
|
|
});
|
|
var r = n(34),
|
|
i = n(16),
|
|
o = n(55),
|
|
u = n(0);
|
|
|
|
function a(t) {
|
|
var e = t.getName().name;
|
|
if (!r.a[e]) {
|
|
if (!Object(u.l)(i.a, Object(u.B)({
|
|
name: e
|
|
}))) {
|
|
if (!Object(u.t)(t.supports)) throw new Error("Tried to register a provider with an invalid object");
|
|
i.a.unshift({
|
|
name: e,
|
|
supports: t.supports
|
|
})
|
|
}
|
|
Object(u.g)(t.prototype, o.a), r.a[e] = t
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(32),
|
|
i = n(7),
|
|
o = n(18),
|
|
u = n(0),
|
|
a = n(8),
|
|
c = n(37),
|
|
s = Object(u.l)(r.a, Object(u.B)({
|
|
name: "html5"
|
|
})),
|
|
l = s.supports;
|
|
|
|
function f(t) {
|
|
var e = window.MediaSource;
|
|
return Object(u.a)(t, function(t) {
|
|
return !!e && !!e.isTypeSupported && e.isTypeSupported(t)
|
|
})
|
|
}
|
|
s.supports = function(t, e) {
|
|
var n = l.apply(this, arguments);
|
|
if (n && t.drm && "hls" === t.type) {
|
|
var r = Object(o.a)(e)("drm");
|
|
if (r && t.drm.fairplay) {
|
|
var i = window.WebKitMediaKeys;
|
|
return i && i.isTypeSupported && i.isTypeSupported("com.apple.fps.1_0", "video/mp4")
|
|
}
|
|
return r
|
|
}
|
|
return n
|
|
}, r.a.push({
|
|
name: "shaka",
|
|
supports: function(t) {
|
|
return !(t.drm && !Object(c.a)(t.drm)) && (!(!window.HTMLVideoElement || !window.MediaSource) && (f(t.mediaTypes) && ("dash" === t.type || "mpd" === t.type || (t.file || "").indexOf("mpd-time-csf") > -1)))
|
|
}
|
|
}), r.a.splice(0, 0, {
|
|
name: "hlsjs",
|
|
supports: function(t) {
|
|
if (t.drm) return !1;
|
|
var e = t.file.indexOf(".m3u8") > -1,
|
|
n = "hls" === t.type || "m3u8" === t.type;
|
|
if (!e && !n) return !1;
|
|
var r = i.Browser.chrome || i.Browser.firefox || i.Browser.edge || i.Browser.ie && 11 === i.Browser.version.major,
|
|
o = i.OS.android && !1 === t.hlsjsdefault,
|
|
u = i.Browser.safari && !!t.safarihlsjs;
|
|
return f(t.mediaTypes || ['video/mp4;codecs="avc1.4d400d,mp4a.40.2"']) && (r || u) && !o
|
|
}
|
|
}), r.a.push({
|
|
name: "flash",
|
|
supports: function(t) {
|
|
if (!i.Features.flash || t.drm) return !1;
|
|
var e = t.type;
|
|
return "hls" === e || "m3u8" === e || !Object(a.isRtmp)(t.file, e) && ["flv", "f4v", "mov", "m4a", "m4v", "mp4", "aac", "f4a", "mp3", "mpeg", "smil"].indexOf(e) > -1
|
|
}
|
|
}), e.a = r.a
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return r
|
|
});
|
|
var r = Date.now || function() {
|
|
return (new Date).getTime()
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return h
|
|
});
|
|
var r = "free",
|
|
i = "starter",
|
|
o = "business",
|
|
u = "premium",
|
|
a = "enterprise",
|
|
c = "developer",
|
|
s = "platinum",
|
|
l = "ads",
|
|
f = "unlimited",
|
|
d = "trial",
|
|
p = "invalid";
|
|
|
|
function h(t) {
|
|
var e = {
|
|
setup: [r, i, o, u, a, c, l, f, d, s],
|
|
drm: [a, c, l, f, d],
|
|
ads: [l, f, d, s, a, c],
|
|
jwpsrv: [r, i, o, u, a, c, l, d, s, p],
|
|
discovery: [l, a, c, d, f]
|
|
};
|
|
return function(n) {
|
|
return e[n] && e[n].indexOf(t) > -1
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.r(e), n.d(e, "getScriptPath", function() {
|
|
return o
|
|
}), n.d(e, "repo", function() {
|
|
return u
|
|
}), n.d(e, "versionCheck", function() {
|
|
return a
|
|
}), n.d(e, "loadFrom", function() {
|
|
return c
|
|
});
|
|
var r = n(31),
|
|
i = n(8),
|
|
o = function(t) {
|
|
for (var e = document.getElementsByTagName("script"), n = 0; n < e.length; n++) {
|
|
var r = e[n].src;
|
|
if (r) {
|
|
var i = r.lastIndexOf("/" + t);
|
|
if (i >= 0) return r.substr(0, i + 1)
|
|
}
|
|
}
|
|
return ""
|
|
},
|
|
u = function() {
|
|
var t = "/";
|
|
return "" + (Object(i.isFileProtocol)() ? "https:" : "") + t
|
|
},
|
|
a = function(t) {
|
|
var e = ("0" + t).split(/\W/),
|
|
n = r.a.split(/\W/),
|
|
i = parseFloat(e[0]),
|
|
o = parseFloat(n[0]);
|
|
return !(i > o) && !(i === o && parseFloat("0" + e[1]) > parseFloat(n[1]))
|
|
},
|
|
c = function() {
|
|
return u()
|
|
}
|
|
}, , , function(t, e, n) {
|
|
"use strict";
|
|
e.a = {
|
|
debug: !1
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return a
|
|
}), n.d(e, "b", function() {
|
|
return c
|
|
}), n.d(e, "d", function() {
|
|
return s
|
|
}), n.d(e, "e", function() {
|
|
return d
|
|
}), n.d(e, "c", function() {
|
|
return h
|
|
});
|
|
var r = n(2),
|
|
i = n(41),
|
|
o = n.n(i),
|
|
u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
|
return typeof t
|
|
} : function(t) {
|
|
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
|
},
|
|
a = o.a.clear;
|
|
|
|
function c(t, e, n, r) {
|
|
n = n || "all-players";
|
|
var i = "";
|
|
if ("object" === (void 0 === e ? "undefined" : u(e))) {
|
|
var a = document.createElement("div");
|
|
s(a, e);
|
|
var c = a.style.cssText;
|
|
Object.prototype.hasOwnProperty.call(e, "content") && c && (c = c + ' content: "' + e.content + '";'), r && c && (c = c.replace(/;/g, " !important;")), i = "{" + c + "}"
|
|
} else "string" == typeof e && (i = e);
|
|
"" !== i && "{}" !== i ? o.a.style([
|
|
[t, t + i]
|
|
], n) : o.a.clear(n, t)
|
|
}
|
|
|
|
function s(t, e) {
|
|
if (void 0 !== t && null !== t) {
|
|
void 0 === t.length && (t = [t]);
|
|
var n = void 0,
|
|
r = {};
|
|
for (n in e) Object.prototype.hasOwnProperty.call(e, n) && (r[n] = f(n, e[n]));
|
|
for (var i = 0; i < t.length; i++) {
|
|
var o = t[i],
|
|
u = void 0;
|
|
if (void 0 !== o && null !== o)
|
|
for (n in r) Object.prototype.hasOwnProperty.call(r, n) && (u = l(n), o.style[u] !== r[n] && (o.style[u] = r[n]))
|
|
}
|
|
}
|
|
}
|
|
|
|
function l(t) {
|
|
t = t.split("-");
|
|
for (var e = 1; e < t.length; e++) t[e] = t[e].charAt(0).toUpperCase() + t[e].slice(1);
|
|
return t.join("")
|
|
}
|
|
|
|
function f(t, e) {
|
|
return "" === e || void 0 === e || null === e ? "" : "string" == typeof e && isNaN(e) ? /png|gif|jpe?g/i.test(e) && e.indexOf("url") < 0 ? "url(" + e + ")" : e : 0 === e || "z-index" === t || "opacity" === t ? "" + e : /color/i.test(t) ? "#" + Object(r.d)(e.toString(16).replace(/^0x/i, ""), 6) : Math.ceil(e) + "px"
|
|
}
|
|
|
|
function d(t, e) {
|
|
s(t, {
|
|
transform: e,
|
|
webkitTransform: e,
|
|
msTransform: e,
|
|
mozTransform: e,
|
|
oTransform: e
|
|
})
|
|
}
|
|
var p = void 0;
|
|
|
|
function h(t, e) {
|
|
var n = "rgb",
|
|
r = void 0 !== e && 100 !== e;
|
|
if (r && (n += "a"), !p) {
|
|
var i = document.createElement("canvas");
|
|
i.height = 1, i.width = 1, p = i.getContext("2d")
|
|
}
|
|
t ? isNaN(parseInt(t, 16)) || (t = "#" + t) : t = "#000000", p.clearRect(0, 0, 1, 1), p.fillStyle = t, p.fillRect(0, 0, 1, 1);
|
|
var o = p.getImageData(0, 0, 1, 1).data;
|
|
return n += "(" + o[0] + ", " + o[1] + ", " + o[2], r && (n += ", " + e / 100), n + ")"
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(5),
|
|
o = n(3),
|
|
u = {},
|
|
a = 45e3,
|
|
c = 2,
|
|
s = 3;
|
|
|
|
function l(t) {
|
|
var e = document.createElement("link");
|
|
return e.type = "text/css", e.rel = "stylesheet", e.href = t, e
|
|
}
|
|
|
|
function f(t) {
|
|
var e = document.createElement("script");
|
|
return e.type = "text/javascript", e.charset = "utf-8", e.async = !0, e.timeout = a, e.src = t, e
|
|
}
|
|
var d = function(t, e) {
|
|
var n = this,
|
|
r = 0;
|
|
|
|
function i(t) {
|
|
r = c, n.trigger(o.w, t).off()
|
|
}
|
|
|
|
function d(t) {
|
|
r = s, n.trigger(o.La, t).off()
|
|
}
|
|
this.getStatus = function() {
|
|
return r
|
|
}, this.load = function() {
|
|
var n = u[t];
|
|
return 0 !== r ? n : (n && n.then(d).catch(i), r = 1, n = new Promise(function(n, r) {
|
|
var o = (e ? l : f)(t),
|
|
u = function() {
|
|
o.onerror = o.onload = null, clearTimeout(s)
|
|
},
|
|
c = function(t) {
|
|
u(), i(t), r(t)
|
|
},
|
|
s = setTimeout(function() {
|
|
c(new Error("Network timeout " + t))
|
|
}, a);
|
|
o.onerror = function() {
|
|
c(new Error("Failed to load " + t))
|
|
}, o.onload = function(t) {
|
|
u(), d(t), n(t)
|
|
};
|
|
var p = document.getElementsByTagName("head")[0] || document.documentElement;
|
|
p.insertBefore(o, p.firstChild)
|
|
}), u[t] = n, n)
|
|
}
|
|
};
|
|
Object(r.j)(d.prototype, i.a), e.a = d
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(1),
|
|
i = n(12),
|
|
o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
|
return typeof t
|
|
} : function(t) {
|
|
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
|
},
|
|
u = function() {
|
|
this.load = function(t, e, n, u) {
|
|
return n && "object" === (void 0 === n ? "undefined" : o(n)) ? Promise.all(Object.keys(n).filter(function(t) {
|
|
return t
|
|
}).map(function(o) {
|
|
var a = n[o];
|
|
return e.setupPlugin(o).then(function(e) {
|
|
if (!u.attributes._destroyed) return Object(i.a)(e, a, t)
|
|
}).catch(function(t) {
|
|
return e.removePlugin(o), t.code ? t : new r.s(null, Object(i.c)(o), t)
|
|
})
|
|
})) : Promise.resolve()
|
|
}
|
|
},
|
|
a = n(48),
|
|
c = n(47),
|
|
s = {},
|
|
l = function() {},
|
|
f = l.prototype;
|
|
f.setupPlugin = function(t) {
|
|
var e = this.getPlugin(t);
|
|
return e ? (e.url !== t && Object(c.a)('JW Plugin "' + Object(i.b)(t) + '" already loaded from "' + e.url + '". Ignoring "' + t + '."'), e.promise) : this.addPlugin(t).load()
|
|
}, f.addPlugin = function(t) {
|
|
var e = Object(i.b)(t),
|
|
n = s[e];
|
|
return n || (n = new a.a(t), s[e] = n), n
|
|
}, f.getPlugin = function(t) {
|
|
return s[Object(i.b)(t)]
|
|
}, f.removePlugin = function(t) {
|
|
delete s[Object(i.b)(t)]
|
|
}, f.getPlugins = function() {
|
|
return s
|
|
};
|
|
var d = l;
|
|
n.d(e, "b", function() {
|
|
return h
|
|
}), n.d(e, "a", function() {
|
|
return v
|
|
});
|
|
var p = new d,
|
|
h = function(t, e, n) {
|
|
var r = p.addPlugin(t);
|
|
r.js || r.registerPlugin(t, e, n)
|
|
};
|
|
|
|
function v(t, e) {
|
|
var n = t.get("plugins");
|
|
return window.jwplayerPluginJsonp = h, (t.pluginLoader = t.pluginLoader || new u).load(e, p, n, t).then(function(e) {
|
|
if (!t.attributes._destroyed) return delete window.jwplayerPluginJsonp, e
|
|
})
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return a
|
|
});
|
|
var r = n(46),
|
|
i = n(18),
|
|
o = n(44),
|
|
u = n(1),
|
|
a = 100013;
|
|
e.b = function(t) {
|
|
var e = void 0,
|
|
n = void 0,
|
|
c = void 0;
|
|
try {
|
|
var s = Object(r.a)(t || "", Object(o.a)("NDh2aU1Cb0NHRG5hcDFRZQ==")).split("/");
|
|
if ("pro" === (e = s[0]) && (e = "premium"), Object(i.a)(e)("setup") || (e = "invalid"), s.length > 2) {
|
|
n = s[1];
|
|
var l = parseInt(s[2]);
|
|
l > 0 && (c = new Date).setTime(l)
|
|
}
|
|
} catch (t) {
|
|
e = "invalid"
|
|
}
|
|
this.edition = function() {
|
|
return e
|
|
}, this.token = function() {
|
|
return n
|
|
}, this.expiration = function() {
|
|
return c
|
|
}, this.duration = function() {
|
|
return c ? c.getTime() - (new Date).getTime() : 0
|
|
}, this.error = function() {
|
|
var r = void 0;
|
|
return void 0 === t ? r = 100011 : "invalid" !== e && n ? this.duration() < 0 && (r = a) : r = 100012, r ? new u.s(u.m, r) : null
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return b
|
|
});
|
|
var r = n(0),
|
|
i = n(11),
|
|
o = n(8),
|
|
u = n(1),
|
|
a = 1,
|
|
c = 2,
|
|
s = 3,
|
|
l = 4,
|
|
f = 5,
|
|
d = 6,
|
|
p = 7,
|
|
h = 601,
|
|
v = 602,
|
|
g = 611,
|
|
m = function() {};
|
|
|
|
function b(t, e, n, h) {
|
|
t === Object(t) && (t = (h = t).url);
|
|
var O = void 0,
|
|
C = Object(r.j)({
|
|
xhr: null,
|
|
url: t,
|
|
withCredentials: !1,
|
|
retryWithoutCredentials: !1,
|
|
timeout: 6e4,
|
|
timeoutId: -1,
|
|
oncomplete: e || m,
|
|
onerror: n || m,
|
|
mimeType: h && !h.responseType ? "text/xml" : "",
|
|
requireValidXML: !1,
|
|
responseType: h && h.plainText ? "text" : "",
|
|
useDomParser: !1,
|
|
requestFilter: null
|
|
}, h),
|
|
k = function(t, e) {
|
|
return function(t, n) {
|
|
var i = t.currentTarget || e.xhr;
|
|
if (clearTimeout(e.timeoutId), e.retryWithoutCredentials && e.xhr.withCredentials) {
|
|
y(i);
|
|
var o = Object(r.j)({}, e, {
|
|
xhr: null,
|
|
withCredentials: !1,
|
|
retryWithoutCredentials: !1
|
|
});
|
|
b(o)
|
|
} else !n && i.status >= 400 && i.status < 600 && (n = i.status), j(e, n ? u.o : u.r, n || d, t)
|
|
}
|
|
}(0, C);
|
|
if ("XMLHttpRequest" in window) {
|
|
if (O = C.xhr = C.xhr || new window.XMLHttpRequest, "function" == typeof C.requestFilter) {
|
|
var x = void 0;
|
|
try {
|
|
x = C.requestFilter({
|
|
url: t,
|
|
xhr: O
|
|
})
|
|
} catch (t) {
|
|
return k(t, f), O
|
|
}
|
|
x && "open" in x && "send" in x && (O = C.xhr = x)
|
|
}
|
|
O.onreadystatechange = function(t) {
|
|
return function(e) {
|
|
var n = e.currentTarget || t.xhr;
|
|
if (4 === n.readyState) {
|
|
clearTimeout(t.timeoutId);
|
|
var a = n.status;
|
|
if (a >= 400) return void j(t, u.o, a < 600 ? a : d);
|
|
if (200 === a) return function(t) {
|
|
return function(e) {
|
|
var n = e.currentTarget || t.xhr;
|
|
if (clearTimeout(t.timeoutId), t.responseType) {
|
|
if ("json" === t.responseType) return function(t, e) {
|
|
if (!t.response || "string" == typeof t.response && '"' !== t.responseText.substr(1)) try {
|
|
t = Object(r.j)({}, t, {
|
|
response: JSON.parse(t.responseText)
|
|
})
|
|
} catch (t) {
|
|
return void j(e, u.o, g, t)
|
|
}
|
|
return e.oncomplete(t)
|
|
}(n, t)
|
|
} else {
|
|
var o = n.responseXML,
|
|
a = void 0;
|
|
if (o) try {
|
|
a = o.firstChild
|
|
} catch (t) {}
|
|
if (o && a) return w(n, o, t);
|
|
if (t.useDomParser && n.responseText && !o && (o = Object(i.parseXML)(n.responseText)) && o.firstChild) return w(n, o, t);
|
|
if (t.requireValidXML) return void j(t, u.o, v)
|
|
}
|
|
t.oncomplete(n)
|
|
}
|
|
}(t)(e);
|
|
0 === a && Object(o.isFileProtocol)() && !/^[a-z][a-z0-9+.-]*:/.test(t.url) && j(t, u.o, p)
|
|
}
|
|
}
|
|
}(C), O.onerror = k, "overrideMimeType" in O ? C.mimeType && O.overrideMimeType(C.mimeType) : C.useDomParser = !0;
|
|
try {
|
|
t = t.replace(/#.*$/, ""), O.open("GET", t, !0)
|
|
} catch (t) {
|
|
return k(t, s), O
|
|
}
|
|
if (C.responseType) try {
|
|
O.responseType = C.responseType
|
|
} catch (t) {}
|
|
C.timeout && (C.timeoutId = setTimeout(function() {
|
|
y(O), j(C, u.r, a)
|
|
}, C.timeout), O.onabort = function() {
|
|
clearTimeout(C.timeoutId)
|
|
});
|
|
try {
|
|
C.withCredentials && "withCredentials" in O && (O.withCredentials = !0), O.send()
|
|
} catch (t) {
|
|
k(t, l)
|
|
}
|
|
return O
|
|
}
|
|
j(C, u.r, c)
|
|
}
|
|
|
|
function y(t) {
|
|
t.onload = null, t.onprogress = null, t.onreadystatechange = null, t.onerror = null, "abort" in t && t.abort()
|
|
}
|
|
|
|
function j(t, e, n, r) {
|
|
t.onerror(e, t.url, t.xhr, new u.s(e, n, r))
|
|
}
|
|
|
|
function w(t, e, n) {
|
|
var i = e.documentElement;
|
|
if (!n.requireValidXML || "parsererror" !== i.nodeName && !i.getElementsByTagName("parsererror").length) return t.responseXML || (t = Object(r.j)({}, t, {
|
|
responseXML: e
|
|
})), n.oncomplete(t);
|
|
j(n, u.o, h)
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(33),
|
|
o = function(t) {
|
|
if (t && t.file) return Object(r.j)({}, {
|
|
kind: "captions",
|
|
default: !1
|
|
}, t)
|
|
},
|
|
u = Array.isArray;
|
|
e.a = function(t) {
|
|
u((t = t || {}).tracks) || delete t.tracks;
|
|
var e = Object(r.j)({}, {
|
|
sources: [],
|
|
tracks: [],
|
|
minDvrWindow: 120,
|
|
dvrSeekLimit: 25
|
|
}, t);
|
|
e.dvrSeekLimit < 5 && (e.dvrSeekLimit = 5), e.sources !== Object(e.sources) || u(e.sources) || (e.sources = [Object(i.a)(e.sources)]), u(e.sources) && 0 !== e.sources.length || (t.levels ? e.sources = t.levels : e.sources = [Object(i.a)(t)]);
|
|
for (var n = 0; n < e.sources.length; n++) {
|
|
var a = e.sources[n];
|
|
if (a) {
|
|
var c = a.default;
|
|
a.default = !!c && "true" === c.toString(), e.sources[n].label || (e.sources[n].label = n.toString()), e.sources[n] = Object(i.a)(e.sources[n])
|
|
}
|
|
}
|
|
return e.sources = e.sources.filter(function(t) {
|
|
return !!t
|
|
}), u(e.tracks) || (e.tracks = []), u(e.captions) && (e.tracks = e.tracks.concat(e.captions), delete e.captions), e.tracks = e.tracks.map(o).filter(function(t) {
|
|
return !!t
|
|
}), e
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = {
|
|
none: !0,
|
|
metadata: !0,
|
|
auto: !0
|
|
};
|
|
|
|
function o(t, e) {
|
|
return i[t] ? t : i[e] ? e : "metadata"
|
|
}
|
|
var u = n(28),
|
|
a = n(33),
|
|
c = n(42),
|
|
s = n(1);
|
|
n.d(e, "b", function() {
|
|
return l
|
|
}), n.d(e, "e", function() {
|
|
return f
|
|
}), n.d(e, "d", function() {
|
|
return d
|
|
}), n.d(e, "c", function() {
|
|
return p
|
|
});
|
|
|
|
function l(t, e, n) {
|
|
return delete Object(r.j)({}, n).playlist, t.map(function(t) {
|
|
return d(e, t, n)
|
|
}).filter(function(t) {
|
|
return !!t
|
|
})
|
|
}
|
|
|
|
function f(t) {
|
|
if (!Array.isArray(t) || 0 === t.length) throw new s.s(s.o, 630)
|
|
}
|
|
|
|
function d(t, e, n) {
|
|
var i = t.getProviders(),
|
|
u = t.get("preload"),
|
|
a = Object(r.j)({}, e);
|
|
if (a.preload = o(e.preload, u), a.allSources = h(e, t), a.sources = v(a.allSources, i), a.sources.length) return a.file = a.sources[0].file, a.feedData = n, a
|
|
}
|
|
var p = function(t, e) {
|
|
return v(h(t, e), e.getProviders())
|
|
};
|
|
|
|
function h(t, e) {
|
|
var n = e.attributes,
|
|
r = t.sources,
|
|
i = t.allSources,
|
|
u = t.preload,
|
|
c = t.drm,
|
|
s = g(t.withCredentials, n.withCredentials);
|
|
return (i || r).map(function(t) {
|
|
if (t !== Object(t)) return null;
|
|
m(t, n, "androidhls"), m(t, n, "hlsjsdefault"), m(t, n, "safarihlsjs"), t.preload = o(t.preload, u);
|
|
var e = t.drm || c || n.drm;
|
|
e && (t.drm = e);
|
|
var r = g(t.withCredentials, s);
|
|
return void 0 !== r && (t.withCredentials = r), Object(a.a)(t)
|
|
}).filter(function(t) {
|
|
return !!t
|
|
})
|
|
}
|
|
|
|
function v(t, e) {
|
|
e && e.choose || (e = new c.a);
|
|
var n = function(t, e) {
|
|
for (var n = 0; n < t.length; n++) {
|
|
var r = t[n],
|
|
i = e.choose(r),
|
|
o = i.providerToCheck;
|
|
if (o) return {
|
|
type: r.type,
|
|
provider: o
|
|
}
|
|
}
|
|
return null
|
|
}(t, e);
|
|
if (!n) return [];
|
|
var r = n.provider,
|
|
i = n.type;
|
|
return t.filter(function(t) {
|
|
return t.type === i && e.providerSupports(r, t)
|
|
})
|
|
}
|
|
|
|
function g(t, e) {
|
|
return void 0 === t ? e : t
|
|
}
|
|
|
|
function m(t, e, n) {
|
|
n in e && (t[n] = e[n])
|
|
}
|
|
e.a = function(t) {
|
|
return (Array.isArray(t) ? t : [t]).map(u.a)
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(17),
|
|
o = window.performance || {
|
|
timing: {}
|
|
},
|
|
u = o.timing.navigationStart || Object(i.a)();
|
|
|
|
function a() {
|
|
return u + o.now()
|
|
}
|
|
"now" in o || (o.now = function() {
|
|
return Object(i.a)() - u
|
|
});
|
|
e.a = function() {
|
|
var t = {},
|
|
e = {},
|
|
n = {},
|
|
i = {};
|
|
return {
|
|
start: function(e) {
|
|
t[e] = a(), n[e] = n[e] + 1 || 1
|
|
},
|
|
end: function(n) {
|
|
if (t[n]) {
|
|
var r = a() - t[n];
|
|
delete t[n], e[n] = e[n] + r || r
|
|
}
|
|
},
|
|
dump: function() {
|
|
var o = Object(r.j)({}, e);
|
|
for (var u in t)
|
|
if (Object.prototype.hasOwnProperty.call(t, u)) {
|
|
var c = a() - t[u];
|
|
o[u] = o[u] + c || c
|
|
} return {
|
|
counts: Object(r.j)({}, n),
|
|
sums: o,
|
|
events: Object(r.j)({}, i)
|
|
}
|
|
},
|
|
tick: function(t) {
|
|
i[t] = a()
|
|
},
|
|
clear: function(t) {
|
|
delete i[t]
|
|
},
|
|
between: function(t, e) {
|
|
return i[e] && i[t] ? i[e] - i[t] : null
|
|
}
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return r
|
|
});
|
|
var r = "8.7.4+commercial_v8-7-4.305.commercial.f756f74.hlsjs..jwplayer.24b3d7c.dai.5397b64.freewheel.2e66d5d.googima.9384558.vast.8a37964.analytics.b0ca618.gapro.8d11024.related.482a566"
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return c
|
|
});
|
|
var r = n(59),
|
|
i = n(8),
|
|
o = n(40),
|
|
u = {
|
|
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"
|
|
},
|
|
a = [{
|
|
name: "html5",
|
|
supports: c
|
|
}];
|
|
|
|
function c(t) {
|
|
if (!1 === Object(r.a)(t)) return !1;
|
|
if (!o.a.canPlayType) return !1;
|
|
var e = t.file,
|
|
n = t.type;
|
|
if (Object(i.isRtmp)(e, n)) return !1;
|
|
var a = t.mimeType || u[n];
|
|
if (!a) return !1;
|
|
var c = t.mediaTypes;
|
|
return c && c.length && (a = [a].concat(c.slice()).join("; ")), !!o.a.canPlayType(a)
|
|
}
|
|
e.a = a
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(8),
|
|
o = n(2);
|
|
e.a = function(t) {
|
|
if (t && t.file) {
|
|
var e = Object(r.j)({}, {
|
|
default: !1
|
|
}, t);
|
|
e.file = Object(o.h)("" + e.file);
|
|
var n = /^[^/]+\/(?:x-)?([^/]+)$/;
|
|
if (n.test(e.type) && (e.mimeType = e.type, e.type = e.type.replace(n, "$1")), Object(i.isYouTube)(e.file) ? e.type = "youtube" : Object(i.isRtmp)(e.file) ? e.type = "rtmp" : e.type || (e.type = Object(o.a)(e.file)), e.type) {
|
|
switch (e.type) {
|
|
case "m3u8":
|
|
case "vnd.apple.mpegurl":
|
|
e.type = "hls";
|
|
break;
|
|
case "dash+xml":
|
|
e.type = "dash";
|
|
break;
|
|
case "m4a":
|
|
e.type = "aac";
|
|
break;
|
|
case "smil":
|
|
e.type = "rtmp"
|
|
}
|
|
return Object.keys(e).forEach(function(t) {
|
|
"" === e[t] && delete e[t]
|
|
}), e
|
|
}
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
e.a = {}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return T
|
|
});
|
|
var r = n(7),
|
|
i = n(3),
|
|
o = n(51),
|
|
u = n(17),
|
|
a = n(9),
|
|
c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
|
return typeof t
|
|
} : function(t) {
|
|
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
|
},
|
|
s = function() {
|
|
function t(t, e) {
|
|
for (var n = 0; n < e.length; n++) {
|
|
var r = e[n];
|
|
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
|
|
}
|
|
}
|
|
return function(e, n, r) {
|
|
return n && t(e.prototype, n), r && t(e, r), e
|
|
}
|
|
}(),
|
|
l = function t(e, n, r) {
|
|
null === e && (e = Function.prototype);
|
|
var i = Object.getOwnPropertyDescriptor(e, n);
|
|
if (void 0 === i) {
|
|
var o = Object.getPrototypeOf(e);
|
|
return null === o ? void 0 : t(o, n, r)
|
|
}
|
|
if ("value" in i) return i.value;
|
|
var u = i.get;
|
|
return void 0 !== u ? u.call(r) : void 0
|
|
};
|
|
var f = "ontouchstart" in window,
|
|
d = "PointerEvent" in window && !r.OS.android,
|
|
p = !(d || f && r.OS.mobile),
|
|
h = "window",
|
|
v = "keydown",
|
|
g = r.Features.passiveEvents,
|
|
m = !!g && {
|
|
passive: !0
|
|
},
|
|
b = 6,
|
|
y = 300,
|
|
j = 500,
|
|
w = void 0,
|
|
O = void 0,
|
|
C = function(t) {
|
|
function e(t, n) {
|
|
! function(t, e) {
|
|
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, e);
|
|
var r = function(t, e) {
|
|
if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
return !e || "object" != typeof e && "function" != typeof e ? t : e
|
|
}(this, (e.__proto__ || Object.getPrototypeOf(e)).call(this)),
|
|
i = !(n = n || {}).preventScrolling;
|
|
return r.directSelect = !!n.directSelect, r.dragged = !1, r.enableDoubleTap = !1, r.el = t, r.handlers = {}, r.options = {}, r.lastClick = 0, r.lastStart = 0, r.passive = i, r.pointerId = null, r.startX = 0, r.startY = 0, r.event = null, r
|
|
}
|
|
return function(t, e) {
|
|
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
|
|
t.prototype = Object.create(e && e.prototype, {
|
|
constructor: {
|
|
value: t,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
configurable: !0
|
|
}
|
|
}), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
|
|
}(e, o["a"]), s(e, [{
|
|
key: "on",
|
|
value: function(t, n, r) {
|
|
return x(t) && (this.handlers[t] || S[t](this)), l(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "on", this).call(this, t, n, r)
|
|
}
|
|
}, {
|
|
key: "off",
|
|
value: function(t, n, r) {
|
|
var i = this;
|
|
if (x(t)) _(this, t);
|
|
else if (!t) {
|
|
var o = this.handlers;
|
|
Object.keys(o).forEach(function(t) {
|
|
_(i, t)
|
|
})
|
|
}
|
|
return l(e.prototype.__proto__ || Object.getPrototypeOf(e.prototype), "off", this).call(this, t, n, r)
|
|
}
|
|
}, {
|
|
key: "destroy",
|
|
value: function() {
|
|
this.off(), d && A(this), this.el = null
|
|
}
|
|
}]), e
|
|
}();
|
|
e.a = C;
|
|
var k = /\s+/;
|
|
|
|
function x(t) {
|
|
return t && !(k.test(t) || "object" === (void 0 === t ? "undefined" : c(t)))
|
|
}
|
|
|
|
function P(t) {
|
|
if (!t.handlers.init) {
|
|
var e = t.el,
|
|
n = t.passive,
|
|
r = !!g && {
|
|
passive: n
|
|
},
|
|
o = function(i) {
|
|
if (Object(a.m)(e, "jw-tab-focus"), ! function(t) {
|
|
if ("which" in t) return 3 === t.which;
|
|
if ("button" in t) return 2 === t.button;
|
|
return !1
|
|
}(i)) {
|
|
var o = i.target,
|
|
l = i.type;
|
|
if (!t.directSelect || o === e) {
|
|
var f = M(i),
|
|
d = f.pageX,
|
|
p = f.pageY;
|
|
if (t.dragged = !1, t.lastStart = Object(u.a)(), t.startX = d, t.startY = p, _(t, h), "pointerdown" === l && i.isPrimary) {
|
|
if (!n) {
|
|
var v = i.pointerId;
|
|
t.pointerId = v, e.setPointerCapture(v)
|
|
}
|
|
E(t, h, "pointermove", c, r), E(t, h, "pointercancel", s), E(t, h, "pointerup", s), "BUTTON" === e.tagName && e.focus()
|
|
} else "mousedown" === l ? (E(t, h, "mousemove", c, r), E(t, h, "mouseup", s)) : "touchstart" === l && (E(t, h, "touchmove", c, r), E(t, h, "touchcancel", s), E(t, h, "touchend", s), n || I(i))
|
|
}
|
|
}
|
|
},
|
|
c = function(e) {
|
|
if (t.dragged) N(t, i.s, e);
|
|
else {
|
|
var r = M(e),
|
|
o = r.pageX,
|
|
u = r.pageY,
|
|
a = o - t.startX,
|
|
c = u - t.startY;
|
|
a * a + c * c > b * b && (N(t, i.u, e), t.dragged = !0, N(t, i.s, e))
|
|
}
|
|
n || "touchmove" !== e.type || I(e)
|
|
},
|
|
s = function(n) {
|
|
if (clearTimeout(w), A(t), _(t, h), t.dragged) t.dragged = !1, N(t, i.t, n);
|
|
else if (-1 === n.type.indexOf("cancel") && e.contains(n.target)) {
|
|
if (Object(u.a)() - t.lastStart > j) return;
|
|
var r = "pointerup" === n.type || "pointercancel" === n.type,
|
|
o = "mouseup" === n.type || r && "mouse" === n.pointerType;
|
|
! function(t, e, n) {
|
|
if (t.enableDoubleTap)
|
|
if (Object(u.a)() - t.lastClick < y) {
|
|
var r = n ? i.q : i.r;
|
|
N(t, r, e), t.lastClick = 0
|
|
} else t.lastClick = Object(u.a)()
|
|
}(t, n, o), o ? N(t, i.n, n) : (N(t, i.Sa, n), "touchend" !== n.type || g || I(n))
|
|
}
|
|
};
|
|
d ? E(t, "init", "pointerdown", o, r) : (p && E(t, "init", "mousedown", o, r), E(t, "init", "touchstart", o, r)), O || (O = new C(document).on("interaction")), E(t, "init", "blur", function() {
|
|
Object(a.m)(e, "jw-tab-focus")
|
|
}), E(t, "init", "focus", function() {
|
|
O.event && O.event.type === v && Object(a.a)(e, "jw-tab-focus")
|
|
})
|
|
}
|
|
}
|
|
var S = {
|
|
drag: function(t) {
|
|
P(t)
|
|
},
|
|
dragStart: function(t) {
|
|
P(t)
|
|
},
|
|
dragEnd: function(t) {
|
|
P(t)
|
|
},
|
|
click: function(t) {
|
|
P(t)
|
|
},
|
|
tap: function(t) {
|
|
P(t)
|
|
},
|
|
doubleTap: function(t) {
|
|
t.enableDoubleTap = !0, P(t)
|
|
},
|
|
doubleClick: function(t) {
|
|
t.enableDoubleTap = !0, P(t)
|
|
},
|
|
longPress: function(t) {
|
|
if (r.OS.iOS) {
|
|
var e = function() {
|
|
clearTimeout(w)
|
|
};
|
|
E(t, "longPress", "touchstart", function(n) {
|
|
e(), w = setTimeout(function() {
|
|
N(t, "longPress", n)
|
|
}, j)
|
|
}), E(t, "longPress", "touchmove", e), E(t, "longPress", "touchcancel", e), E(t, "longPress", "touchend", e)
|
|
} else t.el.oncontextmenu = function(e) {
|
|
return N(t, "longPress", e), !1
|
|
}
|
|
},
|
|
focus: function(t) {
|
|
E(t, "focus", "focus", function(e) {
|
|
F(t, "focus", e)
|
|
})
|
|
},
|
|
blur: function(t) {
|
|
E(t, "blur", "blur", function(e) {
|
|
F(t, "blur", e)
|
|
})
|
|
},
|
|
over: function(t) {
|
|
(d || p) && E(t, i.Z, d ? "pointerover" : "mouseover", function(e) {
|
|
"touch" !== e.pointerType && N(t, i.Z, e)
|
|
})
|
|
},
|
|
out: function(t) {
|
|
if (d) {
|
|
var e = t.el;
|
|
E(t, i.Y, "pointerout", function(n) {
|
|
if ("touch" !== n.pointerType && "x" in n) {
|
|
var r = document.elementFromPoint(n.x, n.y);
|
|
e.contains(r) || N(t, i.Y, n)
|
|
}
|
|
})
|
|
} else p && E(t, i.Y, "mouseout", function(e) {
|
|
N(t, i.Y, e)
|
|
})
|
|
},
|
|
move: function(t) {
|
|
(d || p) && E(t, i.W, d ? "pointermove" : "mousemove", function(e) {
|
|
"touch" !== e.pointerType && N(t, i.W, e)
|
|
})
|
|
},
|
|
enter: function(t) {
|
|
E(t, i.v, v, function(e) {
|
|
"Enter" !== e.key && 13 !== e.keyCode || (e.stopPropagation(), F(t, i.v, e))
|
|
})
|
|
},
|
|
keydown: function(t) {
|
|
E(t, v, v, function(e) {
|
|
F(t, v, e)
|
|
}, !1)
|
|
},
|
|
gesture: function(t) {
|
|
var e = function(e) {
|
|
return N(t, "gesture", e)
|
|
};
|
|
E(t, "gesture", "click", e), E(t, "gesture", v, e)
|
|
},
|
|
interaction: function(t) {
|
|
var e = function(e) {
|
|
t.event = e
|
|
};
|
|
E(t, "interaction", "mousedown", e, !0), E(t, "interaction", v, e, !0)
|
|
}
|
|
};
|
|
|
|
function T(t) {
|
|
var e = t.ownerDocument || t;
|
|
return e.defaultView || e.parentWindow || window
|
|
}
|
|
|
|
function E(t, e, n, r) {
|
|
var i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : m,
|
|
o = t.handlers[e],
|
|
u = t.options[e];
|
|
if (o || (o = t.handlers[e] = {}, u = t.options[e] = {}), o[n]) throw new Error(e + " " + n + " already registered");
|
|
o[n] = r, u[n] = i;
|
|
var a = t.el;
|
|
(e === h ? T(a) : a).addEventListener(n, r, i)
|
|
}
|
|
|
|
function _(t, e) {
|
|
var n = t.el,
|
|
r = t.handlers,
|
|
i = t.options,
|
|
o = e === h ? T(n) : n,
|
|
u = r[e],
|
|
a = i[e];
|
|
u && (Object.keys(u).forEach(function(t) {
|
|
var e = a[t];
|
|
"boolean" == typeof e ? o.removeEventListener(t, u[t], e) : o.removeEventListener(t, u[t])
|
|
}), r[e] = null, i[e] = null)
|
|
}
|
|
|
|
function A(t) {
|
|
var e = t.el;
|
|
null !== t.pointerId && (e.releasePointerCapture(t.pointerId), t.pointerId = null)
|
|
}
|
|
|
|
function F(t, e, n) {
|
|
var r = t.el,
|
|
i = n.target;
|
|
t.trigger(e, {
|
|
type: e,
|
|
sourceEvent: n,
|
|
currentTarget: r,
|
|
target: i
|
|
})
|
|
}
|
|
|
|
function N(t, e, n) {
|
|
var r = function(t, e, n) {
|
|
var r = e.target,
|
|
i = e.touches,
|
|
o = e.changedTouches,
|
|
u = e.pointerType,
|
|
a = void 0;
|
|
i || o ? (a = i && i.length ? i[0] : o[0], u = u || "touch") : (a = e, u = u || "mouse");
|
|
var c = a,
|
|
s = c.pageX,
|
|
l = c.pageY;
|
|
return {
|
|
type: t,
|
|
pointerType: u,
|
|
pageX: s,
|
|
pageY: l,
|
|
sourceEvent: e,
|
|
currentTarget: n,
|
|
target: r
|
|
}
|
|
}(e, n, t.el);
|
|
t.trigger(e, r)
|
|
}
|
|
|
|
function M(t) {
|
|
return 0 === t.type.indexOf("touch") ? (t.originalEvent || t).changedTouches[0] : t
|
|
}
|
|
|
|
function I(t) {
|
|
t.preventDefault && t.preventDefault()
|
|
}
|
|
}, , function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return c
|
|
}), n.d(e, "d", function() {
|
|
return s
|
|
}), n.d(e, "c", function() {
|
|
return l
|
|
}), n.d(e, "a", function() {
|
|
return f
|
|
});
|
|
var r = n(18),
|
|
i = [{
|
|
configName: "clearkey",
|
|
keyName: "org.w3.clearkey"
|
|
}, {
|
|
configName: "widevine",
|
|
keyName: "com.widevine.alpha"
|
|
}, {
|
|
configName: "playready",
|
|
keyName: "com.microsoft.playready"
|
|
}],
|
|
o = [],
|
|
u = {},
|
|
a = void 0;
|
|
|
|
function c(t) {
|
|
return t.some(function(t) {
|
|
return !!t.drm || t.sources.some(function(t) {
|
|
return !!t.drm
|
|
})
|
|
})
|
|
}
|
|
|
|
function s(t) {
|
|
return a || ((navigator.requestMediaKeySystemAccess && MediaKeySystemAccess.prototype.getConfiguration || window.MSMediaKeys) && Object(r.a)(t)("drm") ? (i.forEach(function(t) {
|
|
var e = function(t, e) {
|
|
return navigator.requestMediaKeySystemAccess ? navigator.requestMediaKeySystemAccess(t, e) : new Promise(function(e, n) {
|
|
var r = void 0;
|
|
try {
|
|
r = new window.MSMediaKeys(t)
|
|
} catch (t) {
|
|
return void n(t)
|
|
}
|
|
e(r)
|
|
})
|
|
}(t.keyName, [{
|
|
initDataTypes: ["cenc"],
|
|
videoCapabilities: [{
|
|
contentType: 'video/mp4;codecs="avc1.4d401e"'
|
|
}],
|
|
audioCapabilities: [{
|
|
contentType: 'audio/mp4;codecs="mp4a.40.2"'
|
|
}]
|
|
}]).then(function() {
|
|
u[t.configName] = !0
|
|
}).catch(function() {
|
|
u[t.configName] = !1
|
|
});
|
|
o.push(e)
|
|
}), a = Promise.all(o)) : Promise.resolve())
|
|
}
|
|
|
|
function l(t) {
|
|
return u[t]
|
|
}
|
|
|
|
function f(t) {
|
|
if (a) return Object.keys(t).some(function(t) {
|
|
return l(t)
|
|
})
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return o
|
|
}), n.d(e, "b", function() {
|
|
return u
|
|
});
|
|
var r = n(10),
|
|
i = null,
|
|
o = {};
|
|
|
|
function u() {
|
|
return i || (i = n.e(2).then(function(t) {
|
|
var e = n(21).default;
|
|
return o.controls = e, e
|
|
}.bind(null, n)).catch(function() {
|
|
i = null, Object(r.c)(301130)()
|
|
})), i
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
e.a = {
|
|
advertising: {
|
|
admessage: "This ad will end in xx",
|
|
cuetext: "Advertisement",
|
|
displayHeading: "Advertisement",
|
|
loadingAd: "Loading ad",
|
|
podmessage: "Ad __AD_POD_CURRENT__ of __AD_POD_LENGTH__.",
|
|
skipmessage: "Skip ad in xx",
|
|
skiptext: "Skip"
|
|
},
|
|
airplay: "AirPlay",
|
|
audioTracks: "Audio Tracks",
|
|
auto: "Auto",
|
|
buffer: "Loading",
|
|
cast: "Chromecast",
|
|
cc: "Closed Captions",
|
|
close: "Close",
|
|
errors: {
|
|
badConnection: "This video cannot be played because of a problem with your internet connection.",
|
|
cantLoadPlayer: "Sorry, the video player failed to load.",
|
|
cantPlayInBrowser: "The video cannot be played in this browser.",
|
|
cantPlayVideo: "This video file cannot be played.",
|
|
errorCode: "Error Code",
|
|
liveStreamDown: "The live stream is either down or has ended.",
|
|
protectedContent: "There was a problem providing access to protected content.",
|
|
technicalError: "This video cannot be played because of a technical error."
|
|
},
|
|
exitFullscreen: "Exit Fullscreen",
|
|
fullscreen: "Fullscreen",
|
|
hd: "Quality",
|
|
liveBroadcast: "Live",
|
|
logo: "Logo",
|
|
mute: "Mute",
|
|
next: "Next",
|
|
nextUp: "Next Up",
|
|
notLive: "Not Live",
|
|
off: "Off",
|
|
pause: "Pause",
|
|
play: "Play",
|
|
playback: "Play",
|
|
playbackRates: "Playback Rates",
|
|
player: "Video Player",
|
|
playlist: "Playlist",
|
|
poweredBy: "Powered by",
|
|
prev: "Previous",
|
|
related: {
|
|
autoplaymessage: "Next up in xx",
|
|
heading: "More Videos"
|
|
},
|
|
replay: "Replay",
|
|
rewind: "Rewind 10 Seconds",
|
|
settings: "Settings",
|
|
sharing: {
|
|
copied: "Copied",
|
|
email: "Email",
|
|
embed: "Embed",
|
|
heading: "Share",
|
|
link: "Link"
|
|
},
|
|
slider: "Seek",
|
|
stop: "Stop",
|
|
unmute: "Unmute",
|
|
videoInfo: "About This Video",
|
|
volume: "Volume",
|
|
volumeSlider: "Volume"
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = document.createElement("video");
|
|
e.a = r
|
|
}, function(t, e) {
|
|
var n = {},
|
|
r = {},
|
|
i = function(t) {
|
|
var e;
|
|
return function() {
|
|
return void 0 === e && (e = t.apply(this, arguments)), e
|
|
}
|
|
}(function() {
|
|
return document.head || document.getElementsByTagName("head")[0]
|
|
});
|
|
|
|
function o(t) {
|
|
var e = document.createElement("style");
|
|
return e.type = "text/css", e.setAttribute("data-jwplayer-id", t),
|
|
function(t) {
|
|
i().appendChild(t)
|
|
}(e), e
|
|
}
|
|
|
|
function u(t, e) {
|
|
var n, i, u, a = r[t];
|
|
a || (a = r[t] = {
|
|
element: o(t),
|
|
counter: 0
|
|
});
|
|
var s = a.counter++;
|
|
return n = a.element, u = function() {
|
|
c(n, s, "")
|
|
}, (i = function(t) {
|
|
c(n, s, t)
|
|
})(e.css),
|
|
function(t) {
|
|
if (t) {
|
|
if (t.css === e.css && t.media === e.media) return;
|
|
i((e = t).css)
|
|
} else u()
|
|
}
|
|
}
|
|
t.exports = {
|
|
style: function(t, e) {
|
|
! function(t, e) {
|
|
for (var r = 0; r < e.length; r++) {
|
|
var i = e[r],
|
|
o = (n[t] || {})[i.id];
|
|
if (o) {
|
|
for (var a = 0; a < o.parts.length; a++) o.parts[a](i.parts[a]);
|
|
for (; a < i.parts.length; a++) o.parts.push(u(t, i.parts[a]))
|
|
} else {
|
|
for (var c = [], a = 0; a < i.parts.length; a++) c.push(u(t, i.parts[a]));
|
|
n[t] = n[t] || {}, n[t][i.id] = {
|
|
id: i.id,
|
|
parts: c
|
|
}
|
|
}
|
|
}
|
|
}(e, function(t) {
|
|
for (var e = [], n = {}, r = 0; r < t.length; r++) {
|
|
var i = t[r],
|
|
o = i[0],
|
|
u = i[1],
|
|
a = i[2],
|
|
c = {
|
|
css: u,
|
|
media: a
|
|
};
|
|
n[o] ? n[o].parts.push(c) : e.push(n[o] = {
|
|
id: o,
|
|
parts: [c]
|
|
})
|
|
}
|
|
return e
|
|
}(t))
|
|
},
|
|
clear: function(t, e) {
|
|
var r = n[t];
|
|
if (!r) return;
|
|
if (e) {
|
|
var i = r[e];
|
|
if (i)
|
|
for (var o = 0; o < i.parts.length; o += 1) i.parts[o]();
|
|
return
|
|
}
|
|
for (var u = Object.keys(r), a = 0; a < u.length; a += 1)
|
|
for (var c = r[u[a]], s = 0; s < c.parts.length; s += 1) c.parts[s]();
|
|
delete n[t]
|
|
}
|
|
};
|
|
var a = function() {
|
|
var t = [];
|
|
return function(e, n) {
|
|
return t[e] = n, t.filter(Boolean).join("\n")
|
|
}
|
|
}();
|
|
|
|
function c(t, e, n) {
|
|
if (t.styleSheet) t.styleSheet.cssText = a(e, n);
|
|
else {
|
|
var r = document.createTextNode(n),
|
|
i = t.childNodes[e];
|
|
i ? t.replaceChild(r, i) : t.appendChild(r)
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(16),
|
|
o = n(15),
|
|
u = n(34),
|
|
a = n(10);
|
|
|
|
function c(t) {
|
|
this.config = t || {}
|
|
}
|
|
var s = {
|
|
html5: function() {
|
|
return n.e(1).then(function(t) {
|
|
var e = n(128).default;
|
|
return Object(o.a)(e), e
|
|
}.bind(null, n)).catch(Object(a.b)(152))
|
|
}
|
|
};
|
|
Object(r.j)(c.prototype, {
|
|
load: function(t) {
|
|
var e = s[t],
|
|
n = function() {
|
|
return Promise.reject(new Error("Failed to load media"))
|
|
};
|
|
return e ? e().then(function() {
|
|
var e = u.a[t];
|
|
return e || n()
|
|
}) : n()
|
|
},
|
|
providerSupports: function(t, e) {
|
|
return t.supports(e)
|
|
},
|
|
choose: function(t) {
|
|
if (t === Object(t))
|
|
for (var e = i.a.length, n = 0; n < e; n++) {
|
|
var r = i.a[n];
|
|
if (this.providerSupports(r, t)) return {
|
|
priority: e - n - 1,
|
|
name: r.name,
|
|
type: t.type,
|
|
providerToCheck: r,
|
|
provider: u.a[r.name]
|
|
}
|
|
}
|
|
return {}
|
|
}
|
|
});
|
|
var l = c,
|
|
f = void 0;
|
|
Object(r.j)(s, {
|
|
shaka: function() {
|
|
return n.e(11).then(function(t) {
|
|
var e = n(151).default;
|
|
return Object(o.a)(e), e
|
|
}.bind(null, n)).catch(Object(a.b)(154))
|
|
},
|
|
hlsjs: function() {
|
|
return n.e(10).then(function(t) {
|
|
var e = n(152).default;
|
|
return e.setEdition && e.setEdition(f), Object(o.a)(e), e
|
|
}.bind(null, n)).catch(Object(a.b)(153))
|
|
},
|
|
flash: function() {
|
|
return n.e(9).then(function(t) {
|
|
var e = n(149).default;
|
|
return Object(o.a)(e), e
|
|
}.bind(null, n)).catch(Object(a.b)(151))
|
|
}
|
|
}), l.prototype.providerSupports = function(t, e) {
|
|
return f = this.config.edition, t.supports(e, f)
|
|
};
|
|
e.a = l
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = function(t, e, n, r) {
|
|
var i = r ? ("(" + n + ": " + r + ")").replace(/\s+/g, " ") : "";
|
|
return '<div id="' + t + '" class="jw-error jw-reset"><div class="jw-error-msg jw-info-overlay jw-reset"><style>[id="' + t + '"].jw-error{background:#000;overflow:hidden;position:relative}[id="' + t + '"] .jw-error-msg{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}[id="' + t + '"] .jw-error-text{text-align:start;color:#FFF;font:14px/1.35 Arial,Helvetica,sans-serif}</style><div class="jw-icon jw-reset"></div><div class="jw-info-container jw-reset"><div class="jw-error-text jw-reset-text" dir="auto">' + (e || "") + '<span class="jw-break jw-reset"></span>' + i + "</div></div></div></div>"
|
|
},
|
|
i = n(9),
|
|
o = n(23);
|
|
|
|
function u(t, e) {
|
|
var n = e.message,
|
|
u = e.code,
|
|
a = r(t.get("id"), n, t.get("localization").errors.errorCode, u),
|
|
c = t.get("width"),
|
|
s = t.get("height"),
|
|
l = Object(i.e)(a);
|
|
return Object(o.d)(l, {
|
|
width: c.toString().indexOf("%") > 0 ? c : c + "px",
|
|
height: s.toString().indexOf("%") > 0 ? s : s + "px"
|
|
}), l
|
|
}
|
|
n.d(e, "a", function() {
|
|
return u
|
|
})
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return r
|
|
});
|
|
var r = window.atob
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(4),
|
|
i = n(2);
|
|
|
|
function o(t) {
|
|
for (var e = [], n = 0; n < Object(r.c)(t); n++) {
|
|
var i = t.childNodes[n];
|
|
"jwplayer" === i.prefix && "mediatypes" === Object(r.b)(i).toLowerCase() && e.push(Object(r.d)(i))
|
|
}
|
|
return e
|
|
}
|
|
var u = function t(e, n) {
|
|
var u = [];
|
|
|
|
function a(t) {
|
|
var e = {
|
|
zh: "Chinese",
|
|
nl: "Dutch",
|
|
en: "English",
|
|
fr: "French",
|
|
de: "German",
|
|
it: "Italian",
|
|
ja: "Japanese",
|
|
pt: "Portuguese",
|
|
ru: "Russian",
|
|
es: "Spanish"
|
|
};
|
|
return e[t] ? e[t] : t
|
|
}
|
|
for (var c = 0; c < Object(r.c)(e); c++) {
|
|
var s = e.childNodes[c];
|
|
if ("media" === s.prefix) {
|
|
if (!Object(r.b)(s)) continue;
|
|
switch (Object(r.b)(s).toLowerCase()) {
|
|
case "content":
|
|
if (Object(i.i)(s, "duration") && (n.duration = Object(i.f)(Object(i.i)(s, "duration"))), Object(i.i)(s, "url")) {
|
|
n.sources || (n.sources = []);
|
|
var l = {
|
|
file: Object(i.i)(s, "url"),
|
|
type: Object(i.i)(s, "type"),
|
|
width: Object(i.i)(s, "width"),
|
|
label: Object(i.i)(s, "label")
|
|
},
|
|
f = o(s);
|
|
f.length && (l.mediaTypes = f), n.sources.push(l)
|
|
}
|
|
Object(r.c)(s) > 0 && (n = t(s, n));
|
|
break;
|
|
case "title":
|
|
n.title = Object(r.d)(s);
|
|
break;
|
|
case "description":
|
|
n.description = Object(r.d)(s);
|
|
break;
|
|
case "guid":
|
|
n.mediaid = Object(r.d)(s);
|
|
break;
|
|
case "thumbnail":
|
|
n.image || (n.image = Object(i.i)(s, "url"));
|
|
break;
|
|
case "group":
|
|
t(s, n);
|
|
break;
|
|
case "subtitle":
|
|
var d = {};
|
|
d.file = Object(i.i)(s, "url"), d.kind = "captions", Object(i.i)(s, "lang").length > 0 && (d.label = a(Object(i.i)(s, "lang"))), u.push(d)
|
|
}
|
|
}
|
|
}
|
|
n.hasOwnProperty("tracks") || (n.tracks = []);
|
|
for (var p = 0; p < u.length; p++) n.tracks.push(u[p]);
|
|
return n
|
|
},
|
|
a = n(11),
|
|
c = function(t, e) {
|
|
for (var n = "default", o = [], u = [], c = 0; c < t.childNodes.length; c++) {
|
|
var s = t.childNodes[c];
|
|
if ("jwplayer" === s.prefix) {
|
|
var l = Object(r.b)(s);
|
|
"source" === l ? (delete e.sources, o.push({
|
|
file: Object(i.i)(s, "file"),
|
|
default: Object(i.i)(s, n),
|
|
label: Object(i.i)(s, "label"),
|
|
type: Object(i.i)(s, "type")
|
|
})) : "track" === l ? (delete e.tracks, u.push({
|
|
file: Object(i.i)(s, "file"),
|
|
default: Object(i.i)(s, n),
|
|
kind: Object(i.i)(s, "kind"),
|
|
label: Object(i.i)(s, "label")
|
|
})) : (e[l] = Object(a.serialize)(Object(r.d)(s)), "file" === l && e.sources && delete e.sources)
|
|
}
|
|
e.file || (e.file = e.link)
|
|
}
|
|
if (o.length) {
|
|
e.sources = [];
|
|
for (var f = 0; f < o.length; f++) o[f].file.length > 0 && (o[f][n] = "true" === o[f][n], o[f].label.length || delete o[f].label, e.sources.push(o[f]))
|
|
}
|
|
if (u.length) {
|
|
e.tracks = [];
|
|
for (var d = 0; d < u.length; d++) u[d].file.length > 0 && (u[d][n] = "true" === u[d][n], u[d].kind = u[d].kind.length ? u[d].kind : "captions", u[d].label.length || delete u[d].label, e.tracks.push(u[d]))
|
|
}
|
|
return e
|
|
},
|
|
s = n(28);
|
|
|
|
function l(t) {
|
|
var e = [];
|
|
e.feedData = {};
|
|
for (var n = 0; n < Object(r.c)(t); n++) {
|
|
var i = Object(r.a)(t, n);
|
|
if ("channel" === Object(r.b)(i).toLowerCase())
|
|
for (var o = 0; o < Object(r.c)(i); o++) {
|
|
var u = Object(r.a)(i, o),
|
|
a = Object(r.b)(u).toLowerCase();
|
|
"item" === a ? e.push(f(u)) : a && (e.feedData[a] = Object(r.d)(u))
|
|
}
|
|
}
|
|
return e
|
|
}
|
|
|
|
function f(t) {
|
|
for (var e = {}, n = 0; n < t.childNodes.length; n++) {
|
|
var o = t.childNodes[n],
|
|
a = Object(r.b)(o);
|
|
if (a) switch (a.toLowerCase()) {
|
|
case "enclosure":
|
|
e.file = Object(i.i)(o, "url");
|
|
break;
|
|
case "title":
|
|
e.title = Object(r.d)(o);
|
|
break;
|
|
case "guid":
|
|
e.mediaid = Object(r.d)(o);
|
|
break;
|
|
case "pubdate":
|
|
e.date = Object(r.d)(o);
|
|
break;
|
|
case "description":
|
|
e.description = Object(r.d)(o);
|
|
break;
|
|
case "link":
|
|
e.link = Object(r.d)(o);
|
|
break;
|
|
case "category":
|
|
e.tags ? e.tags += Object(r.d)(o) : e.tags = Object(r.d)(o)
|
|
}
|
|
}
|
|
return new s.a(c(t, u(t, e)))
|
|
}
|
|
n.d(e, "a", function() {
|
|
return l
|
|
})
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return o
|
|
});
|
|
var r = n(44);
|
|
|
|
function i(t) {
|
|
for (var e = new Array(Math.ceil(t.length / 4)), n = 0; n < e.length; n++) e[n] = t.charCodeAt(4 * n) + (t.charCodeAt(4 * n + 1) << 8) + (t.charCodeAt(4 * n + 2) << 16) + (t.charCodeAt(4 * n + 3) << 24);
|
|
return e
|
|
}
|
|
|
|
function o(t, e) {
|
|
if (t = String(t), e = String(e), 0 === t.length) return "";
|
|
for (var n = i(Object(r.a)(t)), o = i(function(t) {
|
|
return unescape(encodeURIComponent(t))
|
|
}(e).slice(0, 16)), u = n.length, a = n[u - 1], c = n[0], s = void 0, l = void 0, f = 2654435769 * Math.floor(6 + 52 / u); f;) {
|
|
l = f >>> 2 & 3;
|
|
for (var d = u - 1; d >= 0; d--) s = ((a = n[d > 0 ? d - 1 : u - 1]) >>> 5 ^ c << 2) + (c >>> 3 ^ a << 4) ^ (f ^ c) + (o[3 & d ^ l] ^ a), c = n[d] -= s;
|
|
f -= 2654435769
|
|
}
|
|
return function(t) {
|
|
try {
|
|
return decodeURIComponent(escape(t))
|
|
} catch (e) {
|
|
return t
|
|
}
|
|
}(function(t) {
|
|
for (var e = new Array(t.length), n = 0; n < t.length; n++) e[n] = String.fromCharCode(255 & t[n], t[n] >>> 8 & 255, t[n] >>> 16 & 255, t[n] >>> 24 & 255);
|
|
return e.join("")
|
|
}(n).replace(/\0+$/, ""))
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return r
|
|
});
|
|
var r = "function" == typeof console.log ? console.log.bind(console) : function() {}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(24),
|
|
o = n(11),
|
|
u = n(2),
|
|
a = n(1),
|
|
c = n(12),
|
|
s = 0,
|
|
l = 1,
|
|
f = function(t) {
|
|
if ("string" == typeof t) {
|
|
var e = (t = t.split("?")[0]).indexOf("://");
|
|
if (e > 0) return s;
|
|
var n = t.indexOf("/"),
|
|
r = Object(u.a)(t);
|
|
return !(e < 0 && n < 0) || r && isNaN(r) ? l : 2
|
|
}
|
|
};
|
|
var d = function(t) {
|
|
this.url = t, this.promise_ = null
|
|
};
|
|
Object.defineProperties(d.prototype, {
|
|
promise: {
|
|
get: function() {
|
|
return this.promise_ || this.load()
|
|
},
|
|
set: function() {}
|
|
}
|
|
}), Object(r.j)(d.prototype, {
|
|
load: function() {
|
|
var t = this,
|
|
e = this.promise_;
|
|
if (!e) {
|
|
if (2 === f(this.url)) e = Promise.resolve(this);
|
|
else {
|
|
var n = new i.a(function(t) {
|
|
switch (f(t)) {
|
|
case s:
|
|
return t;
|
|
case l:
|
|
return Object(o.getAbsolutePath)(t, window.location.href)
|
|
}
|
|
}(this.url));
|
|
this.loader = n, e = n.load().then(function() {
|
|
return t
|
|
})
|
|
}
|
|
this.promise_ = e
|
|
}
|
|
return e
|
|
},
|
|
registerPlugin: function(t, e, n) {
|
|
this.name = t, this.target = e, this.js = n
|
|
},
|
|
getNewInstance: function(t, e, n) {
|
|
var r = this.js;
|
|
if ("function" != typeof r) throw new a.s(null, Object(c.c)(this.url) + 100);
|
|
var i = new r(t, e, n);
|
|
return i.addToPlayer = function() {
|
|
var e = t.getContainer().querySelector(".jw-overlays");
|
|
e && (n.left = e.style.left, n.top = e.style.top, e.appendChild(n), i.displayArea = e)
|
|
}, i.resizeHandler = function() {
|
|
var t = i.displayArea;
|
|
t && i.resize(t.clientWidth, t.clientHeight)
|
|
}, i
|
|
}
|
|
}), e.a = d
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "b", function() {
|
|
return r
|
|
}), n.d(e, "a", function() {
|
|
return i
|
|
});
|
|
var r = {
|
|
audioMode: !1,
|
|
flashBlocked: !1,
|
|
item: 0,
|
|
itemMeta: {},
|
|
playbackRate: 1,
|
|
playRejected: !1,
|
|
state: n(3).Na,
|
|
itemReady: !1,
|
|
controlsEnabled: !1
|
|
},
|
|
i = {
|
|
position: 0,
|
|
duration: 0,
|
|
buffer: 0,
|
|
currentTime: 0
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return r
|
|
});
|
|
var r = function(t, e, n) {
|
|
return Math.max(Math.min(t, n), e)
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(5);
|
|
var o = function t() {
|
|
! function(t, e) {
|
|
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
|
}(this, t)
|
|
};
|
|
e.a = o, o.prototype = Object(r.j)({}, i.a)
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(5),
|
|
i = {
|
|
on: r.a.on,
|
|
once: r.a.once,
|
|
off: r.a.off,
|
|
trigger: r.a.trigger,
|
|
get: function(t) {
|
|
return this.attributes = this.attributes || {}, this.attributes[t]
|
|
},
|
|
set: function(t, e) {
|
|
if (this.attributes = this.attributes || {}, this.attributes[t] !== e) {
|
|
var n = this.attributes[t];
|
|
this.attributes[t] = e, this.trigger("change:" + t, this, e, n)
|
|
}
|
|
},
|
|
clone: function() {
|
|
var t = {},
|
|
e = this.attributes;
|
|
if (e)
|
|
for (var n in e) t[n] = e[n];
|
|
return t
|
|
},
|
|
change: function(t, e, n) {
|
|
this.on("change:" + t, e, n);
|
|
var r = this.get(t);
|
|
return e.call(n, this, r, r), this
|
|
}
|
|
};
|
|
e.a = i
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "c", function() {
|
|
return r
|
|
}), n.d(e, "b", function() {
|
|
return i
|
|
}), n.d(e, "a", function() {
|
|
return o
|
|
});
|
|
var r = 4,
|
|
i = 2,
|
|
o = 1
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
|
|
function r(t, e, n) {
|
|
var r = [],
|
|
i = {};
|
|
|
|
function o() {
|
|
for (; r.length > 0;) {
|
|
var e = r.shift(),
|
|
n = e.command,
|
|
o = e.args;
|
|
(i[n] || t[n]).apply(t, o)
|
|
}
|
|
}
|
|
e.forEach(function(e) {
|
|
var u = t[e];
|
|
i[e] = u, t[e] = function() {
|
|
var t = Array.prototype.slice.call(arguments, 0);
|
|
n() ? r.push({
|
|
command: e,
|
|
args: t
|
|
}) : (o(), u && u.apply(this, t))
|
|
}
|
|
}), Object.defineProperty(this, "queue", {
|
|
enumerable: !0,
|
|
get: function() {
|
|
return r
|
|
}
|
|
}), this.flush = o, this.empty = function() {
|
|
r.length = 0
|
|
}, this.off = function() {
|
|
e.forEach(function(e) {
|
|
var n = i[e];
|
|
n && (t[e] = n, delete i[e])
|
|
})
|
|
}, this.destroy = function() {
|
|
this.off(), this.empty()
|
|
}
|
|
}
|
|
n.d(e, "a", function() {
|
|
return r
|
|
})
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(3),
|
|
i = function() {},
|
|
o = function() {
|
|
return !1
|
|
},
|
|
u = {
|
|
name: "default"
|
|
},
|
|
a = {
|
|
supports: o,
|
|
play: i,
|
|
pause: i,
|
|
preload: i,
|
|
load: i,
|
|
stop: i,
|
|
volume: i,
|
|
mute: i,
|
|
seek: i,
|
|
resize: i,
|
|
remove: i,
|
|
destroy: i,
|
|
eventsOn_: i,
|
|
eventsOff_: i,
|
|
setVisibility: i,
|
|
setFullscreen: i,
|
|
getFullscreen: o,
|
|
supportsFullscreen: o,
|
|
getContainer: i,
|
|
setContainer: i,
|
|
getName: function() {
|
|
return u
|
|
},
|
|
getQualityLevels: i,
|
|
getCurrentQuality: i,
|
|
setCurrentQuality: i,
|
|
getAudioTracks: i,
|
|
getCurrentAudioTrack: i,
|
|
setCurrentAudioTrack: i,
|
|
getSeekRange: function() {
|
|
return {
|
|
start: 0,
|
|
end: this.getDuration()
|
|
}
|
|
},
|
|
setPlaybackRate: i,
|
|
getPlaybackRate: function() {
|
|
return 1
|
|
},
|
|
getBandwidthEstimate: function() {
|
|
return null
|
|
},
|
|
setControls: i,
|
|
attachMedia: i,
|
|
detachMedia: i,
|
|
init: i,
|
|
setState: function(t) {
|
|
this.state = t, this.trigger(r.Ba, {
|
|
newstate: t
|
|
})
|
|
},
|
|
sendMediaType: function(t) {
|
|
var e = t[0],
|
|
n = e.type,
|
|
i = e.mimeType,
|
|
o = "aac" === n || "mp3" === n || "mpeg" === n || i && 0 === i.indexOf("audio/");
|
|
this.trigger(r.T, {
|
|
mediaType: o ? "audio" : "video"
|
|
})
|
|
}
|
|
};
|
|
e.a = a
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(54),
|
|
o = n(19),
|
|
u = n(11),
|
|
a = n(7),
|
|
c = n(39),
|
|
s = n(13),
|
|
l = {
|
|
autostart: !1,
|
|
bandwidthEstimate: null,
|
|
bitrateSelection: null,
|
|
castAvailable: !1,
|
|
controls: !0,
|
|
defaultPlaybackRate: 1,
|
|
displaydescription: !0,
|
|
displaytitle: !0,
|
|
displayPlaybackLabel: !1,
|
|
height: 360,
|
|
intl: {},
|
|
language: "en",
|
|
liveTimeout: null,
|
|
localization: c.a,
|
|
mute: !1,
|
|
nextUpDisplay: !0,
|
|
playbackRateControls: !1,
|
|
playbackRates: [.5, 1, 1.25, 1.5, 2],
|
|
renderCaptionsNatively: !1,
|
|
repeat: !1,
|
|
stretching: "uniform",
|
|
volume: 90,
|
|
width: 640
|
|
};
|
|
|
|
function f(t) {
|
|
return t.slice && "px" === t.slice(-2) && (t = t.slice(0, -2)), t
|
|
}
|
|
|
|
function d(t, e, n) {
|
|
var r = t[n] || e[n];
|
|
r && (t[n] = r)
|
|
}
|
|
var p = function(t, e) {
|
|
var i = Object(r.j)({}, (window.jwplayer || {}).defaults, e, t);
|
|
! function(t) {
|
|
var e = t.advertising,
|
|
n = t.related,
|
|
i = t.sharing,
|
|
o = t.abouttext,
|
|
u = Object(r.j)({}, t.localization);
|
|
e && (u.advertising = u.advertising || {}, d(u.advertising, e, "admessage"), d(u.advertising, e, "cuetext"), d(u.advertising, e, "loadingAd"), d(u.advertising, e, "podmessage"), d(u.advertising, e, "skipmessage"), d(u.advertising, e, "skiptext")), "string" == typeof u.related ? u.related = {
|
|
heading: u.related
|
|
} : u.related = u.related || {}, n && d(u.related, n, "autoplaymessage"), i && (u.sharing = u.sharing || {}, d(u.sharing, i, "heading"), d(u.sharing, i, "copied")), o && d(u, t, "abouttext");
|
|
var a = u.close || u.nextUpClose;
|
|
a && (u.close = a), t.localization = u
|
|
}(i),
|
|
function(t) {
|
|
Object.keys(t).forEach(function(e) {
|
|
"id" !== e && (t[e] = Object(u.serialize)(t[e]))
|
|
})
|
|
}(i);
|
|
var p = i.forceLocalizationDefaults ? l.language : Object(s.e)(),
|
|
h = i.localization,
|
|
v = Object(s.j)(i.intl);
|
|
i.localization = Object(s.a)(c.a, Object(s.c)(h, v, p));
|
|
var g = Object(r.j)({}, l, i);
|
|
"." === g.base && (g.base = Object(o.getScriptPath)("jwplayer.js")), g.base = (g.base || Object(o.loadFrom)()).replace(/\/?$/, "/"), n.p = g.base, g.width = f(g.width), g.height = f(g.height), g.aspectratio = function(t, e) {
|
|
if (-1 === e.toString().indexOf("%")) return 0;
|
|
if ("string" != typeof t || !t) return 0;
|
|
if (/^\d*\.?\d+%$/.test(t)) return t;
|
|
var n = t.indexOf(":");
|
|
if (-1 === n) return 0;
|
|
var r = parseFloat(t.substr(0, n)),
|
|
i = parseFloat(t.substr(n + 1));
|
|
return r <= 0 || i <= 0 ? 0 : i / r * 100 + "%"
|
|
}(g.aspectratio, g.width), g.volume = Object(r.z)(g.volume) ? Math.min(Math.max(0, g.volume), 100) : l.volume, g.mute = !!g.mute, g.language = p, g.intl = v;
|
|
var m = g.playbackRateControls;
|
|
if (m) {
|
|
var b = g.playbackRates;
|
|
Array.isArray(m) && (b = m), (b = b.filter(function(t) {
|
|
return Object(r.v)(t) && t >= .25 && t <= 4
|
|
}).map(function(t) {
|
|
return Math.round(100 * t) / 100
|
|
})).indexOf(1) < 0 && b.push(1), b.sort(), g.playbackRateControls = !0, g.playbackRates = b
|
|
}(!g.playbackRateControls || g.playbackRates.indexOf(g.defaultPlaybackRate) < 0) && (g.defaultPlaybackRate = 1), g.playbackRate = g.defaultPlaybackRate, g.aspectratio || delete g.aspectratio;
|
|
var y = g.playlist;
|
|
if (y) Array.isArray(y.playlist) && (g.feedData = y, g.playlist = y.playlist);
|
|
else {
|
|
var j = Object(r.D)(g, ["title", "description", "type", "mediaid", "image", "file", "sources", "tracks", "preload", "duration"]);
|
|
g.playlist = [j]
|
|
}
|
|
g.qualityLabels = g.qualityLabels || g.hlslabels, delete g.duration;
|
|
var w = g.liveTimeout;
|
|
null !== w && (Object(r.z)(w) ? 0 !== w && (w = Math.max(30, w)) : w = null, g.liveTimeout = w);
|
|
var O = parseFloat(g.bandwidthEstimate),
|
|
C = parseFloat(g.bitrateSelection);
|
|
return g.bandwidthEstimate = Object(r.z)(O) ? O : function(t) {
|
|
var e = parseFloat(t);
|
|
return Object(r.z)(e) ? Math.max(e, 1) : l.bandwidthEstimate
|
|
}(g.defaultBandwidthEstimate), g.bitrateSelection = Object(r.z)(C) ? C : l.bitrateSelection, g.backgroundLoading = Object(r.r)(g.backgroundLoading) ? g.backgroundLoading : a.Features.backgroundLoading, g
|
|
},
|
|
h = n(26),
|
|
v = n(18),
|
|
g = "__CONTEXTUAL__";
|
|
|
|
function m(t) {
|
|
var e = "file:" === window.location.protocol ? "https:" : "",
|
|
n = {
|
|
jwpsrv: "//ssl.p.jwpcdn.com/player/v/8.7.4/jwpsrv.js",
|
|
dai: "//ssl.p.jwpcdn.com/player/plugins/dai/v/0.4.6/dai.js",
|
|
vast: "//ssl.p.jwpcdn.com/player/plugins/vast/v/8.5.5/vast.js",
|
|
googima: "//ssl.p.jwpcdn.com/player/plugins/googima/v/8.5.10/googima.js",
|
|
freewheel: "//ssl.p.jwpcdn.com/player/plugins/freewheel/v/2.2.1/freewheel.js",
|
|
related: "//ssl.p.jwpcdn.com/player/plugins/related/v/7.1.6/related.js",
|
|
gapro: "//ssl.p.jwpcdn.com/player/plugins/gapro/v/2.1.4/gapro.js"
|
|
} [t];
|
|
return n ? e + n : ""
|
|
}
|
|
|
|
function b(t, e, n) {
|
|
e && (t[e.client || m(n)] = e, delete e.client)
|
|
}
|
|
var y = function(t, e) {
|
|
var i = p(t, e),
|
|
u = i.key || window.jwplayer && window.jwplayer.key,
|
|
a = new h.b(u),
|
|
c = a.edition();
|
|
var s = Object(o.getScriptPath)("jwplayer.js");
|
|
if (!s) throw new Error("Error setting up player: Could not locate jwplayer.js script tag");
|
|
n.p = s
|
|
|
|
return i.flashplayer = function(t) {
|
|
var e = t.flashplayer;
|
|
return e || (e = (Object(o.getScriptPath)("jwplayer.js") || t.base) + "jwplayer.flash.swf"), "http:" === window.location.protocol && (e = e.replace(/^https/, "http")), e
|
|
}(i), i.plugins = function(t) {
|
|
var e = Object(r.j)({}, t.plugins),
|
|
n = t.edition,
|
|
i = Object(v.a)(n);
|
|
if (i("ads")) {
|
|
var o = Object(r.j)({}, t.advertising),
|
|
u = o.client;
|
|
if (u) {
|
|
var a = m(u) || u;
|
|
e[a] = o, delete o.client
|
|
}
|
|
}
|
|
if (i("jwpsrv")) {
|
|
var c = t.analytics;
|
|
c !== Object(c) && (c = {}), b(e, c, "jwpsrv")
|
|
}
|
|
return b(e, t.ga, "gapro"), e
|
|
}(i), i.ab && (i.ab = function(t) {
|
|
var e = t.ab;
|
|
return e.clone && (e = e.clone()), Object.keys(e.tests).forEach(function(n) {
|
|
e.tests[n].forEach(function(e) {
|
|
e.addConfig && e.addConfig(t, e.selection)
|
|
})
|
|
}), e
|
|
}(i)),
|
|
function(t) {
|
|
return !!Object(r.x)(t) && t.indexOf(g) > -1
|
|
}(i.playlist) && (i.playlist = function(t, e) {
|
|
var n = function(t) {
|
|
var e = t.querySelector('meta[property="og:title"]');
|
|
if (e) return e.getAttribute("content")
|
|
}(t),
|
|
r = (t.querySelector("title") || {}).textContent,
|
|
i = encodeURIComponent(n || r || "");
|
|
return e.replace(g, i)
|
|
}(document, i.playlist), i.contextual = !0), i
|
|
},
|
|
j = n(10),
|
|
w = n(25),
|
|
O = n(3),
|
|
C = n(58),
|
|
k = n(29),
|
|
x = n(24),
|
|
P = n(1);
|
|
|
|
function S(t) {
|
|
var e = t.get("playlist");
|
|
return new Promise(function(n, r) {
|
|
if ("string" != typeof e) {
|
|
var i = t.get("feedData") || {};
|
|
return T(t, e, i), n()
|
|
}
|
|
var o = new C.a;
|
|
o.on(O.Ea, function(e) {
|
|
var r = e.playlist;
|
|
delete e.playlist, T(t, r, e), n()
|
|
}), o.on(O.w, function(e) {
|
|
T(t, [], {}), r(Object(P.z)(e, P.u))
|
|
}), o.load(e)
|
|
})
|
|
}
|
|
|
|
function T(t, e, n) {
|
|
var r = t.attributes;
|
|
r.playlist = Object(k.a)(e), r.feedData = n
|
|
}
|
|
|
|
function E(t) {
|
|
return t.attributes._destroyed
|
|
}
|
|
var _ = n(37),
|
|
A = n(48),
|
|
F = n(12),
|
|
N = 301129;
|
|
|
|
function M(t) {
|
|
return L(t) ? Promise.resolve() : S(t).then(function() {
|
|
if (t.get("drm") || Object(_.b)(t.get("playlist"))) return Object(_.d)(t.get("edition"))
|
|
}).then(function() {
|
|
return function(t) {
|
|
return S(t).then(function() {
|
|
if (!E(t)) {
|
|
var e = Object(k.b)(t.get("playlist"), t);
|
|
t.attributes.playlist = e;
|
|
try {
|
|
Object(k.e)(e)
|
|
} catch (t) {
|
|
throw t.code += P.u, t
|
|
}
|
|
var n = t.getProviders(),
|
|
r = n.choose(e[0].sources[0]),
|
|
i = r.provider,
|
|
o = r.name;
|
|
return "function" == typeof i ? i : j.a.html5 && "html5" === o ? j.a.html5 : n.load(o).catch(function(t) {
|
|
throw Object(P.z)(t, P.v)
|
|
})
|
|
}
|
|
})
|
|
}(t)
|
|
})
|
|
}
|
|
|
|
function I(t, e) {
|
|
var r = [function(t) {
|
|
var e = t.attributes,
|
|
n = e.error;
|
|
if (n && n.code === h.a) {
|
|
var r = e.pid,
|
|
i = e.ph,
|
|
o = new h.b(e.key);
|
|
if (i > 0 && i < 4 && r && o.duration() > -7776e6) {
|
|
var u = new x.a("//content.jwplatform.com/libraries/" + r + ".js");
|
|
return u.load().then(function() {
|
|
var t = window.jwplayer.defaults.key,
|
|
n = new h.b(t);
|
|
n.error() || n.token() !== o.token() || (e.key = t, e.edition = n.edition(), e.error = n.error())
|
|
}).catch(function() {})
|
|
}
|
|
}
|
|
return Promise.resolve()
|
|
}(t)];
|
|
return L(t) || r.push(function(t, e) {
|
|
var r = t.get("related"),
|
|
i = Object(v.a)(t.get("edition")),
|
|
o = r === Object(r) && i("discovery");
|
|
if (!1 !== t.get("controls") || o) {
|
|
var u = !1 !== t.get("visualplaylist") || o;
|
|
return o || (r = {
|
|
disableRelated: !0
|
|
}), r.showButton = u, n.e(0).then(function(i) {
|
|
if (!t.attributes._destroyed) {
|
|
var o = new A.a;
|
|
o.name = "related", o.js = n(153).default, Object(F.a)(o, r, e)
|
|
}
|
|
}.bind(null, n)).catch(Object(j.b)(N)).catch(function(t) {
|
|
return t
|
|
})
|
|
}
|
|
return Promise.resolve()
|
|
}(t, e), Promise.resolve()), Promise.all(r)
|
|
}
|
|
|
|
function L(t) {
|
|
var e = t.get("advertising");
|
|
return !(!e || !e.outstream)
|
|
}
|
|
var R = function(t) {
|
|
var e = t.get("skin") ? t.get("skin").url : void 0;
|
|
if ("string" == typeof e && ! function(t) {
|
|
for (var e = document.styleSheets, n = 0, r = e.length; n < r; n++)
|
|
if (e[n].href === t) return !0;
|
|
return !1
|
|
}(e)) return new x.a(e, !0).load().catch(function(t) {
|
|
return t
|
|
});
|
|
return Promise.resolve()
|
|
},
|
|
D = function(t) {
|
|
var e = t.attributes,
|
|
n = e.language,
|
|
r = e.base,
|
|
i = e.setupConfig,
|
|
o = e.intl,
|
|
u = Object(s.c)(i.localization, o, n);
|
|
return !Object(s.h)(n) || Object(s.f)(u) ? Promise.resolve() : new Promise(function(i) {
|
|
return Object(s.i)(r, n).then(function(n) {
|
|
var r = n.response;
|
|
if (!E(t)) {
|
|
if (!r) throw new P.s(null, P.g);
|
|
e.localization = Object(s.a)(r, u), i()
|
|
}
|
|
}).catch(function(t) {
|
|
i(t.code === P.g ? t : Object(P.z)(t, P.f))
|
|
})
|
|
})
|
|
};
|
|
var B = function(t) {
|
|
var e = void 0;
|
|
this.start = function(n) {
|
|
var r = Object(w.a)(t, n),
|
|
i = Promise.all([Object(j.d)(t), r, M(t), I(t, n), R(t), D(t)]),
|
|
o = new Promise(function(t, n) {
|
|
e = setTimeout(function() {
|
|
n(new P.s(P.m, P.x))
|
|
}, 6e4);
|
|
var r = function() {
|
|
clearTimeout(e), setTimeout(t, 6e4)
|
|
};
|
|
i.then(r).catch(r)
|
|
});
|
|
return Promise.race([i, o]).catch(function(t) {
|
|
var e = function() {
|
|
throw t
|
|
};
|
|
return r.then(e).catch(e)
|
|
}).then(function(t) {
|
|
return function(t) {
|
|
if (!t || !t.length) return {
|
|
core: null,
|
|
warnings: []
|
|
};
|
|
var e = t.reduce(function(t, e) {
|
|
return t.concat(e)
|
|
}, []).filter(function(t) {
|
|
return t && t.code
|
|
});
|
|
return {
|
|
core: t[0],
|
|
warnings: e
|
|
}
|
|
}(t)
|
|
})
|
|
}, this.destroy = function() {
|
|
clearTimeout(e), t.set("_destroyed", !0), t = null
|
|
}
|
|
},
|
|
z = n(42),
|
|
q = n(30),
|
|
Q = n(22),
|
|
V = {
|
|
removeItem: function() {}
|
|
};
|
|
try {
|
|
V = window.localStorage || V
|
|
} catch (t) {}
|
|
|
|
function X(t, e) {
|
|
this.namespace = t, this.items = e
|
|
}
|
|
Object(r.j)(X.prototype, {
|
|
getAllItems: function() {
|
|
var t = this;
|
|
return this.items.reduce(function(e, n) {
|
|
var r = V[t.namespace + "." + n];
|
|
return r && (e[n] = Object(u.serialize)(r)), e
|
|
}, {})
|
|
},
|
|
track: function(t) {
|
|
var e = this;
|
|
this.items.forEach(function(n) {
|
|
t.on("change:" + n, function(t, r) {
|
|
try {
|
|
V[e.namespace + "." + n] = r
|
|
} catch (t) {
|
|
Q.a.debug && console.error(t)
|
|
}
|
|
})
|
|
})
|
|
},
|
|
clear: function() {
|
|
var t = this;
|
|
this.items.forEach(function(e) {
|
|
V.removeItem(t.namespace + "." + e)
|
|
})
|
|
}
|
|
});
|
|
var W = X,
|
|
U = n(52),
|
|
H = n(49),
|
|
Y = n(5),
|
|
J = n(43),
|
|
K = n(53);
|
|
|
|
function $(t) {
|
|
t.src || t.load()
|
|
}
|
|
|
|
function G() {
|
|
var t = document.createElement("video");
|
|
return t.className = "jw-video jw-reset", t.setAttribute("tabindex", "-1"), t.setAttribute("disableRemotePlayback", ""), t.setAttribute("webkit-playsinline", ""), t.setAttribute("playsinline", ""), t
|
|
}
|
|
var Z = n(57),
|
|
tt = n(35);
|
|
n.d(e, "b", function() {
|
|
return ot
|
|
});
|
|
var et = function() {};
|
|
Object(r.j)(et.prototype, U.a);
|
|
var nt = function(t) {
|
|
this._events = {}, this.modelShim = new et, this.modelShim._qoeItem = new q.a, this.mediaShim = {}, this.setup = new B(this.modelShim), this.currentContainer = this.originalContainer = t, this.apiQueue = new i.a(this, ["load", "play", "pause", "seek", "stop", "playlistItem", "playlistNext", "playlistPrev", "next", "preload", "setConfig", "setCurrentAudioTrack", "setCurrentCaptions", "setCurrentQuality", "setFullscreen", "addButton", "removeButton", "castToggle", "setMute", "setVolume", "setPlaybackRate", "setCues", "setPlaylistItem", "resize", "setCaptions", "setControls"], function() {
|
|
return !0
|
|
})
|
|
};
|
|
|
|
function rt(t, e) {
|
|
e && e.code && (e.sourceError && console.error(e.sourceError), console.error(P.s.logMessage(e.code)))
|
|
}
|
|
|
|
function it(t) {
|
|
t && t.code && console.warn(P.s.logMessage(t.code))
|
|
}
|
|
|
|
function ot(t, e) {
|
|
if (!document.body.contains(t.currentContainer)) {
|
|
var n = document.getElementById(t.get("id"));
|
|
n && (t.currentContainer = n)
|
|
}
|
|
t.currentContainer.parentElement && t.currentContainer.parentElement.replaceChild(e, t.currentContainer), t.currentContainer = e
|
|
}
|
|
Object(r.j)(nt.prototype, {
|
|
on: Y.a.on,
|
|
once: Y.a.once,
|
|
off: Y.a.off,
|
|
trigger: Y.a.trigger,
|
|
init: function(t, e) {
|
|
var n = this,
|
|
i = this.modelShim,
|
|
o = new W("jwplayer", ["volume", "mute", "captionLabel", "bandwidthEstimate", "bitrateSelection", "qualityLabel"]),
|
|
u = o && o.getAllItems();
|
|
i.attributes = i.attributes || {}, Object(r.j)(this.mediaShim, H.a);
|
|
var a = t,
|
|
c = y(Object(r.j)({}, t), u);
|
|
c.id = e.id, c.setupConfig = a, Object(r.j)(i.attributes, c, H.b), i.getProviders = function() {
|
|
return new z.a(c)
|
|
}, i.setProvider = function() {};
|
|
var s = function() {
|
|
for (var t = K.c, e = [], n = [], r = 0; r < t; r++) {
|
|
var i = G();
|
|
e.push(i), n.push(i), $(i)
|
|
}
|
|
var o = n.shift(),
|
|
u = n.shift(),
|
|
a = !1;
|
|
return {
|
|
primed: function() {
|
|
return a
|
|
},
|
|
prime: function() {
|
|
e.forEach($), a = !0
|
|
},
|
|
played: function() {
|
|
a = !0
|
|
},
|
|
getPrimedElement: function() {
|
|
return n.length ? n.shift() : null
|
|
},
|
|
getAdElement: function() {
|
|
return o
|
|
},
|
|
getTestElement: function() {
|
|
return u
|
|
},
|
|
clean: function(t) {
|
|
if (t.src) {
|
|
t.removeAttribute("src");
|
|
try {
|
|
t.load()
|
|
} catch (t) {}
|
|
}
|
|
},
|
|
recycle: function(t) {
|
|
t && !n.some(function(e) {
|
|
return e === t
|
|
}) && (this.clean(t), n.push(t))
|
|
},
|
|
syncVolume: function(t) {
|
|
var n = Math.min(Math.max(0, t / 100), 1);
|
|
e.forEach(function(t) {
|
|
t.volume = n
|
|
})
|
|
},
|
|
syncMute: function(t) {
|
|
e.forEach(function(e) {
|
|
e.muted = t
|
|
})
|
|
}
|
|
}
|
|
}();
|
|
i.get("backgroundLoading") || (s = Object(Z.a)(s.getPrimedElement(), s));
|
|
var l = new tt.a(Object(tt.b)(this.originalContainer)).once("gesture", function() {
|
|
s.prime(), n.preload(), l.destroy()
|
|
});
|
|
return i.on("change:errorEvent", rt), this.setup.start(e).then(function(t) {
|
|
var u = t.core;
|
|
if (!u) throw Object(P.z)(null, P.w);
|
|
if (n.setup) {
|
|
n.on(O.Ua, it), t.warnings.forEach(function(t) {
|
|
n.trigger(O.Ua, t)
|
|
});
|
|
var a = n.modelShim.clone();
|
|
if (a.error) throw a.error;
|
|
var c = n.apiQueue.queue.slice(0);
|
|
n.apiQueue.destroy(), Object(r.j)(n, u.prototype), n.setup(a, e, n.originalContainer, n._events, c, s);
|
|
var l = n._model;
|
|
return i.off("change:errorEvent", rt), l.on("change:errorEvent", rt), o.track(l), n.updatePlaylist(l.get("playlist"), l.get("feedData")).catch(function(t) {
|
|
throw Object(P.z)(t, P.u)
|
|
})
|
|
}
|
|
}).then(function() {
|
|
n.setup && n.playerReady()
|
|
}).catch(function(t) {
|
|
n.setup && function(t, e, n) {
|
|
Promise.resolve().then(function() {
|
|
var r = Object(P.A)(P.r, P.y, n),
|
|
i = t._model || t.modelShim;
|
|
r.message = r.message || i.get("localization").errors[r.key], delete r.key;
|
|
var o = i.get("contextual");
|
|
if (!o) {
|
|
var u = Object(J.a)(t, r);
|
|
J.a.cloneIcon && u.querySelector(".jw-icon").appendChild(J.a.cloneIcon("error")), ot(t, u)
|
|
}
|
|
i.set("errorEvent", r), i.set("state", O.Ma), t.trigger(O.Ja, r), o && e.remove()
|
|
})
|
|
}(n, e, t)
|
|
})
|
|
},
|
|
playerDestroy: function() {
|
|
this.apiQueue && this.apiQueue.destroy(), this.setup && this.setup.destroy(), this.currentContainer !== this.originalContainer && ot(this, this.originalContainer), this.off(), this._events = this._model = this.modelShim = this.apiQueue = this.setup = null
|
|
},
|
|
getContainer: function() {
|
|
return this.currentContainer
|
|
},
|
|
get: function(t) {
|
|
if (this.modelShim) return t in this.mediaShim ? this.mediaShim[t] : this.modelShim.get(t)
|
|
},
|
|
getItemQoe: function() {
|
|
return this.modelShim._qoeItem
|
|
},
|
|
getConfig: function() {
|
|
return Object(r.j)({}, this.modelShim.attributes, this.mediaShim)
|
|
},
|
|
getCurrentCaptions: function() {
|
|
return this.get("captionsIndex")
|
|
},
|
|
getWidth: function() {
|
|
return this.get("containerWidth")
|
|
},
|
|
getHeight: function() {
|
|
return this.get("containerHeight")
|
|
},
|
|
getMute: function() {
|
|
return this.get("mute")
|
|
},
|
|
getProvider: function() {
|
|
return this.get("provider")
|
|
},
|
|
getState: function() {
|
|
return this.get("state")
|
|
},
|
|
getAudioTracks: function() {
|
|
return null
|
|
},
|
|
getCaptionsList: function() {
|
|
return null
|
|
},
|
|
getQualityLevels: function() {
|
|
return null
|
|
},
|
|
getVisualQuality: function() {
|
|
return null
|
|
},
|
|
getCurrentQuality: function() {
|
|
return -1
|
|
},
|
|
getCurrentAudioTrack: function() {
|
|
return -1
|
|
},
|
|
getSafeRegion: function() {
|
|
return {
|
|
x: 0,
|
|
y: 0,
|
|
width: 0,
|
|
height: 0
|
|
}
|
|
},
|
|
isBeforeComplete: function() {
|
|
return !1
|
|
},
|
|
isBeforePlay: function() {
|
|
return !1
|
|
},
|
|
createInstream: function() {
|
|
return null
|
|
},
|
|
skipAd: function() {},
|
|
attachMedia: function() {},
|
|
detachMedia: function() {
|
|
return null
|
|
}
|
|
});
|
|
e.a = nt
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return i
|
|
});
|
|
var r = n(0);
|
|
|
|
function i(t, e) {
|
|
return Object(r.j)({}, e, {
|
|
prime: function() {
|
|
t.src || t.load()
|
|
},
|
|
getPrimedElement: function() {
|
|
return t
|
|
},
|
|
clean: function() {
|
|
e.clean(t)
|
|
},
|
|
recycle: function() {
|
|
e.clean(t)
|
|
}
|
|
})
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
var r = n(0),
|
|
i = n(3),
|
|
o = n(4),
|
|
u = n(45),
|
|
a = n(27),
|
|
c = n(5),
|
|
s = n(1);
|
|
e.a = function() {
|
|
var t = Object(r.j)(this, c.a);
|
|
|
|
function e(e) {
|
|
try {
|
|
var a = e.responseXML ? e.responseXML.childNodes : null,
|
|
c = "",
|
|
l = void 0;
|
|
if (a) {
|
|
for (var f = 0; f < a.length && 8 === (c = a[f]).nodeType; f++);
|
|
if ("xml" === Object(o.b)(c) && (c = c.nextSibling), "rss" === Object(o.b)(c)) {
|
|
var d = Object(u.a)(c);
|
|
l = Object(r.j)({
|
|
playlist: d
|
|
}, d.feedData)
|
|
}
|
|
}
|
|
if (!l) try {
|
|
var p = JSON.parse(e.responseText);
|
|
if (Array.isArray(p)) l = {
|
|
playlist: p
|
|
};
|
|
else {
|
|
if (!Array.isArray(p.playlist)) throw Error("Playlist is not an array");
|
|
l = p
|
|
}
|
|
} catch (t) {
|
|
throw new s.s(s.o, 621, t)
|
|
}
|
|
t.trigger(i.Ea, l)
|
|
} catch (t) {
|
|
n(t)
|
|
}
|
|
}
|
|
|
|
function n(e) {
|
|
e.code || (e = new s.s(s.o, 0)), t.trigger(i.w, e)
|
|
}
|
|
this.load = function(t) {
|
|
Object(a.a)(t, e, function(t, e, r, i) {
|
|
n(i)
|
|
})
|
|
}, this.destroy = function() {
|
|
this.off()
|
|
}
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.d(e, "a", function() {
|
|
return i
|
|
});
|
|
var r = n(7);
|
|
|
|
function i(t) {
|
|
return "hls" === t.type && r.OS.android ? !1 !== t.androidhls && (!r.Browser.firefox && parseFloat(r.OS.version.version) >= 4.4) : null
|
|
}
|
|
}, function(t, e, n) {
|
|
"use strict";
|
|
n.r(e);
|
|
var r = n(0),
|
|
i = setTimeout;
|
|
|
|
function o() {}
|
|
|
|
function u(t) {
|
|
if (!(this instanceof u)) throw new TypeError("Promises must be constructed via new");
|
|
if ("function" != typeof t) throw new TypeError("not a function");
|
|
this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], f(t, this)
|
|
}
|
|
|
|
function a(t, e) {
|
|
for (; 3 === t._state;) t = t._value;
|
|
0 !== t._state ? (t._handled = !0, u._immediateFn(function() {
|
|
var n = 1 === t._state ? e.onFulfilled : e.onRejected;
|
|
if (null !== n) {
|
|
var r;
|
|
try {
|
|
r = n(t._value)
|
|
} catch (t) {
|
|
return void s(e.promise, t)
|
|
}
|
|
c(e.promise, r)
|
|
} else(1 === t._state ? c : s)(e.promise, t._value)
|
|
})) : t._deferreds.push(e)
|
|
}
|
|
|
|
function c(t, e) {
|
|
try {
|
|
if (e === t) throw new TypeError("A promise cannot be resolved with itself.");
|
|
if (e && ("object" == typeof e || "function" == typeof e)) {
|
|
var n = e.then;
|
|
if (e instanceof u) return t._state = 3, t._value = e, void l(t);
|
|
if ("function" == typeof n) return void f(function(t, e) {
|
|
return function() {
|
|
t.apply(e, arguments)
|
|
}
|
|
}(n, e), t)
|
|
}
|
|
t._state = 1, t._value = e, l(t)
|
|
} catch (e) {
|
|
s(t, e)
|
|
}
|
|
}
|
|
|
|
function s(t, e) {
|
|
t._state = 2, t._value = e, l(t)
|
|
}
|
|
|
|
function l(t) {
|
|
2 === t._state && 0 === t._deferreds.length && u._immediateFn(function() {
|
|
t._handled || u._unhandledRejectionFn(t._value)
|
|
});
|
|
for (var e = 0, n = t._deferreds.length; e < n; e++) a(t, t._deferreds[e]);
|
|
t._deferreds = null
|
|
}
|
|
|
|
function f(t, e) {
|
|
var n = !1;
|
|
try {
|
|
t(function(t) {
|
|
n || (n = !0, c(e, t))
|
|
}, function(t) {
|
|
n || (n = !0, s(e, t))
|
|
})
|
|
} catch (t) {
|
|
if (n) return;
|
|
n = !0, s(e, t)
|
|
}
|
|
}
|
|
u.prototype.catch = function(t) {
|
|
return this.then(null, t)
|
|
}, u.prototype.then = function(t, e) {
|
|
var n = new this.constructor(o);
|
|
return a(this, new function(t, e, n) {
|
|
this.onFulfilled = "function" == typeof t ? t : null, this.onRejected = "function" == typeof e ? e : null, this.promise = n
|
|
}(t, e, n)), n
|
|
}, u.prototype.finally = function(t) {
|
|
var e = this.constructor;
|
|
return this.then(function(n) {
|
|
return e.resolve(t()).then(function() {
|
|
return n
|
|
})
|
|
}, function(n) {
|
|
return e.resolve(t()).then(function() {
|
|
return e.reject(n)
|
|
})
|
|
})
|
|
}, u.all = function(t) {
|
|
return new u(function(e, n) {
|
|
if (!t || void 0 === t.length) throw new TypeError("Promise.all accepts an array");
|
|
var r = Array.prototype.slice.call(t);
|
|
if (0 === r.length) return e([]);
|
|
var i = r.length;
|
|
|
|
function o(t, u) {
|
|
try {
|
|
if (u && ("object" == typeof u || "function" == typeof u)) {
|
|
var a = u.then;
|
|
if ("function" == typeof a) return void a.call(u, function(e) {
|
|
o(t, e)
|
|
}, n)
|
|
}
|
|
r[t] = u, 0 == --i && e(r)
|
|
} catch (t) {
|
|
n(t)
|
|
}
|
|
}
|
|
for (var u = 0; u < r.length; u++) o(u, r[u])
|
|
})
|
|
}, u.resolve = function(t) {
|
|
return t && "object" == typeof t && t.constructor === u ? t : new u(function(e) {
|
|
e(t)
|
|
})
|
|
}, u.reject = function(t) {
|
|
return new u(function(e, n) {
|
|
n(t)
|
|
})
|
|
}, u.race = function(t) {
|
|
return new u(function(e, n) {
|
|
for (var r = 0, i = t.length; r < i; r++) t[r].then(e, n)
|
|
})
|
|
}, u._immediateFn = "function" == typeof setImmediate && function(t) {
|
|
setImmediate(t)
|
|
} || function(t) {
|
|
i(t, 0)
|
|
}, u._unhandledRejectionFn = function(t) {
|
|
"undefined" != typeof console && console && console.warn("Possible Unhandled Promise Rejection:", t)
|
|
};
|
|
var d = u;
|
|
window.Promise || (window.Promise = d);
|
|
var p = n(19),
|
|
h = n(14),
|
|
v = n(16),
|
|
g = n(15),
|
|
m = {
|
|
availableProviders: v.a,
|
|
registerProvider: g.a
|
|
},
|
|
b = n(25);
|
|
m.registerPlugin = function(t, e, n) {
|
|
"jwpsrv" !== t && Object(b.b)(t, e, n)
|
|
};
|
|
var y = m,
|
|
j = n(31),
|
|
w = n(22),
|
|
O = n(7),
|
|
C = n(56),
|
|
k = n(3),
|
|
x = n(30),
|
|
P = n(5),
|
|
S = n(8),
|
|
T = n(11),
|
|
E = n(2);
|
|
|
|
function _(t, e) {
|
|
this.name = t, this.message = e.message || e.toString(), this.error = e
|
|
}
|
|
var A = n(6),
|
|
F = n(9),
|
|
N = n(23),
|
|
M = n(27),
|
|
I = n(50),
|
|
L = n(47);
|
|
var R = Object(r.j)({}, T, S, p, {
|
|
addClass: F.a,
|
|
hasClass: F.h,
|
|
removeClass: F.m,
|
|
replaceClass: F.n,
|
|
toggleClass: F.t,
|
|
classList: F.d,
|
|
styleDimension: F.s,
|
|
createElement: F.e,
|
|
emptyElement: F.g,
|
|
addStyleSheet: F.b,
|
|
bounds: F.c,
|
|
css: N.b,
|
|
clearCss: N.a,
|
|
style: N.d,
|
|
transform: N.e,
|
|
getRgba: N.c,
|
|
ajax: M.a,
|
|
crossdomain: function(t) {
|
|
var e = document.createElement("a"),
|
|
n = document.createElement("a");
|
|
e.href = location.href;
|
|
try {
|
|
return n.href = t, n.href = n.href, e.protocol + "//" + e.host != n.protocol + "//" + n.host
|
|
} catch (t) {}
|
|
return !0
|
|
},
|
|
tryCatch: function(t, e) {
|
|
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
|
|
if (w.a.debug) return t.apply(e || this, n);
|
|
try {
|
|
return t.apply(e || this, n)
|
|
} catch (e) {
|
|
return new _(t.name, e)
|
|
}
|
|
},
|
|
Error: _,
|
|
Timer: x.a,
|
|
log: L.a,
|
|
between: I.a,
|
|
foreach: function(t, e) {
|
|
for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e(n, t[n])
|
|
},
|
|
flashVersion: A.a,
|
|
isIframe: A.m,
|
|
indexOf: r.p,
|
|
trim: E.h,
|
|
pad: E.d,
|
|
extension: E.a,
|
|
hms: E.b,
|
|
seconds: E.f,
|
|
prefix: E.e,
|
|
suffix: E.g,
|
|
noop: function() {}
|
|
}),
|
|
D = 0;
|
|
|
|
function B(t, e) {
|
|
var n = new C.a(e);
|
|
return n.on(k.Ha, function(e) {
|
|
t._qoe.tick("ready"), e.setupTime = t._qoe.between("setup", "ready")
|
|
}), n.on("all", function(e, n) {
|
|
t.trigger(e, n)
|
|
}), n
|
|
}
|
|
|
|
function z(t, e) {
|
|
var n = t.plugins;
|
|
Object.keys(n).forEach(function(t) {
|
|
delete n[t]
|
|
}), e.get("setupConfig") && t.trigger("remove"), t.off(), e.playerDestroy(), e.getContainer().removeAttribute("data-jwplayer-id")
|
|
}
|
|
|
|
function q(t) {
|
|
var e = ++D,
|
|
n = t.id || "player-" + e,
|
|
i = new x.a,
|
|
o = {},
|
|
u = B(this, t);
|
|
i.tick("init"), t.setAttribute("data-jwplayer-id", n), Object.defineProperties(this, {
|
|
id: {
|
|
get: function() {
|
|
return n
|
|
}
|
|
},
|
|
uniqueId: {
|
|
get: function() {
|
|
return e
|
|
}
|
|
},
|
|
plugins: {
|
|
get: function() {
|
|
return o
|
|
}
|
|
},
|
|
_qoe: {
|
|
get: function() {
|
|
return i
|
|
}
|
|
},
|
|
version: {
|
|
get: function() {
|
|
return j.a
|
|
}
|
|
},
|
|
Events: {
|
|
get: function() {
|
|
return P.a
|
|
}
|
|
},
|
|
utils: {
|
|
get: function() {
|
|
return R
|
|
}
|
|
},
|
|
_: {
|
|
get: function() {
|
|
return r.f
|
|
}
|
|
}
|
|
}), Object(r.j)(this, {
|
|
_events: {},
|
|
setup: function(e) {
|
|
return i.clear("ready"), i.tick("setup"), z(this, u), (u = B(this, t)).init(e, this), this.on(e.events, null, this)
|
|
},
|
|
remove: function() {
|
|
return function(t) {
|
|
for (var e = h.a.length; e--;)
|
|
if (h.a[e].uniqueId === t.uniqueId) {
|
|
h.a.splice(e, 1);
|
|
break
|
|
}
|
|
}(this), z(this, u), this
|
|
},
|
|
qoe: function() {
|
|
var t = u.getItemQoe();
|
|
return {
|
|
setupTime: this._qoe.between("setup", "ready"),
|
|
firstFrame: t.getFirstFrame ? t.getFirstFrame() : null,
|
|
player: this._qoe.dump(),
|
|
item: t.dump()
|
|
}
|
|
},
|
|
getAudioTracks: function() {
|
|
return u.getAudioTracks()
|
|
},
|
|
getBuffer: function() {
|
|
return u.get("buffer")
|
|
},
|
|
getCaptions: function() {
|
|
return u.get("captions")
|
|
},
|
|
getCaptionsList: function() {
|
|
return u.getCaptionsList()
|
|
},
|
|
getConfig: function() {
|
|
return u.getConfig()
|
|
},
|
|
getContainer: function() {
|
|
return u.getContainer()
|
|
},
|
|
getControls: function() {
|
|
return u.get("controls")
|
|
},
|
|
getCurrentAudioTrack: function() {
|
|
return u.getCurrentAudioTrack()
|
|
},
|
|
getCurrentCaptions: function() {
|
|
return u.getCurrentCaptions()
|
|
},
|
|
getCurrentQuality: function() {
|
|
return u.getCurrentQuality()
|
|
},
|
|
getCurrentTime: function() {
|
|
return u.get("currentTime")
|
|
},
|
|
getDuration: function() {
|
|
return u.get("duration")
|
|
},
|
|
getEnvironment: function() {
|
|
return O
|
|
},
|
|
getFullscreen: function() {
|
|
return u.get("fullscreen")
|
|
},
|
|
getHeight: function() {
|
|
return u.getHeight()
|
|
},
|
|
getItemMeta: function() {
|
|
return u.get("itemMeta") || {}
|
|
},
|
|
getMute: function() {
|
|
return u.getMute()
|
|
},
|
|
getPlaybackRate: function() {
|
|
return u.get("playbackRate")
|
|
},
|
|
getPlaylist: function() {
|
|
return u.get("playlist")
|
|
},
|
|
getPlaylistIndex: function() {
|
|
return u.get("item")
|
|
},
|
|
getPlaylistItem: function(t) {
|
|
if (!R.exists(t)) return u.get("playlistItem");
|
|
var e = this.getPlaylist();
|
|
return e ? e[t] : null
|
|
},
|
|
getPosition: function() {
|
|
return u.get("position")
|
|
},
|
|
getProvider: function() {
|
|
return u.getProvider()
|
|
},
|
|
getQualityLevels: function() {
|
|
return u.getQualityLevels()
|
|
},
|
|
getSafeRegion: function() {
|
|
var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
|
|
return u.getSafeRegion(t)
|
|
},
|
|
getState: function() {
|
|
return u.getState()
|
|
},
|
|
getStretching: function() {
|
|
return u.get("stretching")
|
|
},
|
|
getViewable: function() {
|
|
return u.get("viewable")
|
|
},
|
|
getVisualQuality: function() {
|
|
return u.getVisualQuality()
|
|
},
|
|
getVolume: function() {
|
|
return u.get("volume")
|
|
},
|
|
getWidth: function() {
|
|
return u.getWidth()
|
|
},
|
|
setCaptions: function(t) {
|
|
return u.setCaptions(t), this
|
|
},
|
|
setConfig: function(t) {
|
|
return u.setConfig(t), this
|
|
},
|
|
setControls: function(t) {
|
|
return u.setControls(t), this
|
|
},
|
|
setCurrentAudioTrack: function(t) {
|
|
u.setCurrentAudioTrack(t)
|
|
},
|
|
setCurrentCaptions: function(t) {
|
|
u.setCurrentCaptions(t)
|
|
},
|
|
setCurrentQuality: function(t) {
|
|
u.setCurrentQuality(t)
|
|
},
|
|
setFullscreen: function(t) {
|
|
return u.setFullscreen(t), this
|
|
},
|
|
setMute: function(t) {
|
|
return u.setMute(t), this
|
|
},
|
|
setPlaybackRate: function(t) {
|
|
return u.setPlaybackRate(t), this
|
|
},
|
|
setPlaylistItem: function(t, e) {
|
|
return u.setPlaylistItem(t, e), this
|
|
},
|
|
setCues: function(t) {
|
|
return u.setCues(t), this
|
|
},
|
|
setVolume: function(t) {
|
|
return u.setVolume(t), this
|
|
},
|
|
load: function(t, e) {
|
|
return u.load(t, e), this
|
|
},
|
|
play: function(t) {
|
|
return u.play(t), this
|
|
},
|
|
pause: function(t) {
|
|
return u.pause(t), this
|
|
},
|
|
playToggle: function(t) {
|
|
switch (this.getState()) {
|
|
case k.Qa:
|
|
case k.Ka:
|
|
return this.pause(t);
|
|
default:
|
|
return this.play(t)
|
|
}
|
|
},
|
|
seek: function(t, e) {
|
|
return u.seek(t, e), this
|
|
},
|
|
playlistItem: function(t, e) {
|
|
return u.playlistItem(t, e), this
|
|
},
|
|
playlistNext: function(t) {
|
|
return u.playlistNext(t), this
|
|
},
|
|
playlistPrev: function(t) {
|
|
return u.playlistPrev(t), this
|
|
},
|
|
next: function(t) {
|
|
return u.next(t), this
|
|
},
|
|
castToggle: function() {
|
|
return u.castToggle(), this
|
|
},
|
|
createInstream: function() {
|
|
return u.createInstream()
|
|
},
|
|
skipAd: function() {
|
|
return u.skipAd(), this
|
|
},
|
|
stop: function() {
|
|
return u.stop(), this
|
|
},
|
|
resize: function(t, e) {
|
|
return u.resize(t, e), this
|
|
},
|
|
addButton: function(t, e, n, r, i) {
|
|
return u.addButton(t, e, n, r, i), this
|
|
},
|
|
removeButton: function(t) {
|
|
return u.removeButton(t), this
|
|
},
|
|
attachMedia: function() {
|
|
return u.attachMedia(), this
|
|
},
|
|
detachMedia: function() {
|
|
return u.detachMedia(), this
|
|
},
|
|
isBeforeComplete: function() {
|
|
return u.isBeforeComplete()
|
|
},
|
|
isBeforePlay: function() {
|
|
return u.isBeforePlay()
|
|
}
|
|
})
|
|
}
|
|
Object(r.j)(q.prototype, {
|
|
on: function(t, e, n) {
|
|
return P.c.call(this, t, e, n)
|
|
},
|
|
once: function(t, e, n) {
|
|
return P.d.call(this, t, e, n)
|
|
},
|
|
off: function(t, e, n) {
|
|
return P.b.call(this, t, e, n)
|
|
},
|
|
trigger: function(t, e) {
|
|
return (e = r.f.isObject(e) ? Object(r.j)({}, e) : {}).type = t, w.a.debug ? P.e.call(this, t, e) : P.f.call(this, t, e)
|
|
},
|
|
getPlugin: function(t) {
|
|
return this.plugins[t]
|
|
},
|
|
addPlugin: function(t, e) {
|
|
this.plugins[t] = e, this.on("ready", e.addToPlayer), e.resize && this.on("resize", e.resizeHandler)
|
|
},
|
|
registerPlugin: function(t, e, n) {
|
|
Object(b.b)(t, e, n)
|
|
},
|
|
getAdBlock: function() {
|
|
return !1
|
|
},
|
|
playAd: function(t) {},
|
|
pauseAd: function(t) {}
|
|
}), n.p = Object(p.loadFrom)();
|
|
var Q = function(t) {
|
|
var e = void 0,
|
|
n = void 0;
|
|
if (t ? "string" == typeof t ? (e = V(t)) || (n = document.getElementById(t)) : "number" == typeof t ? e = h.a[t] : t.nodeType && (e = V((n = t).id || n.getAttribute("data-jwplayer-id"))) : e = h.a[0], e) return e;
|
|
if (n) {
|
|
var r = new q(n);
|
|
return h.a.push(r), r
|
|
}
|
|
return {
|
|
registerPlugin: b.b
|
|
}
|
|
};
|
|
|
|
function V(t) {
|
|
for (var e = 0; e < h.a.length; e++)
|
|
if (h.a[e].id === t) return h.a[e];
|
|
return null
|
|
}
|
|
Object.defineProperties(Q, {
|
|
api: {
|
|
get: function() {
|
|
return y
|
|
},
|
|
set: function() {}
|
|
},
|
|
version: {
|
|
get: function() {
|
|
return j.a
|
|
},
|
|
set: function() {}
|
|
},
|
|
debug: {
|
|
get: function() {
|
|
return w.a.debug
|
|
},
|
|
set: function(t) {
|
|
w.a.debug = !!t
|
|
}
|
|
}
|
|
});
|
|
var X = Q,
|
|
W = n(35),
|
|
U = n(26),
|
|
H = n(24),
|
|
Y = n(46),
|
|
J = n(45),
|
|
K = n(40),
|
|
$ = r.f.extend,
|
|
G = {};
|
|
G.api = y, G._ = r.f, G.version = "8.7.4+commercial_v8-7-4.305.commercial.f756f74.hlsjs..jwplayer.24b3d7c.dai.5397b64.freewheel.2e66d5d.googima.9384558.vast.8a37964.analytics.b0ca618.gapro.8d11024.related.482a566", G.utils = Object(r.j)(R, {
|
|
key: U.b,
|
|
extend: $,
|
|
scriptloader: H.a,
|
|
rssparser: {
|
|
parse: J.a
|
|
},
|
|
tea: Y.a,
|
|
UI: W.a
|
|
}), G.utils.css.style = G.utils.style, G.vid = K.a;
|
|
var Z = G,
|
|
tt = window;
|
|
Object(r.j)(X, Z), "function" == typeof tt.define && tt.define.amd && tt.define([], function() {
|
|
return X
|
|
});
|
|
var et = X;
|
|
tt.jwplayer && (et = tt.jwplayer);
|
|
e.default = et
|
|
}]).default; |