You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22345 lines
651 KiB
22345 lines
651 KiB
// 4.9.5 (2019-07-02) |
|
!(function (H) { |
|
"use strict"; |
|
var o = function () {}, |
|
j = function (n, r) { |
|
return function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; |
|
return n(r.apply(null, e)); |
|
}; |
|
}, |
|
q = function (e) { |
|
return function () { |
|
return e; |
|
}; |
|
}, |
|
$ = function (e) { |
|
return e; |
|
}; |
|
function d(r) { |
|
for (var o = [], e = 1; e < arguments.length; e++) o[e - 1] = arguments[e]; |
|
return function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; |
|
var n = o.concat(e); |
|
return r.apply(null, n); |
|
}; |
|
} |
|
var e, |
|
t, |
|
n, |
|
r, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
y = function (n) { |
|
return function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; |
|
return !n.apply(null, e); |
|
}; |
|
}, |
|
C = q(!1), |
|
x = q(!0), |
|
w = C, |
|
N = x, |
|
E = function () { |
|
return S; |
|
}, |
|
S = |
|
((r = { |
|
fold: function (e, t) { |
|
return e(); |
|
}, |
|
is: w, |
|
isSome: w, |
|
isNone: N, |
|
getOr: (n = function (e) { |
|
return e; |
|
}), |
|
getOrThunk: (t = function (e) { |
|
return e(); |
|
}), |
|
getOrDie: function (e) { |
|
throw new Error(e || "error: getOrDie called on none."); |
|
}, |
|
getOrNull: function () { |
|
return null; |
|
}, |
|
getOrUndefined: function () { |
|
return undefined; |
|
}, |
|
or: n, |
|
orThunk: t, |
|
map: E, |
|
ap: E, |
|
each: function () {}, |
|
bind: E, |
|
flatten: E, |
|
exists: w, |
|
forall: N, |
|
filter: E, |
|
equals: (e = function (e) { |
|
return e.isNone(); |
|
}), |
|
equals_: e, |
|
toArray: function () { |
|
return []; |
|
}, |
|
toString: q("none()"), |
|
}), |
|
Object.freeze && Object.freeze(r), |
|
r), |
|
k = function (n) { |
|
var e = function () { |
|
return n; |
|
}, |
|
t = function () { |
|
return o; |
|
}, |
|
r = function (e) { |
|
return e(n); |
|
}, |
|
o = { |
|
fold: function (e, t) { |
|
return t(n); |
|
}, |
|
is: function (e) { |
|
return n === e; |
|
}, |
|
isSome: N, |
|
isNone: w, |
|
getOr: e, |
|
getOrThunk: e, |
|
getOrDie: e, |
|
getOrNull: e, |
|
getOrUndefined: e, |
|
or: t, |
|
orThunk: t, |
|
map: function (e) { |
|
return k(e(n)); |
|
}, |
|
ap: function (e) { |
|
return e.fold(E, function (e) { |
|
return k(e(n)); |
|
}); |
|
}, |
|
each: function (e) { |
|
e(n); |
|
}, |
|
bind: r, |
|
flatten: e, |
|
exists: r, |
|
forall: r, |
|
filter: function (e) { |
|
return e(n) ? o : S; |
|
}, |
|
equals: function (e) { |
|
return e.is(n); |
|
}, |
|
equals_: function (e, t) { |
|
return e.fold(w, function (e) { |
|
return t(n, e); |
|
}); |
|
}, |
|
toArray: function () { |
|
return [n]; |
|
}, |
|
toString: function () { |
|
return "some(" + n + ")"; |
|
}, |
|
}; |
|
return o; |
|
}, |
|
A = { |
|
some: k, |
|
none: E, |
|
from: function (e) { |
|
return null === e || e === undefined ? S : k(e); |
|
}, |
|
}, |
|
T = function (t) { |
|
return function (e) { |
|
return ( |
|
(function (e) { |
|
if (null === e) return "null"; |
|
var t = typeof e; |
|
return "object" === t && |
|
(Array.prototype.isPrototypeOf(e) || |
|
(e.constructor && "Array" === e.constructor.name)) |
|
? "array" |
|
: "object" === t && |
|
(String.prototype.isPrototypeOf(e) || |
|
(e.constructor && "String" === e.constructor.name)) |
|
? "string" |
|
: t; |
|
})(e) === t |
|
); |
|
}; |
|
}, |
|
R = T("string"), |
|
_ = T("object"), |
|
D = T("array"), |
|
B = T("null"), |
|
O = T("boolean"), |
|
P = T("function"), |
|
I = T("number"), |
|
L = Array.prototype.slice, |
|
M = |
|
(i = Array.prototype.indexOf) === undefined |
|
? function (e, t) { |
|
return J(e, t); |
|
} |
|
: function (e, t) { |
|
return i.call(e, t); |
|
}, |
|
F = function (e, t) { |
|
return -1 < M(e, t); |
|
}, |
|
z = function (e, t) { |
|
return G(e, t).isSome(); |
|
}, |
|
W = function (e, t) { |
|
for (var n = e.length, r = new Array(n), o = 0; o < n; o++) { |
|
var i = e[o]; |
|
r[o] = t(i, o, e); |
|
} |
|
return r; |
|
}, |
|
U = function (e, t) { |
|
for (var n = 0, r = e.length; n < r; n++) t(e[n], n, e); |
|
}, |
|
K = function (e, t) { |
|
for (var n = [], r = [], o = 0, i = e.length; o < i; o++) { |
|
var a = e[o]; |
|
(t(a, o, e) ? n : r).push(a); |
|
} |
|
return { pass: n, fail: r }; |
|
}, |
|
V = function (e, t) { |
|
for (var n = [], r = 0, o = e.length; r < o; r++) { |
|
var i = e[r]; |
|
t(i, r, e) && n.push(i); |
|
} |
|
return n; |
|
}, |
|
X = function (e, t, n) { |
|
return ( |
|
U(e, function (e) { |
|
n = t(n, e); |
|
}), |
|
n |
|
); |
|
}, |
|
Y = function (e, t) { |
|
for (var n = 0, r = e.length; n < r; n++) { |
|
var o = e[n]; |
|
if (t(o, n, e)) return A.some(o); |
|
} |
|
return A.none(); |
|
}, |
|
G = function (e, t) { |
|
for (var n = 0, r = e.length; n < r; n++) |
|
if (t(e[n], n, e)) return A.some(n); |
|
return A.none(); |
|
}, |
|
J = function (e, t) { |
|
for (var n = 0, r = e.length; n < r; ++n) if (e[n] === t) return n; |
|
return -1; |
|
}, |
|
Q = Array.prototype.push, |
|
Z = function (e, t) { |
|
return (function (e) { |
|
for (var t = [], n = 0, r = e.length; n < r; ++n) { |
|
if (!Array.prototype.isPrototypeOf(e[n])) |
|
throw new Error( |
|
"Arr.flatten item " + n + " was not an array, input: " + e |
|
); |
|
Q.apply(t, e[n]); |
|
} |
|
return t; |
|
})(W(e, t)); |
|
}, |
|
ee = function (e, t) { |
|
for (var n = 0, r = e.length; n < r; ++n) |
|
if (!0 !== t(e[n], n, e)) return !1; |
|
return !0; |
|
}, |
|
te = function (e, t) { |
|
return V(e, function (e) { |
|
return !F(t, e); |
|
}); |
|
}, |
|
ne = function (e) { |
|
return 0 === e.length ? A.none() : A.some(e[0]); |
|
}, |
|
re = function (e) { |
|
return 0 === e.length ? A.none() : A.some(e[e.length - 1]); |
|
}, |
|
oe = P(Array.from) |
|
? Array.from |
|
: function (e) { |
|
return L.call(e); |
|
}, |
|
ie = "undefined" != typeof H.window ? H.window : Function("return this;")(), |
|
ae = function (e, t) { |
|
return (function (e, t) { |
|
for ( |
|
var n = t !== undefined && null !== t ? t : ie, r = 0; |
|
r < e.length && n !== undefined && null !== n; |
|
++r |
|
) |
|
n = n[e[r]]; |
|
return n; |
|
})(e.split("."), t); |
|
}, |
|
ue = { |
|
getOrDie: function (e, t) { |
|
var n = ae(e, t); |
|
if (n === undefined || null === n) |
|
throw e + " not available on this browser"; |
|
return n; |
|
}, |
|
}, |
|
se = function () { |
|
return ue.getOrDie("URL"); |
|
}, |
|
ce = { |
|
createObjectURL: function (e) { |
|
return se().createObjectURL(e); |
|
}, |
|
revokeObjectURL: function (e) { |
|
se().revokeObjectURL(e); |
|
}, |
|
}, |
|
le = H.navigator, |
|
fe = le.userAgent, |
|
de = function (e) { |
|
return "matchMedia" in H.window && H.matchMedia(e).matches; |
|
}; |
|
(g = /Android/.test(fe)), |
|
(u = |
|
(u = |
|
!(a = /WebKit/.test(fe)) && |
|
/MSIE/gi.test(fe) && |
|
/Explorer/gi.test(le.appName)) && /MSIE (\w+)\./.exec(fe)[1]), |
|
(s = |
|
-1 !== fe.indexOf("Trident/") && |
|
(-1 !== fe.indexOf("rv:") || -1 !== le.appName.indexOf("Netscape")) && |
|
11), |
|
(c = -1 !== fe.indexOf("Edge/") && !u && !s && 12), |
|
(u = u || s || c), |
|
(l = !a && !s && /Gecko/.test(fe)), |
|
(f = -1 !== fe.indexOf("Mac")), |
|
(m = /(iPad|iPhone)/.test(fe)), |
|
(p = |
|
"FormData" in H.window && |
|
"FileReader" in H.window && |
|
"URL" in H.window && |
|
!!ce.createObjectURL), |
|
(h = de("only screen and (max-device-width: 480px)") && (g || m)), |
|
(v = de("only screen and (min-width: 800px)") && (g || m)), |
|
(b = -1 !== fe.indexOf("Windows Phone")), |
|
c && (a = !1); |
|
var me, |
|
ge = { |
|
opera: !1, |
|
webkit: a, |
|
ie: u, |
|
gecko: l, |
|
mac: f, |
|
iOS: m, |
|
android: g, |
|
contentEditable: |
|
!m || p || 534 <= parseInt(fe.match(/AppleWebKit\/(\d*)/)[1], 10), |
|
transparentSrc: |
|
"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", |
|
caretAfter: 8 !== u, |
|
range: H.window.getSelection && "Range" in H.window, |
|
documentMode: u && !c ? H.document.documentMode || 7 : 10, |
|
fileApi: p, |
|
ceFalse: !1 === u || 8 < u, |
|
cacheSuffix: null, |
|
container: null, |
|
overrideViewPort: null, |
|
experimentalShadowDom: !1, |
|
canHaveCSP: !1 === u || 11 < u, |
|
desktop: !h && !v, |
|
windowsPhone: b, |
|
}, |
|
pe = window.Promise |
|
? window.Promise |
|
: (function () { |
|
function r(e, t) { |
|
return function () { |
|
e.apply(t, arguments); |
|
}; |
|
} |
|
var e = |
|
Array.isArray || |
|
function (e) { |
|
return "[object Array]" === Object.prototype.toString.call(e); |
|
}, |
|
i = function (e) { |
|
if ("object" != typeof this) |
|
throw new TypeError("Promises must be constructed via new"); |
|
if ("function" != typeof e) throw new TypeError("not a function"); |
|
(this._state = null), |
|
(this._value = null), |
|
(this._deferreds = []), |
|
l(e, r(o, this), r(u, this)); |
|
}, |
|
t = |
|
i.immediateFn || |
|
("function" == typeof setImmediate && setImmediate) || |
|
function (e) { |
|
setTimeout(e, 1); |
|
}; |
|
function a(r) { |
|
var o = this; |
|
null !== this._state |
|
? t(function () { |
|
var e = o._state ? r.onFulfilled : r.onRejected; |
|
if (null !== e) { |
|
var t; |
|
try { |
|
t = e(o._value); |
|
} catch (n) { |
|
return void r.reject(n); |
|
} |
|
r.resolve(t); |
|
} else (o._state ? r.resolve : r.reject)(o._value); |
|
}) |
|
: this._deferreds.push(r); |
|
} |
|
function o(e) { |
|
try { |
|
if (e === this) |
|
throw new TypeError( |
|
"A promise cannot be resolved with itself." |
|
); |
|
if (e && ("object" == typeof e || "function" == typeof e)) { |
|
var t = e.then; |
|
if ("function" == typeof t) |
|
return void l(r(t, e), r(o, this), r(u, this)); |
|
} |
|
(this._state = !0), (this._value = e), s.call(this); |
|
} catch (n) { |
|
u.call(this, n); |
|
} |
|
} |
|
function u(e) { |
|
(this._state = !1), (this._value = e), s.call(this); |
|
} |
|
function s() { |
|
for (var e = 0, t = this._deferreds.length; e < t; e++) |
|
a.call(this, this._deferreds[e]); |
|
this._deferreds = null; |
|
} |
|
function c(e, t, n, r) { |
|
(this.onFulfilled = "function" == typeof e ? e : null), |
|
(this.onRejected = "function" == typeof t ? t : null), |
|
(this.resolve = n), |
|
(this.reject = r); |
|
} |
|
function l(e, t, n) { |
|
var r = !1; |
|
try { |
|
e( |
|
function (e) { |
|
r || ((r = !0), t(e)); |
|
}, |
|
function (e) { |
|
r || ((r = !0), n(e)); |
|
} |
|
); |
|
} catch (o) { |
|
if (r) return; |
|
(r = !0), n(o); |
|
} |
|
} |
|
return ( |
|
(i.prototype["catch"] = function (e) { |
|
return this.then(null, e); |
|
}), |
|
(i.prototype.then = function (n, r) { |
|
var o = this; |
|
return new i(function (e, t) { |
|
a.call(o, new c(n, r, e, t)); |
|
}); |
|
}), |
|
(i.all = function () { |
|
var s = Array.prototype.slice.call( |
|
1 === arguments.length && e(arguments[0]) |
|
? arguments[0] |
|
: arguments |
|
); |
|
return new i(function (o, i) { |
|
if (0 === s.length) return o([]); |
|
var a = s.length; |
|
function u(t, e) { |
|
try { |
|
if (e && ("object" == typeof e || "function" == typeof e)) { |
|
var n = e.then; |
|
if ("function" == typeof n) |
|
return void n.call( |
|
e, |
|
function (e) { |
|
u(t, e); |
|
}, |
|
i |
|
); |
|
} |
|
(s[t] = e), 0 == --a && o(s); |
|
} catch (r) { |
|
i(r); |
|
} |
|
} |
|
for (var e = 0; e < s.length; e++) u(e, s[e]); |
|
}); |
|
}), |
|
(i.resolve = function (t) { |
|
return t && "object" == typeof t && t.constructor === i |
|
? t |
|
: new i(function (e) { |
|
e(t); |
|
}); |
|
}), |
|
(i.reject = function (n) { |
|
return new i(function (e, t) { |
|
t(n); |
|
}); |
|
}), |
|
(i.race = function (o) { |
|
return new i(function (e, t) { |
|
for (var n = 0, r = o.length; n < r; n++) o[n].then(e, t); |
|
}); |
|
}), |
|
i |
|
); |
|
})(), |
|
he = function (e, t) { |
|
return "number" != typeof t && (t = 0), setTimeout(e, t); |
|
}, |
|
ve = function (e, t) { |
|
return "number" != typeof t && (t = 1), setInterval(e, t); |
|
}, |
|
be = function (t, n) { |
|
var r, e; |
|
return ( |
|
((e = function () { |
|
var e = arguments; |
|
clearTimeout(r), |
|
(r = he(function () { |
|
t.apply(this, e); |
|
}, n)); |
|
}).stop = function () { |
|
clearTimeout(r); |
|
}), |
|
e |
|
); |
|
}, |
|
ye = { |
|
requestAnimationFrame: function (e, t) { |
|
me |
|
? me.then(e) |
|
: (me = new pe(function (e) { |
|
t || (t = H.document.body), |
|
(function (e, t) { |
|
var n, |
|
r = H.window.requestAnimationFrame, |
|
o = ["ms", "moz", "webkit"]; |
|
for (n = 0; n < o.length && !r; n++) |
|
r = H.window[o[n] + "RequestAnimationFrame"]; |
|
r || |
|
(r = function (e) { |
|
H.window.setTimeout(e, 0); |
|
}), |
|
r(e, t); |
|
})(e, t); |
|
}).then(e)); |
|
}, |
|
setTimeout: he, |
|
setInterval: ve, |
|
setEditorTimeout: function (e, t, n) { |
|
return he(function () { |
|
e.removed || t(); |
|
}, n); |
|
}, |
|
setEditorInterval: function (e, t, n) { |
|
var r; |
|
return (r = ve(function () { |
|
e.removed ? clearInterval(r) : t(); |
|
}, n)); |
|
}, |
|
debounce: be, |
|
throttle: be, |
|
clearInterval: function (e) { |
|
return clearInterval(e); |
|
}, |
|
clearTimeout: function (e) { |
|
return clearTimeout(e); |
|
}, |
|
}, |
|
Ce = /^(?:mouse|contextmenu)|click/, |
|
xe = { |
|
keyLocation: 1, |
|
layerX: 1, |
|
layerY: 1, |
|
returnValue: 1, |
|
webkitMovementX: 1, |
|
webkitMovementY: 1, |
|
keyIdentifier: 1, |
|
}, |
|
we = function () { |
|
return !1; |
|
}, |
|
Ne = function () { |
|
return !0; |
|
}, |
|
Ee = function (e, t, n, r) { |
|
e.addEventListener |
|
? e.addEventListener(t, n, r || !1) |
|
: e.attachEvent && e.attachEvent("on" + t, n); |
|
}, |
|
Se = function (e, t, n, r) { |
|
e.removeEventListener |
|
? e.removeEventListener(t, n, r || !1) |
|
: e.detachEvent && e.detachEvent("on" + t, n); |
|
}, |
|
ke = function (e, t) { |
|
var n, |
|
r, |
|
o = t || {}; |
|
for (n in e) xe[n] || (o[n] = e[n]); |
|
if ( |
|
(o.target || (o.target = o.srcElement || H.document), |
|
ge.experimentalShadowDom && |
|
(o.target = (function (e, t) { |
|
if (e.composedPath) { |
|
var n = e.composedPath(); |
|
if (n && 0 < n.length) return n[0]; |
|
} |
|
return t; |
|
})(e, o.target)), |
|
e && |
|
Ce.test(e.type) && |
|
e.pageX === undefined && |
|
e.clientX !== undefined) |
|
) { |
|
var i = o.target.ownerDocument || H.document, |
|
a = i.documentElement, |
|
u = i.body; |
|
(o.pageX = |
|
e.clientX + |
|
((a && a.scrollLeft) || (u && u.scrollLeft) || 0) - |
|
((a && a.clientLeft) || (u && u.clientLeft) || 0)), |
|
(o.pageY = |
|
e.clientY + |
|
((a && a.scrollTop) || (u && u.scrollTop) || 0) - |
|
((a && a.clientTop) || (u && u.clientTop) || 0)); |
|
} |
|
return ( |
|
(o.preventDefault = function () { |
|
(o.isDefaultPrevented = Ne), |
|
e && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)); |
|
}), |
|
(o.stopPropagation = function () { |
|
(o.isPropagationStopped = Ne), |
|
e && |
|
(e.stopPropagation ? e.stopPropagation() : (e.cancelBubble = !0)); |
|
}), |
|
!(o.stopImmediatePropagation = function () { |
|
(o.isImmediatePropagationStopped = Ne), o.stopPropagation(); |
|
}) == |
|
((r = o).isDefaultPrevented === Ne || r.isDefaultPrevented === we) && |
|
((o.isDefaultPrevented = we), |
|
(o.isPropagationStopped = we), |
|
(o.isImmediatePropagationStopped = we)), |
|
"undefined" == typeof o.metaKey && (o.metaKey = !1), |
|
o |
|
); |
|
}, |
|
Te = function (e, t, n) { |
|
var r = e.document, |
|
o = { type: "ready" }; |
|
if (n.domLoaded) t(o); |
|
else { |
|
var i = function () { |
|
return ( |
|
"complete" === r.readyState || |
|
("interactive" === r.readyState && r.body) |
|
); |
|
}, |
|
a = function () { |
|
n.domLoaded || ((n.domLoaded = !0), t(o)); |
|
}, |
|
u = function () { |
|
i() && (Se(r, "readystatechange", u), a()); |
|
}, |
|
s = function () { |
|
try { |
|
r.documentElement.doScroll("left"); |
|
} catch (e) { |
|
return void ye.setTimeout(s); |
|
} |
|
a(); |
|
}; |
|
!r.addEventListener || (ge.ie && ge.ie < 11) |
|
? (Ee(r, "readystatechange", u), |
|
r.documentElement.doScroll && e.self === e.top && s()) |
|
: i() |
|
? a() |
|
: Ee(e, "DOMContentLoaded", a), |
|
Ee(e, "load", a); |
|
} |
|
}, |
|
Ae = function () { |
|
var m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b = this, |
|
y = {}; |
|
(g = "mce-data-" + (+new Date()).toString(32)), |
|
(h = "onmouseenter" in H.document.documentElement), |
|
(p = "onfocusin" in H.document.documentElement), |
|
(v = { mouseenter: "mouseover", mouseleave: "mouseout" }), |
|
(m = 1), |
|
(b.domLoaded = !1), |
|
(b.events = y); |
|
var C = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a = y[t]; |
|
if ((n = a && a[e.type])) |
|
for (r = 0, o = n.length; r < o; r++) |
|
if ( |
|
((i = n[r]) && |
|
!1 === i.func.call(i.scope, e) && |
|
e.preventDefault(), |
|
e.isImmediatePropagationStopped()) |
|
) |
|
return; |
|
}; |
|
(b.bind = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = H.window, |
|
d = function (e) { |
|
C(ke(e || f.event), o); |
|
}; |
|
if (e && 3 !== e.nodeType && 8 !== e.nodeType) { |
|
for ( |
|
e[g] ? (o = e[g]) : ((o = m++), (e[g] = o), (y[o] = {})), |
|
r = r || e, |
|
a = (t = t.split(" ")).length; |
|
a--; |
|
|
|
) |
|
(c = d), |
|
(s = l = !1), |
|
"DOMContentLoaded" === (u = t[a]) && (u = "ready"), |
|
b.domLoaded && "ready" === u && "complete" === e.readyState |
|
? n.call(r, ke({ type: u })) |
|
: (h || |
|
((s = v[u]) && |
|
(c = function (e) { |
|
var t, n; |
|
if ( |
|
((t = e.currentTarget), |
|
(n = e.relatedTarget) && t.contains) |
|
) |
|
n = t.contains(n); |
|
else for (; n && n !== t; ) n = n.parentNode; |
|
n || |
|
(((e = ke(e || f.event)).type = |
|
"mouseout" === e.type |
|
? "mouseleave" |
|
: "mouseenter"), |
|
(e.target = t), |
|
C(e, o)); |
|
})), |
|
p || |
|
("focusin" !== u && "focusout" !== u) || |
|
((l = !0), |
|
(s = "focusin" === u ? "focus" : "blur"), |
|
(c = function (e) { |
|
((e = ke(e || f.event)).type = |
|
"focus" === e.type ? "focusin" : "focusout"), |
|
C(e, o); |
|
})), |
|
(i = y[o][u]) |
|
? "ready" === u && b.domLoaded |
|
? n({ type: u }) |
|
: i.push({ func: n, scope: r }) |
|
: ((y[o][u] = i = [{ func: n, scope: r }]), |
|
(i.fakeName = s), |
|
(i.capture = l), |
|
(i.nativeHandler = c), |
|
"ready" === u ? Te(e, c, b) : Ee(e, s || u, c, l))); |
|
return (e = i = 0), n; |
|
} |
|
}), |
|
(b.unbind = function (e, t, n) { |
|
var r, o, i, a, u, s; |
|
if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; |
|
if ((r = e[g])) { |
|
if (((s = y[r]), t)) { |
|
for (i = (t = t.split(" ")).length; i--; ) |
|
if ((o = s[(u = t[i])])) { |
|
if (n) |
|
for (a = o.length; a--; ) |
|
if (o[a].func === n) { |
|
var c = o.nativeHandler, |
|
l = o.fakeName, |
|
f = o.capture; |
|
((o = o |
|
.slice(0, a) |
|
.concat(o.slice(a + 1))).nativeHandler = c), |
|
(o.fakeName = l), |
|
(o.capture = f), |
|
(s[u] = o); |
|
} |
|
(n && 0 !== o.length) || |
|
(delete s[u], |
|
Se(e, o.fakeName || u, o.nativeHandler, o.capture)); |
|
} |
|
} else { |
|
for (u in s) |
|
(o = s[u]), Se(e, o.fakeName || u, o.nativeHandler, o.capture); |
|
s = {}; |
|
} |
|
for (u in s) return b; |
|
delete y[r]; |
|
try { |
|
delete e[g]; |
|
} catch (d) { |
|
e[g] = null; |
|
} |
|
} |
|
return b; |
|
}), |
|
(b.fire = function (e, t, n) { |
|
var r; |
|
if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; |
|
for ( |
|
(n = ke(null, n)).type = t, n.target = e; |
|
(r = e[g]) && C(n, r), |
|
(e = |
|
e.parentNode || |
|
e.ownerDocument || |
|
e.defaultView || |
|
e.parentWindow) && !n.isPropagationStopped(); |
|
|
|
); |
|
return b; |
|
}), |
|
(b.clean = function (e) { |
|
var t, |
|
n, |
|
r = b.unbind; |
|
if (!e || 3 === e.nodeType || 8 === e.nodeType) return b; |
|
if ( |
|
(e[g] && r(e), |
|
e.getElementsByTagName || (e = e.document), |
|
e && e.getElementsByTagName) |
|
) |
|
for (r(e), t = (n = e.getElementsByTagName("*")).length; t--; ) |
|
(e = n[t])[g] && r(e); |
|
return b; |
|
}), |
|
(b.destroy = function () { |
|
y = {}; |
|
}), |
|
(b.cancel = function (e) { |
|
return e && (e.preventDefault(), e.stopImmediatePropagation()), !1; |
|
}); |
|
}; |
|
(Ae.Event = new Ae()), Ae.Event.bind(H.window, "ready", function () {}); |
|
var Re, |
|
_e, |
|
De, |
|
Be, |
|
Oe, |
|
Pe, |
|
Ie, |
|
Le, |
|
Me, |
|
Fe, |
|
ze, |
|
Ue, |
|
Ve, |
|
He, |
|
je, |
|
qe, |
|
$e, |
|
We, |
|
Ke = "sizzle" + -new Date(), |
|
Xe = H.window.document, |
|
Ye = 0, |
|
Ge = 0, |
|
Je = Rt(), |
|
Qe = Rt(), |
|
Ze = Rt(), |
|
et = function (e, t) { |
|
return e === t && (ze = !0), 0; |
|
}, |
|
tt = typeof undefined, |
|
nt = {}.hasOwnProperty, |
|
rt = [], |
|
ot = rt.pop, |
|
it = rt.push, |
|
at = rt.push, |
|
ut = rt.slice, |
|
st = |
|
rt.indexOf || |
|
function (e) { |
|
for (var t = 0, n = this.length; t < n; t++) |
|
if (this[t] === e) return t; |
|
return -1; |
|
}, |
|
ct = "[\\x20\\t\\r\\n\\f]", |
|
lt = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", |
|
ft = |
|
"\\[" + |
|
ct + |
|
"*(" + |
|
lt + |
|
")(?:" + |
|
ct + |
|
"*([*^$|!~]?=)" + |
|
ct + |
|
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + |
|
lt + |
|
"))|)" + |
|
ct + |
|
"*\\]", |
|
dt = |
|
":(" + |
|
lt + |
|
")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + |
|
ft + |
|
")*)|.*)\\)|)", |
|
mt = new RegExp("^" + ct + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ct + "+$", "g"), |
|
gt = new RegExp("^" + ct + "*," + ct + "*"), |
|
pt = new RegExp("^" + ct + "*([>+~]|" + ct + ")" + ct + "*"), |
|
ht = new RegExp("=" + ct + "*([^\\]'\"]*?)" + ct + "*\\]", "g"), |
|
vt = new RegExp(dt), |
|
bt = new RegExp("^" + lt + "$"), |
|
yt = { |
|
ID: new RegExp("^#(" + lt + ")"), |
|
CLASS: new RegExp("^\\.(" + lt + ")"), |
|
TAG: new RegExp("^(" + lt + "|[*])"), |
|
ATTR: new RegExp("^" + ft), |
|
PSEUDO: new RegExp("^" + dt), |
|
CHILD: new RegExp( |
|
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + |
|
ct + |
|
"*(even|odd|(([+-]|)(\\d*)n|)" + |
|
ct + |
|
"*(?:([+-]|)" + |
|
ct + |
|
"*(\\d+)|))" + |
|
ct + |
|
"*\\)|)", |
|
"i" |
|
), |
|
bool: new RegExp( |
|
"^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", |
|
"i" |
|
), |
|
needsContext: new RegExp( |
|
"^" + |
|
ct + |
|
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + |
|
ct + |
|
"*((?:-\\d)?\\d*)" + |
|
ct + |
|
"*\\)|)(?=[^-]|$)", |
|
"i" |
|
), |
|
}, |
|
Ct = /^(?:input|select|textarea|button)$/i, |
|
xt = /^h\d$/i, |
|
wt = /^[^{]+\{\s*\[native \w/, |
|
Nt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, |
|
Et = /[+~]/, |
|
St = /'|\\/g, |
|
kt = new RegExp("\\\\([\\da-f]{1,6}" + ct + "?|(" + ct + ")|.)", "ig"), |
|
Tt = function (e, t, n) { |
|
var r = "0x" + t - 65536; |
|
return r != r || n |
|
? t |
|
: r < 0 |
|
? String.fromCharCode(r + 65536) |
|
: String.fromCharCode((r >> 10) | 55296, (1023 & r) | 56320); |
|
}; |
|
try { |
|
at.apply((rt = ut.call(Xe.childNodes)), Xe.childNodes), |
|
rt[Xe.childNodes.length].nodeType; |
|
} catch (ZN) { |
|
at = { |
|
apply: rt.length |
|
? function (e, t) { |
|
it.apply(e, ut.call(t)); |
|
} |
|
: function (e, t) { |
|
for (var n = e.length, r = 0; (e[n++] = t[r++]); ); |
|
e.length = n - 1; |
|
}, |
|
}; |
|
} |
|
var At = function (e, t, n, r) { |
|
var o, i, a, u, s, c, l, f, d, m; |
|
if ( |
|
((t ? t.ownerDocument || t : Xe) !== Ve && Ue(t), |
|
(n = n || []), |
|
!e || "string" != typeof e) |
|
) |
|
return n; |
|
if (1 !== (u = (t = t || Ve).nodeType) && 9 !== u) return []; |
|
if (je && !r) { |
|
if ((o = Nt.exec(e))) |
|
if ((a = o[1])) { |
|
if (9 === u) { |
|
if (!(i = t.getElementById(a)) || !i.parentNode) return n; |
|
if (i.id === a) return n.push(i), n; |
|
} else if ( |
|
t.ownerDocument && |
|
(i = t.ownerDocument.getElementById(a)) && |
|
We(t, i) && |
|
i.id === a |
|
) |
|
return n.push(i), n; |
|
} else { |
|
if (o[2]) return at.apply(n, t.getElementsByTagName(e)), n; |
|
if ((a = o[3]) && _e.getElementsByClassName) |
|
return at.apply(n, t.getElementsByClassName(a)), n; |
|
} |
|
if (_e.qsa && (!qe || !qe.test(e))) { |
|
if ( |
|
((f = l = Ke), |
|
(d = t), |
|
(m = 9 === u && e), |
|
1 === u && "object" !== t.nodeName.toLowerCase()) |
|
) { |
|
for ( |
|
c = Pe(e), |
|
(l = t.getAttribute("id")) |
|
? (f = l.replace(St, "\\$&")) |
|
: t.setAttribute("id", f), |
|
f = "[id='" + f + "'] ", |
|
s = c.length; |
|
s--; |
|
|
|
) |
|
c[s] = f + Mt(c[s]); |
|
(d = (Et.test(e) && It(t.parentNode)) || t), (m = c.join(",")); |
|
} |
|
if (m) |
|
try { |
|
return at.apply(n, d.querySelectorAll(m)), n; |
|
} catch (g) { |
|
} finally { |
|
l || t.removeAttribute("id"); |
|
} |
|
} |
|
} |
|
return Le(e.replace(mt, "$1"), t, n, r); |
|
}; |
|
function Rt() { |
|
var r = []; |
|
return function e(t, n) { |
|
return ( |
|
r.push(t + " ") > De.cacheLength && delete e[r.shift()], |
|
(e[t + " "] = n) |
|
); |
|
}; |
|
} |
|
function _t(e) { |
|
return (e[Ke] = !0), e; |
|
} |
|
function Dt(e, t) { |
|
var n = t && e, |
|
r = |
|
n && |
|
1 === e.nodeType && |
|
1 === t.nodeType && |
|
(~t.sourceIndex || 1 << 31) - (~e.sourceIndex || 1 << 31); |
|
if (r) return r; |
|
if (n) for (; (n = n.nextSibling); ) if (n === t) return -1; |
|
return e ? 1 : -1; |
|
} |
|
function Bt(t) { |
|
return function (e) { |
|
return "input" === e.nodeName.toLowerCase() && e.type === t; |
|
}; |
|
} |
|
function Ot(n) { |
|
return function (e) { |
|
var t = e.nodeName.toLowerCase(); |
|
return ("input" === t || "button" === t) && e.type === n; |
|
}; |
|
} |
|
function Pt(a) { |
|
return _t(function (i) { |
|
return ( |
|
(i = +i), |
|
_t(function (e, t) { |
|
for (var n, r = a([], e.length, i), o = r.length; o--; ) |
|
e[(n = r[o])] && (e[n] = !(t[n] = e[n])); |
|
}) |
|
); |
|
}); |
|
} |
|
function It(e) { |
|
return e && typeof e.getElementsByTagName !== tt && e; |
|
} |
|
for (Re in ((_e = At.support = {}), |
|
(Oe = At.isXML = |
|
function (e) { |
|
var t = e && (e.ownerDocument || e).documentElement; |
|
return !!t && "HTML" !== t.nodeName; |
|
}), |
|
(Ue = At.setDocument = |
|
function (e) { |
|
var t, |
|
s = e ? e.ownerDocument || e : Xe, |
|
n = s.defaultView; |
|
return s !== Ve && 9 === s.nodeType && s.documentElement |
|
? ((He = (Ve = s).documentElement), |
|
(je = !Oe(s)), |
|
n && |
|
n !== |
|
(function (e) { |
|
try { |
|
return e.top; |
|
} catch (t) {} |
|
return null; |
|
})(n) && |
|
(n.addEventListener |
|
? n.addEventListener( |
|
"unload", |
|
function () { |
|
Ue(); |
|
}, |
|
!1 |
|
) |
|
: n.attachEvent && |
|
n.attachEvent("onunload", function () { |
|
Ue(); |
|
})), |
|
(_e.attributes = !0), |
|
(_e.getElementsByTagName = !0), |
|
(_e.getElementsByClassName = wt.test(s.getElementsByClassName)), |
|
(_e.getById = !0), |
|
(De.find.ID = function (e, t) { |
|
if (typeof t.getElementById !== tt && je) { |
|
var n = t.getElementById(e); |
|
return n && n.parentNode ? [n] : []; |
|
} |
|
}), |
|
(De.filter.ID = function (e) { |
|
var t = e.replace(kt, Tt); |
|
return function (e) { |
|
return e.getAttribute("id") === t; |
|
}; |
|
}), |
|
(De.find.TAG = _e.getElementsByTagName |
|
? function (e, t) { |
|
if (typeof t.getElementsByTagName !== tt) |
|
return t.getElementsByTagName(e); |
|
} |
|
: function (e, t) { |
|
var n, |
|
r = [], |
|
o = 0, |
|
i = t.getElementsByTagName(e); |
|
if ("*" === e) { |
|
for (; (n = i[o++]); ) 1 === n.nodeType && r.push(n); |
|
return r; |
|
} |
|
return i; |
|
}), |
|
(De.find.CLASS = |
|
_e.getElementsByClassName && |
|
function (e, t) { |
|
if (je) return t.getElementsByClassName(e); |
|
}), |
|
($e = []), |
|
(qe = []), |
|
(_e.disconnectedMatch = !0), |
|
(qe = qe.length && new RegExp(qe.join("|"))), |
|
($e = $e.length && new RegExp($e.join("|"))), |
|
(t = wt.test(He.compareDocumentPosition)), |
|
(We = |
|
t || wt.test(He.contains) |
|
? function (e, t) { |
|
var n = 9 === e.nodeType ? e.documentElement : e, |
|
r = t && t.parentNode; |
|
return ( |
|
e === r || |
|
!( |
|
!r || |
|
1 !== r.nodeType || |
|
!(n.contains |
|
? n.contains(r) |
|
: e.compareDocumentPosition && |
|
16 & e.compareDocumentPosition(r)) |
|
) |
|
); |
|
} |
|
: function (e, t) { |
|
if (t) for (; (t = t.parentNode); ) if (t === e) return !0; |
|
return !1; |
|
}), |
|
(et = t |
|
? function (e, t) { |
|
if (e === t) return (ze = !0), 0; |
|
var n = !e.compareDocumentPosition - !t.compareDocumentPosition; |
|
return ( |
|
n || |
|
(1 & |
|
(n = |
|
(e.ownerDocument || e) === (t.ownerDocument || t) |
|
? e.compareDocumentPosition(t) |
|
: 1) || |
|
(!_e.sortDetached && t.compareDocumentPosition(e) === n) |
|
? e === s || (e.ownerDocument === Xe && We(Xe, e)) |
|
? -1 |
|
: t === s || (t.ownerDocument === Xe && We(Xe, t)) |
|
? 1 |
|
: Fe |
|
? st.call(Fe, e) - st.call(Fe, t) |
|
: 0 |
|
: 4 & n |
|
? -1 |
|
: 1) |
|
); |
|
} |
|
: function (e, t) { |
|
if (e === t) return (ze = !0), 0; |
|
var n, |
|
r = 0, |
|
o = e.parentNode, |
|
i = t.parentNode, |
|
a = [e], |
|
u = [t]; |
|
if (!o || !i) |
|
return e === s |
|
? -1 |
|
: t === s |
|
? 1 |
|
: o |
|
? -1 |
|
: i |
|
? 1 |
|
: Fe |
|
? st.call(Fe, e) - st.call(Fe, t) |
|
: 0; |
|
if (o === i) return Dt(e, t); |
|
for (n = e; (n = n.parentNode); ) a.unshift(n); |
|
for (n = t; (n = n.parentNode); ) u.unshift(n); |
|
for (; a[r] === u[r]; ) r++; |
|
return r |
|
? Dt(a[r], u[r]) |
|
: a[r] === Xe |
|
? -1 |
|
: u[r] === Xe |
|
? 1 |
|
: 0; |
|
}), |
|
s) |
|
: Ve; |
|
}), |
|
(At.matches = function (e, t) { |
|
return At(e, null, null, t); |
|
}), |
|
(At.matchesSelector = function (e, t) { |
|
if ( |
|
((e.ownerDocument || e) !== Ve && Ue(e), |
|
(t = t.replace(ht, "='$1']")), |
|
_e.matchesSelector && je && (!$e || !$e.test(t)) && (!qe || !qe.test(t))) |
|
) |
|
try { |
|
var n = (void 0).call(e, t); |
|
if ( |
|
n || |
|
_e.disconnectedMatch || |
|
(e.document && 11 !== e.document.nodeType) |
|
) |
|
return n; |
|
} catch (ZN) {} |
|
return 0 < At(t, Ve, null, [e]).length; |
|
}), |
|
(At.contains = function (e, t) { |
|
return (e.ownerDocument || e) !== Ve && Ue(e), We(e, t); |
|
}), |
|
(At.attr = function (e, t) { |
|
(e.ownerDocument || e) !== Ve && Ue(e); |
|
var n = De.attrHandle[t.toLowerCase()], |
|
r = |
|
n && nt.call(De.attrHandle, t.toLowerCase()) ? n(e, t, !je) : undefined; |
|
return r !== undefined |
|
? r |
|
: _e.attributes || !je |
|
? e.getAttribute(t) |
|
: (r = e.getAttributeNode(t)) && r.specified |
|
? r.value |
|
: null; |
|
}), |
|
(At.error = function (e) { |
|
throw new Error("Syntax error, unrecognized expression: " + e); |
|
}), |
|
(At.uniqueSort = function (e) { |
|
var t, |
|
n = [], |
|
r = 0, |
|
o = 0; |
|
if ( |
|
((ze = !_e.detectDuplicates), |
|
(Fe = !_e.sortStable && e.slice(0)), |
|
e.sort(et), |
|
ze) |
|
) { |
|
for (; (t = e[o++]); ) t === e[o] && (r = n.push(o)); |
|
for (; r--; ) e.splice(n[r], 1); |
|
} |
|
return (Fe = null), e; |
|
}), |
|
(Be = At.getText = |
|
function (e) { |
|
var t, |
|
n = "", |
|
r = 0, |
|
o = e.nodeType; |
|
if (o) { |
|
if (1 === o || 9 === o || 11 === o) { |
|
if ("string" == typeof e.textContent) return e.textContent; |
|
for (e = e.firstChild; e; e = e.nextSibling) n += Be(e); |
|
} else if (3 === o || 4 === o) return e.nodeValue; |
|
} else for (; (t = e[r++]); ) n += Be(t); |
|
return n; |
|
}), |
|
((De = At.selectors = |
|
{ |
|
cacheLength: 50, |
|
createPseudo: _t, |
|
match: yt, |
|
attrHandle: {}, |
|
find: {}, |
|
relative: { |
|
">": { dir: "parentNode", first: !0 }, |
|
" ": { dir: "parentNode" }, |
|
"+": { dir: "previousSibling", first: !0 }, |
|
"~": { dir: "previousSibling" }, |
|
}, |
|
preFilter: { |
|
ATTR: function (e) { |
|
return ( |
|
(e[1] = e[1].replace(kt, Tt)), |
|
(e[3] = (e[3] || e[4] || e[5] || "").replace(kt, Tt)), |
|
"~=" === e[2] && (e[3] = " " + e[3] + " "), |
|
e.slice(0, 4) |
|
); |
|
}, |
|
CHILD: function (e) { |
|
return ( |
|
(e[1] = e[1].toLowerCase()), |
|
"nth" === e[1].slice(0, 3) |
|
? (e[3] || At.error(e[0]), |
|
(e[4] = +(e[4] |
|
? e[5] + (e[6] || 1) |
|
: 2 * ("even" === e[3] || "odd" === e[3]))), |
|
(e[5] = +(e[7] + e[8] || "odd" === e[3]))) |
|
: e[3] && At.error(e[0]), |
|
e |
|
); |
|
}, |
|
PSEUDO: function (e) { |
|
var t, |
|
n = !e[6] && e[2]; |
|
return yt.CHILD.test(e[0]) |
|
? null |
|
: (e[3] |
|
? (e[2] = e[4] || e[5] || "") |
|
: n && |
|
vt.test(n) && |
|
(t = Pe(n, !0)) && |
|
(t = n.indexOf(")", n.length - t) - n.length) && |
|
((e[0] = e[0].slice(0, t)), (e[2] = n.slice(0, t))), |
|
e.slice(0, 3)); |
|
}, |
|
}, |
|
filter: { |
|
TAG: function (e) { |
|
var t = e.replace(kt, Tt).toLowerCase(); |
|
return "*" === e |
|
? function () { |
|
return !0; |
|
} |
|
: function (e) { |
|
return e.nodeName && e.nodeName.toLowerCase() === t; |
|
}; |
|
}, |
|
CLASS: function (e) { |
|
var t = Je[e + " "]; |
|
return ( |
|
t || |
|
((t = new RegExp("(^|" + ct + ")" + e + "(" + ct + "|$)")) && |
|
Je(e, function (e) { |
|
return t.test( |
|
("string" == typeof e.className && e.className) || |
|
(typeof e.getAttribute !== tt && e.getAttribute("class")) || |
|
"" |
|
); |
|
})) |
|
); |
|
}, |
|
ATTR: function (n, r, o) { |
|
return function (e) { |
|
var t = At.attr(e, n); |
|
return null == t |
|
? "!=" === r |
|
: !r || |
|
((t += ""), |
|
"=" === r |
|
? t === o |
|
: "!=" === r |
|
? t !== o |
|
: "^=" === r |
|
? o && 0 === t.indexOf(o) |
|
: "*=" === r |
|
? o && -1 < t.indexOf(o) |
|
: "$=" === r |
|
? o && t.slice(-o.length) === o |
|
: "~=" === r |
|
? -1 < (" " + t + " ").indexOf(o) |
|
: "|=" === r && |
|
(t === o || t.slice(0, o.length + 1) === o + "-")); |
|
}; |
|
}, |
|
CHILD: function (m, e, t, g, p) { |
|
var h = "nth" !== m.slice(0, 3), |
|
v = "last" !== m.slice(-4), |
|
b = "of-type" === e; |
|
return 1 === g && 0 === p |
|
? function (e) { |
|
return !!e.parentNode; |
|
} |
|
: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = h !== v ? "nextSibling" : "previousSibling", |
|
l = e.parentNode, |
|
f = b && e.nodeName.toLowerCase(), |
|
d = !n && !b; |
|
if (l) { |
|
if (h) { |
|
for (; c; ) { |
|
for (i = e; (i = i[c]); ) |
|
if ( |
|
b ? i.nodeName.toLowerCase() === f : 1 === i.nodeType |
|
) |
|
return !1; |
|
s = c = "only" === m && !s && "nextSibling"; |
|
} |
|
return !0; |
|
} |
|
if (((s = [v ? l.firstChild : l.lastChild]), v && d)) { |
|
for ( |
|
u = |
|
(r = (o = l[Ke] || (l[Ke] = {}))[m] || [])[0] === Ye && |
|
r[1], |
|
a = r[0] === Ye && r[2], |
|
i = u && l.childNodes[u]; |
|
(i = (++u && i && i[c]) || (a = u = 0) || s.pop()); |
|
|
|
) |
|
if (1 === i.nodeType && ++a && i === e) { |
|
o[m] = [Ye, u, a]; |
|
break; |
|
} |
|
} else if ( |
|
d && |
|
(r = (e[Ke] || (e[Ke] = {}))[m]) && |
|
r[0] === Ye |
|
) |
|
a = r[1]; |
|
else |
|
for ( |
|
; |
|
(i = (++u && i && i[c]) || (a = u = 0) || s.pop()) && |
|
((b |
|
? i.nodeName.toLowerCase() !== f |
|
: 1 !== i.nodeType) || |
|
!++a || |
|
(d && ((i[Ke] || (i[Ke] = {}))[m] = [Ye, a]), i !== e)); |
|
|
|
); |
|
return (a -= p) === g || (a % g == 0 && 0 <= a / g); |
|
} |
|
}; |
|
}, |
|
PSEUDO: function (e, i) { |
|
var t, |
|
a = |
|
De.pseudos[e] || |
|
De.setFilters[e.toLowerCase()] || |
|
At.error("unsupported pseudo: " + e); |
|
return a[Ke] |
|
? a(i) |
|
: 1 < a.length |
|
? ((t = [e, e, "", i]), |
|
De.setFilters.hasOwnProperty(e.toLowerCase()) |
|
? _t(function (e, t) { |
|
for (var n, r = a(e, i), o = r.length; o--; ) |
|
e[(n = st.call(e, r[o]))] = !(t[n] = r[o]); |
|
}) |
|
: function (e) { |
|
return a(e, 0, t); |
|
}) |
|
: a; |
|
}, |
|
}, |
|
pseudos: { |
|
not: _t(function (e) { |
|
var r = [], |
|
o = [], |
|
u = Ie(e.replace(mt, "$1")); |
|
return u[Ke] |
|
? _t(function (e, t, n, r) { |
|
for (var o, i = u(e, null, r, []), a = e.length; a--; ) |
|
(o = i[a]) && (e[a] = !(t[a] = o)); |
|
}) |
|
: function (e, t, n) { |
|
return (r[0] = e), u(r, null, n, o), !o.pop(); |
|
}; |
|
}), |
|
has: _t(function (t) { |
|
return function (e) { |
|
return 0 < At(t, e).length; |
|
}; |
|
}), |
|
contains: _t(function (t) { |
|
return ( |
|
(t = t.replace(kt, Tt)), |
|
function (e) { |
|
return -1 < (e.textContent || e.innerText || Be(e)).indexOf(t); |
|
} |
|
); |
|
}), |
|
lang: _t(function (n) { |
|
return ( |
|
bt.test(n || "") || At.error("unsupported lang: " + n), |
|
(n = n.replace(kt, Tt).toLowerCase()), |
|
function (e) { |
|
var t; |
|
do { |
|
if ( |
|
(t = je |
|
? e.lang |
|
: e.getAttribute("xml:lang") || e.getAttribute("lang")) |
|
) |
|
return ( |
|
(t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") |
|
); |
|
} while ((e = e.parentNode) && 1 === e.nodeType); |
|
return !1; |
|
} |
|
); |
|
}), |
|
target: function (e) { |
|
var t = H.window.location && H.window.location.hash; |
|
return t && t.slice(1) === e.id; |
|
}, |
|
root: function (e) { |
|
return e === He; |
|
}, |
|
focus: function (e) { |
|
return ( |
|
e === Ve.activeElement && |
|
(!Ve.hasFocus || Ve.hasFocus()) && |
|
!!(e.type || e.href || ~e.tabIndex) |
|
); |
|
}, |
|
enabled: function (e) { |
|
return !1 === e.disabled; |
|
}, |
|
disabled: function (e) { |
|
return !0 === e.disabled; |
|
}, |
|
checked: function (e) { |
|
var t = e.nodeName.toLowerCase(); |
|
return ( |
|
("input" === t && !!e.checked) || ("option" === t && !!e.selected) |
|
); |
|
}, |
|
selected: function (e) { |
|
return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; |
|
}, |
|
empty: function (e) { |
|
for (e = e.firstChild; e; e = e.nextSibling) |
|
if (e.nodeType < 6) return !1; |
|
return !0; |
|
}, |
|
parent: function (e) { |
|
return !De.pseudos.empty(e); |
|
}, |
|
header: function (e) { |
|
return xt.test(e.nodeName); |
|
}, |
|
input: function (e) { |
|
return Ct.test(e.nodeName); |
|
}, |
|
button: function (e) { |
|
var t = e.nodeName.toLowerCase(); |
|
return ("input" === t && "button" === e.type) || "button" === t; |
|
}, |
|
text: function (e) { |
|
var t; |
|
return ( |
|
"input" === e.nodeName.toLowerCase() && |
|
"text" === e.type && |
|
(null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) |
|
); |
|
}, |
|
first: Pt(function () { |
|
return [0]; |
|
}), |
|
last: Pt(function (e, t) { |
|
return [t - 1]; |
|
}), |
|
eq: Pt(function (e, t, n) { |
|
return [n < 0 ? n + t : n]; |
|
}), |
|
even: Pt(function (e, t) { |
|
for (var n = 0; n < t; n += 2) e.push(n); |
|
return e; |
|
}), |
|
odd: Pt(function (e, t) { |
|
for (var n = 1; n < t; n += 2) e.push(n); |
|
return e; |
|
}), |
|
lt: Pt(function (e, t, n) { |
|
for (var r = n < 0 ? n + t : n; 0 <= --r; ) e.push(r); |
|
return e; |
|
}), |
|
gt: Pt(function (e, t, n) { |
|
for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); |
|
return e; |
|
}), |
|
}, |
|
}).pseudos.nth = De.pseudos.eq), |
|
{ radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) |
|
De.pseudos[Re] = Bt(Re); |
|
for (Re in { submit: !0, reset: !0 }) De.pseudos[Re] = Ot(Re); |
|
function Lt() {} |
|
function Mt(e) { |
|
for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; |
|
return r; |
|
} |
|
function Ft(a, e, t) { |
|
var u = e.dir, |
|
s = t && "parentNode" === u, |
|
c = Ge++; |
|
return e.first |
|
? function (e, t, n) { |
|
for (; (e = e[u]); ) if (1 === e.nodeType || s) return a(e, t, n); |
|
} |
|
: function (e, t, n) { |
|
var r, |
|
o, |
|
i = [Ye, c]; |
|
if (n) { |
|
for (; (e = e[u]); ) |
|
if ((1 === e.nodeType || s) && a(e, t, n)) return !0; |
|
} else |
|
for (; (e = e[u]); ) |
|
if (1 === e.nodeType || s) { |
|
if ( |
|
(r = (o = e[Ke] || (e[Ke] = {}))[u]) && |
|
r[0] === Ye && |
|
r[1] === c |
|
) |
|
return (i[2] = r[2]); |
|
if (((o[u] = i)[2] = a(e, t, n))) return !0; |
|
} |
|
}; |
|
} |
|
function zt(o) { |
|
return 1 < o.length |
|
? function (e, t, n) { |
|
for (var r = o.length; r--; ) if (!o[r](e, t, n)) return !1; |
|
return !0; |
|
} |
|
: o[0]; |
|
} |
|
function Ut(e, t, n, r, o) { |
|
for (var i, a = [], u = 0, s = e.length, c = null != t; u < s; u++) |
|
(i = e[u]) && ((n && !n(i, r, o)) || (a.push(i), c && t.push(u))); |
|
return a; |
|
} |
|
function Vt(m, g, p, h, v, e) { |
|
return ( |
|
h && !h[Ke] && (h = Vt(h)), |
|
v && !v[Ke] && (v = Vt(v, e)), |
|
_t(function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u = [], |
|
s = [], |
|
c = t.length, |
|
l = |
|
e || |
|
(function (e, t, n) { |
|
for (var r = 0, o = t.length; r < o; r++) At(e, t[r], n); |
|
return n; |
|
})(g || "*", n.nodeType ? [n] : n, []), |
|
f = !m || (!e && g) ? l : Ut(l, u, m, n, r), |
|
d = p ? (v || (e ? m : c || h) ? [] : t) : f; |
|
if ((p && p(f, d, n, r), h)) |
|
for (o = Ut(d, s), h(o, [], n, r), i = o.length; i--; ) |
|
(a = o[i]) && (d[s[i]] = !(f[s[i]] = a)); |
|
if (e) { |
|
if (v || m) { |
|
if (v) { |
|
for (o = [], i = d.length; i--; ) |
|
(a = d[i]) && o.push((f[i] = a)); |
|
v(null, (d = []), o, r); |
|
} |
|
for (i = d.length; i--; ) |
|
(a = d[i]) && |
|
-1 < (o = v ? st.call(e, a) : u[i]) && |
|
(e[o] = !(t[o] = a)); |
|
} |
|
} else (d = Ut(d === t ? d.splice(c, d.length) : d)), v ? v(null, t, d, r) : at.apply(t, d); |
|
}) |
|
); |
|
} |
|
function Ht(e) { |
|
for ( |
|
var r, |
|
t, |
|
n, |
|
o = e.length, |
|
i = De.relative[e[0].type], |
|
a = i || De.relative[" "], |
|
u = i ? 1 : 0, |
|
s = Ft( |
|
function (e) { |
|
return e === r; |
|
}, |
|
a, |
|
!0 |
|
), |
|
c = Ft( |
|
function (e) { |
|
return -1 < st.call(r, e); |
|
}, |
|
a, |
|
!0 |
|
), |
|
l = [ |
|
function (e, t, n) { |
|
return ( |
|
(!i && (n || t !== Me)) || |
|
((r = t).nodeType ? s(e, t, n) : c(e, t, n)) |
|
); |
|
}, |
|
]; |
|
u < o; |
|
u++ |
|
) |
|
if ((t = De.relative[e[u].type])) l = [Ft(zt(l), t)]; |
|
else { |
|
if ((t = De.filter[e[u].type].apply(null, e[u].matches))[Ke]) { |
|
for (n = ++u; n < o && !De.relative[e[n].type]; n++); |
|
return Vt( |
|
1 < u && zt(l), |
|
1 < u && |
|
Mt( |
|
e |
|
.slice(0, u - 1) |
|
.concat({ value: " " === e[u - 2].type ? "*" : "" }) |
|
).replace(mt, "$1"), |
|
t, |
|
u < n && Ht(e.slice(u, n)), |
|
n < o && Ht((e = e.slice(n))), |
|
n < o && Mt(e) |
|
); |
|
} |
|
l.push(t); |
|
} |
|
return zt(l); |
|
} |
|
(Lt.prototype = De.filters = De.pseudos), |
|
(De.setFilters = new Lt()), |
|
(Pe = At.tokenize = |
|
function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = Qe[e + " "]; |
|
if (c) return t ? 0 : c.slice(0); |
|
for (a = e, u = [], s = De.preFilter; a; ) { |
|
for (i in ((n && !(r = gt.exec(a))) || |
|
(r && (a = a.slice(r[0].length) || a), u.push((o = []))), |
|
(n = !1), |
|
(r = pt.exec(a)) && |
|
((n = r.shift()), |
|
o.push({ value: n, type: r[0].replace(mt, " ") }), |
|
(a = a.slice(n.length))), |
|
De.filter)) |
|
!(r = yt[i].exec(a)) || |
|
(s[i] && !(r = s[i](r))) || |
|
((n = r.shift()), |
|
o.push({ value: n, type: i, matches: r }), |
|
(a = a.slice(n.length))); |
|
if (!n) break; |
|
} |
|
return t ? a.length : a ? At.error(e) : Qe(e, u).slice(0); |
|
}), |
|
(Ie = At.compile = |
|
function (e, t) { |
|
var n, |
|
h, |
|
v, |
|
b, |
|
y, |
|
r, |
|
o = [], |
|
i = [], |
|
a = Ze[e + " "]; |
|
if (!a) { |
|
for (t || (t = Pe(e)), n = t.length; n--; ) |
|
(a = Ht(t[n]))[Ke] ? o.push(a) : i.push(a); |
|
(a = Ze( |
|
e, |
|
((h = i), |
|
(b = 0 < (v = o).length), |
|
(y = 0 < h.length), |
|
(r = function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s = 0, |
|
c = "0", |
|
l = e && [], |
|
f = [], |
|
d = Me, |
|
m = e || (y && De.find.TAG("*", o)), |
|
g = (Ye += null == d ? 1 : Math.random() || 0.1), |
|
p = m.length; |
|
for ( |
|
o && (Me = t !== Ve && t); |
|
c !== p && null != (i = m[c]); |
|
c++ |
|
) { |
|
if (y && i) { |
|
for (a = 0; (u = h[a++]); ) |
|
if (u(i, t, n)) { |
|
r.push(i); |
|
break; |
|
} |
|
o && (Ye = g); |
|
} |
|
b && ((i = !u && i) && s--, e && l.push(i)); |
|
} |
|
if (((s += c), b && c !== s)) { |
|
for (a = 0; (u = v[a++]); ) u(l, f, t, n); |
|
if (e) { |
|
if (0 < s) for (; c--; ) l[c] || f[c] || (f[c] = ot.call(r)); |
|
f = Ut(f); |
|
} |
|
at.apply(r, f), |
|
o && |
|
!e && |
|
0 < f.length && |
|
1 < s + v.length && |
|
At.uniqueSort(r); |
|
} |
|
return o && ((Ye = g), (Me = d)), l; |
|
}), |
|
b ? _t(r) : r) |
|
)).selector = e; |
|
} |
|
return a; |
|
}), |
|
(Le = At.select = |
|
function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = "function" == typeof e && e, |
|
l = !r && Pe((e = c.selector || e)); |
|
if (((n = n || []), 1 === l.length)) { |
|
if ( |
|
2 < (i = l[0] = l[0].slice(0)).length && |
|
"ID" === (a = i[0]).type && |
|
_e.getById && |
|
9 === t.nodeType && |
|
je && |
|
De.relative[i[1].type] |
|
) { |
|
if (!(t = (De.find.ID(a.matches[0].replace(kt, Tt), t) || [])[0])) |
|
return n; |
|
c && (t = t.parentNode), (e = e.slice(i.shift().value.length)); |
|
} |
|
for ( |
|
o = yt.needsContext.test(e) ? 0 : i.length; |
|
o-- && ((a = i[o]), !De.relative[(u = a.type)]); |
|
|
|
) |
|
if ( |
|
(s = De.find[u]) && |
|
(r = s( |
|
a.matches[0].replace(kt, Tt), |
|
(Et.test(i[0].type) && It(t.parentNode)) || t |
|
)) |
|
) { |
|
if ((i.splice(o, 1), !(e = r.length && Mt(i)))) |
|
return at.apply(n, r), n; |
|
break; |
|
} |
|
} |
|
return ( |
|
(c || Ie(e, l))(r, t, !je, n, (Et.test(e) && It(t.parentNode)) || t), |
|
n |
|
); |
|
}), |
|
(_e.sortStable = Ke.split("").sort(et).join("") === Ke), |
|
(_e.detectDuplicates = !!ze), |
|
Ue(), |
|
(_e.sortDetached = !0); |
|
var jt = Array.isArray, |
|
qt = function (e, t, n) { |
|
var r, o; |
|
if (!e) return 0; |
|
if (((n = n || e), e.length !== undefined)) { |
|
for (r = 0, o = e.length; r < o; r++) |
|
if (!1 === t.call(n, e[r], r, e)) return 0; |
|
} else |
|
for (r in e) |
|
if (e.hasOwnProperty(r) && !1 === t.call(n, e[r], r, e)) return 0; |
|
return 1; |
|
}, |
|
$t = function (e, t, n) { |
|
var r, o; |
|
for (r = 0, o = e.length; r < o; r++) if (t.call(n, e[r], r, e)) return r; |
|
return -1; |
|
}, |
|
Wt = { |
|
isArray: jt, |
|
toArray: function (e) { |
|
var t, |
|
n, |
|
r = e; |
|
if (!jt(e)) for (r = [], t = 0, n = e.length; t < n; t++) r[t] = e[t]; |
|
return r; |
|
}, |
|
each: qt, |
|
map: function (n, r) { |
|
var o = []; |
|
return ( |
|
qt(n, function (e, t) { |
|
o.push(r(e, t, n)); |
|
}), |
|
o |
|
); |
|
}, |
|
filter: function (n, r) { |
|
var o = []; |
|
return ( |
|
qt(n, function (e, t) { |
|
(r && !r(e, t, n)) || o.push(e); |
|
}), |
|
o |
|
); |
|
}, |
|
indexOf: function (e, t) { |
|
var n, r; |
|
if (e) for (n = 0, r = e.length; n < r; n++) if (e[n] === t) return n; |
|
return -1; |
|
}, |
|
reduce: function (e, t, n, r) { |
|
var o = 0; |
|
for (arguments.length < 3 && (n = e[0]); o < e.length; o++) |
|
n = t.call(r, n, e[o], o); |
|
return n; |
|
}, |
|
findIndex: $t, |
|
find: function (e, t, n) { |
|
var r = $t(e, t, n); |
|
return -1 !== r ? e[r] : undefined; |
|
}, |
|
last: function (e) { |
|
return e[e.length - 1]; |
|
}, |
|
}, |
|
Kt = /^\s*|\s*$/g, |
|
Xt = function (e) { |
|
return null === e || e === undefined ? "" : ("" + e).replace(Kt, ""); |
|
}, |
|
Yt = function (e, t) { |
|
return t |
|
? !("array" !== t || !Wt.isArray(e)) || typeof e === t |
|
: e !== undefined; |
|
}, |
|
Gt = function (e, n, r, o) { |
|
(o = o || this), |
|
e && |
|
(r && (e = e[r]), |
|
Wt.each(e, function (e, t) { |
|
if (!1 === n.call(o, e, t, r)) return !1; |
|
Gt(e, n, r, o); |
|
})); |
|
}, |
|
Jt = { |
|
trim: Xt, |
|
isArray: Wt.isArray, |
|
is: Yt, |
|
toArray: Wt.toArray, |
|
makeMap: function (e, t, n) { |
|
var r; |
|
for ( |
|
t = t || ",", |
|
"string" == typeof (e = e || []) && (e = e.split(t)), |
|
n = n || {}, |
|
r = e.length; |
|
r--; |
|
|
|
) |
|
n[e[r]] = {}; |
|
return n; |
|
}, |
|
each: Wt.each, |
|
map: Wt.map, |
|
grep: Wt.filter, |
|
inArray: Wt.indexOf, |
|
hasOwn: function (e, t) { |
|
return Object.prototype.hasOwnProperty.call(e, t); |
|
}, |
|
extend: function (e, t) { |
|
for (var n, r, o, i = [], a = 2; a < arguments.length; a++) |
|
i[a - 2] = arguments[a]; |
|
var u, |
|
s = arguments; |
|
for (n = 1, r = s.length; n < r; n++) |
|
for (o in (t = s[n])) |
|
t.hasOwnProperty(o) && (u = t[o]) !== undefined && (e[o] = u); |
|
return e; |
|
}, |
|
create: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = this, |
|
c = 0; |
|
if ( |
|
((e = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(e)), |
|
(i = e[3].match(/(^|\.)(\w+)$/i)[2]), |
|
!(o = s.createNS(e[3].replace(/\.\w+$/, ""), n))[i]) |
|
) { |
|
if ("static" === e[2]) |
|
return ( |
|
(o[i] = t), |
|
void (this.onCreate && this.onCreate(e[2], e[3], o[i])) |
|
); |
|
t[i] || ((t[i] = function () {}), (c = 1)), |
|
(o[i] = t[i]), |
|
s.extend(o[i].prototype, t), |
|
e[5] && |
|
((r = s.resolve(e[5]).prototype), |
|
(a = e[5].match(/\.(\w+)$/i)[1]), |
|
(u = o[i]), |
|
(o[i] = c |
|
? function () { |
|
return r[a].apply(this, arguments); |
|
} |
|
: function () { |
|
return (this.parent = r[a]), u.apply(this, arguments); |
|
}), |
|
(o[i].prototype[i] = o[i]), |
|
s.each(r, function (e, t) { |
|
o[i].prototype[t] = r[t]; |
|
}), |
|
s.each(t, function (e, t) { |
|
r[t] |
|
? (o[i].prototype[t] = function () { |
|
return (this.parent = r[t]), e.apply(this, arguments); |
|
}) |
|
: t !== i && (o[i].prototype[t] = e); |
|
})), |
|
s.each(t["static"], function (e, t) { |
|
o[i][t] = e; |
|
}); |
|
} |
|
}, |
|
walk: Gt, |
|
createNS: function (e, t) { |
|
var n, r; |
|
for (t = t || H.window, e = e.split("."), n = 0; n < e.length; n++) |
|
t[(r = e[n])] || (t[r] = {}), (t = t[r]); |
|
return t; |
|
}, |
|
resolve: function (e, t) { |
|
var n, r; |
|
for ( |
|
t = t || H.window, n = 0, r = (e = e.split(".")).length; |
|
n < r && (t = t[e[n]]); |
|
n++ |
|
); |
|
return t; |
|
}, |
|
explode: function (e, t) { |
|
return !e || Yt(e, "array") ? e : Wt.map(e.split(t || ","), Xt); |
|
}, |
|
_addCacheSuffix: function (e) { |
|
var t = ge.cacheSuffix; |
|
return t && (e += (-1 === e.indexOf("?") ? "?" : "&") + t), e; |
|
}, |
|
}, |
|
Qt = H.document, |
|
Zt = Array.prototype.push, |
|
en = Array.prototype.slice, |
|
tn = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, |
|
nn = Ae.Event, |
|
rn = Jt.makeMap("children,contents,next,prev"), |
|
on = function (e) { |
|
return void 0 !== e; |
|
}, |
|
an = function (e) { |
|
return "string" == typeof e; |
|
}, |
|
un = function (e, t) { |
|
var n, r, o; |
|
for ( |
|
o = (t = t || Qt).createElement("div"), |
|
n = t.createDocumentFragment(), |
|
o.innerHTML = e; |
|
(r = o.firstChild); |
|
|
|
) |
|
n.appendChild(r); |
|
return n; |
|
}, |
|
sn = function (e, t, n, r) { |
|
var o; |
|
if (an(t)) t = un(t, wn(e[0])); |
|
else if (t.length && !t.nodeType) { |
|
if (((t = vn.makeArray(t)), r)) |
|
for (o = t.length - 1; 0 <= o; o--) sn(e, t[o], n, r); |
|
else for (o = 0; o < t.length; o++) sn(e, t[o], n, r); |
|
return e; |
|
} |
|
if (t.nodeType) for (o = e.length; o--; ) n.call(e[o], t); |
|
return e; |
|
}, |
|
cn = function (e, t) { |
|
return e && t && -1 !== (" " + e.className + " ").indexOf(" " + t + " "); |
|
}, |
|
ln = function (e, t, n) { |
|
var r, o; |
|
return ( |
|
(t = vn(t)[0]), |
|
e.each(function () { |
|
var e = this; |
|
(n && r === e.parentNode) || |
|
((r = e.parentNode), |
|
(o = t.cloneNode(!1)), |
|
e.parentNode.insertBefore(o, e)), |
|
o.appendChild(e); |
|
}), |
|
e |
|
); |
|
}, |
|
fn = Jt.makeMap( |
|
"fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom", |
|
" " |
|
), |
|
dn = Jt.makeMap( |
|
"checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected", |
|
" " |
|
), |
|
mn = { for: "htmlFor", class: "className", readonly: "readOnly" }, |
|
gn = { float: "cssFloat" }, |
|
pn = {}, |
|
hn = {}, |
|
vn = function (e, t) { |
|
return new vn.fn.init(e, t); |
|
}, |
|
bn = /^\s*|\s*$/g, |
|
yn = function (e) { |
|
return null === e || e === undefined ? "" : ("" + e).replace(bn, ""); |
|
}, |
|
Cn = function (e, t) { |
|
var n, r, o, i; |
|
if (e) |
|
if ((n = e.length) === undefined) { |
|
for (r in e) |
|
if (e.hasOwnProperty(r) && ((i = e[r]), !1 === t.call(i, r, i))) |
|
break; |
|
} else for (o = 0; o < n && ((i = e[o]), !1 !== t.call(i, o, i)); o++); |
|
return e; |
|
}, |
|
xn = function (e, n) { |
|
var r = []; |
|
return ( |
|
Cn(e, function (e, t) { |
|
n(t, e) && r.push(t); |
|
}), |
|
r |
|
); |
|
}, |
|
wn = function (e) { |
|
return e ? (9 === e.nodeType ? e : e.ownerDocument) : Qt; |
|
}; |
|
(vn.fn = vn.prototype = |
|
{ |
|
constructor: vn, |
|
selector: "", |
|
context: null, |
|
length: 0, |
|
init: function (e, t) { |
|
var n, |
|
r, |
|
o = this; |
|
if (!e) return o; |
|
if (e.nodeType) return (o.context = o[0] = e), (o.length = 1), o; |
|
if (t && t.nodeType) o.context = t; |
|
else { |
|
if (t) return vn(e).attr(t); |
|
o.context = t = H.document; |
|
} |
|
if (an(e)) { |
|
if ( |
|
!(n = |
|
"<" === (o.selector = e).charAt(0) && |
|
">" === e.charAt(e.length - 1) && |
|
3 <= e.length |
|
? [null, e, null] |
|
: tn.exec(e)) |
|
) |
|
return vn(t).find(e); |
|
if (n[1]) |
|
for (r = un(e, wn(t)).firstChild; r; ) |
|
Zt.call(o, r), (r = r.nextSibling); |
|
else { |
|
if (!(r = wn(t).getElementById(n[2]))) return o; |
|
if (r.id !== n[2]) return o.find(e); |
|
(o.length = 1), (o[0] = r); |
|
} |
|
} else this.add(e, !1); |
|
return o; |
|
}, |
|
toArray: function () { |
|
return Jt.toArray(this); |
|
}, |
|
add: function (e, t) { |
|
var n, |
|
r, |
|
o = this; |
|
if (an(e)) return o.add(vn(e)); |
|
if (!1 !== t) |
|
for ( |
|
n = vn.unique(o.toArray().concat(vn.makeArray(e))), |
|
o.length = n.length, |
|
r = 0; |
|
r < n.length; |
|
r++ |
|
) |
|
o[r] = n[r]; |
|
else Zt.apply(o, vn.makeArray(e)); |
|
return o; |
|
}, |
|
attr: function (t, n) { |
|
var e, |
|
r = this; |
|
if ("object" == typeof t) |
|
Cn(t, function (e, t) { |
|
r.attr(e, t); |
|
}); |
|
else { |
|
if (!on(n)) { |
|
if (r[0] && 1 === r[0].nodeType) { |
|
if ((e = pn[t]) && e.get) return e.get(r[0], t); |
|
if (dn[t]) return r.prop(t) ? t : undefined; |
|
null === (n = r[0].getAttribute(t, 2)) && (n = undefined); |
|
} |
|
return n; |
|
} |
|
this.each(function () { |
|
var e; |
|
if (1 === this.nodeType) { |
|
if ((e = pn[t]) && e.set) return void e.set(this, n); |
|
null === n |
|
? this.removeAttribute(t, 2) |
|
: this.setAttribute(t, n, 2); |
|
} |
|
}); |
|
} |
|
return r; |
|
}, |
|
removeAttr: function (e) { |
|
return this.attr(e, null); |
|
}, |
|
prop: function (e, t) { |
|
var n = this; |
|
if ("object" == typeof (e = mn[e] || e)) |
|
Cn(e, function (e, t) { |
|
n.prop(e, t); |
|
}); |
|
else { |
|
if (!on(t)) return n[0] && n[0].nodeType && e in n[0] ? n[0][e] : t; |
|
this.each(function () { |
|
1 === this.nodeType && (this[e] = t); |
|
}); |
|
} |
|
return n; |
|
}, |
|
css: function (n, r) { |
|
var e, |
|
o, |
|
i = this, |
|
t = function (e) { |
|
return e.replace(/-(\D)/g, function (e, t) { |
|
return t.toUpperCase(); |
|
}); |
|
}, |
|
a = function (e) { |
|
return e.replace(/[A-Z]/g, function (e) { |
|
return "-" + e; |
|
}); |
|
}; |
|
if ("object" == typeof n) |
|
Cn(n, function (e, t) { |
|
i.css(e, t); |
|
}); |
|
else if (on(r)) |
|
(n = t(n)), |
|
"number" != typeof r || fn[n] || (r = r.toString() + "px"), |
|
i.each(function () { |
|
var e = this.style; |
|
if ((o = hn[n]) && o.set) o.set(this, r); |
|
else { |
|
try { |
|
this.style[gn[n] || n] = r; |
|
} catch (t) {} |
|
(null !== r && "" !== r) || |
|
(e.removeProperty |
|
? e.removeProperty(a(n)) |
|
: e.removeAttribute(n)); |
|
} |
|
}); |
|
else { |
|
if (((e = i[0]), (o = hn[n]) && o.get)) return o.get(e); |
|
if (!e.ownerDocument.defaultView) |
|
return e.currentStyle ? e.currentStyle[t(n)] : ""; |
|
try { |
|
return e.ownerDocument.defaultView |
|
.getComputedStyle(e, null) |
|
.getPropertyValue(a(n)); |
|
} catch (u) { |
|
return undefined; |
|
} |
|
} |
|
return i; |
|
}, |
|
remove: function () { |
|
for (var e, t = this.length; t--; ) |
|
(e = this[t]), |
|
nn.clean(e), |
|
e.parentNode && e.parentNode.removeChild(e); |
|
return this; |
|
}, |
|
empty: function () { |
|
for (var e, t = this.length; t--; ) |
|
for (e = this[t]; e.firstChild; ) e.removeChild(e.firstChild); |
|
return this; |
|
}, |
|
html: function (e) { |
|
var t, |
|
n = this; |
|
if (on(e)) { |
|
t = n.length; |
|
try { |
|
for (; t--; ) n[t].innerHTML = e; |
|
} catch (r) { |
|
vn(n[t]).empty().append(e); |
|
} |
|
return n; |
|
} |
|
return n[0] ? n[0].innerHTML : ""; |
|
}, |
|
text: function (e) { |
|
var t, |
|
n = this; |
|
if (on(e)) { |
|
for (t = n.length; t--; ) |
|
"innerText" in n[t] ? (n[t].innerText = e) : (n[0].textContent = e); |
|
return n; |
|
} |
|
return n[0] ? n[0].innerText || n[0].textContent : ""; |
|
}, |
|
append: function () { |
|
return sn(this, arguments, function (e) { |
|
(1 === this.nodeType || (this.host && 1 === this.host.nodeType)) && |
|
this.appendChild(e); |
|
}); |
|
}, |
|
prepend: function () { |
|
return sn( |
|
this, |
|
arguments, |
|
function (e) { |
|
(1 === this.nodeType || (this.host && 1 === this.host.nodeType)) && |
|
this.insertBefore(e, this.firstChild); |
|
}, |
|
!0 |
|
); |
|
}, |
|
before: function () { |
|
return this[0] && this[0].parentNode |
|
? sn(this, arguments, function (e) { |
|
this.parentNode.insertBefore(e, this); |
|
}) |
|
: this; |
|
}, |
|
after: function () { |
|
return this[0] && this[0].parentNode |
|
? sn( |
|
this, |
|
arguments, |
|
function (e) { |
|
this.parentNode.insertBefore(e, this.nextSibling); |
|
}, |
|
!0 |
|
) |
|
: this; |
|
}, |
|
appendTo: function (e) { |
|
return vn(e).append(this), this; |
|
}, |
|
prependTo: function (e) { |
|
return vn(e).prepend(this), this; |
|
}, |
|
replaceWith: function (e) { |
|
return this.before(e).remove(); |
|
}, |
|
wrap: function (e) { |
|
return ln(this, e); |
|
}, |
|
wrapAll: function (e) { |
|
return ln(this, e, !0); |
|
}, |
|
wrapInner: function (e) { |
|
return ( |
|
this.each(function () { |
|
vn(this).contents().wrapAll(e); |
|
}), |
|
this |
|
); |
|
}, |
|
unwrap: function () { |
|
return this.parent().each(function () { |
|
vn(this).replaceWith(this.childNodes); |
|
}); |
|
}, |
|
clone: function () { |
|
var e = []; |
|
return ( |
|
this.each(function () { |
|
e.push(this.cloneNode(!0)); |
|
}), |
|
vn(e) |
|
); |
|
}, |
|
addClass: function (e) { |
|
return this.toggleClass(e, !0); |
|
}, |
|
removeClass: function (e) { |
|
return this.toggleClass(e, !1); |
|
}, |
|
toggleClass: function (o, i) { |
|
var e = this; |
|
return ( |
|
"string" != typeof o || |
|
(-1 !== o.indexOf(" ") |
|
? Cn(o.split(" "), function () { |
|
e.toggleClass(this, i); |
|
}) |
|
: e.each(function (e, t) { |
|
var n, r; |
|
(r = cn(t, o)) !== i && |
|
((n = t.className), |
|
r |
|
? (t.className = yn( |
|
(" " + n + " ").replace(" " + o + " ", " ") |
|
)) |
|
: (t.className += n ? " " + o : o)); |
|
})), |
|
e |
|
); |
|
}, |
|
hasClass: function (e) { |
|
return cn(this[0], e); |
|
}, |
|
each: function (e) { |
|
return Cn(this, e); |
|
}, |
|
on: function (e, t) { |
|
return this.each(function () { |
|
nn.bind(this, e, t); |
|
}); |
|
}, |
|
off: function (e, t) { |
|
return this.each(function () { |
|
nn.unbind(this, e, t); |
|
}); |
|
}, |
|
trigger: function (e) { |
|
return this.each(function () { |
|
"object" == typeof e ? nn.fire(this, e.type, e) : nn.fire(this, e); |
|
}); |
|
}, |
|
show: function () { |
|
return this.css("display", ""); |
|
}, |
|
hide: function () { |
|
return this.css("display", "none"); |
|
}, |
|
slice: function () { |
|
return new vn(en.apply(this, arguments)); |
|
}, |
|
eq: function (e) { |
|
return -1 === e ? this.slice(e) : this.slice(e, +e + 1); |
|
}, |
|
first: function () { |
|
return this.eq(0); |
|
}, |
|
last: function () { |
|
return this.eq(-1); |
|
}, |
|
find: function (e) { |
|
var t, |
|
n, |
|
r = []; |
|
for (t = 0, n = this.length; t < n; t++) vn.find(e, this[t], r); |
|
return vn(r); |
|
}, |
|
filter: function (n) { |
|
return vn( |
|
"function" == typeof n |
|
? xn(this.toArray(), function (e, t) { |
|
return n(t, e); |
|
}) |
|
: vn.filter(n, this.toArray()) |
|
); |
|
}, |
|
closest: function (n) { |
|
var r = []; |
|
return ( |
|
n instanceof vn && (n = n[0]), |
|
this.each(function (e, t) { |
|
for (; t; ) { |
|
if ("string" == typeof n && vn(t).is(n)) { |
|
r.push(t); |
|
break; |
|
} |
|
if (t === n) { |
|
r.push(t); |
|
break; |
|
} |
|
t = t.parentNode; |
|
} |
|
}), |
|
vn(r) |
|
); |
|
}, |
|
offset: function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i = 0, |
|
a = 0; |
|
return e |
|
? this.css(e) |
|
: ((t = this[0]) && |
|
((r = (n = t.ownerDocument).documentElement), |
|
t.getBoundingClientRect && |
|
((i = |
|
(o = t.getBoundingClientRect()).left + |
|
(r.scrollLeft || n.body.scrollLeft) - |
|
r.clientLeft), |
|
(a = o.top + (r.scrollTop || n.body.scrollTop) - r.clientTop))), |
|
{ left: i, top: a }); |
|
}, |
|
push: Zt, |
|
sort: [].sort, |
|
splice: [].splice, |
|
}), |
|
Jt.extend(vn, { |
|
extend: Jt.extend, |
|
makeArray: function (e) { |
|
return ((t = e) && t === t.window) || e.nodeType ? [e] : Jt.toArray(e); |
|
var t; |
|
}, |
|
inArray: function (e, t) { |
|
var n; |
|
if (t.indexOf) return t.indexOf(e); |
|
for (n = t.length; n--; ) if (t[n] === e) return n; |
|
return -1; |
|
}, |
|
isArray: Jt.isArray, |
|
each: Cn, |
|
trim: yn, |
|
grep: xn, |
|
find: At, |
|
expr: At.selectors, |
|
unique: At.uniqueSort, |
|
text: At.getText, |
|
contains: At.contains, |
|
filter: function (e, t, n) { |
|
var r = t.length; |
|
for (n && (e = ":not(" + e + ")"); r--; ) |
|
1 !== t[r].nodeType && t.splice(r, 1); |
|
return (t = |
|
1 === t.length |
|
? vn.find.matchesSelector(t[0], e) |
|
? [t[0]] |
|
: [] |
|
: vn.find.matches(e, t)); |
|
}, |
|
}); |
|
var Nn = function (e, t, n) { |
|
var r = [], |
|
o = e[t]; |
|
for ( |
|
"string" != typeof n && n instanceof vn && (n = n[0]); |
|
o && 9 !== o.nodeType; |
|
|
|
) { |
|
if (n !== undefined) { |
|
if (o === n) break; |
|
if ("string" == typeof n && vn(o).is(n)) break; |
|
} |
|
1 === o.nodeType && r.push(o), (o = o[t]); |
|
} |
|
return r; |
|
}, |
|
En = function (e, t, n, r) { |
|
var o = []; |
|
for (r instanceof vn && (r = r[0]); e; e = e[t]) |
|
if (!n || e.nodeType === n) { |
|
if (r !== undefined) { |
|
if (e === r) break; |
|
if ("string" == typeof r && vn(e).is(r)) break; |
|
} |
|
o.push(e); |
|
} |
|
return o; |
|
}, |
|
Sn = function (e, t, n) { |
|
for (e = e[t]; e; e = e[t]) if (e.nodeType === n) return e; |
|
return null; |
|
}; |
|
Cn( |
|
{ |
|
parent: function (e) { |
|
var t = e.parentNode; |
|
return t && 11 !== t.nodeType ? t : null; |
|
}, |
|
parents: function (e) { |
|
return Nn(e, "parentNode"); |
|
}, |
|
next: function (e) { |
|
return Sn(e, "nextSibling", 1); |
|
}, |
|
prev: function (e) { |
|
return Sn(e, "previousSibling", 1); |
|
}, |
|
children: function (e) { |
|
return En(e.firstChild, "nextSibling", 1); |
|
}, |
|
contents: function (e) { |
|
return Jt.toArray( |
|
("iframe" === e.nodeName |
|
? e.contentDocument || e.contentWindow.document |
|
: e |
|
).childNodes |
|
); |
|
}, |
|
}, |
|
function (e, r) { |
|
vn.fn[e] = function (t) { |
|
var n = []; |
|
return ( |
|
this.each(function () { |
|
var e = r.call(n, this, t, n); |
|
e && (vn.isArray(e) ? n.push.apply(n, e) : n.push(e)); |
|
}), |
|
1 < this.length && |
|
(rn[e] || (n = vn.unique(n)), |
|
0 === e.indexOf("parents") && (n = n.reverse())), |
|
(n = vn(n)), |
|
t ? n.filter(t) : n |
|
); |
|
}; |
|
} |
|
), |
|
Cn( |
|
{ |
|
parentsUntil: function (e, t) { |
|
return Nn(e, "parentNode", t); |
|
}, |
|
nextUntil: function (e, t) { |
|
return En(e, "nextSibling", 1, t).slice(1); |
|
}, |
|
prevUntil: function (e, t) { |
|
return En(e, "previousSibling", 1, t).slice(1); |
|
}, |
|
}, |
|
function (r, o) { |
|
vn.fn[r] = function (t, e) { |
|
var n = []; |
|
return ( |
|
this.each(function () { |
|
var e = o.call(n, this, t, n); |
|
e && (vn.isArray(e) ? n.push.apply(n, e) : n.push(e)); |
|
}), |
|
1 < this.length && |
|
((n = vn.unique(n)), |
|
(0 !== r.indexOf("parents") && "prevUntil" !== r) || |
|
(n = n.reverse())), |
|
(n = vn(n)), |
|
e ? n.filter(e) : n |
|
); |
|
}; |
|
} |
|
), |
|
(vn.fn.is = function (e) { |
|
return !!e && 0 < this.filter(e).length; |
|
}), |
|
(vn.fn.init.prototype = vn.fn), |
|
(vn.overrideDefaults = function (n) { |
|
var r, |
|
o = function (e, t) { |
|
return ( |
|
(r = r || n()), |
|
0 === arguments.length && (e = r.element), |
|
t || (t = r.context), |
|
new o.fn.init(e, t) |
|
); |
|
}; |
|
return vn.extend(o, this), o; |
|
}); |
|
var kn = function (n, r, e) { |
|
Cn(e, function (e, t) { |
|
(n[e] = n[e] || {}), (n[e][r] = t); |
|
}); |
|
}; |
|
ge.ie && |
|
ge.ie < 8 && |
|
(kn(pn, "get", { |
|
maxlength: function (e) { |
|
var t = e.maxLength; |
|
return 2147483647 === t ? undefined : t; |
|
}, |
|
size: function (e) { |
|
var t = e.size; |
|
return 20 === t ? undefined : t; |
|
}, |
|
class: function (e) { |
|
return e.className; |
|
}, |
|
style: function (e) { |
|
var t = e.style.cssText; |
|
return 0 === t.length ? undefined : t; |
|
}, |
|
}), |
|
kn(pn, "set", { |
|
class: function (e, t) { |
|
e.className = t; |
|
}, |
|
style: function (e, t) { |
|
e.style.cssText = t; |
|
}, |
|
})), |
|
ge.ie && |
|
ge.ie < 9 && |
|
((gn["float"] = "styleFloat"), |
|
kn(hn, "set", { |
|
opacity: function (e, t) { |
|
var n = e.style; |
|
null === t || "" === t |
|
? n.removeAttribute("filter") |
|
: ((n.zoom = 1), (n.filter = "alpha(opacity=" + 100 * t + ")")); |
|
}, |
|
})), |
|
(vn.attrHooks = pn), |
|
(vn.cssHooks = hn); |
|
var Tn, |
|
An, |
|
Rn, |
|
_n = function (e, t) { |
|
var n = (function (e, t) { |
|
for (var n = 0; n < e.length; n++) { |
|
var r = e[n]; |
|
if (r.test(t)) return r; |
|
} |
|
return undefined; |
|
})(e, t); |
|
if (!n) return { major: 0, minor: 0 }; |
|
var r = function (e) { |
|
return Number(t.replace(n, "$" + e)); |
|
}; |
|
return Bn(r(1), r(2)); |
|
}, |
|
Dn = function () { |
|
return Bn(0, 0); |
|
}, |
|
Bn = function (e, t) { |
|
return { major: e, minor: t }; |
|
}, |
|
On = { |
|
nu: Bn, |
|
detect: function (e, t) { |
|
var n = String(t).toLowerCase(); |
|
return 0 === e.length ? Dn() : _n(e, n); |
|
}, |
|
unknown: Dn, |
|
}, |
|
Pn = "Firefox", |
|
In = function (e, t) { |
|
return function () { |
|
return t === e; |
|
}; |
|
}, |
|
Ln = function (e) { |
|
var t = e.current; |
|
return { |
|
current: t, |
|
version: e.version, |
|
isEdge: In("Edge", t), |
|
isChrome: In("Chrome", t), |
|
isIE: In("IE", t), |
|
isOpera: In("Opera", t), |
|
isFirefox: In(Pn, t), |
|
isSafari: In("Safari", t), |
|
}; |
|
}, |
|
Mn = { |
|
unknown: function () { |
|
return Ln({ current: undefined, version: On.unknown() }); |
|
}, |
|
nu: Ln, |
|
edge: q("Edge"), |
|
chrome: q("Chrome"), |
|
ie: q("IE"), |
|
opera: q("Opera"), |
|
firefox: q(Pn), |
|
safari: q("Safari"), |
|
}, |
|
Fn = "Windows", |
|
zn = "Android", |
|
Un = "Solaris", |
|
Vn = "FreeBSD", |
|
Hn = function (e, t) { |
|
return function () { |
|
return t === e; |
|
}; |
|
}, |
|
jn = function (e) { |
|
var t = e.current; |
|
return { |
|
current: t, |
|
version: e.version, |
|
isWindows: Hn(Fn, t), |
|
isiOS: Hn("iOS", t), |
|
isAndroid: Hn(zn, t), |
|
isOSX: Hn("OSX", t), |
|
isLinux: Hn("Linux", t), |
|
isSolaris: Hn(Un, t), |
|
isFreeBSD: Hn(Vn, t), |
|
}; |
|
}, |
|
qn = { |
|
unknown: function () { |
|
return jn({ current: undefined, version: On.unknown() }); |
|
}, |
|
nu: jn, |
|
windows: q(Fn), |
|
ios: q("iOS"), |
|
android: q(zn), |
|
linux: q("Linux"), |
|
osx: q("OSX"), |
|
solaris: q(Un), |
|
freebsd: q(Vn), |
|
}, |
|
$n = function (e, t) { |
|
var n = String(t).toLowerCase(); |
|
return Y(e, function (e) { |
|
return e.search(n); |
|
}); |
|
}, |
|
Wn = function (e, n) { |
|
return $n(e, n).map(function (e) { |
|
var t = On.detect(e.versionRegexes, n); |
|
return { current: e.name, version: t }; |
|
}); |
|
}, |
|
Kn = function (e, n) { |
|
return $n(e, n).map(function (e) { |
|
var t = On.detect(e.versionRegexes, n); |
|
return { current: e.name, version: t }; |
|
}); |
|
}, |
|
Xn = function (e, t) { |
|
return -1 !== e.indexOf(t); |
|
}, |
|
Yn = function (e) { |
|
return e.replace(/^\s+|\s+$/g, ""); |
|
}, |
|
Gn = function (e) { |
|
return e.replace(/\s+$/g, ""); |
|
}, |
|
Jn = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, |
|
Qn = function (t) { |
|
return function (e) { |
|
return Xn(e, t); |
|
}; |
|
}, |
|
Zn = [ |
|
{ |
|
name: "Edge", |
|
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], |
|
search: function (e) { |
|
return ( |
|
Xn(e, "edge/") && |
|
Xn(e, "chrome") && |
|
Xn(e, "safari") && |
|
Xn(e, "applewebkit") |
|
); |
|
}, |
|
}, |
|
{ |
|
name: "Chrome", |
|
versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, Jn], |
|
search: function (e) { |
|
return Xn(e, "chrome") && !Xn(e, "chromeframe"); |
|
}, |
|
}, |
|
{ |
|
name: "IE", |
|
versionRegexes: [ |
|
/.*?msie\ ?([0-9]+)\.([0-9]+).*/, |
|
/.*?rv:([0-9]+)\.([0-9]+).*/, |
|
], |
|
search: function (e) { |
|
return Xn(e, "msie") || Xn(e, "trident"); |
|
}, |
|
}, |
|
{ |
|
name: "Opera", |
|
versionRegexes: [Jn, /.*?opera\/([0-9]+)\.([0-9]+).*/], |
|
search: Qn("opera"), |
|
}, |
|
{ |
|
name: "Firefox", |
|
versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], |
|
search: Qn("firefox"), |
|
}, |
|
{ |
|
name: "Safari", |
|
versionRegexes: [Jn, /.*?cpu os ([0-9]+)_([0-9]+).*/], |
|
search: function (e) { |
|
return (Xn(e, "safari") || Xn(e, "mobile/")) && Xn(e, "applewebkit"); |
|
}, |
|
}, |
|
], |
|
er = [ |
|
{ |
|
name: "Windows", |
|
search: Qn("win"), |
|
versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/], |
|
}, |
|
{ |
|
name: "iOS", |
|
search: function (e) { |
|
return Xn(e, "iphone") || Xn(e, "ipad"); |
|
}, |
|
versionRegexes: [ |
|
/.*?version\/\ ?([0-9]+)\.([0-9]+).*/, |
|
/.*cpu os ([0-9]+)_([0-9]+).*/, |
|
/.*cpu iphone os ([0-9]+)_([0-9]+).*/, |
|
], |
|
}, |
|
{ |
|
name: "Android", |
|
search: Qn("android"), |
|
versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/], |
|
}, |
|
{ |
|
name: "OSX", |
|
search: Qn("os x"), |
|
versionRegexes: [/.*?os\ x\ ?([0-9]+)_([0-9]+).*/], |
|
}, |
|
{ name: "Linux", search: Qn("linux"), versionRegexes: [] }, |
|
{ name: "Solaris", search: Qn("sunos"), versionRegexes: [] }, |
|
{ name: "FreeBSD", search: Qn("freebsd"), versionRegexes: [] }, |
|
], |
|
tr = { browsers: q(Zn), oses: q(er) }, |
|
nr = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = tr.browsers(), |
|
m = tr.oses(), |
|
g = Wn(d, e).fold(Mn.unknown, Mn.nu), |
|
p = Kn(m, e).fold(qn.unknown, qn.nu); |
|
return { |
|
browser: g, |
|
os: p, |
|
deviceType: |
|
((n = g), |
|
(r = e), |
|
(o = (t = p).isiOS() && !0 === /ipad/i.test(r)), |
|
(i = t.isiOS() && !o), |
|
(a = t.isAndroid() && 3 === t.version.major), |
|
(u = t.isAndroid() && 4 === t.version.major), |
|
(s = o || a || (u && !0 === /mobile/i.test(r))), |
|
(c = t.isiOS() || t.isAndroid()), |
|
(l = c && !s), |
|
(f = n.isSafari() && t.isiOS() && !1 === /safari/i.test(r)), |
|
{ |
|
isiPad: q(o), |
|
isiPhone: q(i), |
|
isTablet: q(s), |
|
isPhone: q(l), |
|
isTouch: q(c), |
|
isAndroid: t.isAndroid, |
|
isiOS: t.isiOS, |
|
isWebView: q(f), |
|
}), |
|
}; |
|
}, |
|
rr = { |
|
detect: |
|
((Tn = function () { |
|
var e = H.navigator.userAgent; |
|
return nr(e); |
|
}), |
|
(Rn = !1), |
|
function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) |
|
e[t] = arguments[t]; |
|
return Rn || ((Rn = !0), (An = Tn.apply(null, e))), An; |
|
}), |
|
}, |
|
or = function (e) { |
|
if (null === e || e === undefined) |
|
throw new Error("Node cannot be null or undefined"); |
|
return { dom: q(e) }; |
|
}, |
|
ir = { |
|
fromHtml: function (e, t) { |
|
var n = (t || H.document).createElement("div"); |
|
if (((n.innerHTML = e), !n.hasChildNodes() || 1 < n.childNodes.length)) |
|
throw ( |
|
(H.console.error("HTML does not have a single root node", e), |
|
new Error("HTML must have a single root node")) |
|
); |
|
return or(n.childNodes[0]); |
|
}, |
|
fromTag: function (e, t) { |
|
var n = (t || H.document).createElement(e); |
|
return or(n); |
|
}, |
|
fromText: function (e, t) { |
|
var n = (t || H.document).createTextNode(e); |
|
return or(n); |
|
}, |
|
fromDom: or, |
|
fromPoint: function (e, t, n) { |
|
var r = e.dom(); |
|
return A.from(r.elementFromPoint(t, n)).map(or); |
|
}, |
|
}, |
|
ar = |
|
(H.Node.ATTRIBUTE_NODE, |
|
H.Node.CDATA_SECTION_NODE, |
|
H.Node.COMMENT_NODE, |
|
H.Node.DOCUMENT_NODE), |
|
ur = |
|
(H.Node.DOCUMENT_TYPE_NODE, |
|
H.Node.DOCUMENT_FRAGMENT_NODE, |
|
H.Node.ELEMENT_NODE), |
|
sr = H.Node.TEXT_NODE, |
|
cr = |
|
(H.Node.PROCESSING_INSTRUCTION_NODE, |
|
H.Node.ENTITY_REFERENCE_NODE, |
|
H.Node.ENTITY_NODE, |
|
H.Node.NOTATION_NODE, |
|
function (e) { |
|
return e.dom().nodeName.toLowerCase(); |
|
}), |
|
lr = function (t) { |
|
return function (e) { |
|
return e.dom().nodeType === t; |
|
}; |
|
}, |
|
fr = lr(ur), |
|
dr = lr(sr), |
|
mr = Object.keys, |
|
gr = Object.hasOwnProperty, |
|
pr = function (e, t) { |
|
for (var n = mr(e), r = 0, o = n.length; r < o; r++) { |
|
var i = n[r]; |
|
t(e[i], i, e); |
|
} |
|
}, |
|
hr = function (r, o) { |
|
var i = {}; |
|
return ( |
|
pr(r, function (e, t) { |
|
var n = o(e, t, r); |
|
i[n.k] = n.v; |
|
}), |
|
i |
|
); |
|
}, |
|
vr = function (e) { |
|
return e.style !== undefined && P(e.style.getPropertyValue); |
|
}, |
|
br = function (e, t, n) { |
|
if (!(R(n) || O(n) || I(n))) |
|
throw ( |
|
(H.console.error( |
|
"Invalid call to Attr.set. Key ", |
|
t, |
|
":: Value ", |
|
n, |
|
":: Element ", |
|
e |
|
), |
|
new Error("Attribute value was not simple")) |
|
); |
|
e.setAttribute(t, n + ""); |
|
}, |
|
yr = function (e, t, n) { |
|
br(e.dom(), t, n); |
|
}, |
|
Cr = function (e, t) { |
|
var n = e.dom(); |
|
pr(t, function (e, t) { |
|
br(n, t, e); |
|
}); |
|
}, |
|
xr = function (e, t) { |
|
var n = e.dom().getAttribute(t); |
|
return null === n ? undefined : n; |
|
}, |
|
wr = function (e, t) { |
|
e.dom().removeAttribute(t); |
|
}, |
|
Nr = function (e, t) { |
|
var n = e.dom(); |
|
pr(t, function (e, t) { |
|
!(function (e, t, n) { |
|
if (!R(n)) |
|
throw ( |
|
(H.console.error( |
|
"Invalid call to CSS.set. Property ", |
|
t, |
|
":: Value ", |
|
n, |
|
":: Element ", |
|
e |
|
), |
|
new Error("CSS value must be a string: " + n)) |
|
); |
|
vr(e) && e.style.setProperty(t, n); |
|
})(n, t, e); |
|
}); |
|
}, |
|
Er = function (e, t) { |
|
var n, |
|
r, |
|
o = e.dom(), |
|
i = H.window.getComputedStyle(o).getPropertyValue(t), |
|
a = |
|
"" !== i || |
|
((r = dr((n = e)) ? n.dom().parentNode : n.dom()) !== undefined && |
|
null !== r && |
|
r.ownerDocument.body.contains(r)) |
|
? i |
|
: Sr(o, t); |
|
return null === a ? undefined : a; |
|
}, |
|
Sr = function (e, t) { |
|
return vr(e) ? e.style.getPropertyValue(t) : ""; |
|
}, |
|
kr = function () { |
|
for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; |
|
return function () { |
|
for (var n = [], e = 0; e < arguments.length; e++) n[e] = arguments[e]; |
|
if (t.length !== n.length) |
|
throw new Error( |
|
'Wrong number of arguments to struct. Expected "[' + |
|
t.length + |
|
']", got ' + |
|
n.length + |
|
" arguments" |
|
); |
|
var r = {}; |
|
return ( |
|
U(t, function (e, t) { |
|
r[e] = q(n[t]); |
|
}), |
|
r |
|
); |
|
}; |
|
}, |
|
Tr = function (e, t) { |
|
for ( |
|
var n = [], |
|
r = function (e) { |
|
return n.push(e), t(e); |
|
}, |
|
o = t(e); |
|
(o = o.bind(r)).isSome(); |
|
|
|
); |
|
return n; |
|
}, |
|
Ar = function () { |
|
return ue.getOrDie("Node"); |
|
}, |
|
Rr = function (e, t, n) { |
|
return 0 != (e.compareDocumentPosition(t) & n); |
|
}, |
|
_r = function (e, t) { |
|
return Rr(e, t, Ar().DOCUMENT_POSITION_CONTAINED_BY); |
|
}, |
|
Dr = ur, |
|
Br = ar, |
|
Or = function (e, t) { |
|
var n = e.dom(); |
|
if (n.nodeType !== Dr) return !1; |
|
if (n.matches !== undefined) return n.matches(t); |
|
if (n.msMatchesSelector !== undefined) return n.msMatchesSelector(t); |
|
if (n.webkitMatchesSelector !== undefined) |
|
return n.webkitMatchesSelector(t); |
|
if (n.mozMatchesSelector !== undefined) return n.mozMatchesSelector(t); |
|
throw new Error("Browser lacks native selectors"); |
|
}, |
|
Pr = function (e) { |
|
return ( |
|
(e.nodeType !== Dr && e.nodeType !== Br) || 0 === e.childElementCount |
|
); |
|
}, |
|
Ir = function (e, t) { |
|
return e.dom() === t.dom(); |
|
}, |
|
Lr = rr.detect().browser.isIE() |
|
? function (e, t) { |
|
return _r(e.dom(), t.dom()); |
|
} |
|
: function (e, t) { |
|
var n = e.dom(), |
|
r = t.dom(); |
|
return n !== r && n.contains(r); |
|
}, |
|
Mr = function (e) { |
|
return ir.fromDom(e.dom().ownerDocument); |
|
}, |
|
Fr = function (e) { |
|
var t = e.dom().ownerDocument.defaultView; |
|
return ir.fromDom(t); |
|
}, |
|
zr = function (e) { |
|
var t = e.dom(); |
|
return A.from(t.parentNode).map(ir.fromDom); |
|
}, |
|
Ur = function (e) { |
|
var t = e.dom(); |
|
return A.from(t.previousSibling).map(ir.fromDom); |
|
}, |
|
Vr = function (e) { |
|
var t = e.dom(); |
|
return A.from(t.nextSibling).map(ir.fromDom); |
|
}, |
|
Hr = function (e) { |
|
return (t = Tr(e, Ur)), (n = L.call(t, 0)).reverse(), n; |
|
var t, n; |
|
}, |
|
jr = function (e) { |
|
return Tr(e, Vr); |
|
}, |
|
qr = function (e) { |
|
var t = e.dom(); |
|
return W(t.childNodes, ir.fromDom); |
|
}, |
|
$r = function (e, t) { |
|
var n = e.dom().childNodes; |
|
return A.from(n[t]).map(ir.fromDom); |
|
}, |
|
Wr = function (e) { |
|
return $r(e, 0); |
|
}, |
|
Kr = function (e) { |
|
return $r(e, e.dom().childNodes.length - 1); |
|
}, |
|
Xr = (kr("element", "offset"), rr.detect().browser), |
|
Yr = function (e) { |
|
return Y(e, fr); |
|
}, |
|
Gr = { |
|
getPos: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = 0, |
|
u = 0, |
|
s = e.ownerDocument; |
|
if (((n = n || e), t)) { |
|
if ( |
|
n === e && |
|
t.getBoundingClientRect && |
|
"static" === Er(ir.fromDom(e), "position") |
|
) |
|
return { |
|
x: (a = |
|
(o = t.getBoundingClientRect()).left + |
|
(s.documentElement.scrollLeft || e.scrollLeft) - |
|
s.documentElement.clientLeft), |
|
y: (u = |
|
o.top + |
|
(s.documentElement.scrollTop || e.scrollTop) - |
|
s.documentElement.clientTop), |
|
}; |
|
for (r = t; r && r !== n && r.nodeType; ) |
|
(a += r.offsetLeft || 0), |
|
(u += r.offsetTop || 0), |
|
(r = r.offsetParent); |
|
for (r = t.parentNode; r && r !== n && r.nodeType; ) |
|
(a -= r.scrollLeft || 0), |
|
(u -= r.scrollTop || 0), |
|
(r = r.parentNode); |
|
u += |
|
((i = ir.fromDom(t)), |
|
Xr.isFirefox() && "table" === cr(i) |
|
? Yr(qr(i)) |
|
.filter(function (e) { |
|
return "caption" === cr(e); |
|
}) |
|
.bind(function (o) { |
|
return Yr(jr(o)).map(function (e) { |
|
var t = e.dom().offsetTop, |
|
n = o.dom().offsetTop, |
|
r = o.dom().offsetHeight; |
|
return t <= n ? -r : 0; |
|
}); |
|
}) |
|
.getOr(0) |
|
: 0); |
|
} |
|
return { x: a, y: u }; |
|
}, |
|
}, |
|
Jr = function (e) { |
|
var n = A.none(), |
|
t = [], |
|
r = function (e) { |
|
o() ? a(e) : t.push(e); |
|
}, |
|
o = function () { |
|
return n.isSome(); |
|
}, |
|
i = function (e) { |
|
U(e, a); |
|
}, |
|
a = function (t) { |
|
n.each(function (e) { |
|
H.setTimeout(function () { |
|
t(e); |
|
}, 0); |
|
}); |
|
}; |
|
return ( |
|
e(function (e) { |
|
(n = A.some(e)), i(t), (t = []); |
|
}), |
|
{ |
|
get: r, |
|
map: function (n) { |
|
return Jr(function (t) { |
|
r(function (e) { |
|
t(n(e)); |
|
}); |
|
}); |
|
}, |
|
isReady: o, |
|
} |
|
); |
|
}, |
|
Qr = { |
|
nu: Jr, |
|
pure: function (t) { |
|
return Jr(function (e) { |
|
e(t); |
|
}); |
|
}, |
|
}, |
|
Zr = function (t) { |
|
var e = function (e) { |
|
var r; |
|
t( |
|
((r = e), |
|
function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) |
|
e[t] = arguments[t]; |
|
var n = this; |
|
H.setTimeout(function () { |
|
r.apply(n, e); |
|
}, 0); |
|
}) |
|
); |
|
}, |
|
n = function () { |
|
return Qr.nu(e); |
|
}; |
|
return { |
|
map: function (r) { |
|
return Zr(function (n) { |
|
e(function (e) { |
|
var t = r(e); |
|
n(t); |
|
}); |
|
}); |
|
}, |
|
bind: function (n) { |
|
return Zr(function (t) { |
|
e(function (e) { |
|
n(e).get(t); |
|
}); |
|
}); |
|
}, |
|
anonBind: function (n) { |
|
return Zr(function (t) { |
|
e(function (e) { |
|
n.get(t); |
|
}); |
|
}); |
|
}, |
|
toLazy: n, |
|
toCached: function () { |
|
var t = null; |
|
return Zr(function (e) { |
|
null === t && (t = n()), t.get(e); |
|
}); |
|
}, |
|
get: e, |
|
}; |
|
}, |
|
eo = { |
|
nu: Zr, |
|
pure: function (t) { |
|
return Zr(function (e) { |
|
e(t); |
|
}); |
|
}, |
|
}, |
|
to = function (a, e) { |
|
return e(function (r) { |
|
var o = [], |
|
i = 0; |
|
0 === a.length |
|
? r([]) |
|
: U(a, function (e, t) { |
|
var n; |
|
e.get( |
|
((n = t), |
|
function (e) { |
|
(o[n] = e), ++i >= a.length && r(o); |
|
}) |
|
); |
|
}); |
|
}); |
|
}, |
|
no = function (e) { |
|
return to(e, eo.nu); |
|
}, |
|
ro = function (n) { |
|
return { |
|
is: function (e) { |
|
return n === e; |
|
}, |
|
isValue: x, |
|
isError: C, |
|
getOr: q(n), |
|
getOrThunk: q(n), |
|
getOrDie: q(n), |
|
or: function (e) { |
|
return ro(n); |
|
}, |
|
orThunk: function (e) { |
|
return ro(n); |
|
}, |
|
fold: function (e, t) { |
|
return t(n); |
|
}, |
|
map: function (e) { |
|
return ro(e(n)); |
|
}, |
|
mapError: function (e) { |
|
return ro(n); |
|
}, |
|
each: function (e) { |
|
e(n); |
|
}, |
|
bind: function (e) { |
|
return e(n); |
|
}, |
|
exists: function (e) { |
|
return e(n); |
|
}, |
|
forall: function (e) { |
|
return e(n); |
|
}, |
|
toOption: function () { |
|
return A.some(n); |
|
}, |
|
}; |
|
}, |
|
oo = function (n) { |
|
return { |
|
is: C, |
|
isValue: C, |
|
isError: x, |
|
getOr: $, |
|
getOrThunk: function (e) { |
|
return e(); |
|
}, |
|
getOrDie: function () { |
|
return ( |
|
(e = String(n)), |
|
(function () { |
|
throw new Error(e); |
|
})() |
|
); |
|
var e; |
|
}, |
|
or: function (e) { |
|
return e; |
|
}, |
|
orThunk: function (e) { |
|
return e(); |
|
}, |
|
fold: function (e, t) { |
|
return e(n); |
|
}, |
|
map: function (e) { |
|
return oo(n); |
|
}, |
|
mapError: function (e) { |
|
return oo(e(n)); |
|
}, |
|
each: o, |
|
bind: function (e) { |
|
return oo(n); |
|
}, |
|
exists: C, |
|
forall: x, |
|
toOption: A.none, |
|
}; |
|
}, |
|
io = { |
|
value: ro, |
|
error: oo, |
|
fromOption: function (e, t) { |
|
return e.fold(function () { |
|
return oo(t); |
|
}, ro); |
|
}, |
|
}; |
|
function ao(e, u) { |
|
var t = e, |
|
n = function (e, t, n, r) { |
|
var o, i; |
|
if (e) { |
|
if (!r && e[t]) return e[t]; |
|
if (e !== u) { |
|
if ((o = e[n])) return o; |
|
for (i = e.parentNode; i && i !== u; i = i.parentNode) |
|
if ((o = i[n])) return o; |
|
} |
|
} |
|
}; |
|
(this.current = function () { |
|
return t; |
|
}), |
|
(this.next = function (e) { |
|
return (t = n(t, "firstChild", "nextSibling", e)); |
|
}), |
|
(this.prev = function (e) { |
|
return (t = n(t, "lastChild", "previousSibling", e)); |
|
}), |
|
(this.prev2 = function (e) { |
|
return (t = (function (e, t, n, r) { |
|
var o, i, a; |
|
if (e) { |
|
if (((o = e[n]), u && o === u)) return; |
|
if (o) { |
|
if (!r) for (a = o[t]; a; a = a[t]) if (!a[t]) return a; |
|
return o; |
|
} |
|
if ((i = e.parentNode) && i !== u) return i; |
|
} |
|
})(t, "lastChild", "previousSibling", e)); |
|
}); |
|
} |
|
var uo, |
|
so, |
|
co, |
|
lo = function (t) { |
|
var n; |
|
return function (e) { |
|
return (n = |
|
n || |
|
(function (e, t) { |
|
for (var n = {}, r = 0, o = e.length; r < o; r++) { |
|
var i = e[r]; |
|
n[String(i)] = t(i, r); |
|
} |
|
return n; |
|
})(t, q(!0))).hasOwnProperty(cr(e)); |
|
}; |
|
}, |
|
fo = lo(["h1", "h2", "h3", "h4", "h5", "h6"]), |
|
mo = lo([ |
|
"article", |
|
"aside", |
|
"details", |
|
"div", |
|
"dt", |
|
"figcaption", |
|
"footer", |
|
"form", |
|
"fieldset", |
|
"header", |
|
"hgroup", |
|
"html", |
|
"main", |
|
"nav", |
|
"section", |
|
"summary", |
|
"body", |
|
"p", |
|
"dl", |
|
"multicol", |
|
"dd", |
|
"figure", |
|
"address", |
|
"center", |
|
"blockquote", |
|
"h1", |
|
"h2", |
|
"h3", |
|
"h4", |
|
"h5", |
|
"h6", |
|
"listing", |
|
"xmp", |
|
"pre", |
|
"plaintext", |
|
"menu", |
|
"dir", |
|
"ul", |
|
"ol", |
|
"li", |
|
"hr", |
|
"table", |
|
"tbody", |
|
"thead", |
|
"tfoot", |
|
"th", |
|
"tr", |
|
"td", |
|
"caption", |
|
]), |
|
go = function (e) { |
|
return fr(e) && !mo(e); |
|
}, |
|
po = function (e) { |
|
return fr(e) && "br" === cr(e); |
|
}, |
|
ho = lo([ |
|
"h1", |
|
"h2", |
|
"h3", |
|
"h4", |
|
"h5", |
|
"h6", |
|
"p", |
|
"div", |
|
"address", |
|
"pre", |
|
"form", |
|
"blockquote", |
|
"center", |
|
"dir", |
|
"fieldset", |
|
"header", |
|
"footer", |
|
"article", |
|
"section", |
|
"hgroup", |
|
"aside", |
|
"nav", |
|
"figure", |
|
]), |
|
vo = lo(["ul", "ol", "dl"]), |
|
bo = lo(["li", "dd", "dt"]), |
|
yo = lo([ |
|
"area", |
|
"base", |
|
"basefont", |
|
"br", |
|
"col", |
|
"frame", |
|
"hr", |
|
"img", |
|
"input", |
|
"isindex", |
|
"link", |
|
"meta", |
|
"param", |
|
"embed", |
|
"source", |
|
"wbr", |
|
"track", |
|
]), |
|
Co = lo(["thead", "tbody", "tfoot"]), |
|
xo = lo(["td", "th"]), |
|
wo = lo(["pre", "script", "textarea", "style"]), |
|
No = function (t) { |
|
return function (e) { |
|
return !!e && e.nodeType === t; |
|
}; |
|
}, |
|
Eo = No(1), |
|
So = function (e) { |
|
var r = e.toLowerCase().split(" "); |
|
return function (e) { |
|
var t, n; |
|
if (e && e.nodeType) |
|
for (n = e.nodeName.toLowerCase(), t = 0; t < r.length; t++) |
|
if (n === r[t]) return !0; |
|
return !1; |
|
}; |
|
}, |
|
ko = function (t) { |
|
return function (e) { |
|
if (Eo(e)) { |
|
if (e.contentEditable === t) return !0; |
|
if (e.getAttribute("data-mce-contenteditable") === t) return !0; |
|
} |
|
return !1; |
|
}; |
|
}, |
|
To = No(3), |
|
Ao = No(8), |
|
Ro = No(9), |
|
_o = No(11), |
|
Do = So("br"), |
|
Bo = ko("true"), |
|
Oo = ko("false"), |
|
Po = { |
|
isText: To, |
|
isElement: Eo, |
|
isComment: Ao, |
|
isDocument: Ro, |
|
isDocumentFragment: _o, |
|
isBr: Do, |
|
isContentEditableTrue: Bo, |
|
isContentEditableFalse: Oo, |
|
isRestrictedNode: function (e) { |
|
return !!e && !Object.getPrototypeOf(e); |
|
}, |
|
matchNodeNames: So, |
|
hasPropValue: function (t, n) { |
|
return function (e) { |
|
return Eo(e) && e[t] === n; |
|
}; |
|
}, |
|
hasAttribute: function (t, e) { |
|
return function (e) { |
|
return Eo(e) && e.hasAttribute(t); |
|
}; |
|
}, |
|
hasAttributeValue: function (t, n) { |
|
return function (e) { |
|
return Eo(e) && e.getAttribute(t) === n; |
|
}; |
|
}, |
|
matchStyleValues: function (r, e) { |
|
var o = e.toLowerCase().split(" "); |
|
return function (e) { |
|
var t; |
|
if (Eo(e)) |
|
for (t = 0; t < o.length; t++) { |
|
var n = e.ownerDocument.defaultView.getComputedStyle(e, null); |
|
if ((n ? n.getPropertyValue(r) : null) === o[t]) return !0; |
|
} |
|
return !1; |
|
}; |
|
}, |
|
isBogus: function (e) { |
|
return Eo(e) && e.hasAttribute("data-mce-bogus"); |
|
}, |
|
isBogusAll: function (e) { |
|
return Eo(e) && "all" === e.getAttribute("data-mce-bogus"); |
|
}, |
|
isTable: function (e) { |
|
return Eo(e) && "TABLE" === e.tagName; |
|
}, |
|
}, |
|
Io = function (e) { |
|
return ( |
|
e && |
|
"SPAN" === e.tagName && |
|
"bookmark" === e.getAttribute("data-mce-type") |
|
); |
|
}, |
|
Lo = function (e, t) { |
|
var n, |
|
r = t.childNodes; |
|
if (!Po.isElement(t) || !Io(t)) { |
|
for (n = r.length - 1; 0 <= n; n--) Lo(e, r[n]); |
|
if (!1 === Po.isDocument(t)) { |
|
if (Po.isText(t) && 0 < t.nodeValue.length) { |
|
var o = Jt.trim(t.nodeValue).length; |
|
if (e.isBlock(t.parentNode) || 0 < o) return; |
|
if ( |
|
0 === o && |
|
((a = |
|
(i = t).previousSibling && |
|
"SPAN" === i.previousSibling.nodeName), |
|
(u = i.nextSibling && "SPAN" === i.nextSibling.nodeName), |
|
a && u) |
|
) |
|
return; |
|
} else if ( |
|
Po.isElement(t) && |
|
(1 === (r = t.childNodes).length && |
|
Io(r[0]) && |
|
t.parentNode.insertBefore(r[0], t), |
|
r.length || yo(ir.fromDom(t))) |
|
) |
|
return; |
|
e.remove(t); |
|
} |
|
var i, a, u; |
|
return t; |
|
} |
|
}, |
|
Mo = { trimNode: Lo }, |
|
Fo = Jt.makeMap, |
|
zo = |
|
/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, |
|
Uo = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, |
|
Vo = /[<>&\"\']/g, |
|
Ho = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi, |
|
jo = { |
|
128: "\u20ac", |
|
130: "\u201a", |
|
131: "\u0192", |
|
132: "\u201e", |
|
133: "\u2026", |
|
134: "\u2020", |
|
135: "\u2021", |
|
136: "\u02c6", |
|
137: "\u2030", |
|
138: "\u0160", |
|
139: "\u2039", |
|
140: "\u0152", |
|
142: "\u017d", |
|
145: "\u2018", |
|
146: "\u2019", |
|
147: "\u201c", |
|
148: "\u201d", |
|
149: "\u2022", |
|
150: "\u2013", |
|
151: "\u2014", |
|
152: "\u02dc", |
|
153: "\u2122", |
|
154: "\u0161", |
|
155: "\u203a", |
|
156: "\u0153", |
|
158: "\u017e", |
|
159: "\u0178", |
|
}; |
|
(so = { |
|
'"': """, |
|
"'": "'", |
|
"<": "<", |
|
">": ">", |
|
"&": "&", |
|
"`": "`", |
|
}), |
|
(co = { |
|
"<": "<", |
|
">": ">", |
|
"&": "&", |
|
""": '"', |
|
"'": "'", |
|
}); |
|
var qo = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = {}; |
|
if (e) { |
|
for (e = e.split(","), t = t || 10, n = 0; n < e.length; n += 2) |
|
(r = String.fromCharCode(parseInt(e[n], t))), |
|
so[r] || ((o = "&" + e[n + 1] + ";"), (i[r] = o), (i[o] = r)); |
|
return i; |
|
} |
|
}; |
|
uo = qo( |
|
"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro", |
|
32 |
|
); |
|
var $o = function (e, t) { |
|
return e.replace(t ? zo : Uo, function (e) { |
|
return so[e] || e; |
|
}); |
|
}, |
|
Wo = function (e, t) { |
|
return e.replace(t ? zo : Uo, function (e) { |
|
return 1 < e.length |
|
? "&#" + |
|
(1024 * (e.charCodeAt(0) - 55296) + |
|
(e.charCodeAt(1) - 56320) + |
|
65536) + |
|
";" |
|
: so[e] || "&#" + e.charCodeAt(0) + ";"; |
|
}); |
|
}, |
|
Ko = function (e, t, n) { |
|
return ( |
|
(n = n || uo), |
|
e.replace(t ? zo : Uo, function (e) { |
|
return so[e] || n[e] || e; |
|
}) |
|
); |
|
}, |
|
Xo = { |
|
encodeRaw: $o, |
|
encodeAllRaw: function (e) { |
|
return ("" + e).replace(Vo, function (e) { |
|
return so[e] || e; |
|
}); |
|
}, |
|
encodeNumeric: Wo, |
|
encodeNamed: Ko, |
|
getEncodeFunc: function (e, t) { |
|
var n = qo(t) || uo, |
|
r = Fo(e.replace(/\+/g, ",")); |
|
return r.named && r.numeric |
|
? function (e, t) { |
|
return e.replace(t ? zo : Uo, function (e) { |
|
return so[e] !== undefined |
|
? so[e] |
|
: n[e] !== undefined |
|
? n[e] |
|
: 1 < e.length |
|
? "&#" + |
|
(1024 * (e.charCodeAt(0) - 55296) + |
|
(e.charCodeAt(1) - 56320) + |
|
65536) + |
|
";" |
|
: "&#" + e.charCodeAt(0) + ";"; |
|
}); |
|
} |
|
: r.named |
|
? t |
|
? function (e, t) { |
|
return Ko(e, t, n); |
|
} |
|
: Ko |
|
: r.numeric |
|
? Wo |
|
: $o; |
|
}, |
|
decode: function (e) { |
|
return e.replace(Ho, function (e, t) { |
|
return t |
|
? 65535 < |
|
(t = |
|
"x" === t.charAt(0).toLowerCase() |
|
? parseInt(t.substr(1), 16) |
|
: parseInt(t, 10)) |
|
? ((t -= 65536), |
|
String.fromCharCode(55296 + (t >> 10), 56320 + (1023 & t))) |
|
: jo[t] || String.fromCharCode(t) |
|
: co[e] || |
|
uo[e] || |
|
((n = e), |
|
((r = ir.fromTag("div").dom()).innerHTML = n), |
|
r.textContent || r.innerText || n); |
|
var n, r; |
|
}); |
|
}, |
|
}, |
|
Yo = {}, |
|
Go = {}, |
|
Jo = Jt.makeMap, |
|
Qo = Jt.each, |
|
Zo = Jt.extend, |
|
ei = Jt.explode, |
|
ti = Jt.inArray, |
|
ni = function (e, t) { |
|
return (e = Jt.trim(e)) ? e.split(t || " ") : []; |
|
}, |
|
ri = function (e) { |
|
var u, |
|
t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
s = {}, |
|
a = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = function (e, t) { |
|
var n, |
|
r, |
|
o = {}; |
|
for (n = 0, r = e.length; n < r; n++) o[e[n]] = t || {}; |
|
return o; |
|
}; |
|
for ( |
|
t = t || "", |
|
"string" == typeof (n = n || []) && (n = ni(n)), |
|
r = (e = ni(e)).length; |
|
r--; |
|
|
|
) |
|
(i = { |
|
attributes: a((o = ni([u, t].join(" ")))), |
|
attributesOrder: o, |
|
children: a(n, Go), |
|
}), |
|
(s[e[r]] = i); |
|
}, |
|
c = function (e, t) { |
|
var n, r, o, i; |
|
for (n = (e = ni(e)).length, t = ni(t); n--; ) |
|
for (r = s[e[n]], o = 0, i = t.length; o < i; o++) |
|
(r.attributes[t[o]] = {}), r.attributesOrder.push(t[o]); |
|
}; |
|
return Yo[e] |
|
? Yo[e] |
|
: ((u = "id accesskey class dir lang style tabindex title role"), |
|
(t = |
|
"address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"), |
|
(n = |
|
"a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"), |
|
"html4" !== e && |
|
((u += |
|
" contenteditable contextmenu draggable dropzone hidden spellcheck translate"), |
|
(t += |
|
" article aside details dialog figure main header footer hgroup section nav"), |
|
(n += |
|
" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen")), |
|
"html5-strict" !== e && |
|
((u += " xml:lang"), |
|
(n = [n, (i = "acronym applet basefont big font strike tt")].join( |
|
" " |
|
)), |
|
Qo(ni(i), function (e) { |
|
a(e, "", n); |
|
}), |
|
(t = [t, (o = "center dir isindex noframes")].join(" ")), |
|
(r = [t, n].join(" ")), |
|
Qo(ni(o), function (e) { |
|
a(e, "", r); |
|
})), |
|
(r = r || [t, n].join(" ")), |
|
a("html", "manifest", "head body"), |
|
a("head", "", "base command link meta noscript script style title"), |
|
a("title hr noscript br"), |
|
a("base", "href target"), |
|
a("link", "href rel media hreflang type sizes hreflang"), |
|
a("meta", "name http-equiv content charset"), |
|
a("style", "media type scoped"), |
|
a("script", "src async defer type charset"), |
|
a( |
|
"body", |
|
"onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload", |
|
r |
|
), |
|
a("address dt dd div caption", "", r), |
|
a( |
|
"h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn", |
|
"", |
|
n |
|
), |
|
a("blockquote", "cite", r), |
|
a("ol", "reversed start type", "li"), |
|
a("ul", "", "li"), |
|
a("li", "value", r), |
|
a("dl", "", "dt dd"), |
|
a("a", "href target rel media hreflang type", n), |
|
a("q", "cite", n), |
|
a("ins del", "cite datetime", r), |
|
a("img", "src sizes srcset alt usemap ismap width height"), |
|
a("iframe", "src name width height", r), |
|
a("embed", "src type width height"), |
|
a( |
|
"object", |
|
"data type typemustmatch name usemap form width height", |
|
[r, "param"].join(" ") |
|
), |
|
a("param", "name value"), |
|
a("map", "name", [r, "area"].join(" ")), |
|
a("area", "alt coords shape href target rel media hreflang type"), |
|
a( |
|
"table", |
|
"border", |
|
"caption colgroup thead tfoot tbody tr" + |
|
("html4" === e ? " col" : "") |
|
), |
|
a("colgroup", "span", "col"), |
|
a("col", "span"), |
|
a("tbody thead tfoot", "", "tr"), |
|
a("tr", "", "td th"), |
|
a("td", "colspan rowspan headers", r), |
|
a("th", "colspan rowspan headers scope abbr", r), |
|
a( |
|
"form", |
|
"accept-charset action autocomplete enctype method name novalidate target", |
|
r |
|
), |
|
a("fieldset", "disabled form name", [r, "legend"].join(" ")), |
|
a("label", "form for", n), |
|
a( |
|
"input", |
|
"accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width" |
|
), |
|
a( |
|
"button", |
|
"disabled form formaction formenctype formmethod formnovalidate formtarget name type value", |
|
"html4" === e ? r : n |
|
), |
|
a( |
|
"select", |
|
"disabled form multiple name required size", |
|
"option optgroup" |
|
), |
|
a("optgroup", "disabled label", "option"), |
|
a("option", "disabled label selected value"), |
|
a( |
|
"textarea", |
|
"cols dirname disabled form maxlength name readonly required rows wrap" |
|
), |
|
a("menu", "type label", [r, "li"].join(" ")), |
|
a("noscript", "", r), |
|
"html4" !== e && |
|
(a("wbr"), |
|
a("ruby", "", [n, "rt rp"].join(" ")), |
|
a("figcaption", "", r), |
|
a("mark rt rp summary bdi", "", n), |
|
a("canvas", "width height", r), |
|
a( |
|
"video", |
|
"src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered", |
|
[r, "track source"].join(" ") |
|
), |
|
a( |
|
"audio", |
|
"src crossorigin preload autoplay mediagroup loop muted controls buffered volume", |
|
[r, "track source"].join(" ") |
|
), |
|
a("picture", "", "img source"), |
|
a("source", "src srcset type media sizes"), |
|
a("track", "kind src srclang label default"), |
|
a("datalist", "", [n, "option"].join(" ")), |
|
a("article section nav aside main header footer", "", r), |
|
a("hgroup", "", "h1 h2 h3 h4 h5 h6"), |
|
a("figure", "", [r, "figcaption"].join(" ")), |
|
a("time", "datetime", n), |
|
a("dialog", "open", r), |
|
a("command", "type label icon disabled checked radiogroup command"), |
|
a("output", "for form name", n), |
|
a("progress", "value max", n), |
|
a("meter", "value min max low high optimum", n), |
|
a("details", "open", [r, "summary"].join(" ")), |
|
a("keygen", "autofocus challenge disabled form keytype name")), |
|
"html5-strict" !== e && |
|
(c("script", "language xml:space"), |
|
c("style", "xml:space"), |
|
c( |
|
"object", |
|
"declare classid code codebase codetype archive standby align border hspace vspace" |
|
), |
|
c("embed", "align name hspace vspace"), |
|
c("param", "valuetype type"), |
|
c("a", "charset name rev shape coords"), |
|
c("br", "clear"), |
|
c( |
|
"applet", |
|
"codebase archive code object alt name width height align hspace vspace" |
|
), |
|
c("img", "name longdesc align border hspace vspace"), |
|
c( |
|
"iframe", |
|
"longdesc frameborder marginwidth marginheight scrolling align" |
|
), |
|
c("font basefont", "size color face"), |
|
c("input", "usemap align"), |
|
c("select", "onchange"), |
|
c("textarea"), |
|
c("h1 h2 h3 h4 h5 h6 div p legend caption", "align"), |
|
c("ul", "type compact"), |
|
c("li", "type"), |
|
c("ol dl menu dir", "compact"), |
|
c("pre", "width xml:space"), |
|
c("hr", "align noshade size width"), |
|
c("isindex", "prompt"), |
|
c( |
|
"table", |
|
"summary width frame rules cellspacing cellpadding align bgcolor" |
|
), |
|
c("col", "width align char charoff valign"), |
|
c("colgroup", "width align char charoff valign"), |
|
c("thead", "align char charoff valign"), |
|
c("tr", "align char charoff valign bgcolor"), |
|
c( |
|
"th", |
|
"axis align char charoff valign nowrap bgcolor width height" |
|
), |
|
c("form", "accept"), |
|
c( |
|
"td", |
|
"abbr axis scope align char charoff valign nowrap bgcolor width height" |
|
), |
|
c("tfoot", "align char charoff valign"), |
|
c("tbody", "align char charoff valign"), |
|
c("area", "nohref"), |
|
c("body", "background bgcolor text link vlink alink")), |
|
"html4" !== e && |
|
(c("input button select textarea", "autofocus"), |
|
c("input textarea", "placeholder"), |
|
c("a", "download"), |
|
c("link script img", "crossorigin"), |
|
c("iframe", "sandbox seamless allowfullscreen")), |
|
Qo(ni("a form meter progress dfn"), function (e) { |
|
s[e] && delete s[e].children[e]; |
|
}), |
|
delete s.caption.children.table, |
|
delete s.script, |
|
(Yo[e] = s)); |
|
}, |
|
oi = function (e, n) { |
|
var r; |
|
return ( |
|
e && |
|
((r = {}), |
|
"string" == typeof e && (e = { "*": e }), |
|
Qo(e, function (e, t) { |
|
r[t] = r[t.toUpperCase()] = |
|
"map" === n ? Jo(e, /[, ]/) : ei(e, /[, ]/); |
|
})), |
|
r |
|
); |
|
}; |
|
function ii(i) { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
N = {}, |
|
g = {}, |
|
E = [], |
|
p = {}, |
|
h = {}, |
|
v = function (e, t, n) { |
|
var r = i[e]; |
|
return ( |
|
r |
|
? (r = Jo(r, /[, ]/, Jo(r.toUpperCase(), /[, ]/))) |
|
: (r = Yo[e]) || |
|
((r = Jo(t, " ", Jo(t.toUpperCase(), " "))), |
|
(r = Zo(r, n)), |
|
(Yo[e] = r)), |
|
r |
|
); |
|
}; |
|
(n = ri((i = i || {}).schema)), |
|
!1 === i.verify_html && (i.valid_elements = "*[*]"), |
|
(e = oi(i.valid_styles)), |
|
(t = oi(i.invalid_styles, "map")), |
|
(s = oi(i.valid_classes, "map")), |
|
(r = v( |
|
"whitespace_elements", |
|
"pre script noscript style textarea video audio iframe object code" |
|
)), |
|
(o = v( |
|
"self_closing_elements", |
|
"colgroup dd dt li option p td tfoot th thead tr" |
|
)), |
|
(a = v( |
|
"short_ended_elements", |
|
"area base basefont br col frame hr img input isindex link meta param embed source wbr track" |
|
)), |
|
(u = v( |
|
"boolean_attributes", |
|
"checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls" |
|
)), |
|
(l = v( |
|
"non_empty_elements", |
|
"td th iframe video audio object script pre code", |
|
a |
|
)), |
|
(f = v("move_caret_before_on_enter_elements", "table", l)), |
|
(d = v( |
|
"text_block_elements", |
|
"h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure" |
|
)), |
|
(c = v( |
|
"block_elements", |
|
"hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary", |
|
d |
|
)), |
|
(m = v( |
|
"text_inline_elements", |
|
"span strong b em i font strike u var cite dfn code mark q sup sub samp" |
|
)), |
|
Qo( |
|
( |
|
i.special || |
|
"script noscript noframes noembed title style textarea xmp" |
|
).split(" "), |
|
function (e) { |
|
h[e] = new RegExp("</" + e + "[^>]*>", "gi"); |
|
} |
|
); |
|
var S = function (e) { |
|
return new RegExp("^" + e.replace(/([?+*])/g, ".$1") + "$"); |
|
}, |
|
b = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
y, |
|
C = /^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/, |
|
x = /^([!\-])?(\w+[\\:]:\w+|[^=:<]+)?(?:([=:<])(.*))?$/, |
|
w = /[*?+]/; |
|
if (e) |
|
for ( |
|
e = ni(e, ","), |
|
N["@"] && ((h = N["@"].attributes), (v = N["@"].attributesOrder)), |
|
t = 0, |
|
n = e.length; |
|
t < n; |
|
t++ |
|
) |
|
if ((i = C.exec(e[t]))) { |
|
if ( |
|
((g = i[1]), |
|
(c = i[2]), |
|
(p = i[3]), |
|
(s = i[5]), |
|
(a = { attributes: (d = {}), attributesOrder: (m = []) }), |
|
"#" === g && (a.paddEmpty = !0), |
|
"-" === g && (a.removeEmpty = !0), |
|
"!" === i[4] && (a.removeEmptyAttrs = !0), |
|
h) |
|
) { |
|
for (b in h) d[b] = h[b]; |
|
m.push.apply(m, v); |
|
} |
|
if (s) |
|
for (r = 0, o = (s = ni(s, "|")).length; r < o; r++) |
|
if ((i = x.exec(s[r]))) { |
|
if ( |
|
((u = {}), |
|
(f = i[1]), |
|
(l = i[2].replace(/[\\:]:/g, ":")), |
|
(g = i[3]), |
|
(y = i[4]), |
|
"!" === f && |
|
((a.attributesRequired = a.attributesRequired || []), |
|
a.attributesRequired.push(l), |
|
(u.required = !0)), |
|
"-" === f) |
|
) { |
|
delete d[l], m.splice(ti(m, l), 1); |
|
continue; |
|
} |
|
g && |
|
("=" === g && |
|
((a.attributesDefault = a.attributesDefault || []), |
|
a.attributesDefault.push({ name: l, value: y }), |
|
(u.defaultValue = y)), |
|
":" === g && |
|
((a.attributesForced = a.attributesForced || []), |
|
a.attributesForced.push({ name: l, value: y }), |
|
(u.forcedValue = y)), |
|
"<" === g && (u.validValues = Jo(y, "?"))), |
|
w.test(l) |
|
? ((a.attributePatterns = a.attributePatterns || []), |
|
(u.pattern = S(l)), |
|
a.attributePatterns.push(u)) |
|
: (d[l] || m.push(l), (d[l] = u)); |
|
} |
|
h || "@" !== c || ((h = d), (v = m)), |
|
p && ((a.outputName = c), (N[p] = a)), |
|
w.test(c) ? ((a.pattern = S(c)), E.push(a)) : (N[c] = a); |
|
} |
|
}, |
|
y = function (e) { |
|
(N = {}), |
|
(E = []), |
|
b(e), |
|
Qo(n, function (e, t) { |
|
g[t] = e.children; |
|
}); |
|
}, |
|
C = function (e) { |
|
var a = /^(~)?(.+)$/; |
|
e && |
|
((Yo.text_block_elements = Yo.block_elements = null), |
|
Qo(ni(e, ","), function (e) { |
|
var t = a.exec(e), |
|
n = "~" === t[1], |
|
r = n ? "span" : "div", |
|
o = t[2]; |
|
if ( |
|
((g[o] = g[r]), |
|
(p[o] = r), |
|
n || ((c[o.toUpperCase()] = {}), (c[o] = {})), |
|
!N[o]) |
|
) { |
|
var i = N[r]; |
|
delete (i = Zo({}, i)).removeEmptyAttrs, |
|
delete i.removeEmpty, |
|
(N[o] = i); |
|
} |
|
Qo(g, function (e, t) { |
|
e[r] && ((g[t] = e = Zo({}, g[t])), (e[o] = e[r])); |
|
}); |
|
})); |
|
}, |
|
x = function (e) { |
|
var o = /^([+\-]?)(\w+)\[([^\]]+)\]$/; |
|
(Yo[i.schema] = null), |
|
e && |
|
Qo(ni(e, ","), function (e) { |
|
var t, |
|
n, |
|
r = o.exec(e); |
|
r && |
|
((n = r[1]), |
|
(t = n ? g[r[2]] : (g[r[2]] = { "#comment": {} })), |
|
(t = g[r[2]]), |
|
Qo(ni(r[3], "|"), function (e) { |
|
"-" === n ? delete t[e] : (t[e] = {}); |
|
})); |
|
}); |
|
}, |
|
w = function (e) { |
|
var t, |
|
n = N[e]; |
|
if (n) return n; |
|
for (t = E.length; t--; ) if ((n = E[t]).pattern.test(e)) return n; |
|
}; |
|
return ( |
|
i.valid_elements |
|
? y(i.valid_elements) |
|
: (Qo(n, function (e, t) { |
|
(N[t] = { |
|
attributes: e.attributes, |
|
attributesOrder: e.attributesOrder, |
|
}), |
|
(g[t] = e.children); |
|
}), |
|
"html5" !== i.schema && |
|
Qo(ni("strong/b em/i"), function (e) { |
|
(e = ni(e, "/")), (N[e[1]].outputName = e[0]); |
|
}), |
|
Qo( |
|
ni( |
|
"ol ul sub sup blockquote span font a table tbody tr strong em b i" |
|
), |
|
function (e) { |
|
N[e] && (N[e].removeEmpty = !0); |
|
} |
|
), |
|
Qo( |
|
ni("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"), |
|
function (e) { |
|
N[e].paddEmpty = !0; |
|
} |
|
), |
|
Qo(ni("span"), function (e) { |
|
N[e].removeEmptyAttrs = !0; |
|
})), |
|
C(i.custom_elements), |
|
x(i.valid_children), |
|
b(i.extended_valid_elements), |
|
x("+ol[ul|ol],+ul[ul|ol]"), |
|
Qo( |
|
{ |
|
dd: "dl", |
|
dt: "dl", |
|
li: "ul ol", |
|
td: "tr", |
|
th: "tr", |
|
tr: "tbody thead tfoot", |
|
tbody: "table", |
|
thead: "table", |
|
tfoot: "table", |
|
legend: "fieldset", |
|
area: "map", |
|
param: "video audio object", |
|
}, |
|
function (e, t) { |
|
N[t] && (N[t].parentsRequired = ni(e)); |
|
} |
|
), |
|
i.invalid_elements && |
|
Qo(ei(i.invalid_elements), function (e) { |
|
N[e] && delete N[e]; |
|
}), |
|
w("span") || b("span[!data-mce-type|*]"), |
|
{ |
|
children: g, |
|
elements: N, |
|
getValidStyles: function () { |
|
return e; |
|
}, |
|
getValidClasses: function () { |
|
return s; |
|
}, |
|
getBlockElements: function () { |
|
return c; |
|
}, |
|
getInvalidStyles: function () { |
|
return t; |
|
}, |
|
getShortEndedElements: function () { |
|
return a; |
|
}, |
|
getTextBlockElements: function () { |
|
return d; |
|
}, |
|
getTextInlineElements: function () { |
|
return m; |
|
}, |
|
getBoolAttrs: function () { |
|
return u; |
|
}, |
|
getElementRule: w, |
|
getSelfClosingElements: function () { |
|
return o; |
|
}, |
|
getNonEmptyElements: function () { |
|
return l; |
|
}, |
|
getMoveCaretBeforeOnEnterElements: function () { |
|
return f; |
|
}, |
|
getWhiteSpaceElements: function () { |
|
return r; |
|
}, |
|
getSpecialElements: function () { |
|
return h; |
|
}, |
|
isValidChild: function (e, t) { |
|
var n = g[e.toLowerCase()]; |
|
return !(!n || !n[t.toLowerCase()]); |
|
}, |
|
isValid: function (e, t) { |
|
var n, |
|
r, |
|
o = w(e); |
|
if (o) { |
|
if (!t) return !0; |
|
if (o.attributes[t]) return !0; |
|
if ((n = o.attributePatterns)) |
|
for (r = n.length; r--; ) if (n[r].pattern.test(e)) return !0; |
|
} |
|
return !1; |
|
}, |
|
getCustomElements: function () { |
|
return p; |
|
}, |
|
addValidElements: b, |
|
setValidElements: y, |
|
addCustomElements: C, |
|
addValidChildren: x, |
|
} |
|
); |
|
} |
|
var ai = function (e, t, n, r) { |
|
var o = function (e) { |
|
return 1 < (e = parseInt(e, 10).toString(16)).length ? e : "0" + e; |
|
}; |
|
return "#" + o(t) + o(n) + o(r); |
|
}; |
|
function ui(y, e) { |
|
var C, |
|
t, |
|
c, |
|
l, |
|
x = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi, |
|
w = |
|
/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi, |
|
N = /\s*([^:]+):\s*([^;]+);?/g, |
|
E = /\s+$/, |
|
S = {}, |
|
k = "\ufeff"; |
|
for ( |
|
y = y || {}, |
|
e && ((c = e.getValidStyles()), (l = e.getInvalidStyles())), |
|
t = ("\\\" \\' \\; \\: ; : " + k).split(" "), |
|
C = 0; |
|
C < t.length; |
|
C++ |
|
) |
|
(S[t[C]] = k + C), (S[k + C] = t[C]); |
|
return { |
|
toHex: function (e) { |
|
return e.replace(x, ai); |
|
}, |
|
parse: function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = {}, |
|
l = y.url_converter, |
|
f = y.url_converter_scope || this, |
|
d = function (e, t, n) { |
|
var r, o, i, a; |
|
if ( |
|
(r = c[e + "-top" + t]) && |
|
(o = c[e + "-right" + t]) && |
|
(i = c[e + "-bottom" + t]) && |
|
(a = c[e + "-left" + t]) |
|
) { |
|
var u = [r, o, i, a]; |
|
for (C = u.length - 1; C-- && u[C] === u[C + 1]; ); |
|
(-1 < C && n) || |
|
((c[e + t] = -1 === C ? u[0] : u.join(" ")), |
|
delete c[e + "-top" + t], |
|
delete c[e + "-right" + t], |
|
delete c[e + "-bottom" + t], |
|
delete c[e + "-left" + t]); |
|
} |
|
}, |
|
m = function (e) { |
|
var t, |
|
n = c[e]; |
|
if (n) { |
|
for (t = (n = n.split(" ")).length; t--; ) |
|
if (n[t] !== n[0]) return !1; |
|
return (c[e] = n[0]), !0; |
|
} |
|
}, |
|
g = function (e) { |
|
return (o = !0), S[e]; |
|
}, |
|
p = function (e, t) { |
|
return ( |
|
o && |
|
(e = e.replace(/\uFEFF[0-9]/g, function (e) { |
|
return S[e]; |
|
})), |
|
t || (e = e.replace(/\\([\'\";:])/g, "$1")), |
|
e |
|
); |
|
}, |
|
h = function (e) { |
|
return String.fromCharCode(parseInt(e.slice(1), 16)); |
|
}, |
|
v = function (e) { |
|
return e.replace(/\\[0-9a-f]+/gi, h); |
|
}, |
|
b = function (e, t, n, r, o, i) { |
|
if ((o = o || i)) |
|
return "'" + (o = p(o)).replace(/\'/g, "\\'") + "'"; |
|
if (((t = p(t || n || r)), !y.allow_script_urls)) { |
|
var a = t.replace(/[\s\r\n]+/g, ""); |
|
if (/(java|vb)script:/i.test(a)) return ""; |
|
if (!y.allow_svg_data_urls && /^data:image\/svg/i.test(a)) |
|
return ""; |
|
} |
|
return ( |
|
l && (t = l.call(f, t, "style")), |
|
"url('" + t.replace(/\'/g, "\\'") + "')" |
|
); |
|
}; |
|
if (e) { |
|
for ( |
|
e = (e = e.replace(/[\u0000-\u001F]/g, "")) |
|
.replace(/\\[\"\';:\uFEFF]/g, g) |
|
.replace(/\"[^\"]+\"|\'[^\']+\'/g, function (e) { |
|
return e.replace(/[;:]/g, g); |
|
}); |
|
(t = N.exec(e)); |
|
|
|
) |
|
if ( |
|
((N.lastIndex = t.index + t[0].length), |
|
(n = t[1].replace(E, "").toLowerCase()), |
|
(r = t[2].replace(E, "")), |
|
n && r) |
|
) { |
|
if ( |
|
((n = v(n)), |
|
(r = v(r)), |
|
-1 !== n.indexOf(k) || -1 !== n.indexOf('"')) |
|
) |
|
continue; |
|
if ( |
|
!y.allow_script_urls && |
|
("behavior" === n || /expression\s*\(|\/\*|\*\//.test(r)) |
|
) |
|
continue; |
|
"font-weight" === n && "700" === r |
|
? (r = "bold") |
|
: ("color" !== n && "background-color" !== n) || |
|
(r = r.toLowerCase()), |
|
(r = (r = r.replace(x, ai)).replace(w, b)), |
|
(c[n] = o ? p(r, !0) : r); |
|
} |
|
d("border", "", !0), |
|
d("border", "-width"), |
|
d("border", "-color"), |
|
d("border", "-style"), |
|
d("padding", ""), |
|
d("margin", ""), |
|
(i = "border"), |
|
(u = "border-style"), |
|
(s = "border-color"), |
|
m((a = "border-width")) && |
|
m(u) && |
|
m(s) && |
|
((c[i] = c[a] + " " + c[u] + " " + c[s]), |
|
delete c[a], |
|
delete c[u], |
|
delete c[s]), |
|
"medium none" === c.border && delete c.border, |
|
"none" === c["border-image"] && delete c["border-image"]; |
|
} |
|
return c; |
|
}, |
|
serialize: function (i, e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
a, |
|
u = "", |
|
s = function (e) { |
|
var t, n, r, o; |
|
if ((t = c[e])) |
|
for (n = 0, r = t.length; n < r; n++) |
|
(e = t[n]), |
|
(o = i[e]) && |
|
(u += (0 < u.length ? " " : "") + e + ": " + o + ";"); |
|
}; |
|
if (e && c) s("*"), s(e); |
|
else |
|
for (t in i) |
|
!(n = i[t]) || |
|
(l && |
|
((r = t), |
|
(o = e), |
|
(a = void 0), |
|
((a = l["*"]) && a[r]) || ((a = l[o]) && a[r]))) || |
|
(u += (0 < u.length ? " " : "") + t + ": " + n + ";"); |
|
return u; |
|
}, |
|
}; |
|
} |
|
var si, |
|
ci = Jt.each, |
|
li = Jt.grep, |
|
fi = ge.ie, |
|
di = /^([a-z0-9],?)+$/i, |
|
mi = /^[ \t\r\n]*$/, |
|
gi = function (n, r, o) { |
|
var e = {}, |
|
i = r.keep_values, |
|
t = { |
|
set: function (e, t, n) { |
|
r.url_converter && |
|
(t = r.url_converter.call( |
|
r.url_converter_scope || o(), |
|
t, |
|
n, |
|
e[0] |
|
)), |
|
e.attr("data-mce-" + n, t).attr(n, t); |
|
}, |
|
get: function (e, t) { |
|
return e.attr("data-mce-" + t) || e.attr(t); |
|
}, |
|
}; |
|
return ( |
|
(e = { |
|
style: { |
|
set: function (e, t) { |
|
null === t || "object" != typeof t |
|
? (i && e.attr("data-mce-style", t), e.attr("style", t)) |
|
: e.css(t); |
|
}, |
|
get: function (e) { |
|
var t = e.attr("data-mce-style") || e.attr("style"); |
|
return (t = n.serialize(n.parse(t), e[0].nodeName)); |
|
}, |
|
}, |
|
}), |
|
i && (e.href = e.src = t), |
|
e |
|
); |
|
}, |
|
pi = function (e, t) { |
|
var n = t.attr("style"), |
|
r = e.serialize(e.parse(n), t[0].nodeName); |
|
r || (r = null), t.attr("data-mce-style", r); |
|
}, |
|
hi = function (e, t) { |
|
var n, |
|
r, |
|
o = 0; |
|
if (e) |
|
for (n = e.nodeType, e = e.previousSibling; e; e = e.previousSibling) |
|
(r = e.nodeType), |
|
(!t || 3 !== r || (r !== n && e.nodeValue.length)) && |
|
(o++, (n = r)); |
|
return o; |
|
}; |
|
function vi(a, u) { |
|
var s, |
|
c = this; |
|
void 0 === u && (u = {}); |
|
var r = {}, |
|
i = H.window, |
|
o = {}, |
|
t = 0, |
|
e = (function (m, g) { |
|
void 0 === g && (g = {}); |
|
var p, |
|
h = 0, |
|
v = {}; |
|
p = g.maxLoadTime || 5e3; |
|
var b = function (e) { |
|
m.getElementsByTagName("head")[0].appendChild(e); |
|
}, |
|
n = function (e, t, n) { |
|
var o, |
|
r, |
|
i, |
|
a, |
|
u = function () { |
|
for (var e = a.passed, t = e.length; t--; ) e[t](); |
|
(a.status = 2), (a.passed = []), (a.failed = []); |
|
}, |
|
s = function () { |
|
for (var e = a.failed, t = e.length; t--; ) e[t](); |
|
(a.status = 3), (a.passed = []), (a.failed = []); |
|
}, |
|
c = function (e, t) { |
|
e() || (new Date().getTime() - i < p ? ye.setTimeout(t) : s()); |
|
}, |
|
l = function () { |
|
c(function () { |
|
for (var e, t, n = m.styleSheets, r = n.length; r--; ) |
|
if ( |
|
(t = (e = n[r]).ownerNode |
|
? e.ownerNode |
|
: e.owningElement) && |
|
t.id === o.id |
|
) |
|
return u(), !0; |
|
}, l); |
|
}, |
|
f = function () { |
|
c(function () { |
|
try { |
|
var e = r.sheet.cssRules; |
|
return u(), !!e; |
|
} catch (t) {} |
|
}, f); |
|
}; |
|
if ( |
|
((e = Jt._addCacheSuffix(e)), |
|
v[e] |
|
? (a = v[e]) |
|
: ((a = { passed: [], failed: [] }), (v[e] = a)), |
|
t && a.passed.push(t), |
|
n && a.failed.push(n), |
|
1 !== a.status) |
|
) |
|
if (2 !== a.status) |
|
if (3 !== a.status) { |
|
if ( |
|
((a.status = 1), |
|
((o = m.createElement("link")).rel = "stylesheet"), |
|
(o.type = "text/css"), |
|
(o.id = "u" + h++), |
|
(o.async = !1), |
|
(o.defer = !1), |
|
(i = new Date().getTime()), |
|
g.contentCssCors && (o.crossOrigin = "anonymous"), |
|
"onload" in o && |
|
!( |
|
(d = H.navigator.userAgent.match(/WebKit\/(\d*)/)) && |
|
parseInt(d[1], 10) < 536 |
|
)) |
|
) |
|
(o.onload = l), (o.onerror = s); |
|
else { |
|
if (0 < H.navigator.userAgent.indexOf("Firefox")) |
|
return ( |
|
((r = m.createElement("style")).textContent = |
|
'@import "' + e + '"'), |
|
f(), |
|
void b(r) |
|
); |
|
l(); |
|
} |
|
var d; |
|
b(o), (o.href = e); |
|
} else s(); |
|
else u(); |
|
}, |
|
t = function (t) { |
|
return eo.nu(function (e) { |
|
n(t, j(e, q(io.value(t))), j(e, q(io.error(t)))); |
|
}); |
|
}, |
|
o = function (e) { |
|
return e.fold($, $); |
|
}; |
|
return { |
|
load: n, |
|
loadAll: function (e, n, r) { |
|
no(W(e, t)).get(function (e) { |
|
var t = K(e, function (e) { |
|
return e.isValue(); |
|
}); |
|
0 < t.fail.length ? r(t.fail.map(o)) : n(t.pass.map(o)); |
|
}); |
|
}, |
|
}; |
|
})(a, { contentCssCors: u.contentCssCors }), |
|
l = [], |
|
f = u.schema ? u.schema : ii({}), |
|
d = ui( |
|
{ |
|
url_converter: u.url_converter, |
|
url_converter_scope: u.url_converter_scope, |
|
}, |
|
u.schema |
|
), |
|
m = u.ownEvents ? new Ae(u.proxy) : Ae.Event, |
|
n = f.getBlockElements(), |
|
g = vn.overrideDefaults(function () { |
|
return { context: a, element: V.getRoot() }; |
|
}), |
|
p = function (e) { |
|
if (e && a && "string" == typeof e) { |
|
var t = a.getElementById(e); |
|
return t && t.id !== e ? a.getElementsByName(e)[1] : t; |
|
} |
|
return e; |
|
}, |
|
h = function (e) { |
|
return "string" == typeof e && (e = p(e)), g(e); |
|
}, |
|
v = function (e, t, n) { |
|
var r, |
|
o, |
|
i = h(e); |
|
return ( |
|
i.length && (o = (r = s[t]) && r.get ? r.get(i, t) : i.attr(t)), |
|
void 0 === o && (o = n || ""), |
|
o |
|
); |
|
}, |
|
b = function (e) { |
|
var t = p(e); |
|
return t ? t.attributes : []; |
|
}, |
|
y = function (e, t, n) { |
|
var r, o; |
|
"" === n && (n = null); |
|
var i = h(e); |
|
(r = i.attr(t)), |
|
i.length && |
|
((o = s[t]) && o.set ? o.set(i, n, t) : i.attr(t, n), |
|
r !== n && |
|
u.onSetAttrib && |
|
u.onSetAttrib({ attrElm: i, attrName: t, attrValue: n })); |
|
}, |
|
C = function () { |
|
return u.root_element || a.body; |
|
}, |
|
x = function (e, t) { |
|
return Gr.getPos(a.body, p(e), t); |
|
}, |
|
w = function (e, t, n) { |
|
var r = h(e); |
|
return n |
|
? r.css(t) |
|
: ("float" === |
|
(t = t.replace(/-(\D)/g, function (e, t) { |
|
return t.toUpperCase(); |
|
})) && (t = ge.ie && ge.ie < 12 ? "styleFloat" : "cssFloat"), |
|
r[0] && r[0].style ? r[0].style[t] : undefined); |
|
}, |
|
N = function (e) { |
|
var t, n; |
|
return ( |
|
(e = p(e)), |
|
(t = w(e, "width")), |
|
(n = w(e, "height")), |
|
-1 === t.indexOf("px") && (t = 0), |
|
-1 === n.indexOf("px") && (n = 0), |
|
{ |
|
w: parseInt(t, 10) || e.offsetWidth || e.clientWidth, |
|
h: parseInt(n, 10) || e.offsetHeight || e.clientHeight, |
|
} |
|
); |
|
}, |
|
E = function (e, t) { |
|
var n; |
|
if (!e) return !1; |
|
if (!Array.isArray(e)) { |
|
if ("*" === t) return 1 === e.nodeType; |
|
if (di.test(t)) { |
|
var r = t.toLowerCase().split(/,/), |
|
o = e.nodeName.toLowerCase(); |
|
for (n = r.length - 1; 0 <= n; n--) if (r[n] === o) return !0; |
|
return !1; |
|
} |
|
if (e.nodeType && 1 !== e.nodeType) return !1; |
|
} |
|
var i = Array.isArray(e) ? e : [e]; |
|
return 0 < At(t, i[0].ownerDocument || i[0], null, i).length; |
|
}, |
|
S = function (e, t, n, r) { |
|
var o, |
|
i = [], |
|
a = p(e); |
|
for ( |
|
r = r === undefined, |
|
n = n || ("BODY" !== C().nodeName ? C().parentNode : null), |
|
Jt.is(t, "string") && |
|
(t = |
|
"*" === (o = t) |
|
? function (e) { |
|
return 1 === e.nodeType; |
|
} |
|
: function (e) { |
|
return E(e, o); |
|
}); |
|
a && a !== n && a.nodeType && 9 !== a.nodeType; |
|
|
|
) { |
|
if (!t || ("function" == typeof t && t(a))) { |
|
if (!r) return [a]; |
|
i.push(a); |
|
} |
|
a = a.parentNode; |
|
} |
|
return r ? i : null; |
|
}, |
|
k = function (e, t, n) { |
|
var r = t; |
|
if (e) |
|
for ( |
|
"string" == typeof t && |
|
(r = function (e) { |
|
return E(e, t); |
|
}), |
|
e = e[n]; |
|
e; |
|
e = e[n] |
|
) |
|
if ("function" == typeof r && r(e)) return e; |
|
return null; |
|
}, |
|
T = function (e, n, r) { |
|
var o, |
|
t = "string" == typeof e ? p(e) : e; |
|
if (!t) return !1; |
|
if (Jt.isArray(t) && (t.length || 0 === t.length)) |
|
return ( |
|
(o = []), |
|
ci(t, function (e, t) { |
|
e && |
|
("string" == typeof e && (e = p(e)), o.push(n.call(r, e, t))); |
|
}), |
|
o |
|
); |
|
var i = r || c; |
|
return n.call(i, t); |
|
}, |
|
A = function (e, t) { |
|
h(e).each(function (e, n) { |
|
ci(t, function (e, t) { |
|
y(n, t, e); |
|
}); |
|
}); |
|
}, |
|
R = function (e, r) { |
|
var t = h(e); |
|
fi |
|
? t.each(function (e, t) { |
|
if (!1 !== t.canHaveHTML) { |
|
for (; t.firstChild; ) t.removeChild(t.firstChild); |
|
try { |
|
(t.innerHTML = "<br>" + r), t.removeChild(t.firstChild); |
|
} catch (n) { |
|
vn("<div></div>") |
|
.html("<br>" + r) |
|
.contents() |
|
.slice(1) |
|
.appendTo(t); |
|
} |
|
return r; |
|
} |
|
}) |
|
: t.html(r); |
|
}, |
|
_ = function (e, n, r, o, i) { |
|
return T(e, function (e) { |
|
var t = "string" == typeof n ? a.createElement(n) : n; |
|
return ( |
|
A(t, r), |
|
o && |
|
("string" != typeof o && o.nodeType |
|
? t.appendChild(o) |
|
: "string" == typeof o && R(t, o)), |
|
i ? t : e.appendChild(t) |
|
); |
|
}); |
|
}, |
|
D = function (e, t, n) { |
|
return _(a.createElement(e), e, t, n, !0); |
|
}, |
|
B = Xo.decode, |
|
O = Xo.encodeAllRaw, |
|
P = function (e, t) { |
|
var n = h(e); |
|
return ( |
|
t |
|
? n |
|
.each(function () { |
|
for (var e; (e = this.firstChild); ) |
|
3 === e.nodeType && 0 === e.data.length |
|
? this.removeChild(e) |
|
: this.parentNode.insertBefore(e, this); |
|
}) |
|
.remove() |
|
: n.remove(), |
|
1 < n.length ? n.toArray() : n[0] |
|
); |
|
}, |
|
I = function (e, t, n) { |
|
h(e) |
|
.toggleClass(t, n) |
|
.each(function () { |
|
"" === this.className && vn(this).attr("class", null); |
|
}); |
|
}, |
|
L = function (t, e, n) { |
|
return T(e, function (e) { |
|
return ( |
|
Jt.is(e, "array") && (t = t.cloneNode(!0)), |
|
n && |
|
ci(li(e.childNodes), function (e) { |
|
t.appendChild(e); |
|
}), |
|
e.parentNode.replaceChild(t, e) |
|
); |
|
}); |
|
}, |
|
M = function () { |
|
return a.createRange(); |
|
}, |
|
F = function (e, t, n, r) { |
|
if (Jt.isArray(e)) { |
|
for (var o = e.length; o--; ) e[o] = F(e[o], t, n, r); |
|
return e; |
|
} |
|
return ( |
|
!u.collect || (e !== a && e !== i) || l.push([e, t, n, r]), |
|
m.bind(e, t, n, r || V) |
|
); |
|
}, |
|
z = function (e, t, n) { |
|
var r; |
|
if (Jt.isArray(e)) { |
|
for (r = e.length; r--; ) e[r] = z(e[r], t, n); |
|
return e; |
|
} |
|
if (l && (e === a || e === i)) |
|
for (r = l.length; r--; ) { |
|
var o = l[r]; |
|
e !== o[0] || |
|
(t && t !== o[1]) || |
|
(n && n !== o[2]) || |
|
m.unbind(o[0], o[1], o[2]); |
|
} |
|
return m.unbind(e, t, n); |
|
}, |
|
U = function (e) { |
|
if (e && Po.isElement(e)) { |
|
var t = e.getAttribute("data-mce-contenteditable"); |
|
return t && "inherit" !== t |
|
? t |
|
: "inherit" !== e.contentEditable |
|
? e.contentEditable |
|
: null; |
|
} |
|
return null; |
|
}, |
|
V = { |
|
doc: a, |
|
settings: u, |
|
win: i, |
|
files: o, |
|
stdMode: !0, |
|
boxModel: !0, |
|
styleSheetLoader: e, |
|
boundEvents: l, |
|
styles: d, |
|
schema: f, |
|
events: m, |
|
isBlock: function (e) { |
|
if ("string" == typeof e) return !!n[e]; |
|
if (e) { |
|
var t = e.nodeType; |
|
if (t) return !(1 !== t || !n[e.nodeName]); |
|
} |
|
return !1; |
|
}, |
|
$: g, |
|
$$: h, |
|
root: null, |
|
clone: function (t, e) { |
|
if (!fi || 1 !== t.nodeType || e) return t.cloneNode(e); |
|
if (!e) { |
|
var n = a.createElement(t.nodeName); |
|
return ( |
|
ci(b(t), function (e) { |
|
y(n, e.nodeName, v(t, e.nodeName)); |
|
}), |
|
n |
|
); |
|
} |
|
return null; |
|
}, |
|
getRoot: C, |
|
getViewPort: function (e) { |
|
var t = e || i, |
|
n = t.document.documentElement; |
|
return { |
|
x: t.pageXOffset || n.scrollLeft, |
|
y: t.pageYOffset || n.scrollTop, |
|
w: t.innerWidth || n.clientWidth, |
|
h: t.innerHeight || n.clientHeight, |
|
}; |
|
}, |
|
getRect: function (e) { |
|
var t, n; |
|
return ( |
|
(e = p(e)), |
|
(t = x(e)), |
|
(n = N(e)), |
|
{ x: t.x, y: t.y, w: n.w, h: n.h } |
|
); |
|
}, |
|
getSize: N, |
|
getParent: function (e, t, n) { |
|
var r = S(e, t, n, !1); |
|
return r && 0 < r.length ? r[0] : null; |
|
}, |
|
getParents: S, |
|
get: p, |
|
getNext: function (e, t) { |
|
return k(e, t, "nextSibling"); |
|
}, |
|
getPrev: function (e, t) { |
|
return k(e, t, "previousSibling"); |
|
}, |
|
select: function (e, t) { |
|
return At(e, p(t) || u.root_element || a, []); |
|
}, |
|
is: E, |
|
add: _, |
|
create: D, |
|
createHTML: function (e, t, n) { |
|
var r, |
|
o = ""; |
|
for (r in ((o += "<" + e), t)) |
|
t.hasOwnProperty(r) && |
|
null !== t[r] && |
|
"undefined" != typeof t[r] && |
|
(o += " " + r + '="' + O(t[r]) + '"'); |
|
return void 0 !== n ? o + ">" + n + "</" + e + ">" : o + " />"; |
|
}, |
|
createFragment: function (e) { |
|
var t, |
|
n = a.createElement("div"), |
|
r = a.createDocumentFragment(); |
|
for (e && (n.innerHTML = e); (t = n.firstChild); ) r.appendChild(t); |
|
return r; |
|
}, |
|
remove: P, |
|
setStyle: function (e, t, n) { |
|
var r = h(e).css(t, n); |
|
u.update_styles && pi(d, r); |
|
}, |
|
getStyle: w, |
|
setStyles: function (e, t) { |
|
var n = h(e).css(t); |
|
u.update_styles && pi(d, n); |
|
}, |
|
removeAllAttribs: function (e) { |
|
return T(e, function (e) { |
|
var t, |
|
n = e.attributes; |
|
for (t = n.length - 1; 0 <= t; t--) |
|
e.removeAttributeNode(n.item(t)); |
|
}); |
|
}, |
|
setAttrib: y, |
|
setAttribs: A, |
|
getAttrib: v, |
|
getPos: x, |
|
parseStyle: function (e) { |
|
return d.parse(e); |
|
}, |
|
serializeStyle: function (e, t) { |
|
return d.serialize(e, t); |
|
}, |
|
addStyle: function (e) { |
|
var t, n; |
|
if (V !== vi.DOM && a === H.document) { |
|
if (r[e]) return; |
|
r[e] = !0; |
|
} |
|
(n = a.getElementById("mceDefaultStyles")) || |
|
(((n = a.createElement("style")).id = "mceDefaultStyles"), |
|
(n.type = "text/css"), |
|
(t = a.getElementsByTagName("head")[0]).firstChild |
|
? t.insertBefore(n, t.firstChild) |
|
: t.appendChild(n)), |
|
n.styleSheet |
|
? (n.styleSheet.cssText += e) |
|
: n.appendChild(a.createTextNode(e)); |
|
}, |
|
loadCSS: function (e) { |
|
var n; |
|
V === vi.DOM || a !== H.document |
|
? (e || (e = ""), |
|
(n = a.getElementsByTagName("head")[0]), |
|
ci(e.split(","), function (e) { |
|
var t; |
|
(e = Jt._addCacheSuffix(e)), |
|
o[e] || |
|
((o[e] = !0), |
|
(t = D("link", { rel: "stylesheet", href: e })), |
|
n.appendChild(t)); |
|
})) |
|
: vi.DOM.loadCSS(e); |
|
}, |
|
addClass: function (e, t) { |
|
h(e).addClass(t); |
|
}, |
|
removeClass: function (e, t) { |
|
I(e, t, !1); |
|
}, |
|
hasClass: function (e, t) { |
|
return h(e).hasClass(t); |
|
}, |
|
toggleClass: I, |
|
show: function (e) { |
|
h(e).show(); |
|
}, |
|
hide: function (e) { |
|
h(e).hide(); |
|
}, |
|
isHidden: function (e) { |
|
return "none" === h(e).css("display"); |
|
}, |
|
uniqueId: function (e) { |
|
return (e || "mce_") + t++; |
|
}, |
|
setHTML: R, |
|
getOuterHTML: function (e) { |
|
var t = "string" == typeof e ? p(e) : e; |
|
return Po.isElement(t) |
|
? t.outerHTML |
|
: vn("<div></div>").append(vn(t).clone()).html(); |
|
}, |
|
setOuterHTML: function (e, t) { |
|
h(e).each(function () { |
|
try { |
|
if ("outerHTML" in this) return void (this.outerHTML = t); |
|
} catch (e) {} |
|
P(vn(this).html(t), !0); |
|
}); |
|
}, |
|
decode: B, |
|
encode: O, |
|
insertAfter: function (e, t) { |
|
var r = p(t); |
|
return T(e, function (e) { |
|
var t, n; |
|
return ( |
|
(t = r.parentNode), |
|
(n = r.nextSibling) ? t.insertBefore(e, n) : t.appendChild(e), |
|
e |
|
); |
|
}); |
|
}, |
|
replace: L, |
|
rename: function (t, e) { |
|
var n; |
|
return ( |
|
t.nodeName !== e.toUpperCase() && |
|
((n = D(e)), |
|
ci(b(t), function (e) { |
|
y(n, e.nodeName, v(t, e.nodeName)); |
|
}), |
|
L(n, t, !0)), |
|
n || t |
|
); |
|
}, |
|
findCommonAncestor: function (e, t) { |
|
for (var n, r = e; r; ) { |
|
for (n = t; n && r !== n; ) n = n.parentNode; |
|
if (r === n) break; |
|
r = r.parentNode; |
|
} |
|
return !r && e.ownerDocument ? e.ownerDocument.documentElement : r; |
|
}, |
|
toHex: function (e) { |
|
return d.toHex(Jt.trim(e)); |
|
}, |
|
run: T, |
|
getAttribs: b, |
|
isEmpty: function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = 0; |
|
if ((e = e.firstChild)) { |
|
(a = new ao(e, e.parentNode)), |
|
(t = t || (f ? f.getNonEmptyElements() : null)), |
|
(i = f ? f.getWhiteSpaceElements() : {}); |
|
do { |
|
if (((o = e.nodeType), Po.isElement(e))) { |
|
var c = e.getAttribute("data-mce-bogus"); |
|
if (c) { |
|
e = a.next("all" === c); |
|
continue; |
|
} |
|
if (((u = e.nodeName.toLowerCase()), t && t[u])) { |
|
if ("br" === u) { |
|
s++, (e = a.next()); |
|
continue; |
|
} |
|
return !1; |
|
} |
|
for (n = (r = b(e)).length; n--; ) |
|
if ( |
|
"name" === (u = r[n].nodeName) || |
|
"data-mce-bookmark" === u |
|
) |
|
return !1; |
|
} |
|
if (8 === o) return !1; |
|
if (3 === o && !mi.test(e.nodeValue)) return !1; |
|
if ( |
|
3 === o && |
|
e.parentNode && |
|
i[e.parentNode.nodeName] && |
|
mi.test(e.nodeValue) |
|
) |
|
return !1; |
|
e = a.next(); |
|
} while (e); |
|
} |
|
return s <= 1; |
|
}, |
|
createRng: M, |
|
nodeIndex: hi, |
|
split: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = M(); |
|
if (e && t) |
|
return ( |
|
a.setStart(e.parentNode, hi(e)), |
|
a.setEnd(t.parentNode, hi(t)), |
|
(r = a.extractContents()), |
|
(a = M()).setStart(t.parentNode, hi(t) + 1), |
|
a.setEnd(e.parentNode, hi(e) + 1), |
|
(o = a.extractContents()), |
|
(i = e.parentNode).insertBefore(Mo.trimNode(V, r), e), |
|
n ? i.insertBefore(n, e) : i.insertBefore(t, e), |
|
i.insertBefore(Mo.trimNode(V, o), e), |
|
P(e), |
|
n || t |
|
); |
|
}, |
|
bind: F, |
|
unbind: z, |
|
fire: function (e, t, n) { |
|
return m.fire(e, t, n); |
|
}, |
|
getContentEditable: U, |
|
getContentEditableParent: function (e) { |
|
for ( |
|
var t = C(), n = null; |
|
e && e !== t && null === (n = U(e)); |
|
e = e.parentNode |
|
); |
|
return n; |
|
}, |
|
destroy: function () { |
|
if (l) |
|
for (var e = l.length; e--; ) { |
|
var t = l[e]; |
|
m.unbind(t[0], t[1], t[2]); |
|
} |
|
At.setDocument && At.setDocument(); |
|
}, |
|
isChildOf: function (e, t) { |
|
for (; e; ) { |
|
if (t === e) return !0; |
|
e = e.parentNode; |
|
} |
|
return !1; |
|
}, |
|
dumpRng: function (e) { |
|
return ( |
|
"startContainer: " + |
|
e.startContainer.nodeName + |
|
", startOffset: " + |
|
e.startOffset + |
|
", endContainer: " + |
|
e.endContainer.nodeName + |
|
", endOffset: " + |
|
e.endOffset |
|
); |
|
}, |
|
}; |
|
return ( |
|
(s = gi(d, u, function () { |
|
return V; |
|
})), |
|
V |
|
); |
|
} |
|
((si = vi || (vi = {})).DOM = si(H.document)), (si.nodeIndex = hi); |
|
var bi = vi, |
|
yi = bi.DOM, |
|
Ci = Jt.each, |
|
xi = Jt.grep, |
|
wi = function (e) { |
|
return "function" == typeof e; |
|
}, |
|
Ni = function () { |
|
var l = {}, |
|
o = [], |
|
i = {}, |
|
a = [], |
|
f = 0; |
|
(this.isDone = function (e) { |
|
return 2 === l[e]; |
|
}), |
|
(this.markDone = function (e) { |
|
l[e] = 2; |
|
}), |
|
(this.add = this.load = |
|
function (e, t, n, r) { |
|
l[e] === undefined && (o.push(e), (l[e] = 0)), |
|
t && |
|
(i[e] || (i[e] = []), |
|
i[e].push({ success: t, failure: r, scope: n || this })); |
|
}), |
|
(this.remove = function (e) { |
|
delete l[e], delete i[e]; |
|
}), |
|
(this.loadQueue = function (e, t, n) { |
|
this.loadScripts(o, e, t, n); |
|
}), |
|
(this.loadScripts = function (n, e, t, r) { |
|
var u, |
|
s = [], |
|
c = function (t, e) { |
|
Ci(i[e], function (e) { |
|
wi(e[t]) && e[t].call(e.scope); |
|
}), |
|
(i[e] = undefined); |
|
}; |
|
a.push({ success: e, failure: r, scope: t || this }), |
|
(u = function () { |
|
var e = xi(n); |
|
if ( |
|
((n.length = 0), |
|
Ci(e, function (e) { |
|
var t, n, r, o, i, a; |
|
2 !== l[e] |
|
? 3 !== l[e] |
|
? 1 !== l[e] && |
|
((l[e] = 1), |
|
f++, |
|
(t = e), |
|
(n = function () { |
|
(l[e] = 2), f--, c("success", e), u(); |
|
}), |
|
(r = function () { |
|
(l[e] = 3), f--, s.push(e), c("failure", e), u(); |
|
}), |
|
(i = (a = yi).uniqueId()), |
|
((o = H.document.createElement("script")).id = i), |
|
(o.type = "text/javascript"), |
|
(o.src = Jt._addCacheSuffix(t)), |
|
(o.onload = function () { |
|
a.remove(i), |
|
o && (o.onreadystatechange = o.onload = o = null), |
|
n(); |
|
}), |
|
(o.onerror = function () { |
|
wi(r) |
|
? r() |
|
: "undefined" != typeof console && |
|
console.log && |
|
console.log("Failed to load script: " + t); |
|
}), |
|
( |
|
H.document.getElementsByTagName("head")[0] || |
|
H.document.body |
|
).appendChild(o)) |
|
: c("failure", e) |
|
: c("success", e); |
|
}), |
|
!f) |
|
) { |
|
var t = a.slice(0); |
|
(a.length = 0), |
|
Ci(t, function (e) { |
|
0 === s.length |
|
? wi(e.success) && e.success.call(e.scope) |
|
: wi(e.failure) && e.failure.call(e.scope, s); |
|
}); |
|
} |
|
})(); |
|
}); |
|
}; |
|
Ni.ScriptLoader = new Ni(); |
|
var Ei, |
|
Si = Jt.each; |
|
function ki() { |
|
var r = this, |
|
o = [], |
|
a = {}, |
|
u = {}, |
|
i = [], |
|
s = function (e) { |
|
var t; |
|
return u[e] && (t = u[e].dependencies), t || []; |
|
}, |
|
c = function (e, t) { |
|
return "object" == typeof t |
|
? t |
|
: "string" == typeof e |
|
? { prefix: "", resource: t, suffix: "" } |
|
: { prefix: e.prefix, resource: t, suffix: e.suffix }; |
|
}, |
|
l = function (e, n, t, r) { |
|
var o = s(e); |
|
Si(o, function (e) { |
|
var t = c(n, e); |
|
f(t.resource, t, undefined, undefined); |
|
}), |
|
t && (r ? t.call(r) : t.call(Ni)); |
|
}, |
|
f = function (e, t, n, r, o) { |
|
if (!a[e]) { |
|
var i = "string" == typeof t ? t : t.prefix + t.resource + t.suffix; |
|
0 !== i.indexOf("/") && |
|
-1 === i.indexOf("://") && |
|
(i = ki.baseURL + "/" + i), |
|
(a[e] = i.substring(0, i.lastIndexOf("/"))), |
|
u[e] |
|
? l(e, t, n, r) |
|
: Ni.ScriptLoader.add( |
|
i, |
|
function () { |
|
return l(e, t, n, r); |
|
}, |
|
r, |
|
o |
|
); |
|
} |
|
}; |
|
return { |
|
items: o, |
|
urls: a, |
|
lookup: u, |
|
_listeners: i, |
|
get: function (e) { |
|
return u[e] ? u[e].instance : undefined; |
|
}, |
|
dependencies: s, |
|
requireLangPack: function (e, t) { |
|
var n = ki.language; |
|
if (n && !1 !== ki.languageLoad) { |
|
if (t) |
|
if (-1 !== (t = "," + t + ",").indexOf("," + n.substr(0, 2) + ",")) |
|
n = n.substr(0, 2); |
|
else if (-1 === t.indexOf("," + n + ",")) return; |
|
Ni.ScriptLoader.add(a[e] + "/langs/" + n + ".js"); |
|
} |
|
}, |
|
add: function (t, e, n) { |
|
o.push(e), (u[t] = { instance: e, dependencies: n }); |
|
var r = K(i, function (e) { |
|
return e.name === t; |
|
}); |
|
return ( |
|
(i = r.fail), |
|
Si(r.pass, function (e) { |
|
e.callback(); |
|
}), |
|
e |
|
); |
|
}, |
|
remove: function (e) { |
|
delete a[e], delete u[e]; |
|
}, |
|
createUrl: c, |
|
addComponents: function (e, t) { |
|
var n = r.urls[e]; |
|
Si(t, function (e) { |
|
Ni.ScriptLoader.add(n + "/" + e); |
|
}); |
|
}, |
|
load: f, |
|
waitFor: function (e, t) { |
|
u.hasOwnProperty(e) ? t() : i.push({ name: e, callback: t }); |
|
}, |
|
}; |
|
} |
|
((Ei = ki || (ki = {})).PluginManager = Ei()), (Ei.ThemeManager = Ei()); |
|
var Ti = function (t, n) { |
|
zr(t).each(function (e) { |
|
e.dom().insertBefore(n.dom(), t.dom()); |
|
}); |
|
}, |
|
Ai = function (e, t) { |
|
Vr(e).fold( |
|
function () { |
|
zr(e).each(function (e) { |
|
_i(e, t); |
|
}); |
|
}, |
|
function (e) { |
|
Ti(e, t); |
|
} |
|
); |
|
}, |
|
Ri = function (t, n) { |
|
Wr(t).fold( |
|
function () { |
|
_i(t, n); |
|
}, |
|
function (e) { |
|
t.dom().insertBefore(n.dom(), e.dom()); |
|
} |
|
); |
|
}, |
|
_i = function (e, t) { |
|
e.dom().appendChild(t.dom()); |
|
}, |
|
Di = function (t, e) { |
|
U(e, function (e) { |
|
_i(t, e); |
|
}); |
|
}, |
|
Bi = function (e) { |
|
(e.dom().textContent = ""), |
|
U(qr(e), function (e) { |
|
Oi(e); |
|
}); |
|
}, |
|
Oi = function (e) { |
|
var t = e.dom(); |
|
null !== t.parentNode && t.parentNode.removeChild(t); |
|
}, |
|
Pi = function (e) { |
|
var t, |
|
n = qr(e); |
|
0 < n.length && |
|
((t = e), |
|
U(n, function (e) { |
|
Ti(t, e); |
|
})), |
|
Oi(e); |
|
}, |
|
Ii = function (n, r) { |
|
var o = null; |
|
return { |
|
cancel: function () { |
|
null !== o && (H.clearTimeout(o), (o = null)); |
|
}, |
|
throttle: function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) |
|
e[t] = arguments[t]; |
|
null === o && |
|
(o = H.setTimeout(function () { |
|
n.apply(null, e), (o = null); |
|
}, r)); |
|
}, |
|
}; |
|
}, |
|
Li = function (e) { |
|
var t = e, |
|
n = function () { |
|
return t; |
|
}; |
|
return { |
|
get: n, |
|
set: function (e) { |
|
t = e; |
|
}, |
|
clone: function () { |
|
return Li(n()); |
|
}, |
|
}; |
|
}, |
|
Mi = function (e, t) { |
|
var n = xr(e, t); |
|
return n === undefined || "" === n ? [] : n.split(" "); |
|
}, |
|
Fi = function (e) { |
|
return e.dom().classList !== undefined; |
|
}, |
|
zi = function (e, t) { |
|
return ( |
|
(o = t), |
|
(i = Mi((n = e), (r = "class")).concat([o])), |
|
yr(n, r, i.join(" ")), |
|
!0 |
|
); |
|
var n, r, o, i; |
|
}, |
|
Ui = function (e, t) { |
|
return ( |
|
(o = t), |
|
0 < |
|
(i = V(Mi((n = e), (r = "class")), function (e) { |
|
return e !== o; |
|
})).length |
|
? yr(n, r, i.join(" ")) |
|
: wr(n, r), |
|
!1 |
|
); |
|
var n, r, o, i; |
|
}, |
|
Vi = function (e, t) { |
|
Fi(e) ? e.dom().classList.add(t) : zi(e, t); |
|
}, |
|
Hi = function (e) { |
|
0 === (Fi(e) ? e.dom().classList : Mi(e, "class")).length && |
|
wr(e, "class"); |
|
}, |
|
ji = function (e, t) { |
|
return Fi(e) && e.dom().classList.contains(t); |
|
}, |
|
qi = function (e, t) { |
|
var n = []; |
|
return ( |
|
U(qr(e), function (e) { |
|
t(e) && (n = n.concat([e])), (n = n.concat(qi(e, t))); |
|
}), |
|
n |
|
); |
|
}, |
|
$i = function (e, t) { |
|
return ( |
|
(n = t), |
|
(o = (r = e) === undefined ? H.document : r.dom()), |
|
Pr(o) ? [] : W(o.querySelectorAll(n), ir.fromDom) |
|
); |
|
var n, r, o; |
|
}; |
|
function Wi(e, t, n, r, o) { |
|
return e(n, r) ? A.some(n) : P(o) && o(n) ? A.none() : t(n, r, o); |
|
} |
|
var Ki, |
|
Xi = function (e, t, n) { |
|
for (var r = e.dom(), o = P(n) ? n : q(!1); r.parentNode; ) { |
|
r = r.parentNode; |
|
var i = ir.fromDom(r); |
|
if (t(i)) return A.some(i); |
|
if (o(i)) break; |
|
} |
|
return A.none(); |
|
}, |
|
Yi = function (e, t, n) { |
|
return Wi( |
|
function (e) { |
|
return t(e); |
|
}, |
|
Xi, |
|
e, |
|
t, |
|
n |
|
); |
|
}, |
|
Gi = function (e, t, n) { |
|
return Xi( |
|
e, |
|
function (e) { |
|
return Or(e, t); |
|
}, |
|
n |
|
); |
|
}, |
|
Ji = function (e, t) { |
|
return ( |
|
(n = t), |
|
(o = (r = e) === undefined ? H.document : r.dom()), |
|
Pr(o) ? A.none() : A.from(o.querySelector(n)).map(ir.fromDom) |
|
); |
|
var n, r, o; |
|
}, |
|
Qi = function (e, t, n) { |
|
return Wi(Or, Gi, e, t, n); |
|
}, |
|
Zi = q("mce-annotation"), |
|
ea = q("data-mce-annotation"), |
|
ta = q("data-mce-annotation-uid"), |
|
na = function (r, e) { |
|
var t = r.selection.getRng(), |
|
n = ir.fromDom(t.startContainer), |
|
o = ir.fromDom(r.getBody()), |
|
i = e.fold( |
|
function () { |
|
return "." + Zi(); |
|
}, |
|
function (e) { |
|
return "[" + ea() + '="' + e + '"]'; |
|
} |
|
), |
|
a = $r(n, t.startOffset).getOr(n), |
|
u = Qi(a, i, function (e) { |
|
return Ir(e, o); |
|
}), |
|
s = function (e, t) { |
|
return ( |
|
(n = t), |
|
(r = e.dom()) && r.hasAttribute && r.hasAttribute(n) |
|
? A.some(xr(e, t)) |
|
: A.none() |
|
); |
|
var n, r; |
|
}; |
|
return u.bind(function (e) { |
|
return s(e, "" + ta()).bind(function (n) { |
|
return s(e, "" + ea()).map(function (e) { |
|
var t = ra(r, n); |
|
return { uid: n, name: e, elements: t }; |
|
}); |
|
}); |
|
}); |
|
}, |
|
ra = function (e, t) { |
|
var n = ir.fromDom(e.getBody()); |
|
return $i(n, "[" + ta() + '="' + t + '"]'); |
|
}, |
|
oa = function (i, e) { |
|
var n, |
|
r, |
|
o, |
|
a = Li({}), |
|
c = function (e, t) { |
|
u(e, function (e) { |
|
return t(e), e; |
|
}); |
|
}, |
|
u = function (e, t) { |
|
var n = a.get(), |
|
r = t( |
|
n.hasOwnProperty(e) |
|
? n[e] |
|
: { listeners: [], previous: Li(A.none()) } |
|
); |
|
(n[e] = r), a.set(n); |
|
}, |
|
t = |
|
((n = function () { |
|
var e, |
|
t, |
|
n, |
|
r = a.get(), |
|
o = ((e = mr(r)), (n = L.call(e, 0)).sort(t), n); |
|
U(o, function (e) { |
|
u(e, function (u) { |
|
var s = u.previous.get(); |
|
return ( |
|
na(i, A.some(e)).fold( |
|
function () { |
|
var t; |
|
s.isSome() && |
|
(c((t = e), function (e) { |
|
U(e.listeners, function (e) { |
|
return e(!1, t); |
|
}); |
|
}), |
|
u.previous.set(A.none())); |
|
}, |
|
function (e) { |
|
var t, |
|
n, |
|
r, |
|
o = e.uid, |
|
i = e.name, |
|
a = e.elements; |
|
s.is(o) || |
|
((n = o), |
|
(r = a), |
|
c((t = i), function (e) { |
|
U(e.listeners, function (e) { |
|
return e(!0, t, { |
|
uid: n, |
|
nodes: W(r, function (e) { |
|
return e.dom(); |
|
}), |
|
}); |
|
}); |
|
}), |
|
u.previous.set(A.some(o))); |
|
} |
|
), |
|
{ previous: u.previous, listeners: u.listeners } |
|
); |
|
}); |
|
}); |
|
}), |
|
(r = 30), |
|
(o = null), |
|
{ |
|
cancel: function () { |
|
null !== o && (H.clearTimeout(o), (o = null)); |
|
}, |
|
throttle: function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) |
|
e[t] = arguments[t]; |
|
null !== o && H.clearTimeout(o), |
|
(o = H.setTimeout(function () { |
|
n.apply(null, e), (o = null); |
|
}, r)); |
|
}, |
|
}); |
|
return ( |
|
i.on("remove", function () { |
|
t.cancel(); |
|
}), |
|
i.on("nodeChange", function () { |
|
t.throttle(); |
|
}), |
|
{ |
|
addListener: function (e, t) { |
|
u(e, function (e) { |
|
return { |
|
previous: e.previous, |
|
listeners: e.listeners.concat([t]), |
|
}; |
|
}); |
|
}, |
|
} |
|
); |
|
}, |
|
ia = function (e, n) { |
|
e.on("init", function () { |
|
e.serializer.addNodeFilter("span", function (e) { |
|
U(e, function (t) { |
|
var e; |
|
((e = t), A.from(e.attributes.map[ea()]).bind(n.lookup)).each( |
|
function (e) { |
|
!1 === e.persistent && t.unwrap(); |
|
} |
|
); |
|
}); |
|
}); |
|
}); |
|
}, |
|
aa = 0, |
|
ua = function (e, t) { |
|
return ir.fromDom(e.dom().cloneNode(t)); |
|
}, |
|
sa = function (e) { |
|
return ua(e, !1); |
|
}, |
|
ca = function (e) { |
|
return ua(e, !0); |
|
}, |
|
la = function (e, t) { |
|
var n, |
|
r, |
|
o = Mr(e).dom(), |
|
i = ir.fromDom(o.createDocumentFragment()), |
|
a = |
|
((n = t), |
|
((r = (o || H.document).createElement("div")).innerHTML = n), |
|
qr(ir.fromDom(r))); |
|
Di(i, a), Bi(e), _i(e, i); |
|
}, |
|
fa = "\ufeff", |
|
da = function (e) { |
|
return e === fa; |
|
}, |
|
ma = fa, |
|
ga = function (e) { |
|
return e.replace(new RegExp(fa, "g"), ""); |
|
}, |
|
pa = Po.isElement, |
|
ha = Po.isText, |
|
va = function (e) { |
|
return ( |
|
ha(e) && (e = e.parentNode), pa(e) && e.hasAttribute("data-mce-caret") |
|
); |
|
}, |
|
ba = function (e) { |
|
return ha(e) && da(e.data); |
|
}, |
|
ya = function (e) { |
|
return va(e) || ba(e); |
|
}, |
|
Ca = function (e) { |
|
return e.firstChild !== e.lastChild || !Po.isBr(e.firstChild); |
|
}, |
|
xa = function (e) { |
|
var t = e.container(); |
|
return ( |
|
!(!e || !Po.isText(t)) && |
|
(t.data.charAt(e.offset()) === ma || |
|
(e.isAtStart() && ba(t.previousSibling))) |
|
); |
|
}, |
|
wa = function (e) { |
|
var t = e.container(); |
|
return ( |
|
!(!e || !Po.isText(t)) && |
|
(t.data.charAt(e.offset() - 1) === ma || |
|
(e.isAtEnd() && ba(t.nextSibling))) |
|
); |
|
}, |
|
Na = function (e, t, n) { |
|
var r, o, i; |
|
return ( |
|
(r = t.ownerDocument.createElement(e)).setAttribute( |
|
"data-mce-caret", |
|
n ? "before" : "after" |
|
), |
|
r.setAttribute("data-mce-bogus", "all"), |
|
r.appendChild( |
|
((i = H.document.createElement("br")).setAttribute( |
|
"data-mce-bogus", |
|
"1" |
|
), |
|
i) |
|
), |
|
(o = t.parentNode), |
|
n |
|
? o.insertBefore(r, t) |
|
: t.nextSibling |
|
? o.insertBefore(r, t.nextSibling) |
|
: o.appendChild(r), |
|
r |
|
); |
|
}, |
|
Ea = function (e) { |
|
return ha(e) && e.data[0] === ma; |
|
}, |
|
Sa = function (e) { |
|
return ha(e) && e.data[e.data.length - 1] === ma; |
|
}, |
|
ka = function (e) { |
|
return e && e.hasAttribute("data-mce-caret") |
|
? ((t = e.getElementsByTagName("br")), |
|
(n = t[t.length - 1]), |
|
Po.isBogus(n) && n.parentNode.removeChild(n), |
|
e.removeAttribute("data-mce-caret"), |
|
e.removeAttribute("data-mce-bogus"), |
|
e.removeAttribute("style"), |
|
e.removeAttribute("_moz_abspos"), |
|
e) |
|
: null; |
|
var t, n; |
|
}, |
|
Ta = Po.isContentEditableTrue, |
|
Aa = Po.isContentEditableFalse, |
|
Ra = Po.isBr, |
|
_a = Po.isText, |
|
Da = Po.matchNodeNames("script style textarea"), |
|
Ba = Po.matchNodeNames("img input textarea hr iframe video audio object"), |
|
Oa = Po.matchNodeNames("table"), |
|
Pa = ya, |
|
Ia = function (e) { |
|
return ( |
|
!Pa(e) && (_a(e) ? !Da(e.parentNode) : Ba(e) || Ra(e) || Oa(e) || La(e)) |
|
); |
|
}, |
|
La = function (e) { |
|
return ( |
|
!1 === |
|
((t = e), |
|
Po.isElement(t) && "true" === t.getAttribute("unselectable")) && Aa(e) |
|
); |
|
var t; |
|
}, |
|
Ma = function (e, t) { |
|
return ( |
|
Ia(e) && |
|
(function (e, t) { |
|
for (e = e.parentNode; e && e !== t; e = e.parentNode) { |
|
if (La(e)) return !1; |
|
if (Ta(e)) return !0; |
|
} |
|
return !0; |
|
})(e, t) |
|
); |
|
}, |
|
Fa = Math.round, |
|
za = function (e) { |
|
return e |
|
? { |
|
left: Fa(e.left), |
|
top: Fa(e.top), |
|
bottom: Fa(e.bottom), |
|
right: Fa(e.right), |
|
width: Fa(e.width), |
|
height: Fa(e.height), |
|
} |
|
: { left: 0, top: 0, bottom: 0, right: 0, width: 0, height: 0 }; |
|
}, |
|
Ua = function (e, t) { |
|
return ( |
|
(e = za(e)), |
|
t || (e.left = e.left + e.width), |
|
(e.right = e.left), |
|
(e.width = 0), |
|
e |
|
); |
|
}, |
|
Va = function (e, t, n) { |
|
return 0 <= e && e <= Math.min(t.height, n.height) / 2; |
|
}, |
|
Ha = function (e, t) { |
|
return ( |
|
e.bottom - e.height / 2 < t.top || |
|
(!(e.top > t.bottom) && Va(t.top - e.bottom, e, t)) |
|
); |
|
}, |
|
ja = function (e, t) { |
|
return ( |
|
e.top > t.bottom || (!(e.bottom < t.top) && Va(t.bottom - e.top, e, t)) |
|
); |
|
}, |
|
qa = function (e, t, n) { |
|
return t >= e.left && t <= e.right && n >= e.top && n <= e.bottom; |
|
}, |
|
$a = function (e) { |
|
var t = e.startContainer, |
|
n = e.startOffset; |
|
return t.hasChildNodes() && e.endOffset === n + 1 |
|
? t.childNodes[n] |
|
: null; |
|
}, |
|
Wa = function (e, t) { |
|
return ( |
|
1 === e.nodeType && |
|
e.hasChildNodes() && |
|
(t >= e.childNodes.length && (t = e.childNodes.length - 1), |
|
(e = e.childNodes[t])), |
|
e |
|
); |
|
}, |
|
Ka = new RegExp( |
|
"[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]" |
|
), |
|
Xa = function (e) { |
|
return "string" == typeof e && 768 <= e.charCodeAt(0) && Ka.test(e); |
|
}, |
|
Ya = function (e, t) { |
|
for (var n = [], r = 0; r < e.length; r++) { |
|
var o = e[r]; |
|
if (!o.isSome()) return A.none(); |
|
n.push(o.getOrDie()); |
|
} |
|
return A.some(t.apply(null, n)); |
|
}, |
|
Ga = [].slice, |
|
Ja = function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; |
|
var n = Ga.call(arguments); |
|
return function (e) { |
|
for (var t = 0; t < n.length; t++) if (!n[t](e)) return !1; |
|
return !0; |
|
}; |
|
}, |
|
Qa = function () { |
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; |
|
var n = Ga.call(arguments); |
|
return function (e) { |
|
for (var t = 0; t < n.length; t++) if (n[t](e)) return !0; |
|
return !1; |
|
}; |
|
}, |
|
Za = Po.isElement, |
|
eu = Ia, |
|
tu = Po.matchStyleValues("display", "block table"), |
|
nu = Po.matchStyleValues("float", "left right"), |
|
ru = Ja(Za, eu, y(nu)), |
|
ou = y(Po.matchStyleValues("white-space", "pre pre-line pre-wrap")), |
|
iu = Po.isText, |
|
au = Po.isBr, |
|
uu = bi.nodeIndex, |
|
su = Wa, |
|
cu = function (e) { |
|
return "createRange" in e ? e.createRange() : bi.DOM.createRng(); |
|
}, |
|
lu = function (e) { |
|
return e && /[\r\n\t ]/.test(e); |
|
}, |
|
fu = function (e) { |
|
return !!e.setStart && !!e.setEnd; |
|
}, |
|
du = function (e) { |
|
var t, |
|
n = e.startContainer, |
|
r = e.startOffset; |
|
return !!( |
|
lu(e.toString()) && |
|
ou(n.parentNode) && |
|
Po.isText(n) && |
|
((t = n.data), lu(t[r - 1]) || lu(t[r + 1])) |
|
); |
|
}, |
|
mu = function (e) { |
|
return 0 === e.left && 0 === e.right && 0 === e.top && 0 === e.bottom; |
|
}, |
|
gu = function (e) { |
|
var t, n, r, o, i, a, u, s; |
|
return ( |
|
(t = |
|
0 < (n = e.getClientRects()).length |
|
? za(n[0]) |
|
: za(e.getBoundingClientRect())), |
|
!fu(e) && au(e) && mu(t) |
|
? ((i = (r = e).ownerDocument), |
|
(a = cu(i)), |
|
(u = i.createTextNode("\xa0")), |
|
(s = r.parentNode).insertBefore(u, r), |
|
a.setStart(u, 0), |
|
a.setEnd(u, 1), |
|
(o = za(a.getBoundingClientRect())), |
|
s.removeChild(u), |
|
o) |
|
: mu(t) && fu(e) |
|
? (function (e) { |
|
var t = e.startContainer, |
|
n = e.endContainer, |
|
r = e.startOffset, |
|
o = e.endOffset; |
|
if (t === n && Po.isText(n) && 0 === r && 1 === o) { |
|
var i = e.cloneRange(); |
|
return i.setEndAfter(n), gu(i); |
|
} |
|
return null; |
|
})(e) |
|
: t |
|
); |
|
}, |
|
pu = function (e, t) { |
|
var n = Ua(e, t); |
|
return (n.width = 1), (n.right = n.left + 1), n; |
|
}, |
|
hu = function (e) { |
|
var t, |
|
n, |
|
r = [], |
|
o = function (e) { |
|
var t, n; |
|
0 !== e.height && |
|
((0 < r.length && |
|
((t = e), |
|
(n = r[r.length - 1]), |
|
t.left === n.left && |
|
t.top === n.top && |
|
t.bottom === n.bottom && |
|
t.right === n.right)) || |
|
r.push(e)); |
|
}, |
|
i = function (e, t) { |
|
var n = cu(e.ownerDocument); |
|
if (t < e.data.length) { |
|
if (Xa(e.data[t])) return r; |
|
if ( |
|
Xa(e.data[t - 1]) && |
|
(n.setStart(e, t), n.setEnd(e, t + 1), !du(n)) |
|
) |
|
return o(pu(gu(n), !1)), r; |
|
} |
|
0 < t && |
|
(n.setStart(e, t - 1), n.setEnd(e, t), du(n) || o(pu(gu(n), !1))), |
|
t < e.data.length && |
|
(n.setStart(e, t), n.setEnd(e, t + 1), du(n) || o(pu(gu(n), !0))); |
|
}; |
|
if (iu(e.container())) return i(e.container(), e.offset()), r; |
|
if (Za(e.container())) |
|
if (e.isAtEnd()) |
|
(n = su(e.container(), e.offset())), |
|
iu(n) && i(n, n.data.length), |
|
ru(n) && !au(n) && o(pu(gu(n), !1)); |
|
else { |
|
if ( |
|
((n = su(e.container(), e.offset())), |
|
iu(n) && i(n, 0), |
|
ru(n) && e.isAtEnd()) |
|
) |
|
return o(pu(gu(n), !1)), r; |
|
(t = su(e.container(), e.offset() - 1)), |
|
ru(t) && !au(t) && (tu(t) || tu(n) || !ru(n)) && o(pu(gu(t), !1)), |
|
ru(n) && o(pu(gu(n), !0)); |
|
} |
|
return r; |
|
}; |
|
function vu(t, n, e) { |
|
var r = function () { |
|
return e || (e = hu(vu(t, n))), e; |
|
}; |
|
return { |
|
container: q(t), |
|
offset: q(n), |
|
toRange: function () { |
|
var e; |
|
return (e = cu(t.ownerDocument)).setStart(t, n), e.setEnd(t, n), e; |
|
}, |
|
getClientRects: r, |
|
isVisible: function () { |
|
return 0 < r().length; |
|
}, |
|
isAtStart: function () { |
|
return iu(t), 0 === n; |
|
}, |
|
isAtEnd: function () { |
|
return iu(t) ? n >= t.data.length : n >= t.childNodes.length; |
|
}, |
|
isEqual: function (e) { |
|
return e && t === e.container() && n === e.offset(); |
|
}, |
|
getNode: function (e) { |
|
return su(t, e ? n - 1 : n); |
|
}, |
|
}; |
|
} |
|
((Ki = vu || (vu = {})).fromRangeStart = function (e) { |
|
return Ki(e.startContainer, e.startOffset); |
|
}), |
|
(Ki.fromRangeEnd = function (e) { |
|
return Ki(e.endContainer, e.endOffset); |
|
}), |
|
(Ki.after = function (e) { |
|
return Ki(e.parentNode, uu(e) + 1); |
|
}), |
|
(Ki.before = function (e) { |
|
return Ki(e.parentNode, uu(e)); |
|
}), |
|
(Ki.isAbove = function (e, t) { |
|
return Ya([ne(t.getClientRects()), re(e.getClientRects())], Ha).getOr(!1); |
|
}), |
|
(Ki.isBelow = function (e, t) { |
|
return Ya([re(t.getClientRects()), ne(e.getClientRects())], ja).getOr(!1); |
|
}), |
|
(Ki.isAtStart = function (e) { |
|
return !!e && e.isAtStart(); |
|
}), |
|
(Ki.isAtEnd = function (e) { |
|
return !!e && e.isAtEnd(); |
|
}), |
|
(Ki.isTextPosition = function (e) { |
|
return !!e && Po.isText(e.container()); |
|
}), |
|
(Ki.isElementPosition = function (e) { |
|
return !1 === Ki.isTextPosition(e); |
|
}); |
|
var bu, |
|
yu, |
|
Cu = vu, |
|
xu = Po.isText, |
|
wu = Po.isBogus, |
|
Nu = bi.nodeIndex, |
|
Eu = function (e) { |
|
var t = e.parentNode; |
|
return wu(t) ? Eu(t) : t; |
|
}, |
|
Su = function (e) { |
|
return e |
|
? Wt.reduce( |
|
e.childNodes, |
|
function (e, t) { |
|
return ( |
|
wu(t) && "BR" !== t.nodeName |
|
? (e = e.concat(Su(t))) |
|
: e.push(t), |
|
e |
|
); |
|
}, |
|
[] |
|
) |
|
: []; |
|
}, |
|
ku = function (t) { |
|
return function (e) { |
|
return t === e; |
|
}; |
|
}, |
|
Tu = function (e) { |
|
var t, r, n, o; |
|
return ( |
|
(xu(e) ? "text()" : e.nodeName.toLowerCase()) + |
|
"[" + |
|
((r = Su(Eu((t = e)))), |
|
(n = Wt.findIndex(r, ku(t), t)), |
|
(r = r.slice(0, n + 1)), |
|
(o = Wt.reduce( |
|
r, |
|
function (e, t, n) { |
|
return xu(t) && xu(r[n - 1]) && e++, e; |
|
}, |
|
0 |
|
)), |
|
(r = Wt.filter(r, Po.matchNodeNames(t.nodeName))), |
|
(n = Wt.findIndex(r, ku(t), t)) - o) + |
|
"]" |
|
); |
|
}, |
|
Au = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = []; |
|
return ( |
|
(n = t.container()), |
|
(r = t.offset()), |
|
xu(n) |
|
? (o = (function (e, t) { |
|
for (; (e = e.previousSibling) && xu(e); ) t += e.data.length; |
|
return t; |
|
})(n, r)) |
|
: (r >= (i = n.childNodes).length |
|
? ((o = "after"), (r = i.length - 1)) |
|
: (o = "before"), |
|
(n = i[r])), |
|
u.push(Tu(n)), |
|
(a = (function (e, t, n) { |
|
var r = []; |
|
for (t = t.parentNode; !(t === e || (n && n(t))); t = t.parentNode) |
|
r.push(t); |
|
return r; |
|
})(e, n)), |
|
(a = Wt.filter(a, y(Po.isBogus))), |
|
(u = u.concat( |
|
Wt.map(a, function (e) { |
|
return Tu(e); |
|
}) |
|
)) |
|
.reverse() |
|
.join("/") + |
|
"," + |
|
o |
|
); |
|
}, |
|
Ru = function (e, t) { |
|
var n, r, o; |
|
return t |
|
? ((t = (n = t.split(","))[0].split("/")), |
|
(o = 1 < n.length ? n[1] : "before"), |
|
(r = Wt.reduce( |
|
t, |
|
function (e, t) { |
|
return (t = /([\w\-\(\)]+)\[([0-9]+)\]/.exec(t)) |
|
? ("text()" === t[1] && (t[1] = "#text"), |
|
(n = e), |
|
(r = t[1]), |
|
(o = parseInt(t[2], 10)), |
|
(i = Su(n)), |
|
(i = Wt.filter(i, function (e, t) { |
|
return !xu(e) || !xu(i[t - 1]); |
|
})), |
|
(i = Wt.filter(i, Po.matchNodeNames(r)))[o]) |
|
: null; |
|
var n, r, o, i; |
|
}, |
|
e |
|
)) |
|
? xu(r) |
|
? (function (e, t) { |
|
for (var n, r = e, o = 0; xu(r); ) { |
|
if (((n = r.data.length), o <= t && t <= o + n)) { |
|
(e = r), (t -= o); |
|
break; |
|
} |
|
if (!xu(r.nextSibling)) { |
|
(e = r), (t = n); |
|
break; |
|
} |
|
(o += n), (r = r.nextSibling); |
|
} |
|
return ( |
|
xu(e) && t > e.data.length && (t = e.data.length), Cu(e, t) |
|
); |
|
})(r, parseInt(o, 10)) |
|
: ((o = "after" === o ? Nu(r) + 1 : Nu(r)), Cu(r.parentNode, o)) |
|
: null) |
|
: null; |
|
}, |
|
_u = function (e, t) { |
|
Po.isText(t) && 0 === t.data.length && e.remove(t); |
|
}, |
|
Du = function (e, t, n) { |
|
var r, o, i, a, u, s, c; |
|
Po.isDocumentFragment(n) |
|
? ((i = e), |
|
(a = t), |
|
(u = n), |
|
(s = A.from(u.firstChild)), |
|
(c = A.from(u.lastChild)), |
|
a.insertNode(u), |
|
s.each(function (e) { |
|
return _u(i, e.previousSibling); |
|
}), |
|
c.each(function (e) { |
|
return _u(i, e.nextSibling); |
|
})) |
|
: ((r = e), |
|
(o = n), |
|
t.insertNode(o), |
|
_u(r, o.previousSibling), |
|
_u(r, o.nextSibling)); |
|
}, |
|
Bu = Po.isContentEditableFalse, |
|
Ou = function (e, t, n, r, o) { |
|
var i, |
|
a = r[o ? "startContainer" : "endContainer"], |
|
u = r[o ? "startOffset" : "endOffset"], |
|
s = [], |
|
c = 0, |
|
l = e.getRoot(); |
|
for ( |
|
Po.isText(a) |
|
? s.push( |
|
n |
|
? (function (e, t, n) { |
|
var r, o; |
|
for ( |
|
o = e(t.data.slice(0, n)).length, r = t.previousSibling; |
|
r && Po.isText(r); |
|
r = r.previousSibling |
|
) |
|
o += e(r.data).length; |
|
return o; |
|
})(t, a, u) |
|
: u |
|
) |
|
: (u >= (i = a.childNodes).length && |
|
i.length && |
|
((c = 1), (u = Math.max(0, i.length - 1))), |
|
s.push(e.nodeIndex(i[u], n) + c)); |
|
a && a !== l; |
|
a = a.parentNode |
|
) |
|
s.push(e.nodeIndex(a, n)); |
|
return s; |
|
}, |
|
Pu = function (e, t, n) { |
|
var r = 0; |
|
return ( |
|
Jt.each(e.select(t), function (e) { |
|
if ("all" !== e.getAttribute("data-mce-bogus")) |
|
return e !== n && void r++; |
|
}), |
|
r |
|
); |
|
}, |
|
Iu = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = t ? "start" : "end"; |
|
(n = e[i + "Container"]), |
|
(r = e[i + "Offset"]), |
|
Po.isElement(n) && |
|
"TR" === n.nodeName && |
|
(n = (o = n.childNodes)[Math.min(t ? r : r - 1, o.length - 1)]) && |
|
((r = t ? 0 : n.childNodes.length), |
|
e["set" + (t ? "Start" : "End")](n, r)); |
|
}, |
|
Lu = function (e) { |
|
return Iu(e, !0), Iu(e, !1), e; |
|
}, |
|
Mu = function (e, t) { |
|
var n; |
|
if (Po.isElement(e) && ((e = Wa(e, t)), Bu(e))) return e; |
|
if (ya(e)) { |
|
if ( |
|
(Po.isText(e) && va(e) && (e = e.parentNode), |
|
(n = e.previousSibling), |
|
Bu(n)) |
|
) |
|
return n; |
|
if (((n = e.nextSibling), Bu(n))) return n; |
|
} |
|
}, |
|
Fu = function (e, t, n) { |
|
var r = n.getNode(), |
|
o = r ? r.nodeName : null, |
|
i = n.getRng(); |
|
if (Bu(r) || "IMG" === o) return { name: o, index: Pu(n.dom, o, r) }; |
|
var a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m = |
|
Mu((a = i).startContainer, a.startOffset) || |
|
Mu(a.endContainer, a.endOffset); |
|
return m |
|
? { name: (o = m.tagName), index: Pu(n.dom, o, m) } |
|
: ((u = e), |
|
(c = t), |
|
(l = i), |
|
(f = (s = n).dom), |
|
((d = {}).start = Ou(f, u, c, l, !0)), |
|
s.isCollapsed() || (d.end = Ou(f, u, c, l, !1)), |
|
d); |
|
}, |
|
zu = function (e, t, n) { |
|
var r = { |
|
"data-mce-type": "bookmark", |
|
id: t, |
|
style: "overflow:hidden;line-height:0px", |
|
}; |
|
return n ? e.create("span", r, "") : e.create("span", r); |
|
}, |
|
Uu = function (e, t) { |
|
var n = e.dom, |
|
r = e.getRng(), |
|
o = n.uniqueId(), |
|
i = e.isCollapsed(), |
|
a = e.getNode(), |
|
u = a.nodeName; |
|
if ("IMG" === u) return { name: u, index: Pu(n, u, a) }; |
|
var s = Lu(r.cloneRange()); |
|
if (!i) { |
|
s.collapse(!1); |
|
var c = zu(n, o + "_end", t); |
|
Du(n, s, c); |
|
} |
|
(r = Lu(r)).collapse(!0); |
|
var l = zu(n, o + "_start", t); |
|
return Du(n, r, l), e.moveToBookmark({ id: o, keep: 1 }), { id: o }; |
|
}, |
|
Vu = { |
|
getBookmark: function (e, t, n) { |
|
return 2 === t |
|
? Fu(ga, n, e) |
|
: 3 === t |
|
? ((o = (r = e).getRng()), |
|
{ |
|
start: Au(r.dom.getRoot(), Cu.fromRangeStart(o)), |
|
end: Au(r.dom.getRoot(), Cu.fromRangeEnd(o)), |
|
}) |
|
: t |
|
? { rng: e.getRng() } |
|
: Uu(e, !1); |
|
var r, o; |
|
}, |
|
getUndoBookmark: d(Fu, $, !0), |
|
getPersistentBookmark: Uu, |
|
}, |
|
Hu = "_mce_caret", |
|
ju = function (e) { |
|
return Po.isElement(e) && e.id === Hu; |
|
}, |
|
qu = function (e, t) { |
|
for (; t && t !== e; ) { |
|
if (t.id === Hu) return t; |
|
t = t.parentNode; |
|
} |
|
return null; |
|
}, |
|
$u = Po.isElement, |
|
Wu = Po.isText, |
|
Ku = function (e) { |
|
var t = e.parentNode; |
|
t && t.removeChild(e); |
|
}, |
|
Xu = function (e, t) { |
|
0 === t.length ? Ku(e) : (e.nodeValue = t); |
|
}, |
|
Yu = function (e) { |
|
var t = ga(e); |
|
return { count: e.length - t.length, text: t }; |
|
}, |
|
Gu = function (e, t) { |
|
return Zu(e), t; |
|
}, |
|
Ju = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = t.container(), |
|
a = ((n = oe(i.childNodes)), |
|
(r = e), |
|
(o = M(n, r)), |
|
-1 === o ? A.none() : A.some(o)) |
|
.map(function (e) { |
|
return e < t.offset() ? Cu(i, t.offset() - 1) : t; |
|
}) |
|
.getOr(t); |
|
return Zu(e), a; |
|
}, |
|
Qu = function (e, t) { |
|
return Wu(e) && t.container() === e |
|
? ((r = t), |
|
(o = Yu((n = e).data.substr(0, r.offset()))), |
|
(i = Yu(n.data.substr(r.offset()))), |
|
0 < (a = o.text + i.text).length |
|
? (Xu(n, a), Cu(n, r.offset() - o.count)) |
|
: r) |
|
: Gu(e, t); |
|
var n, r, o, i, a; |
|
}, |
|
Zu = function (e) { |
|
if ( |
|
($u(e) && |
|
ya(e) && |
|
(Ca(e) ? e.removeAttribute("data-mce-caret") : Ku(e)), |
|
Wu(e)) |
|
) { |
|
var t = ga( |
|
(function (e) { |
|
try { |
|
return e.nodeValue; |
|
} catch (t) { |
|
return ""; |
|
} |
|
})(e) |
|
); |
|
Xu(e, t); |
|
} |
|
}, |
|
es = { |
|
removeAndReposition: function (e, t) { |
|
return Cu.isTextPosition(t) |
|
? Qu(e, t) |
|
: ((n = e), |
|
(r = t).container() === n.parentNode ? Ju(n, r) : Gu(n, r)); |
|
var n, r; |
|
}, |
|
remove: Zu, |
|
}, |
|
ts = rr.detect().browser, |
|
ns = Po.isContentEditableFalse, |
|
rs = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = Ua(t.getBoundingClientRect(), n); |
|
return ( |
|
"BODY" === e.tagName |
|
? ((r = e.ownerDocument.documentElement), |
|
(o = e.scrollLeft || r.scrollLeft), |
|
(i = e.scrollTop || r.scrollTop)) |
|
: ((u = e.getBoundingClientRect()), |
|
(o = e.scrollLeft - u.left), |
|
(i = e.scrollTop - u.top)), |
|
(s.left += o), |
|
(s.right += o), |
|
(s.top += i), |
|
(s.bottom += i), |
|
(s.width = 1), |
|
0 < (a = t.offsetWidth - t.clientWidth) && |
|
(n && (a *= -1), (s.left += a), (s.right += a)), |
|
s |
|
); |
|
}, |
|
os = function (a, u, e) { |
|
var t, |
|
s, |
|
c = Li(A.none()), |
|
l = function () { |
|
!(function (e) { |
|
var t, n, r, o, i; |
|
for ( |
|
t = vn("*[contentEditable=false]", e), o = 0; |
|
o < t.length; |
|
o++ |
|
) |
|
(r = (n = t[o]).previousSibling), |
|
Sa(r) && |
|
(1 === (i = r.data).length |
|
? r.parentNode.removeChild(r) |
|
: r.deleteData(i.length - 1, 1)), |
|
(r = n.nextSibling), |
|
Ea(r) && |
|
(1 === (i = r.data).length |
|
? r.parentNode.removeChild(r) |
|
: r.deleteData(0, 1)); |
|
})(a), |
|
s && (es.remove(s), (s = null)), |
|
c.get().each(function (e) { |
|
vn(e.caret).remove(), c.set(A.none()); |
|
}), |
|
clearInterval(t); |
|
}, |
|
f = function () { |
|
t = ye.setInterval(function () { |
|
e() |
|
? vn("div.mce-visual-caret", a).toggleClass( |
|
"mce-visual-caret-hidden" |
|
) |
|
: vn("div.mce-visual-caret", a).addClass( |
|
"mce-visual-caret-hidden" |
|
); |
|
}, 500); |
|
}; |
|
return { |
|
show: function (t, e) { |
|
var n, r, o; |
|
if ((l(), (o = e), Po.isElement(o) && /^(TD|TH)$/i.test(o.tagName))) |
|
return null; |
|
if (!u(e)) |
|
return ( |
|
(s = (function (e, t) { |
|
var n, r, o; |
|
if ( |
|
((r = e.ownerDocument.createTextNode(ma)), |
|
(o = e.parentNode), |
|
t) |
|
) { |
|
if (((n = e.previousSibling), ha(n))) { |
|
if (ya(n)) return n; |
|
if (Sa(n)) return n.splitText(n.data.length - 1); |
|
} |
|
o.insertBefore(r, e); |
|
} else { |
|
if (((n = e.nextSibling), ha(n))) { |
|
if (ya(n)) return n; |
|
if (Ea(n)) return n.splitText(1), n; |
|
} |
|
e.nextSibling |
|
? o.insertBefore(r, e.nextSibling) |
|
: o.appendChild(r); |
|
} |
|
return r; |
|
})(e, t)), |
|
(r = e.ownerDocument.createRange()), |
|
ns(s.nextSibling) |
|
? (r.setStart(s, 0), r.setEnd(s, 0)) |
|
: (r.setStart(s, 1), r.setEnd(s, 1)), |
|
r |
|
); |
|
(s = Na("p", e, t)), (n = rs(a, e, t)), vn(s).css("top", n.top); |
|
var i = vn( |
|
'<div class="mce-visual-caret" data-mce-bogus="all"></div>' |
|
) |
|
.css(n) |
|
.appendTo(a)[0]; |
|
return ( |
|
c.set(A.some({ caret: i, element: e, before: t })), |
|
c.get().each(function (e) { |
|
t && vn(e.caret).addClass("mce-visual-caret-before"); |
|
}), |
|
f(), |
|
(r = e.ownerDocument.createRange()).setStart(s, 0), |
|
r.setEnd(s, 0), |
|
r |
|
); |
|
}, |
|
hide: l, |
|
getCss: function () { |
|
return ".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"; |
|
}, |
|
reposition: function () { |
|
c.get().each(function (e) { |
|
var t = rs(a, e.element, e.before); |
|
vn(e.caret).css(t); |
|
}); |
|
}, |
|
destroy: function () { |
|
return ye.clearInterval(t); |
|
}, |
|
}; |
|
}, |
|
is = function () { |
|
return ts.isIE() || ts.isEdge() || ts.isFirefox(); |
|
}, |
|
as = function (e) { |
|
return ns(e) || (Po.isTable(e) && is()); |
|
}, |
|
us = Po.isContentEditableFalse, |
|
ss = Po.matchStyleValues( |
|
"display", |
|
"block table table-cell table-caption list-item" |
|
), |
|
cs = ya, |
|
ls = va, |
|
fs = Po.isElement, |
|
ds = Ia, |
|
ms = function (e) { |
|
return 0 < e; |
|
}, |
|
gs = function (e) { |
|
return e < 0; |
|
}, |
|
ps = function (e, t) { |
|
for (var n; (n = e(t)); ) if (!ls(n)) return n; |
|
return null; |
|
}, |
|
hs = function (e, t, n, r, o) { |
|
var i = new ao(e, r); |
|
if (gs(t)) { |
|
if ((us(e) || ls(e)) && n((e = ps(i.prev, !0)))) return e; |
|
for (; (e = ps(i.prev, o)); ) if (n(e)) return e; |
|
} |
|
if (ms(t)) { |
|
if ((us(e) || ls(e)) && n((e = ps(i.next, !0)))) return e; |
|
for (; (e = ps(i.next, o)); ) if (n(e)) return e; |
|
} |
|
return null; |
|
}, |
|
vs = function (e, t) { |
|
for (; e && e !== t; ) { |
|
if (ss(e)) return e; |
|
e = e.parentNode; |
|
} |
|
return null; |
|
}, |
|
bs = function (e, t, n) { |
|
return vs(e.container(), n) === vs(t.container(), n); |
|
}, |
|
ys = function (e, t) { |
|
var n, r; |
|
return t |
|
? ((n = t.container()), |
|
(r = t.offset()), |
|
fs(n) ? n.childNodes[r + e] : null) |
|
: null; |
|
}, |
|
Cs = function (e, t) { |
|
var n = t.ownerDocument.createRange(); |
|
return ( |
|
e |
|
? (n.setStartBefore(t), n.setEndBefore(t)) |
|
: (n.setStartAfter(t), n.setEndAfter(t)), |
|
n |
|
); |
|
}, |
|
xs = function (e, t, n) { |
|
var r, o, i, a; |
|
for (o = e ? "previousSibling" : "nextSibling"; n && n !== t; ) { |
|
if (((r = n[o]), cs(r) && (r = r[o]), us(r))) { |
|
if (((a = n), vs(r, (i = t)) === vs(a, i))) return r; |
|
break; |
|
} |
|
if (ds(r)) break; |
|
n = n.parentNode; |
|
} |
|
return null; |
|
}, |
|
ws = d(Cs, !0), |
|
Ns = d(Cs, !1), |
|
Es = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = d(xs, !0, t), |
|
s = d(xs, !1, t); |
|
if (((o = n.startContainer), (i = n.startOffset), va(o))) { |
|
if ( |
|
(fs(o) || (o = o.parentNode), |
|
"before" === (a = o.getAttribute("data-mce-caret")) && |
|
((r = o.nextSibling), as(r))) |
|
) |
|
return ws(r); |
|
if ("after" === a && ((r = o.previousSibling), as(r))) return Ns(r); |
|
} |
|
if (!n.collapsed) return n; |
|
if (Po.isText(o)) { |
|
if (cs(o)) { |
|
if (1 === e) { |
|
if ((r = s(o))) return ws(r); |
|
if ((r = u(o))) return Ns(r); |
|
} |
|
if (-1 === e) { |
|
if ((r = u(o))) return Ns(r); |
|
if ((r = s(o))) return ws(r); |
|
} |
|
return n; |
|
} |
|
if (Sa(o) && i >= o.data.length - 1) |
|
return 1 === e && (r = s(o)) ? ws(r) : n; |
|
if (Ea(o) && i <= 1) return -1 === e && (r = u(o)) ? Ns(r) : n; |
|
if (i === o.data.length) return (r = s(o)) ? ws(r) : n; |
|
if (0 === i) return (r = u(o)) ? Ns(r) : n; |
|
} |
|
return n; |
|
}, |
|
Ss = function (e, t) { |
|
return A.from(ys(e ? 0 : -1, t)).filter(us); |
|
}, |
|
ks = function (e, t, n) { |
|
var r = Es(e, t, n); |
|
return -1 === e ? vu.fromRangeStart(r) : vu.fromRangeEnd(r); |
|
}, |
|
Ts = function (e) { |
|
return A.from(e.getNode()).map(ir.fromDom); |
|
}, |
|
As = function (e, t) { |
|
for (; (t = e(t)); ) if (t.isVisible()) return t; |
|
return t; |
|
}, |
|
Rs = function (e, t) { |
|
var n = bs(e, t); |
|
return !(n || !Po.isBr(e.getNode())) || n; |
|
}; |
|
((yu = bu || (bu = {}))[(yu.Backwards = -1)] = "Backwards"), |
|
(yu[(yu.Forwards = 1)] = "Forwards"); |
|
var _s, |
|
Ds, |
|
Bs, |
|
Os, |
|
Ps, |
|
Is = Po.isContentEditableFalse, |
|
Ls = Po.isText, |
|
Ms = Po.isElement, |
|
Fs = Po.isBr, |
|
zs = Ia, |
|
Us = function (e) { |
|
return ( |
|
Ba(e) || |
|
(!!La((t = e)) && |
|
!0 !== |
|
X( |
|
oe(t.getElementsByTagName("*")), |
|
function (e, t) { |
|
return e || Ta(t); |
|
}, |
|
!1 |
|
)) |
|
); |
|
var t; |
|
}, |
|
Vs = Ma, |
|
Hs = function (e, t) { |
|
return e.hasChildNodes() && t < e.childNodes.length |
|
? e.childNodes[t] |
|
: null; |
|
}, |
|
js = function (e, t) { |
|
if (ms(e)) { |
|
if (zs(t.previousSibling) && !Ls(t.previousSibling)) |
|
return Cu.before(t); |
|
if (Ls(t)) return Cu(t, 0); |
|
} |
|
if (gs(e)) { |
|
if (zs(t.nextSibling) && !Ls(t.nextSibling)) return Cu.after(t); |
|
if (Ls(t)) return Cu(t, t.data.length); |
|
} |
|
return gs(e) ? (Fs(t) ? Cu.before(t) : Cu.after(t)) : Cu.before(t); |
|
}, |
|
qs = function (e, t, n) { |
|
var r, o, i, a, u; |
|
if (!Ms(n) || !t) return null; |
|
if (t.isEqual(Cu.after(n)) && n.lastChild) { |
|
if ( |
|
((u = Cu.after(n.lastChild)), |
|
gs(e) && zs(n.lastChild) && Ms(n.lastChild)) |
|
) |
|
return Fs(n.lastChild) ? Cu.before(n.lastChild) : u; |
|
} else u = t; |
|
var s, |
|
c, |
|
l, |
|
f = u.container(), |
|
d = u.offset(); |
|
if (Ls(f)) { |
|
if (gs(e) && 0 < d) return Cu(f, --d); |
|
if (ms(e) && d < f.length) return Cu(f, ++d); |
|
r = f; |
|
} else { |
|
if (gs(e) && 0 < d && ((o = Hs(f, d - 1)), zs(o))) |
|
return !Us(o) && (i = hs(o, e, Vs, o)) |
|
? Ls(i) |
|
? Cu(i, i.data.length) |
|
: Cu.after(i) |
|
: Ls(o) |
|
? Cu(o, o.data.length) |
|
: Cu.before(o); |
|
if (ms(e) && d < f.childNodes.length && ((o = Hs(f, d)), zs(o))) |
|
return Fs(o) |
|
? ((s = n), |
|
(l = (c = o).nextSibling) && zs(l) |
|
? Ls(l) |
|
? Cu(l, 0) |
|
: Cu.before(l) |
|
: qs(bu.Forwards, Cu.after(c), s)) |
|
: !Us(o) && (i = hs(o, e, Vs, o)) |
|
? Ls(i) |
|
? Cu(i, 0) |
|
: Cu.before(i) |
|
: Ls(o) |
|
? Cu(o, 0) |
|
: Cu.after(o); |
|
r = o || u.getNode(); |
|
} |
|
return ((ms(e) && u.isAtEnd()) || (gs(e) && u.isAtStart())) && |
|
((r = hs(r, e, q(!0), n, !0)), Vs(r, n)) |
|
? js(e, r) |
|
: ((o = hs(r, e, Vs, n)), |
|
!(a = Wt.last( |
|
V( |
|
(function (e, t) { |
|
for (var n = []; e && e !== t; ) n.push(e), (e = e.parentNode); |
|
return n; |
|
})(f, n), |
|
Is |
|
) |
|
)) || |
|
(o && a.contains(o)) |
|
? o |
|
? js(e, o) |
|
: null |
|
: (u = ms(e) ? Cu.after(a) : Cu.before(a))); |
|
}, |
|
$s = function (t) { |
|
return { |
|
next: function (e) { |
|
return qs(bu.Forwards, e, t); |
|
}, |
|
prev: function (e) { |
|
return qs(bu.Backwards, e, t); |
|
}, |
|
}; |
|
}, |
|
Ws = function (e) { |
|
return Cu.isTextPosition(e) ? 0 === e.offset() : Ia(e.getNode()); |
|
}, |
|
Ks = function (e) { |
|
if (Cu.isTextPosition(e)) { |
|
var t = e.container(); |
|
return e.offset() === t.data.length; |
|
} |
|
return Ia(e.getNode(!0)); |
|
}, |
|
Xs = function (e, t) { |
|
return ( |
|
!Cu.isTextPosition(e) && |
|
!Cu.isTextPosition(t) && |
|
e.getNode() === t.getNode(!0) |
|
); |
|
}, |
|
Ys = function (e, t, n) { |
|
return e |
|
? !Xs(t, n) && |
|
((r = t), !(!Cu.isTextPosition(r) && Po.isBr(r.getNode()))) && |
|
Ks(t) && |
|
Ws(n) |
|
: !Xs(n, t) && Ws(t) && Ks(n); |
|
var r; |
|
}, |
|
Gs = function (e, t, n) { |
|
var r = $s(t); |
|
return A.from(e ? r.next(n) : r.prev(n)); |
|
}, |
|
Js = function (t, n, r) { |
|
return Gs(t, n, r).bind(function (e) { |
|
return bs(r, e, n) && Ys(t, r, e) ? Gs(t, n, e) : A.some(e); |
|
}); |
|
}, |
|
Qs = function (t, n, e, r) { |
|
return Js(t, n, e).bind(function (e) { |
|
return r(e) ? Qs(t, n, e, r) : A.some(e); |
|
}); |
|
}, |
|
Zs = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = e ? t.firstChild : t.lastChild; |
|
return Po.isText(u) |
|
? A.some(Cu(u, e ? 0 : u.data.length)) |
|
: u |
|
? Ia(u) |
|
? A.some( |
|
e |
|
? Cu.before(u) |
|
: ((a = u), Po.isBr(a) ? Cu.before(a) : Cu.after(a)) |
|
) |
|
: ((r = t), |
|
(o = u), |
|
(i = (n = e) ? Cu.before(o) : Cu.after(o)), |
|
Gs(n, r, i)) |
|
: A.none(); |
|
}, |
|
ec = d(Gs, !0), |
|
tc = d(Gs, !1), |
|
nc = { |
|
fromPosition: Gs, |
|
nextPosition: ec, |
|
prevPosition: tc, |
|
navigate: Js, |
|
navigateIgnore: Qs, |
|
positionIn: Zs, |
|
firstPositionIn: d(Zs, !0), |
|
lastPositionIn: d(Zs, !1), |
|
}, |
|
rc = function (e, t) { |
|
return ( |
|
!e.isBlock(t) || |
|
t.innerHTML || |
|
ge.ie || |
|
(t.innerHTML = '<br data-mce-bogus="1" />'), |
|
t |
|
); |
|
}, |
|
oc = function (e, t) { |
|
return nc.lastPositionIn(e).fold( |
|
function () { |
|
return !1; |
|
}, |
|
function (e) { |
|
return ( |
|
t.setStart(e.container(), e.offset()), |
|
t.setEnd(e.container(), e.offset()), |
|
!0 |
|
); |
|
} |
|
); |
|
}, |
|
ic = function (e, t, n) { |
|
return !( |
|
!1 !== t.hasChildNodes() || |
|
!qu(e, t) || |
|
((o = n), |
|
(i = (r = t).ownerDocument.createTextNode(ma)), |
|
r.appendChild(i), |
|
o.setStart(i, 0), |
|
o.setEnd(i, 0), |
|
0) |
|
); |
|
var r, o, i; |
|
}, |
|
ac = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s = n[t ? "start" : "end"], |
|
c = e.getRoot(); |
|
if (s) { |
|
for (a = s[0], i = c, o = s.length - 1; 1 <= o; o--) { |
|
if (((u = i.childNodes), ic(c, i, r))) return !0; |
|
if (s[o] > u.length - 1) return !!ic(c, i, r) || oc(i, r); |
|
i = u[s[o]]; |
|
} |
|
3 === i.nodeType && (a = Math.min(s[0], i.nodeValue.length)), |
|
1 === i.nodeType && (a = Math.min(s[0], i.childNodes.length)), |
|
t ? r.setStart(i, a) : r.setEnd(i, a); |
|
} |
|
return !0; |
|
}, |
|
uc = function (e) { |
|
return Po.isText(e) && 0 < e.data.length; |
|
}, |
|
sc = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = e.get(n.id + "_" + t), |
|
l = n.keep; |
|
if (c) { |
|
if ( |
|
((r = c.parentNode), |
|
"start" === t |
|
? l |
|
? c.hasChildNodes() |
|
? ((r = c.firstChild), (o = 1)) |
|
: uc(c.nextSibling) |
|
? ((r = c.nextSibling), (o = 0)) |
|
: uc(c.previousSibling) |
|
? ((r = c.previousSibling), (o = c.previousSibling.data.length)) |
|
: ((r = c.parentNode), (o = e.nodeIndex(c) + 1)) |
|
: (o = e.nodeIndex(c)) |
|
: l |
|
? c.hasChildNodes() |
|
? ((r = c.firstChild), (o = 1)) |
|
: uc(c.previousSibling) |
|
? ((r = c.previousSibling), (o = c.previousSibling.data.length)) |
|
: ((r = c.parentNode), (o = e.nodeIndex(c))) |
|
: (o = e.nodeIndex(c)), |
|
(u = r), |
|
(s = o), |
|
!l) |
|
) { |
|
for ( |
|
a = c.previousSibling, |
|
i = c.nextSibling, |
|
Jt.each(Jt.grep(c.childNodes), function (e) { |
|
Po.isText(e) && |
|
(e.nodeValue = e.nodeValue.replace(/\uFEFF/g, "")); |
|
}); |
|
(c = e.get(n.id + "_" + t)); |
|
|
|
) |
|
e.remove(c, !0); |
|
a && |
|
i && |
|
a.nodeType === i.nodeType && |
|
Po.isText(a) && |
|
!ge.opera && |
|
((o = a.nodeValue.length), |
|
a.appendData(i.nodeValue), |
|
e.remove(i), |
|
(u = a), |
|
(s = o)); |
|
} |
|
return A.some(Cu(u, s)); |
|
} |
|
return A.none(); |
|
}, |
|
cc = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b = e.dom; |
|
if (t) { |
|
if (((v = t), Jt.isArray(v.start))) |
|
return ( |
|
(p = t), |
|
(h = (g = b).createRng()), |
|
ac(g, !0, p, h) && ac(g, !1, p, h) ? A.some(h) : A.none() |
|
); |
|
if ("string" == typeof t.start) |
|
return A.some( |
|
((f = t), |
|
(d = (l = b).createRng()), |
|
(m = Ru(l.getRoot(), f.start)), |
|
d.setStart(m.container(), m.offset()), |
|
(m = Ru(l.getRoot(), f.end)), |
|
d.setEnd(m.container(), m.offset()), |
|
d) |
|
); |
|
if (t.hasOwnProperty("id")) |
|
return ( |
|
(s = sc((o = b), "start", (i = t))), |
|
(c = sc(o, "end", i)), |
|
Ya([s, ((a = c), (u = s), a.isSome() ? a : u)], function (e, t) { |
|
var n = o.createRng(); |
|
return ( |
|
n.setStart(rc(o, e.container()), e.offset()), |
|
n.setEnd(rc(o, t.container()), t.offset()), |
|
n |
|
); |
|
}) |
|
); |
|
if (t.hasOwnProperty("name")) |
|
return ( |
|
(n = b), |
|
(r = t), |
|
A.from(n.select(r.name)[r.index]).map(function (e) { |
|
var t = n.createRng(); |
|
return t.selectNode(e), t; |
|
}) |
|
); |
|
if (t.hasOwnProperty("rng")) return A.some(t.rng); |
|
} |
|
return A.none(); |
|
}, |
|
lc = function (e, t, n) { |
|
return Vu.getBookmark(e, t, n); |
|
}, |
|
fc = function (t, e) { |
|
cc(t, e).each(function (e) { |
|
t.setRng(e); |
|
}); |
|
}, |
|
dc = function (e) { |
|
return ( |
|
Po.isElement(e) && |
|
"SPAN" === e.tagName && |
|
"bookmark" === e.getAttribute("data-mce-type") |
|
); |
|
}, |
|
mc = function (e) { |
|
return e && /^(IMG)$/.test(e.nodeName); |
|
}, |
|
gc = function (e) { |
|
return e && 3 === e.nodeType && /^([\t \r\n]+|)$/.test(e.nodeValue); |
|
}, |
|
pc = function (e, t, n) { |
|
return ( |
|
("color" !== n && "backgroundColor" !== n) || (t = e.toHex(t)), |
|
"fontWeight" === n && 700 === t && (t = "bold"), |
|
"fontFamily" === n && |
|
(t = t.replace(/[\'\"]/g, "").replace(/,\s+/g, ",")), |
|
"" + t |
|
); |
|
}, |
|
hc = { |
|
isInlineBlock: mc, |
|
moveStart: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = n.startOffset, |
|
u = n.startContainer; |
|
if ( |
|
(n.startContainer !== n.endContainer || |
|
!mc(n.startContainer.childNodes[n.startOffset])) && |
|
1 === u.nodeType |
|
) |
|
for ( |
|
a < (i = u.childNodes).length |
|
? (r = new ao((u = i[a]), e.getParent(u, e.isBlock))) |
|
: (r = new ao( |
|
(u = i[i.length - 1]), |
|
e.getParent(u, e.isBlock) |
|
)).next(!0), |
|
o = r.current(); |
|
o; |
|
o = r.next() |
|
) |
|
if (3 === o.nodeType && !gc(o)) |
|
return n.setStart(o, 0), void t.setRng(n); |
|
}, |
|
getNonWhiteSpaceSibling: function (e, t, n) { |
|
if (e) |
|
for ( |
|
t = t ? "nextSibling" : "previousSibling", e = n ? e : e[t]; |
|
e; |
|
e = e[t] |
|
) |
|
if (1 === e.nodeType || !gc(e)) return e; |
|
}, |
|
isTextBlock: function (e, t) { |
|
return ( |
|
t.nodeType && (t = t.nodeName), |
|
!!e.schema.getTextBlockElements()[t.toLowerCase()] |
|
); |
|
}, |
|
isValid: function (e, t, n) { |
|
return e.schema.isValidChild(t, n); |
|
}, |
|
isWhiteSpaceNode: gc, |
|
replaceVars: function (e, n) { |
|
return ( |
|
"string" != typeof e |
|
? (e = e(n)) |
|
: n && |
|
(e = e.replace(/%(\w+)/g, function (e, t) { |
|
return n[t] || e; |
|
})), |
|
e |
|
); |
|
}, |
|
isEq: function (e, t) { |
|
return ( |
|
(t = t || ""), |
|
(e = "" + ((e = e || "").nodeName || e)), |
|
(t = "" + (t.nodeName || t)), |
|
e.toLowerCase() === t.toLowerCase() |
|
); |
|
}, |
|
normalizeStyleValue: pc, |
|
getStyle: function (e, t, n) { |
|
return pc(e, e.getStyle(t, n), n); |
|
}, |
|
getTextDecoration: function (t, e) { |
|
var n; |
|
return ( |
|
t.getParent(e, function (e) { |
|
return (n = t.getStyle(e, "text-decoration")) && "none" !== n; |
|
}), |
|
n |
|
); |
|
}, |
|
getParents: function (e, t, n) { |
|
return e.getParents(t, n, e.getRoot()); |
|
}, |
|
}, |
|
vc = dc, |
|
bc = hc.getParents, |
|
yc = hc.isWhiteSpaceNode, |
|
Cc = hc.isTextBlock, |
|
xc = function (e, t) { |
|
for ( |
|
void 0 === t && (t = 3 === e.nodeType ? e.length : e.childNodes.length); |
|
e && e.hasChildNodes(); |
|
|
|
) |
|
(e = e.childNodes[t]) && |
|
(t = 3 === e.nodeType ? e.length : e.childNodes.length); |
|
return { node: e, offset: t }; |
|
}, |
|
wc = function (e, t) { |
|
for (var n = t; n; ) { |
|
if (1 === n.nodeType && e.getContentEditable(n)) |
|
return "false" === e.getContentEditable(n) ? n : t; |
|
n = n.parentNode; |
|
} |
|
return t; |
|
}, |
|
Nc = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a = n.nodeValue; |
|
return ( |
|
void 0 === r && (r = e ? a.length : 0), |
|
e |
|
? ((o = a.lastIndexOf(" ", r)), |
|
-1 !== (o = (i = a.lastIndexOf("\xa0", r)) < o ? o : i) && |
|
!t && |
|
(o < r || !e) && |
|
o <= a.length && |
|
o++) |
|
: ((o = a.indexOf(" ", r)), |
|
(i = a.indexOf("\xa0", r)), |
|
(o = -1 !== o && (-1 === i || o < i) ? o : i)), |
|
o |
|
); |
|
}, |
|
Ec = function (e, t, n, r, o, i) { |
|
var a, u, s, c; |
|
if (3 === n.nodeType) { |
|
if (-1 !== (s = Nc(o, i, n, r))) return { container: n, offset: s }; |
|
c = n; |
|
} |
|
for ( |
|
a = new ao(n, e.getParent(n, e.isBlock) || t); |
|
(u = a[o ? "prev" : "next"]()); |
|
|
|
) |
|
if (3 !== u.nodeType || vc(u.parentNode)) { |
|
if (e.isBlock(u) || hc.isEq(u, "BR")) break; |
|
} else if (-1 !== (s = Nc(o, i, (c = u)))) |
|
return { container: u, offset: s }; |
|
if (c) return { container: c, offset: (r = o ? 0 : c.length) }; |
|
}, |
|
Sc = function (e, t, n, r, o) { |
|
var i, a, u, s; |
|
for ( |
|
3 === r.nodeType && 0 === r.nodeValue.length && r[o] && (r = r[o]), |
|
i = bc(e, r), |
|
a = 0; |
|
a < i.length; |
|
a++ |
|
) |
|
for (u = 0; u < t.length; u++) |
|
if ( |
|
!("collapsed" in (s = t[u]) && s.collapsed !== n.collapsed) && |
|
e.is(i[a], s.selector) |
|
) |
|
return i[a]; |
|
return r; |
|
}, |
|
kc = function (t, e, n, r) { |
|
var o, |
|
i = t.dom, |
|
a = i.getRoot(); |
|
if ((e[0].wrapper || (o = i.getParent(n, e[0].block, a)), !o)) { |
|
var u = i.getParent(n, "LI,TD,TH"); |
|
o = i.getParent( |
|
3 === n.nodeType ? n.parentNode : n, |
|
function (e) { |
|
return e !== a && Cc(t, e); |
|
}, |
|
u |
|
); |
|
} |
|
if ((o && e[0].wrapper && (o = bc(i, o, "ul,ol").reverse()[0] || o), !o)) |
|
for ( |
|
o = n; |
|
o[r] && !i.isBlock(o[r]) && ((o = o[r]), !hc.isEq(o, "br")); |
|
|
|
); |
|
return o || n; |
|
}, |
|
Tc = function (e, t, n, r, o, i, a) { |
|
var u, s, c, l, f, d; |
|
if ( |
|
((u = s = a ? n : o), |
|
(l = a ? "previousSibling" : "nextSibling"), |
|
(f = e.getRoot()), |
|
3 === u.nodeType && !yc(u) && (a ? 0 < r : i < u.nodeValue.length)) |
|
) |
|
return u; |
|
for (;;) { |
|
if (!t[0].block_expand && e.isBlock(s)) return s; |
|
for (c = s[l]; c; c = c[l]) |
|
if ( |
|
!vc(c) && |
|
!yc(c) && |
|
("BR" !== (d = c).nodeName || |
|
!d.getAttribute("data-mce-bogus") || |
|
d.nextSibling) |
|
) |
|
return s; |
|
if (s === f || s.parentNode === f) { |
|
u = s; |
|
break; |
|
} |
|
s = s.parentNode; |
|
} |
|
return u; |
|
}, |
|
Ac = function (e, t, n, r) { |
|
var o, |
|
i = t.startContainer, |
|
a = t.startOffset, |
|
u = t.endContainer, |
|
s = t.endOffset, |
|
c = e.dom; |
|
return ( |
|
1 === i.nodeType && |
|
i.hasChildNodes() && |
|
3 === (i = Wa(i, a)).nodeType && |
|
(a = 0), |
|
1 === u.nodeType && |
|
u.hasChildNodes() && |
|
3 === (u = Wa(u, t.collapsed ? s : s - 1)).nodeType && |
|
(s = u.nodeValue.length), |
|
(i = wc(c, i)), |
|
(u = wc(c, u)), |
|
(vc(i.parentNode) || vc(i)) && |
|
((i = vc(i) ? i : i.parentNode), |
|
3 === |
|
(i = t.collapsed ? i.previousSibling || i : i.nextSibling || i) |
|
.nodeType && (a = t.collapsed ? i.length : 0)), |
|
(vc(u.parentNode) || vc(u)) && |
|
((u = vc(u) ? u : u.parentNode), |
|
3 === |
|
(u = t.collapsed ? u.nextSibling || u : u.previousSibling || u) |
|
.nodeType && (s = t.collapsed ? 0 : u.length)), |
|
t.collapsed && |
|
((o = Ec(c, e.getBody(), i, a, !0, r)) && |
|
((i = o.container), (a = o.offset)), |
|
(o = Ec(c, e.getBody(), u, s, !1, r)) && |
|
((u = o.container), (s = o.offset))), |
|
n[0].inline && |
|
(u = r |
|
? u |
|
: (function (e, t) { |
|
var n = xc(e, t); |
|
if (n.node) { |
|
for (; n.node && 0 === n.offset && n.node.previousSibling; ) |
|
n = xc(n.node.previousSibling); |
|
n.node && |
|
0 < n.offset && |
|
3 === n.node.nodeType && |
|
" " === n.node.nodeValue.charAt(n.offset - 1) && |
|
1 < n.offset && |
|
(e = n.node).splitText(n.offset - 1); |
|
} |
|
return e; |
|
})(u, s)), |
|
(n[0].inline || n[0].block_expand) && |
|
((n[0].inline && 3 === i.nodeType && 0 !== a) || |
|
(i = Tc(c, n, i, a, u, s, !0)), |
|
(n[0].inline && 3 === u.nodeType && s !== u.nodeValue.length) || |
|
(u = Tc(c, n, i, a, u, s, !1))), |
|
n[0].selector && |
|
!1 !== n[0].expand && |
|
!n[0].inline && |
|
((i = Sc(c, n, t, i, "previousSibling")), |
|
(u = Sc(c, n, t, u, "nextSibling"))), |
|
(n[0].block || n[0].selector) && |
|
((i = kc(e, n, i, "previousSibling")), |
|
(u = kc(e, n, u, "nextSibling")), |
|
n[0].block && |
|
(c.isBlock(i) || (i = Tc(c, n, i, a, u, s, !0)), |
|
c.isBlock(u) || (u = Tc(c, n, i, a, u, s, !1)))), |
|
1 === i.nodeType && ((a = c.nodeIndex(i)), (i = i.parentNode)), |
|
1 === u.nodeType && ((s = c.nodeIndex(u) + 1), (u = u.parentNode)), |
|
{ startContainer: i, startOffset: a, endContainer: u, endOffset: s } |
|
); |
|
}, |
|
Rc = Jt.each, |
|
_c = function (e, t, o) { |
|
var n, |
|
r, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = t.startContainer, |
|
f = t.startOffset, |
|
d = t.endContainer, |
|
m = t.endOffset; |
|
if ( |
|
0 < (c = e.select("td[data-mce-selected],th[data-mce-selected]")).length |
|
) |
|
Rc(c, function (e) { |
|
o([e]); |
|
}); |
|
else { |
|
var g, |
|
p, |
|
h, |
|
v = function (e) { |
|
var t; |
|
return ( |
|
3 === (t = e[0]).nodeType && |
|
t === l && |
|
f >= t.nodeValue.length && |
|
e.splice(0, 1), |
|
(t = e[e.length - 1]), |
|
0 === m && |
|
0 < e.length && |
|
t === d && |
|
3 === t.nodeType && |
|
e.splice(e.length - 1, 1), |
|
e |
|
); |
|
}, |
|
b = function (e, t, n) { |
|
for (var r = []; e && e !== n; e = e[t]) r.push(e); |
|
return r; |
|
}, |
|
y = function (e, t) { |
|
do { |
|
if (e.parentNode === t) return e; |
|
e = e.parentNode; |
|
} while (e); |
|
}, |
|
C = function (e, t, n) { |
|
var r = n ? "nextSibling" : "previousSibling"; |
|
for (u = (a = e).parentNode; a && a !== t; a = u) |
|
(u = a.parentNode), |
|
(s = b(a === e ? a : a[r], r)).length && |
|
(n || s.reverse(), o(v(s))); |
|
}; |
|
if ( |
|
(1 === l.nodeType && l.hasChildNodes() && (l = l.childNodes[f]), |
|
1 === d.nodeType && |
|
d.hasChildNodes() && |
|
((p = m), |
|
(h = (g = d).childNodes), |
|
--p > h.length - 1 ? (p = h.length - 1) : p < 0 && (p = 0), |
|
(d = h[p] || g)), |
|
l === d) |
|
) |
|
return o(v([l])); |
|
for (n = e.findCommonAncestor(l, d), a = l; a; a = a.parentNode) { |
|
if (a === d) return C(l, n, !0); |
|
if (a === n) break; |
|
} |
|
for (a = d; a; a = a.parentNode) { |
|
if (a === l) return C(d, n); |
|
if (a === n) break; |
|
} |
|
(r = y(l, n) || l), |
|
(i = y(d, n) || d), |
|
C(l, r, !0), |
|
(s = b( |
|
r === l ? r : r.nextSibling, |
|
"nextSibling", |
|
i === d ? i.nextSibling : i |
|
)).length && o(v(s)), |
|
C(d, i); |
|
} |
|
}, |
|
Dc = |
|
((_s = dr), |
|
(Ds = "text"), |
|
(Bs = function (e) { |
|
return _s(e) ? A.from(e.dom().nodeValue) : A.none(); |
|
}), |
|
(Os = rr.detect().browser), |
|
{ |
|
get: function (e) { |
|
if (!_s(e)) |
|
throw new Error( |
|
"Can only get " + Ds + " value of a " + Ds + " node" |
|
); |
|
return Ps(e).getOr(""); |
|
}, |
|
getOption: (Ps = |
|
Os.isIE() && 10 === Os.version.major |
|
? function (e) { |
|
try { |
|
return Bs(e); |
|
} catch (ZN) { |
|
return A.none(); |
|
} |
|
} |
|
: Bs), |
|
set: function (e, t) { |
|
if (!_s(e)) |
|
throw new Error( |
|
"Can only set raw " + Ds + " value of a " + Ds + " node" |
|
); |
|
e.dom().nodeValue = t; |
|
}, |
|
}), |
|
Bc = function (e) { |
|
return Dc.get(e); |
|
}, |
|
Oc = function (r, o, i, a) { |
|
return zr(o).fold( |
|
function () { |
|
return "skipping"; |
|
}, |
|
function (e) { |
|
return "br" === a || (dr((n = o)) && "\ufeff" === Bc(n)) |
|
? "valid" |
|
: fr((t = o)) && ji(t, Zi()) |
|
? "existing" |
|
: ju(o) |
|
? "caret" |
|
: hc.isValid(r, i, a) && hc.isValid(r, cr(e), i) |
|
? "valid" |
|
: "invalid-child"; |
|
var t, n; |
|
} |
|
); |
|
}, |
|
Pc = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a = t.uid, |
|
u = |
|
void 0 === a |
|
? ((o = "mce-annotation"), |
|
(i = new Date().getTime()), |
|
o + "_" + Math.floor(1e9 * Math.random()) + ++aa + String(i)) |
|
: a, |
|
s = (function (e, t) { |
|
var n = {}; |
|
for (var r in e) |
|
Object.prototype.hasOwnProperty.call(e, r) && |
|
t.indexOf(r) < 0 && |
|
(n[r] = e[r]); |
|
if (null != e && "function" == typeof Object.getOwnPropertySymbols) { |
|
var o = 0; |
|
for (r = Object.getOwnPropertySymbols(e); o < r.length; o++) |
|
t.indexOf(r[o]) < 0 && |
|
Object.prototype.propertyIsEnumerable.call(e, r[o]) && |
|
(n[r[o]] = e[r[o]]); |
|
} |
|
return n; |
|
})(t, ["uid"]), |
|
c = ir.fromTag("span", e); |
|
Vi(c, Zi()), yr(c, "" + ta(), u), yr(c, "" + ea(), n); |
|
var l, |
|
f = r(u, s), |
|
d = f.attributes, |
|
m = void 0 === d ? {} : d, |
|
g = f.classes, |
|
p = void 0 === g ? [] : g; |
|
return ( |
|
Cr(c, m), |
|
(l = c), |
|
U(p, function (e) { |
|
Vi(l, e); |
|
}), |
|
c |
|
); |
|
}, |
|
Ic = function (i, e, t, n, r) { |
|
var a = [], |
|
u = Pc(i.getDoc(), r, t, n), |
|
s = Li(A.none()), |
|
c = function () { |
|
s.set(A.none()); |
|
}, |
|
l = function (e) { |
|
U(e, o); |
|
}, |
|
o = function (e) { |
|
var t, n; |
|
switch (Oc(i, e, "span", cr(e))) { |
|
case "invalid-child": |
|
c(); |
|
var r = qr(e); |
|
l(r), c(); |
|
break; |
|
case "valid": |
|
var o = s.get().getOrThunk(function () { |
|
var e = sa(u); |
|
return a.push(e), s.set(A.some(e)), e; |
|
}); |
|
Ti((t = e), (n = o)), _i(n, t); |
|
} |
|
}; |
|
return ( |
|
_c(i.dom, e, function (e) { |
|
var t; |
|
c(), (t = W(e, ir.fromDom)), l(t); |
|
}), |
|
a |
|
); |
|
}, |
|
Lc = function (s, c, l, f) { |
|
s.undoManager.transact(function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o = s.selection.getRng(); |
|
if ( |
|
(o.collapsed && |
|
((r = Ac( |
|
(e = s), |
|
(t = o), |
|
[{ inline: !0 }], |
|
3 === (n = t).startContainer.nodeType && |
|
n.startContainer.nodeValue.length >= n.startOffset && |
|
"\xa0" === n.startContainer.nodeValue[n.startOffset] |
|
)), |
|
t.setStart(r.startContainer, r.startOffset), |
|
t.setEnd(r.endContainer, r.endOffset), |
|
e.selection.setRng(t)), |
|
s.selection.getRng().collapsed) |
|
) { |
|
var i = Pc(s.getDoc(), f, c, l.decorate); |
|
la(i, "\xa0"), |
|
s.selection.getRng().insertNode(i.dom()), |
|
s.selection.select(i.dom()); |
|
} else { |
|
var a = Vu.getPersistentBookmark(s.selection, !1), |
|
u = s.selection.getRng(); |
|
Ic(s, u, c, l.decorate, f), s.selection.moveToBookmark(a); |
|
} |
|
}); |
|
}; |
|
function Mc(s) { |
|
var n, |
|
r = |
|
((n = {}), |
|
{ |
|
register: function (e, t) { |
|
n[e] = { name: e, settings: t }; |
|
}, |
|
lookup: function (e) { |
|
return n.hasOwnProperty(e) |
|
? A.from(n[e]).map(function (e) { |
|
return e.settings; |
|
}) |
|
: A.none(); |
|
}, |
|
}); |
|
ia(s, r); |
|
var o = oa(s); |
|
return { |
|
register: function (e, t) { |
|
r.register(e, t); |
|
}, |
|
annotate: function (t, n) { |
|
r.lookup(t).each(function (e) { |
|
Lc(s, t, e, n); |
|
}); |
|
}, |
|
annotationChanged: function (e, t) { |
|
o.addListener(e, t); |
|
}, |
|
remove: function (e) { |
|
na(s, A.some(e)).each(function (e) { |
|
var t = e.elements; |
|
U(t, Pi); |
|
}); |
|
}, |
|
getAll: function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = |
|
((t = s), |
|
(n = e), |
|
(r = ir.fromDom(t.getBody())), |
|
(o = $i(r, "[" + ea() + '="' + n + '"]')), |
|
(i = {}), |
|
U(o, function (e) { |
|
var t = xr(e, ta()), |
|
n = i.hasOwnProperty(t) ? i[t] : []; |
|
i[t] = n.concat([e]); |
|
}), |
|
i); |
|
return ( |
|
(a = function (e) { |
|
return W(e, function (e) { |
|
return e.dom(); |
|
}); |
|
}), |
|
hr(u, function (e, t, n) { |
|
return { k: t, v: a(e, t, n) }; |
|
}) |
|
); |
|
}, |
|
}; |
|
} |
|
var Fc = function (e) { |
|
return Jt.grep(e.childNodes, function (e) { |
|
return "LI" === e.nodeName; |
|
}); |
|
}, |
|
zc = function (e) { |
|
return ( |
|
e && |
|
e.firstChild && |
|
e.firstChild === e.lastChild && |
|
("\xa0" === (t = e.firstChild).data || Po.isBr(t)) |
|
); |
|
var t; |
|
}, |
|
Uc = function (e) { |
|
return 0 < e.length && (!(t = e[e.length - 1]).firstChild || zc(t)) |
|
? e.slice(0, -1) |
|
: e; |
|
var t; |
|
}, |
|
Vc = function (e, t) { |
|
var n = e.getParent(t, e.isBlock); |
|
return n && "LI" === n.nodeName ? n : null; |
|
}, |
|
Hc = function (e, t) { |
|
var n = Cu.after(e), |
|
r = $s(t).prev(n); |
|
return r ? r.toRange() : null; |
|
}, |
|
jc = function (t, e, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = t.parentNode; |
|
return ( |
|
Jt.each(e, function (e) { |
|
u.insertBefore(e, t); |
|
}), |
|
(r = t), |
|
(o = n), |
|
(i = Cu.before(r)), |
|
(a = $s(o).next(i)) ? a.toRange() : null |
|
); |
|
}, |
|
qc = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = t.firstChild, |
|
c = t.lastChild; |
|
return ( |
|
s && "meta" === s.name && (s = s.next), |
|
c && "mce_marker" === c.attr("id") && (c = c.prev), |
|
(r = c), |
|
(u = (n = e).getNonEmptyElements()), |
|
r && |
|
(r.isEmpty(u) || |
|
((o = r), |
|
n.getBlockElements()[o.name] && |
|
(a = o).firstChild && |
|
a.firstChild === a.lastChild && |
|
("br" === (i = o.firstChild).name || "\xa0" === i.value))) && |
|
(c = c.prev), |
|
!(!s || s !== c || ("ul" !== s.name && "ol" !== s.name)) |
|
); |
|
}, |
|
$c = function (e, o, i, t) { |
|
var n, |
|
r, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
y, |
|
C, |
|
x, |
|
w, |
|
N = |
|
((n = o), |
|
(r = t), |
|
(c = e.serialize(r)), |
|
(l = n.createFragment(c)), |
|
(u = (a = l).firstChild), |
|
(s = a.lastChild), |
|
u && "META" === u.nodeName && u.parentNode.removeChild(u), |
|
s && "mce_marker" === s.id && s.parentNode.removeChild(s), |
|
a), |
|
E = Vc(o, i.startContainer), |
|
S = Uc(Fc(N.firstChild)), |
|
k = o.getRoot(), |
|
T = function (e) { |
|
var t = Cu.fromRangeStart(i), |
|
n = $s(o.getRoot()), |
|
r = 1 === e ? n.prev(t) : n.next(t); |
|
return !r || Vc(o, r.getNode()) !== E; |
|
}; |
|
return T(1) |
|
? jc(E, S, k) |
|
: T(2) |
|
? ((f = E), |
|
(d = S), |
|
(m = k), |
|
o.insertAfter(d.reverse(), f), |
|
Hc(d[0], m)) |
|
: ((p = S), |
|
(h = k), |
|
(v = g = E), |
|
(y = (b = i).cloneRange()), |
|
(C = b.cloneRange()), |
|
y.setStartBefore(v), |
|
C.setEndAfter(v), |
|
(x = [y.cloneContents(), C.cloneContents()]), |
|
(w = g.parentNode).insertBefore(x[0], g), |
|
Jt.each(p, function (e) { |
|
w.insertBefore(e, g); |
|
}), |
|
w.insertBefore(x[1], g), |
|
w.removeChild(g), |
|
Hc(p[p.length - 1], h)); |
|
}, |
|
Wc = function (e, t) { |
|
return !!Vc(e, t); |
|
}, |
|
Kc = Jt.each, |
|
Xc = function (o) { |
|
this.compare = function (e, t) { |
|
if (e.nodeName !== t.nodeName) return !1; |
|
var n = function (n) { |
|
var r = {}; |
|
return ( |
|
Kc(o.getAttribs(n), function (e) { |
|
var t = e.nodeName.toLowerCase(); |
|
0 !== t.indexOf("_") && |
|
"style" !== t && |
|
0 !== t.indexOf("data-") && |
|
(r[t] = o.getAttrib(n, t)); |
|
}), |
|
r |
|
); |
|
}, |
|
r = function (e, t) { |
|
var n, r; |
|
for (r in e) |
|
if (e.hasOwnProperty(r)) { |
|
if (void 0 === (n = t[r])) return !1; |
|
if (e[r] !== n) return !1; |
|
delete t[r]; |
|
} |
|
for (r in t) if (t.hasOwnProperty(r)) return !1; |
|
return !0; |
|
}; |
|
return !( |
|
!r(n(e), n(t)) || |
|
!r( |
|
o.parseStyle(o.getAttrib(e, "style")), |
|
o.parseStyle(o.getAttrib(t, "style")) |
|
) || |
|
dc(e) || |
|
dc(t) |
|
); |
|
}; |
|
}, |
|
Yc = function (e) { |
|
var t = $i(e, "br"), |
|
n = V( |
|
(function (e) { |
|
for (var t = [], n = e.dom(); n; ) |
|
t.push(ir.fromDom(n)), (n = n.lastChild); |
|
return t; |
|
})(e).slice(-1), |
|
po |
|
); |
|
t.length === n.length && U(n, Oi); |
|
}, |
|
Gc = function (e) { |
|
Bi(e), _i(e, ir.fromHtml('<br data-mce-bogus="1">')); |
|
}, |
|
Jc = function (n) { |
|
Kr(n).each(function (t) { |
|
Ur(t).each(function (e) { |
|
mo(n) && po(t) && mo(e) && Oi(t); |
|
}); |
|
}); |
|
}, |
|
Qc = Jt.makeMap; |
|
function Zc(e) { |
|
var u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = []; |
|
return ( |
|
(u = (e = e || {}).indent), |
|
(s = Qc(e.indent_before || "")), |
|
(c = Qc(e.indent_after || "")), |
|
(l = Xo.getEncodeFunc(e.entity_encoding || "raw", e.entities)), |
|
(f = "html" === e.element_format), |
|
{ |
|
start: function (e, t, n) { |
|
var r, o, i, a; |
|
if ( |
|
(u && |
|
s[e] && |
|
0 < d.length && |
|
0 < (a = d[d.length - 1]).length && |
|
"\n" !== a && |
|
d.push("\n"), |
|
d.push("<", e), |
|
t) |
|
) |
|
for (r = 0, o = t.length; r < o; r++) |
|
(i = t[r]), d.push(" ", i.name, '="', l(i.value, !0), '"'); |
|
(d[d.length] = !n || f ? ">" : " />"), |
|
n && |
|
u && |
|
c[e] && |
|
0 < d.length && |
|
0 < (a = d[d.length - 1]).length && |
|
"\n" !== a && |
|
d.push("\n"); |
|
}, |
|
end: function (e) { |
|
var t; |
|
d.push("</", e, ">"), |
|
u && |
|
c[e] && |
|
0 < d.length && |
|
0 < (t = d[d.length - 1]).length && |
|
"\n" !== t && |
|
d.push("\n"); |
|
}, |
|
text: function (e, t) { |
|
0 < e.length && (d[d.length] = t ? e : l(e)); |
|
}, |
|
cdata: function (e) { |
|
d.push("<![CDATA[", e, "]]>"); |
|
}, |
|
comment: function (e) { |
|
d.push("\x3c!--", e, "--\x3e"); |
|
}, |
|
pi: function (e, t) { |
|
t ? d.push("<?", e, " ", l(t), "?>") : d.push("<?", e, "?>"), |
|
u && d.push("\n"); |
|
}, |
|
doctype: function (e) { |
|
d.push("<!DOCTYPE", e, ">", u ? "\n" : ""); |
|
}, |
|
reset: function () { |
|
d.length = 0; |
|
}, |
|
getContent: function () { |
|
return d.join("").replace(/\n$/, ""); |
|
}, |
|
} |
|
); |
|
} |
|
function el(t, g) { |
|
void 0 === g && (g = ii()); |
|
var p = Zc(t); |
|
return ( |
|
((t = t || {}).validate = !("validate" in t) || t.validate), |
|
{ |
|
serialize: function (e) { |
|
var f, d; |
|
(d = t.validate), |
|
(f = { |
|
3: function (e) { |
|
p.text(e.value, e.raw); |
|
}, |
|
8: function (e) { |
|
p.comment(e.value); |
|
}, |
|
7: function (e) { |
|
p.pi(e.name, e.value); |
|
}, |
|
10: function (e) { |
|
p.doctype(e.value); |
|
}, |
|
4: function (e) { |
|
p.cdata(e.value); |
|
}, |
|
11: function (e) { |
|
if ((e = e.firstChild)) for (; m(e), (e = e.next); ); |
|
}, |
|
}), |
|
p.reset(); |
|
var m = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = f[e.type]; |
|
if (l) l(e); |
|
else { |
|
if ( |
|
((t = e.name), |
|
(n = e.shortEnded), |
|
(r = e.attributes), |
|
d && |
|
r && |
|
1 < r.length && |
|
(((a = []).map = {}), (c = g.getElementRule(e.name)))) |
|
) { |
|
for (u = 0, s = c.attributesOrder.length; u < s; u++) |
|
(o = c.attributesOrder[u]) in r.map && |
|
((i = r.map[o]), |
|
(a.map[o] = i), |
|
a.push({ name: o, value: i })); |
|
for (u = 0, s = r.length; u < s; u++) |
|
(o = r[u].name) in a.map || |
|
((i = r.map[o]), |
|
(a.map[o] = i), |
|
a.push({ name: o, value: i })); |
|
r = a; |
|
} |
|
if ((p.start(e.name, r, n), !n)) { |
|
if ((e = e.firstChild)) for (; m(e), (e = e.next); ); |
|
p.end(t); |
|
} |
|
} |
|
}; |
|
return 1 !== e.type || t.inner ? f[11](e) : m(e), p.getContent(); |
|
}, |
|
} |
|
); |
|
} |
|
var tl, |
|
nl = function (a) { |
|
var u = Cu.fromRangeStart(a), |
|
s = Cu.fromRangeEnd(a), |
|
c = a.commonAncestorContainer; |
|
return nc |
|
.fromPosition(!1, c, s) |
|
.map(function (e) { |
|
return !bs(u, s, c) && bs(u, e, c) |
|
? ((t = u.container()), |
|
(n = u.offset()), |
|
(r = e.container()), |
|
(o = e.offset()), |
|
(i = H.document.createRange()).setStart(t, n), |
|
i.setEnd(r, o), |
|
i) |
|
: a; |
|
var t, n, r, o, i; |
|
}) |
|
.getOr(a); |
|
}, |
|
rl = function (e) { |
|
return e.collapsed ? e : nl(e); |
|
}, |
|
ol = Po.matchNodeNames("td th"), |
|
il = function (e, t) { |
|
var n, |
|
r, |
|
o = e.selection.getRng(), |
|
i = o.startContainer, |
|
a = o.startOffset; |
|
o.collapsed && |
|
((n = i), (r = a), Po.isText(n) && "\xa0" === n.nodeValue[r - 1]) && |
|
Po.isText(i) && |
|
(i.insertData(a - 1, " "), |
|
i.deleteData(a, 1), |
|
o.setStart(i, a), |
|
o.setEnd(i, a), |
|
e.selection.setRng(o)), |
|
e.selection.setContent(t); |
|
}, |
|
al = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g = e.selection, |
|
p = e.dom; |
|
if ( |
|
(/^ | $/.test(t) && |
|
(t = (function (e, t) { |
|
var n, r; |
|
(n = e.startContainer), (r = e.startOffset); |
|
var o = function (e) { |
|
return n[e] && 3 === n[e].nodeType; |
|
}; |
|
return ( |
|
3 === n.nodeType && |
|
(0 < r |
|
? (t = t.replace(/^ /, " ")) |
|
: o("previousSibling") || (t = t.replace(/^ /, " ")), |
|
r < n.length |
|
? (t = t.replace(/ (<br>|)$/, " ")) |
|
: o("nextSibling") || |
|
(t = t.replace(/( | )(<br>|)$/, " "))), |
|
t |
|
); |
|
})(g.getRng(), t)), |
|
(r = e.parser), |
|
(m = n.merge), |
|
(o = el({ validate: e.settings.validate }, e.schema)), |
|
(d = |
|
'<span id="mce_marker" data-mce-type="bookmark">​</span>'), |
|
(s = { content: t, format: "html", selection: !0, paste: n.paste }), |
|
(s = e.fire("BeforeSetContent", s)).isDefaultPrevented()) |
|
) |
|
e.fire("SetContent", { |
|
content: s.content, |
|
format: "html", |
|
selection: !0, |
|
paste: n.paste, |
|
}); |
|
else { |
|
-1 === (t = s.content).indexOf("{$caret}") && (t += "{$caret}"), |
|
(t = t.replace(/\{\$caret\}/, d)); |
|
var h, |
|
v, |
|
b, |
|
y, |
|
C, |
|
x, |
|
w = |
|
(l = g.getRng()).startContainer || |
|
(l.parentElement ? l.parentElement() : null), |
|
N = e.getBody(); |
|
w === N && |
|
g.isCollapsed() && |
|
p.isBlock(N.firstChild) && |
|
((h = e), |
|
(v = N.firstChild) && |
|
!h.schema.getShortEndedElements()[v.nodeName]) && |
|
p.isEmpty(N.firstChild) && |
|
((l = p.createRng()).setStart(N.firstChild, 0), |
|
l.setEnd(N.firstChild, 0), |
|
g.setRng(l)), |
|
g.isCollapsed() || |
|
(e.selection.setRng(rl(e.selection.getRng())), |
|
e.getDoc().execCommand("Delete", !1, null), |
|
(b = e.selection.getRng()), |
|
(y = t), |
|
(C = b.startContainer), |
|
(x = b.startOffset), |
|
3 === C.nodeType && |
|
b.collapsed && |
|
("\xa0" === C.data[x] |
|
? (C.deleteData(x, 1), /[\u00a0| ]$/.test(y) || (y += " ")) |
|
: "\xa0" === C.data[x - 1] && |
|
(C.deleteData(x - 1, 1), |
|
/[\u00a0| ]$/.test(y) || (y = " " + y))), |
|
(t = y)); |
|
var E, |
|
S, |
|
k, |
|
T = { |
|
context: (i = g.getNode()).nodeName.toLowerCase(), |
|
data: n.data, |
|
insert: !0, |
|
}; |
|
if ( |
|
((u = r.parse(t, T)), !0 === n.paste && qc(e.schema, u) && Wc(p, i)) |
|
) |
|
return ( |
|
(l = $c(o, p, e.selection.getRng(), u)), |
|
e.selection.setRng(l), |
|
void e.fire("SetContent", s) |
|
); |
|
if ( |
|
((function (e) { |
|
for (var t = e; (t = t.walk()); ) |
|
1 === t.type && t.attr("data-mce-fragment", "1"); |
|
})(u), |
|
"mce_marker" === (f = u.lastChild).attr("id")) |
|
) |
|
for (f = (c = f).prev; f; f = f.walk(!0)) |
|
if (3 === f.type || !p.isBlock(f.name)) { |
|
e.schema.isValidChild(f.parent.name, "span") && |
|
f.parent.insert(c, f, "br" === f.name); |
|
break; |
|
} |
|
if ((e._selectionOverrides.showBlockCaretContainer(i), T.invalid)) { |
|
for ( |
|
il(e, d), |
|
i = g.getNode(), |
|
a = e.getBody(), |
|
9 === i.nodeType ? (i = f = a) : (f = i); |
|
f !== a; |
|
|
|
) |
|
f = (i = f).parentNode; |
|
(t = i === a ? a.innerHTML : p.getOuterHTML(i)), |
|
(t = o.serialize( |
|
r.parse( |
|
t.replace( |
|
/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i, |
|
function () { |
|
return o.serialize(u); |
|
} |
|
) |
|
) |
|
)), |
|
i === a ? p.setHTML(a, t) : p.setOuterHTML(i, t); |
|
} else |
|
!(function (e, t, n) { |
|
if ("all" === n.getAttribute("data-mce-bogus")) |
|
n.parentNode.insertBefore(e.dom.createFragment(t), n); |
|
else { |
|
var r = n.firstChild, |
|
o = n.lastChild; |
|
!r || (r === o && "BR" === r.nodeName) |
|
? e.dom.setHTML(n, t) |
|
: il(e, t); |
|
} |
|
})(e, (t = o.serialize(u)), i); |
|
!(function (e, t) { |
|
var n = e.schema.getTextInlineElements(), |
|
r = e.dom; |
|
if (t) { |
|
var o = e.getBody(), |
|
i = new Xc(r); |
|
Jt.each(r.select("*[data-mce-fragment]"), function (e) { |
|
for (var t = e.parentNode; t && t !== o; t = t.parentNode) |
|
n[e.nodeName.toLowerCase()] && |
|
i.compare(t, e) && |
|
r.remove(e, !0); |
|
}); |
|
} |
|
})(e, m), |
|
(function (n, e) { |
|
var t, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = n.dom, |
|
s = n.selection; |
|
if (e) { |
|
if ( |
|
(n.selection.scrollIntoView(e), |
|
(t = (function (e) { |
|
for (var t = n.getBody(); e && e !== t; e = e.parentNode) |
|
if ("false" === n.dom.getContentEditable(e)) return e; |
|
return null; |
|
})(e))) |
|
) |
|
return u.remove(e), s.select(t); |
|
var c = u.createRng(); |
|
(i = e.previousSibling) && 3 === i.nodeType |
|
? (c.setStart(i, i.nodeValue.length), |
|
ge.ie || |
|
((a = e.nextSibling) && |
|
3 === a.nodeType && |
|
(i.appendData(a.data), a.parentNode.removeChild(a)))) |
|
: (c.setStartBefore(e), c.setEndBefore(e)), |
|
(r = u.getParent(e, u.isBlock)), |
|
u.remove(e), |
|
r && |
|
u.isEmpty(r) && |
|
(n.$(r).empty(), |
|
c.setStart(r, 0), |
|
c.setEnd(r, 0), |
|
ol(r) || |
|
r.getAttribute("data-mce-fragment") || |
|
!(o = (function (e) { |
|
var t = Cu.fromRangeStart(e); |
|
if ((t = $s(n.getBody()).next(t))) return t.toRange(); |
|
})(c)) |
|
? u.add(r, u.create("br", { "data-mce-bogus": "1" })) |
|
: ((c = o), u.remove(r))), |
|
s.setRng(c); |
|
} |
|
})(e, p.get("mce_marker")), |
|
(E = e.getBody()), |
|
Jt.each(E.getElementsByTagName("*"), function (e) { |
|
e.removeAttribute("data-mce-fragment"); |
|
}), |
|
(S = e.dom), |
|
(k = e.selection.getStart()), |
|
A.from(S.getParent(k, "td,th")).map(ir.fromDom).each(Jc), |
|
e.fire("SetContent", s), |
|
e.addVisual(); |
|
} |
|
}, |
|
ul = function (e, t) { |
|
var n, |
|
r, |
|
o = |
|
"string" != typeof (n = t) |
|
? ((r = Jt.extend({ paste: n.paste, data: { paste: n.paste } }, n)), |
|
{ content: n.content, details: r }) |
|
: { content: n, details: {} }; |
|
al(e, o.content, o.details); |
|
}, |
|
sl = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/, |
|
cl = function (e, t, n) { |
|
var r = e.getParam(t, n); |
|
if (-1 !== r.indexOf("=")) { |
|
var o = e.getParam(t, "", "hash"); |
|
return o.hasOwnProperty(e.id) ? o[e.id] : n; |
|
} |
|
return r; |
|
}, |
|
ll = function (e) { |
|
return e.getParam("iframe_attrs", {}); |
|
}, |
|
fl = function (e) { |
|
return e.getParam("doctype", "<!DOCTYPE html>"); |
|
}, |
|
dl = function (e) { |
|
return e.getParam("document_base_url", ""); |
|
}, |
|
ml = function (e) { |
|
return cl(e, "body_id", "tinymce"); |
|
}, |
|
gl = function (e) { |
|
return cl(e, "body_class", ""); |
|
}, |
|
pl = function (e) { |
|
return e.getParam("content_security_policy", ""); |
|
}, |
|
hl = function (e) { |
|
return e.getParam("br_in_pre", !0); |
|
}, |
|
vl = function (e) { |
|
if (e.getParam("force_p_newlines", !1)) return "p"; |
|
var t = e.getParam("forced_root_block", "p"); |
|
return !1 === t ? "" : t; |
|
}, |
|
bl = function (e) { |
|
return e.getParam("forced_root_block_attrs", {}); |
|
}, |
|
yl = function (e) { |
|
return e.getParam( |
|
"br_newline_selector", |
|
".mce-toc h2,figcaption,caption" |
|
); |
|
}, |
|
Cl = function (e) { |
|
return e.getParam("no_newline_selector", ""); |
|
}, |
|
xl = function (e) { |
|
return e.getParam("keep_styles", !0); |
|
}, |
|
wl = function (e) { |
|
return e.getParam("end_container_on_empty_block", !1); |
|
}, |
|
Nl = function (e) { |
|
return Jt.explode(e.getParam("font_size_style_values", "")); |
|
}, |
|
El = function (e) { |
|
return Jt.explode(e.getParam("font_size_classes", "")); |
|
}, |
|
Sl = function (e) { |
|
return e.getParam("images_dataimg_filter", q(!0), "function"); |
|
}, |
|
kl = function (e) { |
|
return e.getParam("automatic_uploads", !0, "boolean"); |
|
}, |
|
Tl = function (e) { |
|
return e.getParam("images_reuse_filename", !1, "boolean"); |
|
}, |
|
Al = function (e) { |
|
return e.getParam("images_replace_blob_uris", !0, "boolean"); |
|
}, |
|
Rl = function (e) { |
|
return e.getParam("images_upload_url", "", "string"); |
|
}, |
|
_l = function (e) { |
|
return e.getParam("images_upload_base_path", "", "string"); |
|
}, |
|
Dl = function (e) { |
|
return e.getParam("images_upload_credentials", !1, "boolean"); |
|
}, |
|
Bl = function (e) { |
|
return e.getParam("images_upload_handler", null, "function"); |
|
}, |
|
Ol = function (e) { |
|
return e.getParam("content_css_cors", !1, "boolean"); |
|
}, |
|
Pl = function (e) { |
|
return e.getParam( |
|
"inline_boundaries_selector", |
|
"a[href],code,.mce-annotation", |
|
"string" |
|
); |
|
}, |
|
Il = function (e, t) { |
|
if (!t) return t; |
|
var n = t.container(), |
|
r = t.offset(); |
|
return e |
|
? ba(n) |
|
? Po.isText(n.nextSibling) |
|
? Cu(n.nextSibling, 0) |
|
: Cu.after(n) |
|
: xa(t) |
|
? Cu(n, r + 1) |
|
: t |
|
: ba(n) |
|
? Po.isText(n.previousSibling) |
|
? Cu(n.previousSibling, n.previousSibling.data.length) |
|
: Cu.before(n) |
|
: wa(t) |
|
? Cu(n, r - 1) |
|
: t; |
|
}, |
|
Ll = { |
|
isInlineTarget: function (e, t) { |
|
return Or(ir.fromDom(t), Pl(e)); |
|
}, |
|
findRootInline: function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = |
|
((r = e), |
|
(o = t), |
|
(i = n), |
|
V(bi.DOM.getParents(i.container(), "*", o), r)); |
|
return A.from(a[a.length - 1]); |
|
}, |
|
isRtl: function (e) { |
|
return ( |
|
"rtl" === bi.DOM.getStyle(e, "direction", !0) || |
|
((t = e.textContent), sl.test(t)) |
|
); |
|
var t; |
|
}, |
|
isAtZwsp: function (e) { |
|
return xa(e) || wa(e); |
|
}, |
|
normalizePosition: Il, |
|
normalizeForwards: d(Il, !0), |
|
normalizeBackwards: d(Il, !1), |
|
hasSameParentBlock: function (e, t, n) { |
|
var r = vs(t, e), |
|
o = vs(n, e); |
|
return r && r === o; |
|
}, |
|
}, |
|
Ml = function (e, t) { |
|
return Lr(e, t) |
|
? Yi( |
|
t, |
|
function (e) { |
|
return ho(e) || bo(e); |
|
}, |
|
((n = e), |
|
function (e) { |
|
return Ir(n, ir.fromDom(e.dom().parentNode)); |
|
}) |
|
) |
|
: A.none(); |
|
var n; |
|
}, |
|
Fl = function (e) { |
|
var t, n, r; |
|
e.dom.isEmpty(e.getBody()) && |
|
(e.setContent(""), |
|
(n = (t = e).getBody()), |
|
(r = n.firstChild && t.dom.isBlock(n.firstChild) ? n.firstChild : n), |
|
t.selection.setCursorLocation(r, 0)); |
|
}, |
|
zl = function (i, a, u) { |
|
return Ya([nc.firstPositionIn(u), nc.lastPositionIn(u)], function (e, t) { |
|
var n = Ll.normalizePosition(!0, e), |
|
r = Ll.normalizePosition(!1, t), |
|
o = Ll.normalizePosition(!1, a); |
|
return i |
|
? nc |
|
.nextPosition(u, o) |
|
.map(function (e) { |
|
return e.isEqual(r) && a.isEqual(n); |
|
}) |
|
.getOr(!1) |
|
: nc |
|
.prevPosition(u, o) |
|
.map(function (e) { |
|
return e.isEqual(n) && a.isEqual(r); |
|
}) |
|
.getOr(!1); |
|
}).getOr(!0); |
|
}, |
|
Ul = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = ir.fromDom(e), |
|
a = ir.fromDom(t); |
|
return (n = a), (r = "pre,code"), (o = d(Ir, i)), Gi(n, r, o).isSome(); |
|
}, |
|
Vl = function (e, t) { |
|
return ( |
|
(Ia(t) && |
|
!1 === |
|
((r = e), |
|
(o = t), |
|
Po.isText(o) && /^[ \t\r\n]*$/.test(o.data) && !1 === Ul(r, o))) || |
|
((n = t), |
|
Po.isElement(n) && "A" === n.nodeName && n.hasAttribute("name")) || |
|
Hl(t) |
|
); |
|
var n, r, o; |
|
}, |
|
Hl = Po.hasAttribute("data-mce-bookmark"), |
|
jl = Po.hasAttribute("data-mce-bogus"), |
|
ql = Po.hasAttributeValue("data-mce-bogus", "all"), |
|
$l = function (e) { |
|
return (function (e) { |
|
var t, |
|
n, |
|
r = 0; |
|
if (Vl(e, e)) return !1; |
|
if (!(n = e.firstChild)) return !0; |
|
t = new ao(n, e); |
|
do { |
|
if (ql(n)) n = t.next(!0); |
|
else if (jl(n)) n = t.next(); |
|
else if (Po.isBr(n)) r++, (n = t.next()); |
|
else { |
|
if (Vl(e, n)) return !1; |
|
n = t.next(); |
|
} |
|
} while (n); |
|
return r <= 1; |
|
})(e.dom()); |
|
}, |
|
Wl = kr("block", "position"), |
|
Kl = kr("from", "to"), |
|
Xl = function (e, t) { |
|
var n = ir.fromDom(e), |
|
r = ir.fromDom(t.container()); |
|
return Ml(n, r).map(function (e) { |
|
return Wl(e, t); |
|
}); |
|
}, |
|
Yl = function (o, i, e) { |
|
var t = Xl(o, Cu.fromRangeStart(e)), |
|
n = t.bind(function (e) { |
|
return nc.fromPosition(i, o, e.position()).bind(function (e) { |
|
return Xl(o, e).map(function (e) { |
|
return ( |
|
(t = o), |
|
(n = i), |
|
(r = e), |
|
Po.isBr(r.position().getNode()) && !1 === $l(r.block()) |
|
? nc |
|
.positionIn(!1, r.block().dom()) |
|
.bind(function (e) { |
|
return e.isEqual(r.position()) |
|
? nc.fromPosition(n, t, e).bind(function (e) { |
|
return Xl(t, e); |
|
}) |
|
: A.some(r); |
|
}) |
|
.getOr(r) |
|
: r |
|
); |
|
var t, n, r; |
|
}); |
|
}); |
|
}); |
|
return Ya([t, n], Kl).filter(function (e) { |
|
return ( |
|
!1 === Ir((r = e).from().block(), r.to().block()) && |
|
zr((n = e).from().block()) |
|
.bind(function (t) { |
|
return zr(n.to().block()).filter(function (e) { |
|
return Ir(t, e); |
|
}); |
|
}) |
|
.isSome() && |
|
((t = e), |
|
!1 === Po.isContentEditableFalse(t.from().block()) && |
|
!1 === Po.isContentEditableFalse(t.to().block())) |
|
); |
|
var t, n, r; |
|
}); |
|
}, |
|
Gl = function (e, t, n) { |
|
return n.collapsed ? Yl(e, t, n) : A.none(); |
|
}, |
|
Jl = function (e, t, n) { |
|
return Lr(t, e) |
|
? (function (e, t) { |
|
for ( |
|
var n = P(t) ? t : q(!1), r = e.dom(), o = []; |
|
null !== r.parentNode && r.parentNode !== undefined; |
|
|
|
) { |
|
var i = r.parentNode, |
|
a = ir.fromDom(i); |
|
if ((o.push(a), !0 === n(a))) break; |
|
r = i; |
|
} |
|
return o; |
|
})(e, function (e) { |
|
return n(e) || Ir(e, t); |
|
}).slice(0, -1) |
|
: []; |
|
}, |
|
Ql = function (e, t) { |
|
return Jl(e, t, q(!1)); |
|
}, |
|
Zl = Ql, |
|
ef = function (e, t) { |
|
return [e].concat(Ql(e, t)); |
|
}, |
|
tf = function (e) { |
|
var t, |
|
n = |
|
((t = qr(e)), |
|
G(t, mo).fold( |
|
function () { |
|
return t; |
|
}, |
|
function (e) { |
|
return t.slice(0, e); |
|
} |
|
)); |
|
return U(n, Oi), n; |
|
}, |
|
nf = function (e, t) { |
|
var n = ef(t, e); |
|
return Y(n.reverse(), $l).each(Oi); |
|
}, |
|
rf = function (e, t, n, r) { |
|
if ($l(n)) return Gc(n), nc.firstPositionIn(n.dom()); |
|
0 === |
|
V(Hr(r), function (e) { |
|
return !$l(e); |
|
}).length && |
|
$l(t) && |
|
Ti(r, ir.fromTag("br")); |
|
var o = nc.prevPosition(n.dom(), Cu.before(r.dom())); |
|
return ( |
|
U(tf(t), function (e) { |
|
Ti(r, e); |
|
}), |
|
nf(e, t), |
|
o |
|
); |
|
}, |
|
of = function (e, t, n) { |
|
if ($l(n)) return Oi(n), $l(t) && Gc(t), nc.firstPositionIn(t.dom()); |
|
var r = nc.lastPositionIn(n.dom()); |
|
return ( |
|
U(tf(t), function (e) { |
|
_i(n, e); |
|
}), |
|
nf(e, t), |
|
r |
|
); |
|
}, |
|
af = function (e, t) { |
|
return Lr(t, e) ? ((n = ef(e, t)), A.from(n[n.length - 1])) : A.none(); |
|
var n; |
|
}, |
|
uf = function (e, t) { |
|
nc.positionIn(e, t.dom()) |
|
.map(function (e) { |
|
return e.getNode(); |
|
}) |
|
.map(ir.fromDom) |
|
.filter(po) |
|
.each(Oi); |
|
}, |
|
sf = function (e, t, n) { |
|
return ( |
|
uf(!0, t), uf(!1, n), af(t, n).fold(d(of, e, t, n), d(rf, e, t, n)) |
|
); |
|
}, |
|
cf = function (e, t, n, r) { |
|
return t ? sf(e, r, n) : sf(e, n, r); |
|
}, |
|
lf = function (t, n) { |
|
var e, |
|
r = ir.fromDom(t.getBody()); |
|
return ( |
|
(e = Gl(r.dom(), n, t.selection.getRng()).bind(function (e) { |
|
return cf(r, n, e.from().block(), e.to().block()); |
|
})).each(function (e) { |
|
t.selection.setRng(e.toRange()); |
|
}), |
|
e.isSome() |
|
); |
|
}, |
|
ff = function (e, t) { |
|
var n = ir.fromDom(t), |
|
r = d(Ir, e); |
|
return Xi(n, xo, r).isSome(); |
|
}, |
|
df = function (e, t) { |
|
var n, |
|
r, |
|
o = nc.prevPosition(e.dom(), Cu.fromRangeStart(t)).isNone(), |
|
i = nc.nextPosition(e.dom(), Cu.fromRangeEnd(t)).isNone(); |
|
return ( |
|
!(ff((n = e), (r = t).startContainer) || ff(n, r.endContainer)) && |
|
o && |
|
i |
|
); |
|
}, |
|
mf = function (e) { |
|
var n, |
|
r, |
|
o, |
|
t, |
|
i = ir.fromDom(e.getBody()), |
|
a = e.selection.getRng(); |
|
return df(i, a) |
|
? ((t = e).setContent(""), t.selection.setCursorLocation(), !0) |
|
: ((n = i), |
|
(r = e.selection), |
|
(o = r.getRng()), |
|
Ya( |
|
[ |
|
Ml(n, ir.fromDom(o.startContainer)), |
|
Ml(n, ir.fromDom(o.endContainer)), |
|
], |
|
function (e, t) { |
|
return ( |
|
!1 === Ir(e, t) && |
|
(o.deleteContents(), |
|
cf(n, !0, e, t).each(function (e) { |
|
r.setRng(e.toRange()); |
|
}), |
|
!0) |
|
); |
|
} |
|
).getOr(!1)); |
|
}, |
|
gf = function (e, t) { |
|
return !e.selection.isCollapsed() && mf(e); |
|
}, |
|
pf = function (a) { |
|
if (!D(a)) throw new Error("cases must be an array"); |
|
if (0 === a.length) throw new Error("there must be at least one case"); |
|
var u = [], |
|
n = {}; |
|
return ( |
|
U(a, function (e, r) { |
|
var t = mr(e); |
|
if (1 !== t.length) throw new Error("one and only one name per case"); |
|
var o = t[0], |
|
i = e[o]; |
|
if (n[o] !== undefined) |
|
throw new Error("duplicate key detected:" + o); |
|
if ("cata" === o) |
|
throw new Error("cannot have a case named cata (sorry)"); |
|
if (!D(i)) throw new Error("case arguments must be an array"); |
|
u.push(o), |
|
(n[o] = function () { |
|
var e = arguments.length; |
|
if (e !== i.length) |
|
throw new Error( |
|
"Wrong number of arguments to case " + |
|
o + |
|
". Expected " + |
|
i.length + |
|
" (" + |
|
i + |
|
"), got " + |
|
e |
|
); |
|
for (var n = new Array(e), t = 0; t < n.length; t++) |
|
n[t] = arguments[t]; |
|
return { |
|
fold: function () { |
|
if (arguments.length !== a.length) |
|
throw new Error( |
|
"Wrong number of arguments to fold. Expected " + |
|
a.length + |
|
", got " + |
|
arguments.length |
|
); |
|
return arguments[r].apply(null, n); |
|
}, |
|
match: function (e) { |
|
var t = mr(e); |
|
if (u.length !== t.length) |
|
throw new Error( |
|
"Wrong number of arguments to match. Expected: " + |
|
u.join(",") + |
|
"\nActual: " + |
|
t.join(",") |
|
); |
|
if ( |
|
!ee(u, function (e) { |
|
return F(t, e); |
|
}) |
|
) |
|
throw new Error( |
|
"Not all branches were specified when using match. Specified: " + |
|
t.join(", ") + |
|
"\nRequired: " + |
|
u.join(", ") |
|
); |
|
return e[o].apply(null, n); |
|
}, |
|
log: function (e) { |
|
H.console.log(e, { |
|
constructors: u, |
|
constructor: o, |
|
params: n, |
|
}); |
|
}, |
|
}; |
|
}); |
|
}), |
|
n |
|
); |
|
}, |
|
hf = function (e) { |
|
return Ts(e).exists(po); |
|
}, |
|
vf = function (e, t, n) { |
|
var r = V(ef(ir.fromDom(n.container()), t), mo), |
|
o = ne(r).getOr(t); |
|
return nc.fromPosition(e, o.dom(), n).filter(hf); |
|
}, |
|
bf = function (e, t) { |
|
return Ts(t).exists(po) || vf(!0, e, t).isSome(); |
|
}, |
|
yf = function (e, t) { |
|
return ( |
|
((n = t), A.from(n.getNode(!0)).map(ir.fromDom)).exists(po) || |
|
vf(!1, e, t).isSome() |
|
); |
|
var n; |
|
}, |
|
Cf = d(vf, !1), |
|
xf = d(vf, !0), |
|
wf = |
|
((tl = "\xa0"), |
|
function (e) { |
|
return tl === e; |
|
}), |
|
Nf = function (e) { |
|
return /^[\r\n\t ]$/.test(e); |
|
}, |
|
Ef = function (e) { |
|
return !Nf(e) && !wf(e); |
|
}, |
|
Sf = function (n, r, o) { |
|
return A.from(o.container()) |
|
.filter(Po.isText) |
|
.exists(function (e) { |
|
var t = n ? 0 : -1; |
|
return r(e.data.charAt(o.offset() + t)); |
|
}); |
|
}, |
|
kf = d(Sf, !0, Nf), |
|
Tf = d(Sf, !1, Nf), |
|
Af = function (e) { |
|
var t = e.container(); |
|
return Po.isText(t) && 0 === t.data.length; |
|
}, |
|
Rf = function (e, t) { |
|
var n = ys(e, t); |
|
return Po.isContentEditableFalse(n) && !Po.isBogusAll(n); |
|
}, |
|
_f = d(Rf, 0), |
|
Df = d(Rf, -1), |
|
Bf = function (e, t) { |
|
return Po.isTable(ys(e, t)); |
|
}, |
|
Of = d(Bf, 0), |
|
Pf = d(Bf, -1), |
|
If = pf([ |
|
{ remove: ["element"] }, |
|
{ moveToElement: ["element"] }, |
|
{ moveToPosition: ["position"] }, |
|
]), |
|
Lf = function (e, t, n, r) { |
|
var o = r.getNode(!1 === t); |
|
return Ml(ir.fromDom(e), ir.fromDom(n.getNode())) |
|
.map(function (e) { |
|
return $l(e) ? If.remove(e.dom()) : If.moveToElement(o); |
|
}) |
|
.orThunk(function () { |
|
return A.some(If.moveToElement(o)); |
|
}); |
|
}, |
|
Mf = function (u, s, c) { |
|
return nc.fromPosition(s, u, c).bind(function (e) { |
|
return ( |
|
(a = e.getNode()), |
|
xo(ir.fromDom(a)) || bo(ir.fromDom(a)) |
|
? A.none() |
|
: ((t = u), |
|
(o = e), |
|
(i = function (e) { |
|
return go(ir.fromDom(e)) && !bs(r, o, t); |
|
}), |
|
Ss(!(n = s), (r = c)).fold(function () { |
|
return Ss(n, o).fold(q(!1), i); |
|
}, i) |
|
? A.none() |
|
: s && Po.isContentEditableFalse(e.getNode()) |
|
? Lf(u, s, c, e) |
|
: !1 === s && Po.isContentEditableFalse(e.getNode(!0)) |
|
? Lf(u, s, c, e) |
|
: s && Df(c) |
|
? A.some(If.moveToPosition(e)) |
|
: !1 === s && _f(c) |
|
? A.some(If.moveToPosition(e)) |
|
: A.none()) |
|
); |
|
var t, n, r, o, i, a; |
|
}); |
|
}, |
|
Ff = function (r, e, o) { |
|
return ( |
|
(i = e), |
|
(a = o.getNode(!1 === i)), |
|
(u = i ? "after" : "before"), |
|
Po.isElement(a) && a.getAttribute("data-mce-caret") === u |
|
? ((t = e), |
|
(n = o.getNode(!1 === e)), |
|
t && Po.isContentEditableFalse(n.nextSibling) |
|
? A.some(If.moveToElement(n.nextSibling)) |
|
: !1 === t && Po.isContentEditableFalse(n.previousSibling) |
|
? A.some(If.moveToElement(n.previousSibling)) |
|
: A.none()).fold(function () { |
|
return Mf(r, e, o); |
|
}, A.some) |
|
: Mf(r, e, o).bind(function (e) { |
|
return ( |
|
(t = r), |
|
(n = o), |
|
e.fold( |
|
function (e) { |
|
return A.some(If.remove(e)); |
|
}, |
|
function (e) { |
|
return A.some(If.moveToElement(e)); |
|
}, |
|
function (e) { |
|
return bs(n, e, t) |
|
? A.none() |
|
: A.some(If.moveToPosition(e)); |
|
} |
|
) |
|
); |
|
var t, n; |
|
}) |
|
); |
|
var t, n, i, a, u; |
|
}, |
|
zf = function (e, t, n) { |
|
if (0 !== n) { |
|
var r, |
|
o, |
|
i, |
|
a = e.data.slice(t, t + n), |
|
u = t + n >= e.data.length, |
|
s = 0 === t; |
|
e.replaceData( |
|
t, |
|
n, |
|
((o = s), |
|
(i = u), |
|
X( |
|
(r = a).split(""), |
|
function (e, t) { |
|
return -1 !== " \f\n\r\t\x0B".indexOf(t) || "\xa0" === t |
|
? e.previousCharIsSpace || |
|
("" === e.str && o) || |
|
(e.str.length === r.length - 1 && i) |
|
? { previousCharIsSpace: !1, str: e.str + "\xa0" } |
|
: { previousCharIsSpace: !0, str: e.str + " " } |
|
: { previousCharIsSpace: !1, str: e.str + t }; |
|
}, |
|
{ previousCharIsSpace: !1, str: "" } |
|
).str) |
|
); |
|
} |
|
}, |
|
Uf = function (e, t) { |
|
var n, |
|
r = e.data.slice(t), |
|
o = r.length - ((n = r), n.replace(/^\s+/g, "")).length; |
|
return zf(e, t, o); |
|
}, |
|
Vf = function (e, t) { |
|
return ( |
|
(r = e), |
|
(o = (n = t).container()), |
|
(i = n.offset()), |
|
!1 === Cu.isTextPosition(n) && |
|
o === r.parentNode && |
|
i > Cu.before(r).offset() |
|
? Cu(t.container(), t.offset() - 1) |
|
: t |
|
); |
|
var n, r, o, i; |
|
}, |
|
Hf = function (e) { |
|
return Ia(e.previousSibling) |
|
? A.some( |
|
((t = e.previousSibling), |
|
Po.isText(t) ? Cu(t, t.data.length) : Cu.after(t)) |
|
) |
|
: e.previousSibling |
|
? nc.lastPositionIn(e.previousSibling) |
|
: A.none(); |
|
var t; |
|
}, |
|
jf = function (e) { |
|
return Ia(e.nextSibling) |
|
? A.some(((t = e.nextSibling), Po.isText(t) ? Cu(t, 0) : Cu.before(t))) |
|
: e.nextSibling |
|
? nc.firstPositionIn(e.nextSibling) |
|
: A.none(); |
|
var t; |
|
}, |
|
qf = function (r, o) { |
|
return Hf(o) |
|
.orThunk(function () { |
|
return jf(o); |
|
}) |
|
.orThunk(function () { |
|
return ( |
|
(e = r), |
|
(t = o), |
|
(n = Cu.before( |
|
t.previousSibling ? t.previousSibling : t.parentNode |
|
)), |
|
nc.prevPosition(e, n).fold(function () { |
|
return nc.nextPosition(e, Cu.after(t)); |
|
}, A.some) |
|
); |
|
var e, t, n; |
|
}); |
|
}, |
|
$f = function (n, r) { |
|
return jf(r) |
|
.orThunk(function () { |
|
return Hf(r); |
|
}) |
|
.orThunk(function () { |
|
return ( |
|
(e = n), |
|
(t = r), |
|
nc.nextPosition(e, Cu.after(t)).fold(function () { |
|
return nc.prevPosition(e, Cu.before(t)); |
|
}, A.some) |
|
); |
|
var e, t; |
|
}); |
|
}, |
|
Wf = function (e, t, n) { |
|
return ((r = e), (o = t), (i = n), r ? $f(o, i) : qf(o, i)).map(d(Vf, n)); |
|
var r, o, i; |
|
}, |
|
Kf = function (t, n, e) { |
|
e.fold( |
|
function () { |
|
t.focus(); |
|
}, |
|
function (e) { |
|
t.selection.setRng(e.toRange(), n); |
|
} |
|
); |
|
}, |
|
Xf = function (e, t) { |
|
return t && e.schema.getBlockElements().hasOwnProperty(cr(t)); |
|
}, |
|
Yf = function (e) { |
|
if ($l(e)) { |
|
var t = ir.fromHtml('<br data-mce-bogus="1">'); |
|
return Bi(e), _i(e, t), A.some(Cu.before(t.dom())); |
|
} |
|
return A.none(); |
|
}, |
|
Gf = function (e, t, l) { |
|
var n = Ur(e).filter(function (e) { |
|
return Po.isText(e.dom()); |
|
}), |
|
r = Vr(e).filter(function (e) { |
|
return Po.isText(e.dom()); |
|
}); |
|
return ( |
|
Oi(e), |
|
Ya([n, r, t], function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = e.dom(), |
|
s = t.dom(), |
|
c = u.data.length; |
|
return ( |
|
(o = s), |
|
(i = l), |
|
(a = Gn((r = u).data).length), |
|
r.appendData(o.data), |
|
Oi(ir.fromDom(o)), |
|
i && Uf(r, a), |
|
n.container() === s ? Cu(u, c) : n |
|
); |
|
}).orThunk(function () { |
|
return ( |
|
l && |
|
(n.each(function (e) { |
|
return ( |
|
(t = e.dom()), |
|
(n = e.dom().length), |
|
(r = t.data.slice(0, n)), |
|
(o = r.length - Gn(r).length), |
|
zf(t, n - o, o) |
|
); |
|
var t, n, r, o; |
|
}), |
|
r.each(function (e) { |
|
return Uf(e.dom(), 0); |
|
})), |
|
t |
|
); |
|
}) |
|
); |
|
}, |
|
Jf = function (e, t) { |
|
return (n = e.schema.getTextInlineElements()), (r = cr(t)), gr.call(n, r); |
|
var n, r; |
|
}, |
|
Qf = function (t, n, e, r) { |
|
void 0 === r && (r = !0); |
|
var o, |
|
i = Wf(n, t.getBody(), e.dom()), |
|
a = Xi( |
|
e, |
|
d(Xf, t), |
|
((o = t.getBody()), |
|
function (e) { |
|
return e.dom() === o; |
|
}) |
|
), |
|
u = Gf(e, i, Jf(t, e)); |
|
t.dom.isEmpty(t.getBody()) |
|
? (t.setContent(""), t.selection.setCursorLocation()) |
|
: a.bind(Yf).fold( |
|
function () { |
|
r && Kf(t, n, u); |
|
}, |
|
function (e) { |
|
r && Kf(t, n, A.some(e)); |
|
} |
|
); |
|
}, |
|
Zf = function (a, u) { |
|
var e, t, n, r, o, i; |
|
return ((e = a.getBody()), |
|
(t = u), |
|
(n = a.selection.getRng()), |
|
(r = Es(t ? 1 : -1, e, n)), |
|
(o = Cu.fromRangeStart(r)), |
|
(i = ir.fromDom(e)), |
|
!1 === t && Df(o) |
|
? A.some(If.remove(o.getNode(!0))) |
|
: t && _f(o) |
|
? A.some(If.remove(o.getNode())) |
|
: !1 === t && _f(o) && yf(i, o) |
|
? Cf(i, o).map(function (e) { |
|
return If.remove(e.getNode()); |
|
}) |
|
: t && Df(o) && bf(i, o) |
|
? xf(i, o).map(function (e) { |
|
return If.remove(e.getNode()); |
|
}) |
|
: Ff(e, t, o)) |
|
.map(function (e) { |
|
return e.fold( |
|
((o = a), |
|
(i = u), |
|
function (e) { |
|
return ( |
|
o._selectionOverrides.hideFakeCaret(), |
|
Qf(o, i, ir.fromDom(e)), |
|
!0 |
|
); |
|
}), |
|
((n = a), |
|
(r = u), |
|
function (e) { |
|
var t = r ? Cu.before(e) : Cu.after(e); |
|
return n.selection.setRng(t.toRange()), !0; |
|
}), |
|
((t = a), |
|
function (e) { |
|
return t.selection.setRng(e.toRange()), !0; |
|
}) |
|
); |
|
var t, n, r, o, i; |
|
}) |
|
.getOr(!1); |
|
}, |
|
ed = function (e, t) { |
|
var n, |
|
r = e.selection.getNode(); |
|
return ( |
|
!!Po.isContentEditableFalse(r) && |
|
((n = ir.fromDom(e.getBody())), |
|
U($i(n, ".mce-offscreen-selection"), Oi), |
|
Qf(e, t, ir.fromDom(e.selection.getNode())), |
|
Fl(e), |
|
!0) |
|
); |
|
}, |
|
td = function (e, t) { |
|
return e.selection.isCollapsed() ? Zf(e, t) : ed(e, t); |
|
}, |
|
nd = function (e) { |
|
var t, |
|
n = (function (e, t) { |
|
for (; t && t !== e; ) { |
|
if (Po.isContentEditableTrue(t) || Po.isContentEditableFalse(t)) |
|
return t; |
|
t = t.parentNode; |
|
} |
|
return null; |
|
})(e.getBody(), e.selection.getNode()); |
|
return ( |
|
Po.isContentEditableTrue(n) && |
|
e.dom.isBlock(n) && |
|
e.dom.isEmpty(n) && |
|
((t = e.dom.create("br", { "data-mce-bogus": "1" })), |
|
e.dom.setHTML(n, ""), |
|
n.appendChild(t), |
|
e.selection.setRng(Cu.before(t).toRange())), |
|
!0 |
|
); |
|
}, |
|
rd = Po.isText, |
|
od = function (e) { |
|
return rd(e) && e.data[0] === ma; |
|
}, |
|
id = function (e) { |
|
return rd(e) && e.data[e.data.length - 1] === ma; |
|
}, |
|
ad = function (e) { |
|
return e.ownerDocument.createTextNode(ma); |
|
}, |
|
ud = function (e, t) { |
|
return e |
|
? (function (e) { |
|
if (rd(e.previousSibling)) |
|
return ( |
|
id(e.previousSibling) || e.previousSibling.appendData(ma), |
|
e.previousSibling |
|
); |
|
if (rd(e)) return od(e) || e.insertData(0, ma), e; |
|
var t = ad(e); |
|
return e.parentNode.insertBefore(t, e), t; |
|
})(t) |
|
: (function (e) { |
|
if (rd(e.nextSibling)) |
|
return ( |
|
od(e.nextSibling) || e.nextSibling.insertData(0, ma), |
|
e.nextSibling |
|
); |
|
if (rd(e)) return id(e) || e.appendData(ma), e; |
|
var t = ad(e); |
|
return ( |
|
e.nextSibling |
|
? e.parentNode.insertBefore(t, e.nextSibling) |
|
: e.parentNode.appendChild(t), |
|
t |
|
); |
|
})(t); |
|
}, |
|
sd = d(ud, !0), |
|
cd = d(ud, !1), |
|
ld = function (e, t) { |
|
return Po.isText(e.container()) |
|
? ud(t, e.container()) |
|
: ud(t, e.getNode()); |
|
}, |
|
fd = function (e, t) { |
|
var n = t.get(); |
|
return n && e.container() === n && ba(n); |
|
}, |
|
dd = function (n, e) { |
|
return e.fold( |
|
function (e) { |
|
es.remove(n.get()); |
|
var t = sd(e); |
|
return n.set(t), A.some(Cu(t, t.length - 1)); |
|
}, |
|
function (e) { |
|
return nc.firstPositionIn(e).map(function (e) { |
|
if (fd(e, n)) return Cu(n.get(), 1); |
|
es.remove(n.get()); |
|
var t = ld(e, !0); |
|
return n.set(t), Cu(t, 1); |
|
}); |
|
}, |
|
function (e) { |
|
return nc.lastPositionIn(e).map(function (e) { |
|
if (fd(e, n)) return Cu(n.get(), n.get().length - 1); |
|
es.remove(n.get()); |
|
var t = ld(e, !1); |
|
return n.set(t), Cu(t, t.length - 1); |
|
}); |
|
}, |
|
function (e) { |
|
es.remove(n.get()); |
|
var t = cd(e); |
|
return n.set(t), A.some(Cu(t, 1)); |
|
} |
|
); |
|
}, |
|
md = function (e, t) { |
|
for (var n = 0; n < e.length; n++) { |
|
var r = e[n].apply(null, t); |
|
if (r.isSome()) return r; |
|
} |
|
return A.none(); |
|
}, |
|
gd = pf([ |
|
{ before: ["element"] }, |
|
{ start: ["element"] }, |
|
{ end: ["element"] }, |
|
{ after: ["element"] }, |
|
]), |
|
pd = function (e, t) { |
|
var n = vs(t, e); |
|
return n || e; |
|
}, |
|
hd = function (e, t, n) { |
|
var r = Ll.normalizeForwards(n), |
|
o = pd(t, r.container()); |
|
return Ll.findRootInline(e, o, r).fold(function () { |
|
return nc |
|
.nextPosition(o, r) |
|
.bind(d(Ll.findRootInline, e, o)) |
|
.map(function (e) { |
|
return gd.before(e); |
|
}); |
|
}, A.none); |
|
}, |
|
vd = function (e, t) { |
|
return null === qu(e, t); |
|
}, |
|
bd = function (e, t, n) { |
|
return Ll.findRootInline(e, t, n).filter(d(vd, t)); |
|
}, |
|
yd = function (e, t, n) { |
|
var r = Ll.normalizeBackwards(n); |
|
return bd(e, t, r).bind(function (e) { |
|
return nc.prevPosition(e, r).isNone() ? A.some(gd.start(e)) : A.none(); |
|
}); |
|
}, |
|
Cd = function (e, t, n) { |
|
var r = Ll.normalizeForwards(n); |
|
return bd(e, t, r).bind(function (e) { |
|
return nc.nextPosition(e, r).isNone() ? A.some(gd.end(e)) : A.none(); |
|
}); |
|
}, |
|
xd = function (e, t, n) { |
|
var r = Ll.normalizeBackwards(n), |
|
o = pd(t, r.container()); |
|
return Ll.findRootInline(e, o, r).fold(function () { |
|
return nc |
|
.prevPosition(o, r) |
|
.bind(d(Ll.findRootInline, e, o)) |
|
.map(function (e) { |
|
return gd.after(e); |
|
}); |
|
}, A.none); |
|
}, |
|
wd = function (e) { |
|
return !1 === Ll.isRtl(Ed(e)); |
|
}, |
|
Nd = function (e, t, n) { |
|
return md([hd, yd, Cd, xd], [e, t, n]).filter(wd); |
|
}, |
|
Ed = function (e) { |
|
return e.fold($, $, $, $); |
|
}, |
|
Sd = function (e) { |
|
return e.fold(q("before"), q("start"), q("end"), q("after")); |
|
}, |
|
kd = function (e) { |
|
return e.fold(gd.before, gd.before, gd.after, gd.after); |
|
}, |
|
Td = function (n, e, r, t, o, i) { |
|
return Ya( |
|
[Ll.findRootInline(e, r, t), Ll.findRootInline(e, r, o)], |
|
function (e, t) { |
|
return e !== t && Ll.hasSameParentBlock(r, e, t) |
|
? gd.after(n ? e : t) |
|
: i; |
|
} |
|
).getOr(i); |
|
}, |
|
Ad = function (e, r) { |
|
return e.fold(q(!0), function (e) { |
|
return (n = r), !(Sd((t = e)) === Sd(n) && Ed(t) === Ed(n)); |
|
var t, n; |
|
}); |
|
}, |
|
Rd = function (e, t) { |
|
return e |
|
? t.fold(j(A.some, gd.start), A.none, j(A.some, gd.after), A.none) |
|
: t.fold(A.none, j(A.some, gd.before), A.none, j(A.some, gd.end)); |
|
}, |
|
_d = function (a, u, s, c) { |
|
var e = Ll.normalizePosition(a, c), |
|
l = Nd(u, s, e); |
|
return Nd(u, s, e) |
|
.bind(d(Rd, a)) |
|
.orThunk(function () { |
|
return ( |
|
(t = a), |
|
(n = u), |
|
(r = s), |
|
(o = l), |
|
(e = c), |
|
(i = Ll.normalizePosition(t, e)), |
|
nc |
|
.fromPosition(t, r, i) |
|
.map(d(Ll.normalizePosition, t)) |
|
.fold( |
|
function () { |
|
return o.map(kd); |
|
}, |
|
function (e) { |
|
return Nd(n, r, e).map(d(Td, t, n, r, i, e)).filter(d(Ad, o)); |
|
} |
|
) |
|
.filter(wd) |
|
); |
|
var t, n, r, o, e, i; |
|
}); |
|
}, |
|
Dd = Nd, |
|
Bd = _d, |
|
Od = (d(_d, !1), d(_d, !0), kd), |
|
Pd = function (e) { |
|
return e.fold(gd.start, gd.start, gd.end, gd.end); |
|
}, |
|
Id = function (e) { |
|
return P(e.selection.getSel().modify); |
|
}, |
|
Ld = function (e, t, n) { |
|
var r = e ? 1 : -1; |
|
return ( |
|
t.setRng(Cu(n.container(), n.offset() + r).toRange()), |
|
t.getSel().modify("move", e ? "forward" : "backward", "word"), |
|
!0 |
|
); |
|
}, |
|
Md = function (e, t) { |
|
var n = t.selection.getRng(), |
|
r = e ? Cu.fromRangeEnd(n) : Cu.fromRangeStart(n); |
|
return ( |
|
!!Id(t) && |
|
(e && xa(r) |
|
? Ld(!0, t.selection, r) |
|
: !(e || !wa(r)) && Ld(!1, t.selection, r)) |
|
); |
|
}, |
|
Fd = function (e, t) { |
|
var n = e.dom.createRng(); |
|
n.setStart(t.container(), t.offset()), |
|
n.setEnd(t.container(), t.offset()), |
|
e.selection.setRng(n); |
|
}, |
|
zd = function (e) { |
|
return !1 !== e.settings.inline_boundaries; |
|
}, |
|
Ud = function (e, t) { |
|
e |
|
? t.setAttribute("data-mce-selected", "inline-boundary") |
|
: t.removeAttribute("data-mce-selected"); |
|
}, |
|
Vd = function (t, e, n) { |
|
return dd(e, n).map(function (e) { |
|
return Fd(t, e), n; |
|
}); |
|
}, |
|
Hd = function (e, t, n) { |
|
return function () { |
|
return !!zd(t) && Md(e, t); |
|
}; |
|
}, |
|
jd = { |
|
move: function (a, u, s) { |
|
return function () { |
|
return ( |
|
!!zd(a) && |
|
((t = a), |
|
(n = u), |
|
(e = s), |
|
(r = t.getBody()), |
|
(o = Cu.fromRangeStart(t.selection.getRng())), |
|
(i = d(Ll.isInlineTarget, t)), |
|
Bd(e, i, r, o).bind(function (e) { |
|
return Vd(t, n, e); |
|
})).isSome() |
|
); |
|
var t, n, e, r, o, i; |
|
}; |
|
}, |
|
moveNextWord: d(Hd, !0), |
|
movePrevWord: d(Hd, !1), |
|
setupSelectedState: function (a) { |
|
var u = Li(null), |
|
s = d(Ll.isInlineTarget, a); |
|
return ( |
|
a.on("NodeChange", function (e) { |
|
var t, n, r, o, i; |
|
zd(a) && |
|
((t = s), |
|
(n = a.dom), |
|
(r = e.parents), |
|
(o = V(n.select('*[data-mce-selected="inline-boundary"]'), t)), |
|
(i = V(r, t)), |
|
U(te(o, i), d(Ud, !1)), |
|
U(te(i, o), d(Ud, !0)), |
|
(function (e, t) { |
|
if ( |
|
e.selection.isCollapsed() && |
|
!0 !== e.composing && |
|
t.get() |
|
) { |
|
var n = Cu.fromRangeStart(e.selection.getRng()); |
|
Cu.isTextPosition(n) && |
|
!1 === Ll.isAtZwsp(n) && |
|
(Fd(e, es.removeAndReposition(t.get(), n)), t.set(null)); |
|
} |
|
})(a, u), |
|
(function (n, r, o, e) { |
|
if (r.selection.isCollapsed()) { |
|
var t = V(e, n); |
|
U(t, function (e) { |
|
var t = Cu.fromRangeStart(r.selection.getRng()); |
|
Dd(n, r.getBody(), t).bind(function (e) { |
|
return Vd(r, o, e); |
|
}); |
|
}); |
|
} |
|
})(s, a, u, e.parents)); |
|
}), |
|
u |
|
); |
|
}, |
|
setCaretPosition: Fd, |
|
}, |
|
qd = function (t, n) { |
|
return function (e) { |
|
return dd(n, e) |
|
.map(function (e) { |
|
return jd.setCaretPosition(t, e), !0; |
|
}) |
|
.getOr(!1); |
|
}; |
|
}, |
|
$d = function (r, o, i, a) { |
|
var u = r.getBody(), |
|
s = d(Ll.isInlineTarget, r); |
|
r.undoManager.ignore(function () { |
|
var e, t, n; |
|
r.selection.setRng( |
|
((e = i), |
|
(t = a), |
|
(n = H.document.createRange()).setStart(e.container(), e.offset()), |
|
n.setEnd(t.container(), t.offset()), |
|
n) |
|
), |
|
r.execCommand("Delete"), |
|
Dd(s, u, Cu.fromRangeStart(r.selection.getRng())) |
|
.map(Pd) |
|
.map(qd(r, o)); |
|
}), |
|
r.nodeChanged(); |
|
}, |
|
Wd = function (n, r, i, o) { |
|
var e, |
|
t, |
|
a = ((e = n.getBody()), (t = o.container()), vs(t, e) || e), |
|
u = d(Ll.isInlineTarget, n), |
|
s = Dd(u, a, o); |
|
return s |
|
.bind(function (e) { |
|
return i |
|
? e.fold(q(A.some(Pd(e))), A.none, q(A.some(Od(e))), A.none) |
|
: e.fold(A.none, q(A.some(Od(e))), A.none, q(A.some(Pd(e)))); |
|
}) |
|
.map(qd(n, r)) |
|
.getOrThunk(function () { |
|
var t = nc.navigate(i, a, o), |
|
e = t.bind(function (e) { |
|
return Dd(u, a, e); |
|
}); |
|
return s.isSome() && e.isSome() |
|
? Ll.findRootInline(u, a, o) |
|
.map(function (e) { |
|
return ( |
|
(o = e), |
|
!!Ya( |
|
[nc.firstPositionIn(o), nc.lastPositionIn(o)], |
|
function (e, t) { |
|
var n = Ll.normalizePosition(!0, e), |
|
r = Ll.normalizePosition(!1, t); |
|
return nc |
|
.nextPosition(o, n) |
|
.map(function (e) { |
|
return e.isEqual(r); |
|
}) |
|
.getOr(!0); |
|
} |
|
).getOr(!0) && (Qf(n, i, ir.fromDom(e)), !0) |
|
); |
|
var o; |
|
}) |
|
.getOr(!1) |
|
: e |
|
.bind(function (e) { |
|
return t.map(function (e) { |
|
return i ? $d(n, r, o, e) : $d(n, r, e, o), !0; |
|
}); |
|
}) |
|
.getOr(!1); |
|
}); |
|
}, |
|
Kd = function (e, t, n) { |
|
if (e.selection.isCollapsed() && !1 !== e.settings.inline_boundaries) { |
|
var r = Cu.fromRangeStart(e.selection.getRng()); |
|
return Wd(e, t, n, r); |
|
} |
|
return !1; |
|
}, |
|
Xd = kr("start", "end"), |
|
Yd = kr("rng", "table", "cells"), |
|
Gd = pf([{ removeTable: ["element"] }, { emptyCells: ["cells"] }]), |
|
Jd = function (e, t) { |
|
return Qi(ir.fromDom(e), "td,th", t); |
|
}, |
|
Qd = function (e, t) { |
|
return Gi(e, "table", t); |
|
}, |
|
Zd = function (e) { |
|
return !1 === Ir(e.start(), e.end()); |
|
}, |
|
em = function (e, n) { |
|
return Qd(e.start(), n).bind(function (t) { |
|
return Qd(e.end(), n).bind(function (e) { |
|
return Ir(t, e) ? A.some(t) : A.none(); |
|
}); |
|
}); |
|
}, |
|
tm = function (e) { |
|
return $i(e, "td,th"); |
|
}, |
|
nm = function (r, e) { |
|
var t = Jd(e.startContainer, r), |
|
n = Jd(e.endContainer, r); |
|
return e.collapsed |
|
? A.none() |
|
: Ya([t, n], Xd).fold( |
|
function () { |
|
return t.fold( |
|
function () { |
|
return n.bind(function (t) { |
|
return Qd(t, r).bind(function (e) { |
|
return ne(tm(e)).map(function (e) { |
|
return Xd(e, t); |
|
}); |
|
}); |
|
}); |
|
}, |
|
function (t) { |
|
return Qd(t, r).bind(function (e) { |
|
return re(tm(e)).map(function (e) { |
|
return Xd(t, e); |
|
}); |
|
}); |
|
} |
|
); |
|
}, |
|
function (e) { |
|
return rm(r, e) |
|
? A.none() |
|
: ((n = r), |
|
Qd((t = e).start(), n).bind(function (e) { |
|
return re(tm(e)).map(function (e) { |
|
return Xd(t.start(), e); |
|
}); |
|
})); |
|
var t, n; |
|
} |
|
); |
|
}, |
|
rm = function (e, t) { |
|
return em(t, e).isSome(); |
|
}, |
|
om = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a = d(Ir, e); |
|
return ((n = t), |
|
(r = a), |
|
(o = Jd(n.startContainer, r)), |
|
(i = Jd(n.endContainer, r)), |
|
Ya([o, i], Xd) |
|
.filter(Zd) |
|
.filter(function (e) { |
|
return rm(r, e); |
|
}) |
|
.orThunk(function () { |
|
return nm(r, n); |
|
})).bind(function (e) { |
|
return em((t = e), a).map(function (e) { |
|
return Yd(t, e, tm(e)); |
|
}); |
|
var t; |
|
}); |
|
}, |
|
im = function (e, t) { |
|
return G(e, function (e) { |
|
return Ir(e, t); |
|
}); |
|
}, |
|
am = function (n) { |
|
return ((r = n), |
|
Ya( |
|
[im(r.cells(), r.rng().start()), im(r.cells(), r.rng().end())], |
|
function (e, t) { |
|
return r.cells().slice(e, t + 1); |
|
} |
|
)).map(function (e) { |
|
var t = n.cells(); |
|
return e.length === t.length |
|
? Gd.removeTable(n.table()) |
|
: Gd.emptyCells(e); |
|
}); |
|
var r; |
|
}, |
|
um = function (e, t) { |
|
return om(e, t).bind(am); |
|
}, |
|
sm = function (e) { |
|
var t = []; |
|
if (e) for (var n = 0; n < e.rangeCount; n++) t.push(e.getRangeAt(n)); |
|
return t; |
|
}, |
|
cm = sm, |
|
lm = function (e) { |
|
return Z(e, function (e) { |
|
var t = $a(e); |
|
return t ? [ir.fromDom(t)] : []; |
|
}); |
|
}, |
|
fm = function (e) { |
|
return 1 < sm(e).length; |
|
}, |
|
dm = function (e) { |
|
return V(lm(e), xo); |
|
}, |
|
mm = function (e) { |
|
return $i(e, "td[data-mce-selected],th[data-mce-selected]"); |
|
}, |
|
gm = function (e, t) { |
|
var n = mm(t), |
|
r = dm(e); |
|
return 0 < n.length ? n : r; |
|
}, |
|
pm = gm, |
|
hm = function (e) { |
|
return gm(cm(e.selection.getSel()), ir.fromDom(e.getBody())); |
|
}, |
|
vm = function (e, t) { |
|
return U(t, Gc), e.selection.setCursorLocation(t[0].dom(), 0), !0; |
|
}, |
|
bm = function (e, t) { |
|
return Qf(e, !1, t), !0; |
|
}, |
|
ym = function (n, e, r, t) { |
|
return xm(e, t) |
|
.fold( |
|
function () { |
|
return ( |
|
(t = n), |
|
um(e, r).map(function (e) { |
|
return e.fold(d(bm, t), d(vm, t)); |
|
}) |
|
); |
|
var t; |
|
}, |
|
function (e) { |
|
return wm(n, e); |
|
} |
|
) |
|
.getOr(!1); |
|
}, |
|
Cm = function (e, t) { |
|
return Y(ef(t, e), xo); |
|
}, |
|
xm = function (e, t) { |
|
return Y(ef(t, e), function (e) { |
|
return "caption" === cr(e); |
|
}); |
|
}, |
|
wm = function (e, t) { |
|
return Gc(t), e.selection.setCursorLocation(t.dom(), 0), A.some(!0); |
|
}, |
|
Nm = function (u, s, c, l, f) { |
|
return nc |
|
.navigate(c, u.getBody(), f) |
|
.bind(function (e) { |
|
return ( |
|
(r = l), |
|
(o = c), |
|
(i = f), |
|
(a = e), |
|
nc |
|
.firstPositionIn(r.dom()) |
|
.bind(function (t) { |
|
return nc.lastPositionIn(r.dom()).map(function (e) { |
|
return o |
|
? i.isEqual(t) && a.isEqual(e) |
|
: i.isEqual(e) && a.isEqual(t); |
|
}); |
|
}) |
|
.getOr(!0) |
|
? wm(u, l) |
|
: ((t = l), |
|
(n = e), |
|
xm(s, ir.fromDom(n.getNode())).map(function (e) { |
|
return !1 === Ir(e, t); |
|
})) |
|
); |
|
var t, n, r, o, i, a; |
|
}) |
|
.or(A.some(!0)); |
|
}, |
|
Em = function (a, u, s, e) { |
|
var c = Cu.fromRangeStart(a.selection.getRng()); |
|
return Cm(s, e).bind(function (e) { |
|
return $l(e) |
|
? wm(a, e) |
|
: ((t = a), |
|
(n = s), |
|
(r = u), |
|
(o = e), |
|
(i = c), |
|
nc.navigate(r, t.getBody(), i).bind(function (e) { |
|
return Cm(n, ir.fromDom(e.getNode())).map(function (e) { |
|
return !1 === Ir(e, o); |
|
}); |
|
})); |
|
var t, n, r, o, i; |
|
}); |
|
}, |
|
Sm = function (a, u, e) { |
|
var s = ir.fromDom(a.getBody()); |
|
return xm(s, e) |
|
.fold( |
|
function () { |
|
return Em(a, u, s, e); |
|
}, |
|
function (e) { |
|
return ( |
|
(t = a), |
|
(n = u), |
|
(r = s), |
|
(o = e), |
|
(i = Cu.fromRangeStart(t.selection.getRng())), |
|
$l(o) ? wm(t, o) : Nm(t, r, n, o, i) |
|
); |
|
var t, n, r, o, i; |
|
} |
|
) |
|
.getOr(!1); |
|
}, |
|
km = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = ir.fromDom(e.selection.getStart(!0)), |
|
s = hm(e); |
|
return e.selection.isCollapsed() && 0 === s.length |
|
? Sm(e, t, u) |
|
: ((n = e), |
|
(r = u), |
|
(o = ir.fromDom(n.getBody())), |
|
(i = n.selection.getRng()), |
|
0 !== (a = hm(n)).length ? vm(n, a) : ym(n, o, i, r)); |
|
}, |
|
Tm = hc.isEq, |
|
Am = function (e, t, n) { |
|
var r = e.formatter.get(n); |
|
if (r) |
|
for (var o = 0; o < r.length; o++) |
|
if (!1 === r[o].inherit && e.dom.is(t, r[o].selector)) return !0; |
|
return !1; |
|
}, |
|
Rm = function (t, e, n, r) { |
|
var o = t.dom.getRoot(); |
|
return ( |
|
e !== o && |
|
((e = t.dom.getParent(e, function (e) { |
|
return !!Am(t, e, n) || e.parentNode === o || !!Bm(t, e, n, r, !0); |
|
})), |
|
Bm(t, e, n, r)) |
|
); |
|
}, |
|
_m = function (e, t, n) { |
|
return ( |
|
!!Tm(t, n.inline) || |
|
!!Tm(t, n.block) || |
|
(n.selector ? 1 === t.nodeType && e.is(t, n.selector) : void 0) |
|
); |
|
}, |
|
Dm = function (e, t, n, r, o, i) { |
|
var a, |
|
u, |
|
s, |
|
c = n[r]; |
|
if (n.onmatch) return n.onmatch(t, n, r); |
|
if (c) |
|
if ("undefined" == typeof c.length) { |
|
for (a in c) |
|
if (c.hasOwnProperty(a)) { |
|
if ( |
|
((u = |
|
"attributes" === r |
|
? e.getAttrib(t, a) |
|
: hc.getStyle(e, t, a)), |
|
o && !u && !n.exact) |
|
) |
|
return; |
|
if ( |
|
(!o || n.exact) && |
|
!Tm(u, hc.normalizeStyleValue(e, hc.replaceVars(c[a], i), a)) |
|
) |
|
return; |
|
} |
|
} else |
|
for (s = 0; s < c.length; s++) |
|
if ( |
|
"attributes" === r |
|
? e.getAttrib(t, c[s]) |
|
: hc.getStyle(e, t, c[s]) |
|
) |
|
return n; |
|
return n; |
|
}, |
|
Bm = function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s, |
|
c = e.formatter.get(n), |
|
l = e.dom; |
|
if (c && t) |
|
for (a = 0; a < c.length; a++) |
|
if ( |
|
((i = c[a]), |
|
_m(e.dom, t, i) && |
|
Dm(l, t, i, "attributes", o, r) && |
|
Dm(l, t, i, "styles", o, r)) |
|
) { |
|
if ((s = i.classes)) |
|
for (u = 0; u < s.length; u++) |
|
if (!e.dom.hasClass(t, s[u])) return; |
|
return i; |
|
} |
|
}, |
|
Om = { |
|
matchNode: Bm, |
|
matchName: _m, |
|
match: function (e, t, n, r) { |
|
var o; |
|
return r |
|
? Rm(e, r, t, n) |
|
: ((r = e.selection.getNode()), |
|
!!Rm(e, r, t, n) || |
|
!((o = e.selection.getStart()) === r || !Rm(e, o, t, n))); |
|
}, |
|
matchAll: function (r, o, i) { |
|
var e, |
|
a = [], |
|
u = {}; |
|
return ( |
|
(e = r.selection.getStart()), |
|
r.dom.getParent( |
|
e, |
|
function (e) { |
|
var t, n; |
|
for (t = 0; t < o.length; t++) |
|
(n = o[t]), !u[n] && Bm(r, e, n, i) && ((u[n] = !0), a.push(n)); |
|
}, |
|
r.dom.getRoot() |
|
), |
|
a |
|
); |
|
}, |
|
canApply: function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = e.formatter.get(t), |
|
s = e.dom; |
|
if (u) |
|
for ( |
|
n = e.selection.getStart(), |
|
r = hc.getParents(s, n), |
|
i = u.length - 1; |
|
0 <= i; |
|
i-- |
|
) { |
|
if (!(a = u[i].selector) || u[i].defaultBlock) return !0; |
|
for (o = r.length - 1; 0 <= o; o--) if (s.is(r[o], a)) return !0; |
|
} |
|
return !1; |
|
}, |
|
matchesUnInheritedFormatSelector: Am, |
|
}, |
|
Pm = function (e, t) { |
|
return e.splitText(t); |
|
}, |
|
Im = function (e) { |
|
var t = e.startContainer, |
|
n = e.startOffset, |
|
r = e.endContainer, |
|
o = e.endOffset; |
|
return ( |
|
t === r && Po.isText(t) |
|
? 0 < n && |
|
n < t.nodeValue.length && |
|
((t = (r = Pm(t, n)).previousSibling), |
|
n < o |
|
? ((t = r = Pm(r, (o -= n)).previousSibling), |
|
(o = r.nodeValue.length), |
|
(n = 0)) |
|
: (o = 0)) |
|
: (Po.isText(t) && |
|
0 < n && |
|
n < t.nodeValue.length && |
|
((t = Pm(t, n)), (n = 0)), |
|
Po.isText(r) && |
|
0 < o && |
|
o < r.nodeValue.length && |
|
(o = (r = Pm(r, o).previousSibling).nodeValue.length)), |
|
{ startContainer: t, startOffset: n, endContainer: r, endOffset: o } |
|
); |
|
}, |
|
Lm = ma, |
|
Mm = "_mce_caret", |
|
Fm = function (e) { |
|
return ( |
|
0 < |
|
(function (e) { |
|
for (var t = []; e; ) { |
|
if ( |
|
(3 === e.nodeType && e.nodeValue !== Lm) || |
|
1 < e.childNodes.length |
|
) |
|
return []; |
|
1 === e.nodeType && t.push(e), (e = e.firstChild); |
|
} |
|
return t; |
|
})(e).length |
|
); |
|
}, |
|
zm = function (e) { |
|
var t; |
|
if (e) |
|
for (e = (t = new ao(e, e)).current(); e; e = t.next()) |
|
if (3 === e.nodeType) return e; |
|
return null; |
|
}, |
|
Um = function (e) { |
|
var t = ir.fromTag("span"); |
|
return ( |
|
Cr(t, { |
|
id: Mm, |
|
"data-mce-bogus": "1", |
|
"data-mce-type": "format-caret", |
|
}), |
|
e && _i(t, ir.fromText(Lm)), |
|
t |
|
); |
|
}, |
|
Vm = function (e, t, n) { |
|
void 0 === n && (n = !0); |
|
var r, |
|
o = e.dom, |
|
i = e.selection; |
|
if (Fm(t)) Qf(e, !1, ir.fromDom(t), n); |
|
else { |
|
var a = i.getRng(), |
|
u = o.getParent(t, o.isBlock), |
|
s = |
|
((r = zm(t)) && r.nodeValue.charAt(0) === Lm && r.deleteData(0, 1), |
|
r); |
|
a.startContainer === s && |
|
0 < a.startOffset && |
|
a.setStart(s, a.startOffset - 1), |
|
a.endContainer === s && |
|
0 < a.endOffset && |
|
a.setEnd(s, a.endOffset - 1), |
|
o.remove(t, !0), |
|
u && o.isEmpty(u) && Gc(ir.fromDom(u)), |
|
i.setRng(a); |
|
} |
|
}, |
|
Hm = function (e, t, n) { |
|
void 0 === n && (n = !0); |
|
var r = e.dom, |
|
o = e.selection; |
|
if (t) Vm(e, t, n); |
|
else if (!(t = qu(e.getBody(), o.getStart()))) |
|
for (; (t = r.get(Mm)); ) Vm(e, t, !1); |
|
}, |
|
jm = function (e, t, n) { |
|
var r = e.dom, |
|
o = r.getParent(n, d(hc.isTextBlock, e)); |
|
o && r.isEmpty(o) |
|
? n.parentNode.replaceChild(t, n) |
|
: (Yc(ir.fromDom(n)), |
|
r.isEmpty(n) ? n.parentNode.replaceChild(t, n) : r.insertAfter(t, n)); |
|
}, |
|
qm = function (e, t) { |
|
return e.appendChild(t), t; |
|
}, |
|
$m = function (e, t) { |
|
var n, |
|
r, |
|
o = |
|
((n = function (e, t) { |
|
return qm(e, t.cloneNode(!1)); |
|
}), |
|
(r = t), |
|
(function (e, t) { |
|
for (var n = e.length - 1; 0 <= n; n--) t(e[n], n, e); |
|
})(e, function (e) { |
|
r = n(r, e); |
|
}), |
|
r); |
|
return qm(o, o.ownerDocument.createTextNode(Lm)); |
|
}, |
|
Wm = function (i) { |
|
i.on("mouseup keydown", function (e) { |
|
var t, n, r, o; |
|
(t = i), |
|
(n = e.keyCode), |
|
(r = t.selection), |
|
(o = t.getBody()), |
|
Hm(t, null, !1), |
|
(8 !== n && 46 !== n) || |
|
!r.isCollapsed() || |
|
r.getStart().innerHTML !== Lm || |
|
Hm(t, qu(o, r.getStart())), |
|
(37 !== n && 39 !== n) || Hm(t, qu(o, r.getStart())); |
|
}); |
|
}, |
|
Km = function (e, t) { |
|
return ( |
|
e.schema.getTextInlineElements().hasOwnProperty(cr(t)) && |
|
!ju(t.dom()) && |
|
!Po.isBogus(t.dom()) |
|
); |
|
}, |
|
Xm = function (e) { |
|
return 1 === qr(e).length; |
|
}, |
|
Ym = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s = d(Km, t), |
|
c = W(V(r, s), function (e) { |
|
return e.dom(); |
|
}); |
|
if (0 === c.length) Qf(t, e, n); |
|
else { |
|
var l = |
|
((o = n.dom()), |
|
(i = c), |
|
(a = Um(!1)), |
|
(u = $m(i, a.dom())), |
|
Ti(ir.fromDom(o), a), |
|
Oi(ir.fromDom(o)), |
|
Cu(u, 0)); |
|
t.selection.setRng(l.toRange()); |
|
} |
|
}, |
|
Gm = function (r, o) { |
|
var t, |
|
e = ir.fromDom(r.getBody()), |
|
n = ir.fromDom(r.selection.getStart()), |
|
i = V( |
|
((t = ef(n, e)), |
|
G(t, mo).fold(q(t), function (e) { |
|
return t.slice(0, e); |
|
})), |
|
Xm |
|
); |
|
return re(i) |
|
.map(function (e) { |
|
var t, |
|
n = Cu.fromRangeStart(r.selection.getRng()); |
|
return !( |
|
!zl(o, n, e.dom()) || |
|
(ju((t = e).dom()) && Fm(t.dom())) || |
|
(Ym(o, r, e, i), 0) |
|
); |
|
}) |
|
.getOr(!1); |
|
}, |
|
Jm = function (e, t) { |
|
return !!e.selection.isCollapsed() && Gm(e, t); |
|
}, |
|
Qm = Po.isContentEditableTrue, |
|
Zm = Po.isContentEditableFalse, |
|
eg = function (e, t, n, r, o) { |
|
return t._selectionOverrides.showCaret(e, n, r, o); |
|
}, |
|
tg = function (e, t) { |
|
var n, r; |
|
return e.fire("BeforeObjectSelected", { target: t }).isDefaultPrevented() |
|
? null |
|
: ((r = (n = t).ownerDocument.createRange()).selectNode(n), r); |
|
}, |
|
ng = function (e, t, n) { |
|
var r = Es(1, e.getBody(), t), |
|
o = Cu.fromRangeStart(r), |
|
i = o.getNode(); |
|
if (Zm(i)) return eg(1, e, i, !o.isAtEnd(), !1); |
|
var a = o.getNode(!0); |
|
if (Zm(a)) return eg(1, e, a, !1, !1); |
|
var u = e.dom.getParent(o.getNode(), function (e) { |
|
return Zm(e) || Qm(e); |
|
}); |
|
return Zm(u) ? eg(1, e, u, !1, n) : null; |
|
}, |
|
rg = function (e, t, n) { |
|
if (!t || !t.collapsed) return t; |
|
var r = ng(e, t, n); |
|
return r || t; |
|
}, |
|
og = function (e, t, n, r, o, i) { |
|
var a, |
|
u, |
|
s = eg(r, e, i.getNode(!o), o, !0); |
|
if (t.collapsed) { |
|
var c = t.cloneRange(); |
|
o |
|
? c.setEnd(s.startContainer, s.startOffset) |
|
: c.setStart(s.endContainer, s.endOffset), |
|
c.deleteContents(); |
|
} else t.deleteContents(); |
|
return ( |
|
e.selection.setRng(s), |
|
(a = e.dom), |
|
(u = n), |
|
Po.isText(u) && 0 === u.data.length && a.remove(u), |
|
!0 |
|
); |
|
}, |
|
ig = function (e, t) { |
|
return (function (e, t) { |
|
var n = e.selection.getRng(); |
|
if (!Po.isText(n.commonAncestorContainer)) return !1; |
|
var r = t ? bu.Forwards : bu.Backwards, |
|
o = $s(e.getBody()), |
|
i = d(As, o.next), |
|
a = d(As, o.prev), |
|
u = t ? i : a, |
|
s = t ? _f : Df, |
|
c = ks(r, e.getBody(), n), |
|
l = Ll.normalizePosition(t, u(c)); |
|
if (!l) return !1; |
|
if (s(l)) return og(e, n, c.getNode(), r, t, l); |
|
var f = u(l); |
|
return !!(f && s(f) && Rs(l, f)) && og(e, n, c.getNode(), r, t, f); |
|
})(e, t); |
|
}, |
|
ag = function (e, t) { |
|
e.getDoc().execCommand(t, !1, null); |
|
}, |
|
ug = function (e) { |
|
td(e, !1) || |
|
ig(e, !1) || |
|
Kd(e, !1) || |
|
lf(e, !1) || |
|
km(e) || |
|
gf(e, !1) || |
|
Jm(e, !1) || |
|
(ag(e, "Delete"), Fl(e)); |
|
}, |
|
sg = function (e) { |
|
td(e, !0) || |
|
ig(e, !0) || |
|
Kd(e, !0) || |
|
lf(e, !0) || |
|
km(e) || |
|
gf(e, !0) || |
|
Jm(e, !0) || |
|
ag(e, "ForwardDelete"); |
|
}, |
|
cg = function (o, t, e) { |
|
var n = function (e) { |
|
return ( |
|
(t = o), |
|
(n = e.dom()), |
|
(r = Sr(n, t)), |
|
A.from(r).filter(function (e) { |
|
return 0 < e.length; |
|
}) |
|
); |
|
var t, n, r; |
|
}; |
|
return Yi( |
|
ir.fromDom(e), |
|
function (e) { |
|
return n(e).isSome(); |
|
}, |
|
function (e) { |
|
return Ir(ir.fromDom(t), e); |
|
} |
|
).bind(n); |
|
}, |
|
lg = function (o) { |
|
return function (r, e) { |
|
return A.from(e) |
|
.map(ir.fromDom) |
|
.filter(fr) |
|
.bind(function (e) { |
|
return cg(o, r, e.dom()).or( |
|
((t = o), (n = e.dom()), A.from(bi.DOM.getStyle(n, t, !0))) |
|
); |
|
var t, n; |
|
}) |
|
.getOr(""); |
|
}; |
|
}, |
|
fg = { |
|
getFontSize: lg("font-size"), |
|
getFontFamily: j(function (e) { |
|
return e.replace(/[\'\"\\]/g, "").replace(/,\s+/g, ","); |
|
}, lg("font-family")), |
|
toPt: function (e, t) { |
|
return /[0-9.]+px$/.test(e) |
|
? ((n = (72 * parseInt(e, 10)) / 96), |
|
(r = t || 0), |
|
(o = Math.pow(10, r)), |
|
Math.round(n * o) / o + "pt") |
|
: e; |
|
var n, r, o; |
|
}, |
|
}, |
|
dg = function (e) { |
|
return nc.firstPositionIn(e.getBody()).map(function (e) { |
|
var t = e.container(); |
|
return Po.isText(t) ? t.parentNode : t; |
|
}); |
|
}, |
|
mg = function (o) { |
|
return A.from(o.selection.getRng()).bind(function (e) { |
|
var t, |
|
n, |
|
r = o.getBody(); |
|
return ( |
|
(n = r), |
|
(t = e).startContainer === n && 0 === t.startOffset |
|
? A.none() |
|
: A.from(o.selection.getStart(!0)) |
|
); |
|
}); |
|
}, |
|
gg = function (e, t) { |
|
if (/^[0-9\.]+$/.test(t)) { |
|
var n = parseInt(t, 10); |
|
if (1 <= n && n <= 7) { |
|
var r = Nl(e), |
|
o = El(e); |
|
return o ? o[n - 1] || t : r[n - 1] || t; |
|
} |
|
return t; |
|
} |
|
return t; |
|
}, |
|
pg = function (e, t) { |
|
return ( |
|
e && |
|
t && |
|
e.startContainer === t.startContainer && |
|
e.startOffset === t.startOffset && |
|
e.endContainer === t.endContainer && |
|
e.endOffset === t.endOffset |
|
); |
|
}, |
|
hg = function (e, t, n) { |
|
return ( |
|
null !== |
|
(function (e, t, n) { |
|
for (; e && e !== t; ) { |
|
if (n(e)) return e; |
|
e = e.parentNode; |
|
} |
|
return null; |
|
})(e, t, n) |
|
); |
|
}, |
|
vg = function (e, t, n) { |
|
return hg(e, t, function (e) { |
|
return e.nodeName === n; |
|
}); |
|
}, |
|
bg = function (e) { |
|
return e && "TABLE" === e.nodeName; |
|
}, |
|
yg = function (e, t, n) { |
|
for ( |
|
var r = new ao(t, e.getParent(t.parentNode, e.isBlock) || e.getRoot()); |
|
(t = r[n ? "prev" : "next"]()); |
|
|
|
) |
|
if (Po.isBr(t)) return !0; |
|
}, |
|
Cg = function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = e.getRoot(), |
|
d = e.schema.getNonEmptyElements(); |
|
if ( |
|
((u = e.getParent(o.parentNode, e.isBlock) || f), |
|
r && Po.isBr(o) && t && e.isEmpty(u)) |
|
) |
|
return A.some(vu(o.parentNode, e.nodeIndex(o))); |
|
for (i = new ao(o, u); (s = i[r ? "prev" : "next"]()); ) { |
|
if ( |
|
"false" === e.getContentEditableParent(s) || |
|
((l = f), ya((c = s)) && !1 === hg(c, l, ju)) |
|
) |
|
return A.none(); |
|
if (Po.isText(s) && 0 < s.nodeValue.length) |
|
return !1 === vg(s, f, "A") |
|
? A.some(vu(s, r ? s.nodeValue.length : 0)) |
|
: A.none(); |
|
if (e.isBlock(s) || d[s.nodeName.toLowerCase()]) return A.none(); |
|
a = s; |
|
} |
|
return n && a ? A.some(vu(a, 0)) : A.none(); |
|
}, |
|
xg = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g = e.getRoot(), |
|
p = !1; |
|
if ( |
|
((o = r[(n ? "start" : "end") + "Container"]), |
|
(i = r[(n ? "start" : "end") + "Offset"]), |
|
(l = Po.isElement(o) && i === o.childNodes.length), |
|
(s = e.schema.getNonEmptyElements()), |
|
(c = n), |
|
ya(o)) |
|
) |
|
return A.none(); |
|
if ( |
|
(Po.isElement(o) && i > o.childNodes.length - 1 && (c = !1), |
|
Po.isDocument(o) && ((o = g), (i = 0)), |
|
o === g) |
|
) { |
|
if (c && (u = o.childNodes[0 < i ? i - 1 : 0])) { |
|
if (ya(u)) return A.none(); |
|
if (s[u.nodeName] || bg(u)) return A.none(); |
|
} |
|
if (o.hasChildNodes()) { |
|
if ( |
|
((i = Math.min(!c && 0 < i ? i - 1 : i, o.childNodes.length - 1)), |
|
(o = o.childNodes[i]), |
|
(i = Po.isText(o) && l ? o.data.length : 0), |
|
!t && o === g.lastChild && bg(o)) |
|
) |
|
return A.none(); |
|
if ( |
|
(function (e, t) { |
|
for (; t && t !== e; ) { |
|
if (Po.isContentEditableFalse(t)) return !0; |
|
t = t.parentNode; |
|
} |
|
return !1; |
|
})(g, o) || |
|
ya(o) |
|
) |
|
return A.none(); |
|
if (o.hasChildNodes() && !1 === bg(o)) { |
|
a = new ao((u = o), g); |
|
do { |
|
if (Po.isContentEditableFalse(u) || ya(u)) { |
|
p = !1; |
|
break; |
|
} |
|
if (Po.isText(u) && 0 < u.nodeValue.length) { |
|
(i = c ? 0 : u.nodeValue.length), (o = u), (p = !0); |
|
break; |
|
} |
|
if ( |
|
s[u.nodeName.toLowerCase()] && |
|
(!(f = u) || !/^(TD|TH|CAPTION)$/.test(f.nodeName)) |
|
) { |
|
(i = e.nodeIndex(u)), (o = u.parentNode), c || i++, (p = !0); |
|
break; |
|
} |
|
} while ((u = c ? a.next() : a.prev())); |
|
} |
|
} |
|
} |
|
return ( |
|
t && |
|
(Po.isText(o) && |
|
0 === i && |
|
Cg(e, l, t, !0, o).each(function (e) { |
|
(o = e.container()), (i = e.offset()), (p = !0); |
|
}), |
|
Po.isElement(o) && |
|
((u = o.childNodes[i]) || (u = o.childNodes[i - 1]), |
|
!u || |
|
!Po.isBr(u) || |
|
((m = "A"), |
|
(d = u).previousSibling && d.previousSibling.nodeName === m) || |
|
yg(e, u, !1) || |
|
yg(e, u, !0) || |
|
Cg(e, l, t, !0, u).each(function (e) { |
|
(o = e.container()), (i = e.offset()), (p = !0); |
|
}))), |
|
c && |
|
!t && |
|
Po.isText(o) && |
|
i === o.nodeValue.length && |
|
Cg(e, l, t, !1, o).each(function (e) { |
|
(o = e.container()), (i = e.offset()), (p = !0); |
|
}), |
|
p ? A.some(vu(o, i)) : A.none() |
|
); |
|
}, |
|
wg = function (e, t) { |
|
var n = t.collapsed, |
|
r = t.cloneRange(), |
|
o = vu.fromRangeStart(t); |
|
return ( |
|
xg(e, n, !0, r).each(function (e) { |
|
(n && vu.isAbove(o, e)) || r.setStart(e.container(), e.offset()); |
|
}), |
|
n || |
|
xg(e, n, !1, r).each(function (e) { |
|
r.setEnd(e.container(), e.offset()); |
|
}), |
|
n && r.collapse(!0), |
|
pg(t, r) ? A.none() : A.some(r) |
|
); |
|
}, |
|
Ng = function (e, t, n) { |
|
var r = e.create("span", {}, " "); |
|
n.parentNode.insertBefore(r, n), t.scrollIntoView(r), e.remove(r); |
|
}, |
|
Eg = function (e, t, n, r) { |
|
var o = e.createRng(); |
|
r |
|
? (o.setStartBefore(n), o.setEndBefore(n)) |
|
: (o.setStartAfter(n), o.setEndAfter(n)), |
|
t.setRng(o); |
|
}, |
|
Sg = function (e, t) { |
|
var n, |
|
r, |
|
o = e.selection, |
|
i = e.dom, |
|
a = o.getRng(); |
|
wg(i, a).each(function (e) { |
|
a.setStart(e.startContainer, e.startOffset), |
|
a.setEnd(e.endContainer, e.endOffset); |
|
}); |
|
var u = a.startOffset, |
|
s = a.startContainer; |
|
if (1 === s.nodeType && s.hasChildNodes()) { |
|
var c = u > s.childNodes.length - 1; |
|
(s = s.childNodes[Math.min(u, s.childNodes.length - 1)] || s), |
|
(u = c && 3 === s.nodeType ? s.nodeValue.length : 0); |
|
} |
|
var l = i.getParent(s, i.isBlock), |
|
f = l ? i.getParent(l.parentNode, i.isBlock) : null, |
|
d = f ? f.nodeName.toUpperCase() : "", |
|
m = t && t.ctrlKey; |
|
"LI" !== d || m || (l = f), |
|
s && |
|
3 === s.nodeType && |
|
u >= s.nodeValue.length && |
|
((function (e, t, n) { |
|
for ( |
|
var r, o = new ao(t, n), i = e.getNonEmptyElements(); |
|
(r = o.next()); |
|
|
|
) |
|
if (i[r.nodeName.toLowerCase()] || 0 < r.length) return !0; |
|
})(e.schema, s, l) || |
|
((n = i.create("br")), |
|
a.insertNode(n), |
|
a.setStartAfter(n), |
|
a.setEndAfter(n), |
|
(r = !0))), |
|
(n = i.create("br")), |
|
Du(i, a, n), |
|
Ng(i, o, n), |
|
Eg(i, o, n, r), |
|
e.undoManager.add(); |
|
}, |
|
kg = function (e, t) { |
|
var n = ir.fromTag("br"); |
|
Ti(ir.fromDom(t), n), e.undoManager.add(); |
|
}, |
|
Tg = function (e, t) { |
|
Ag(e.getBody(), t) || Ai(ir.fromDom(t), ir.fromTag("br")); |
|
var n = ir.fromTag("br"); |
|
Ai(ir.fromDom(t), n), |
|
Ng(e.dom, e.selection, n.dom()), |
|
Eg(e.dom, e.selection, n.dom(), !1), |
|
e.undoManager.add(); |
|
}, |
|
Ag = function (e, t) { |
|
return ( |
|
(n = Cu.after(t)), |
|
!!Po.isBr(n.getNode()) || |
|
nc |
|
.nextPosition(e, Cu.after(t)) |
|
.map(function (e) { |
|
return Po.isBr(e.getNode()); |
|
}) |
|
.getOr(!1) |
|
); |
|
var n; |
|
}, |
|
Rg = function (e) { |
|
return e && "A" === e.nodeName && "href" in e; |
|
}, |
|
_g = function (e) { |
|
return e.fold(q(!1), Rg, Rg, q(!1)); |
|
}, |
|
Dg = function (e, t) { |
|
t.fold(o, d(kg, e), d(Tg, e), o); |
|
}, |
|
Bg = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = |
|
((n = e), |
|
(r = d(Ll.isInlineTarget, n)), |
|
(o = Cu.fromRangeStart(n.selection.getRng())), |
|
Dd(r, n.getBody(), o).filter(_g)); |
|
i.isSome() ? i.each(d(Dg, e)) : Sg(e, t); |
|
}, |
|
Og = { create: kr("start", "soffset", "finish", "foffset") }, |
|
Pg = pf([ |
|
{ before: ["element"] }, |
|
{ on: ["element", "offset"] }, |
|
{ after: ["element"] }, |
|
]), |
|
Ig = |
|
(Pg.before, |
|
Pg.on, |
|
Pg.after, |
|
function (e) { |
|
return e.fold($, $, $); |
|
}), |
|
Lg = pf([ |
|
{ domRange: ["rng"] }, |
|
{ relative: ["startSitu", "finishSitu"] }, |
|
{ exact: ["start", "soffset", "finish", "foffset"] }, |
|
]), |
|
Mg = { |
|
domRange: Lg.domRange, |
|
relative: Lg.relative, |
|
exact: Lg.exact, |
|
exactFromRange: function (e) { |
|
return Lg.exact(e.start(), e.soffset(), e.finish(), e.foffset()); |
|
}, |
|
getWin: function (e) { |
|
var t = e.match({ |
|
domRange: function (e) { |
|
return ir.fromDom(e.startContainer); |
|
}, |
|
relative: function (e, t) { |
|
return Ig(e); |
|
}, |
|
exact: function (e, t, n, r) { |
|
return e; |
|
}, |
|
}); |
|
return Fr(t); |
|
}, |
|
range: Og.create, |
|
}, |
|
Fg = rr.detect().browser, |
|
zg = function (e, t) { |
|
var n = dr(t) ? Bc(t).length : qr(t).length + 1; |
|
return n < e ? n : e < 0 ? 0 : e; |
|
}, |
|
Ug = function (e) { |
|
return Mg.range( |
|
e.start(), |
|
zg(e.soffset(), e.start()), |
|
e.finish(), |
|
zg(e.foffset(), e.finish()) |
|
); |
|
}, |
|
Vg = function (e, t) { |
|
return !Po.isRestrictedNode(t.dom()) && (Lr(e, t) || Ir(e, t)); |
|
}, |
|
Hg = function (t) { |
|
return function (e) { |
|
return Vg(t, e.start()) && Vg(t, e.finish()); |
|
}; |
|
}, |
|
jg = function (e) { |
|
return !0 === e.inline || Fg.isIE(); |
|
}, |
|
qg = function (e) { |
|
return Mg.range( |
|
ir.fromDom(e.startContainer), |
|
e.startOffset, |
|
ir.fromDom(e.endContainer), |
|
e.endOffset |
|
); |
|
}, |
|
$g = function (e) { |
|
var t = e.getSelection(); |
|
return (t && 0 !== t.rangeCount ? A.from(t.getRangeAt(0)) : A.none()).map( |
|
qg |
|
); |
|
}, |
|
Wg = function (e) { |
|
var t = Fr(e); |
|
return $g(t.dom()).filter(Hg(e)); |
|
}, |
|
Kg = function (e, t) { |
|
return A.from(t).filter(Hg(e)).map(Ug); |
|
}, |
|
Xg = function (e) { |
|
var t = H.document.createRange(); |
|
try { |
|
return ( |
|
t.setStart(e.start().dom(), e.soffset()), |
|
t.setEnd(e.finish().dom(), e.foffset()), |
|
A.some(t) |
|
); |
|
} catch (n) { |
|
return A.none(); |
|
} |
|
}, |
|
Yg = function (e) { |
|
return (e.bookmark ? e.bookmark : A.none()) |
|
.bind(d(Kg, ir.fromDom(e.getBody()))) |
|
.bind(Xg); |
|
}, |
|
Gg = function (e) { |
|
var t = jg(e) ? Wg(ir.fromDom(e.getBody())) : A.none(); |
|
e.bookmark = t.isSome() ? t : e.bookmark; |
|
}, |
|
Jg = function (t) { |
|
Yg(t).each(function (e) { |
|
t.selection.setRng(e); |
|
}); |
|
}, |
|
Qg = Yg, |
|
Zg = function (e) { |
|
return vo(e) || bo(e); |
|
}, |
|
ep = function (e) { |
|
return V(W(e.selection.getSelectedBlocks(), ir.fromDom), function (e) { |
|
return !Zg(e) && !zr(e).map(Zg).getOr(!1); |
|
}); |
|
}, |
|
tp = function (e, t) { |
|
var n = e.settings, |
|
r = e.dom, |
|
o = e.selection, |
|
i = e.formatter, |
|
a = /[a-z%]+$/i.exec(n.indentation)[0], |
|
u = parseInt(n.indentation, 10), |
|
s = e.getParam("indent_use_margin", !1); |
|
e.queryCommandState("InsertUnorderedList") || |
|
e.queryCommandState("InsertOrderedList") || |
|
n.forced_root_block || |
|
r.getParent(o.getNode(), r.isBlock) || |
|
i.apply("div"), |
|
U(ep(e), function (e) { |
|
!(function (e, t, n, r, o, i) { |
|
if ("false" !== e.getContentEditable(i)) { |
|
var a = n ? "margin" : "padding"; |
|
if ( |
|
((a = "TABLE" === i.nodeName ? "margin" : a), |
|
(a += |
|
"rtl" === e.getStyle(i, "direction", !0) ? "Right" : "Left"), |
|
"outdent" === t) |
|
) { |
|
var u = Math.max(0, parseInt(i.style[a] || 0, 10) - r); |
|
e.setStyle(i, a, u ? u + o : ""); |
|
} else |
|
(u = parseInt(i.style[a] || 0, 10) + r + o), |
|
e.setStyle(i, a, u); |
|
} |
|
})(r, t, s, u, a, e.dom()); |
|
}); |
|
}, |
|
np = Jt.each, |
|
rp = Jt.extend, |
|
op = Jt.map, |
|
ip = Jt.inArray; |
|
function ap(s) { |
|
var o, |
|
i, |
|
a, |
|
t, |
|
c = { state: {}, exec: {}, value: {} }, |
|
n = s.settings; |
|
s.on("PreInit", function () { |
|
(o = s.dom), (i = s.selection), (n = s.settings), (a = s.formatter); |
|
}); |
|
var r = function (e) { |
|
var t; |
|
if (!s.quirks.isHidden() && !s.removed) { |
|
if (((e = e.toLowerCase()), (t = c.state[e]))) return t(e); |
|
try { |
|
return s.getDoc().queryCommandState(e); |
|
} catch (n) {} |
|
return !1; |
|
} |
|
}, |
|
e = function (e, n) { |
|
(n = n || "exec"), |
|
np(e, function (t, e) { |
|
np(e.toLowerCase().split(","), function (e) { |
|
c[n][e] = t; |
|
}); |
|
}); |
|
}, |
|
u = function (e, t, n) { |
|
(e = e.toLowerCase()), |
|
(c.value[e] = function () { |
|
return t.call(n || s); |
|
}); |
|
}; |
|
rp(this, { |
|
execCommand: function (t, n, r, e) { |
|
var o, |
|
i, |
|
a = !1; |
|
if (!s.removed) { |
|
if ( |
|
(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test( |
|
t |
|
) || |
|
(e && e.skip_focus) |
|
? Jg(s) |
|
: s.focus(), |
|
(e = s.fire("BeforeExecCommand", { |
|
command: t, |
|
ui: n, |
|
value: r, |
|
})).isDefaultPrevented()) |
|
) |
|
return !1; |
|
if (((i = t.toLowerCase()), (o = c.exec[i]))) |
|
return ( |
|
o(i, n, r), |
|
s.fire("ExecCommand", { command: t, ui: n, value: r }), |
|
!0 |
|
); |
|
if ( |
|
(np(s.plugins, function (e) { |
|
if (e.execCommand && e.execCommand(t, n, r)) |
|
return ( |
|
s.fire("ExecCommand", { command: t, ui: n, value: r }), |
|
!(a = !0) |
|
); |
|
}), |
|
a) |
|
) |
|
return a; |
|
if (s.theme && s.theme.execCommand && s.theme.execCommand(t, n, r)) |
|
return s.fire("ExecCommand", { command: t, ui: n, value: r }), !0; |
|
try { |
|
a = s.getDoc().execCommand(t, n, r); |
|
} catch (u) {} |
|
return ( |
|
!!a && (s.fire("ExecCommand", { command: t, ui: n, value: r }), !0) |
|
); |
|
} |
|
}, |
|
queryCommandState: r, |
|
queryCommandValue: function (e) { |
|
var t; |
|
if (!s.quirks.isHidden() && !s.removed) { |
|
if (((e = e.toLowerCase()), (t = c.value[e]))) return t(e); |
|
try { |
|
return s.getDoc().queryCommandValue(e); |
|
} catch (n) {} |
|
} |
|
}, |
|
queryCommandSupported: function (e) { |
|
if (((e = e.toLowerCase()), c.exec[e])) return !0; |
|
try { |
|
return s.getDoc().queryCommandSupported(e); |
|
} catch (t) {} |
|
return !1; |
|
}, |
|
addCommands: e, |
|
addCommand: function (e, o, i) { |
|
(e = e.toLowerCase()), |
|
(c.exec[e] = function (e, t, n, r) { |
|
return o.call(i || s, t, n, r); |
|
}); |
|
}, |
|
addQueryStateHandler: function (e, t, n) { |
|
(e = e.toLowerCase()), |
|
(c.state[e] = function () { |
|
return t.call(n || s); |
|
}); |
|
}, |
|
addQueryValueHandler: u, |
|
hasCustomCommand: function (e) { |
|
return (e = e.toLowerCase()), !!c.exec[e]; |
|
}, |
|
}); |
|
var l = function (e, t, n) { |
|
return ( |
|
t === undefined && (t = !1), |
|
n === undefined && (n = null), |
|
s.getDoc().execCommand(e, t, n) |
|
); |
|
}, |
|
f = function (e) { |
|
return a.match(e); |
|
}, |
|
d = function (e, t) { |
|
a.toggle(e, t ? { value: t } : undefined), s.nodeChanged(); |
|
}, |
|
m = function (e) { |
|
t = i.getBookmark(e); |
|
}, |
|
g = function () { |
|
i.moveToBookmark(t); |
|
}; |
|
e({ |
|
"mceResetDesignMode,mceBeginUndoLevel": function () {}, |
|
"mceEndUndoLevel,mceAddUndoLevel": function () { |
|
s.undoManager.add(); |
|
}, |
|
"Cut,Copy,Paste": function (e) { |
|
var t, |
|
n = s.getDoc(); |
|
try { |
|
l(e); |
|
} catch (o) { |
|
t = !0; |
|
} |
|
if ( |
|
("paste" !== e || n.queryCommandEnabled(e) || (t = !0), |
|
t || !n.queryCommandSupported(e)) |
|
) { |
|
var r = s.translate( |
|
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead." |
|
); |
|
ge.mac && (r = r.replace(/Ctrl\+/g, "\u2318+")), |
|
s.notificationManager.open({ text: r, type: "error" }); |
|
} |
|
}, |
|
unlink: function () { |
|
if (i.isCollapsed()) { |
|
var e = s.dom.getParent(s.selection.getStart(), "a"); |
|
e && s.dom.remove(e, !0); |
|
} else a.remove("link"); |
|
}, |
|
"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone": |
|
function (e) { |
|
var t = e.substring(7); |
|
"full" === t && (t = "justify"), |
|
np("left,center,right,justify".split(","), function (e) { |
|
t !== e && a.remove("align" + e); |
|
}), |
|
"none" !== t && d("align" + t); |
|
}, |
|
"InsertUnorderedList,InsertOrderedList": function (e) { |
|
var t, n; |
|
l(e), |
|
(t = o.getParent(i.getNode(), "ol,ul")) && |
|
((n = t.parentNode), |
|
/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName) && |
|
(m(), o.split(n, t), g())); |
|
}, |
|
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function ( |
|
e |
|
) { |
|
d(e); |
|
}, |
|
"ForeColor,HiliteColor": function (e, t, n) { |
|
d(e, n); |
|
}, |
|
FontName: function (e, t, n) { |
|
var r, o; |
|
(o = n), |
|
(r = s).formatter.toggle("fontname", { value: gg(r, o) }), |
|
r.nodeChanged(); |
|
}, |
|
FontSize: function (e, t, n) { |
|
var r, o; |
|
(o = n), |
|
(r = s).formatter.toggle("fontsize", { value: gg(r, o) }), |
|
r.nodeChanged(); |
|
}, |
|
RemoveFormat: function (e) { |
|
a.remove(e); |
|
}, |
|
mceBlockQuote: function () { |
|
d("blockquote"); |
|
}, |
|
FormatBlock: function (e, t, n) { |
|
return d(n || "p"); |
|
}, |
|
mceCleanup: function () { |
|
var e = i.getBookmark(); |
|
s.setContent(s.getContent()), i.moveToBookmark(e); |
|
}, |
|
mceRemoveNode: function (e, t, n) { |
|
var r = n || i.getNode(); |
|
r !== s.getBody() && (m(), s.dom.remove(r, !0), g()); |
|
}, |
|
mceSelectNodeDepth: function (e, t, n) { |
|
var r = 0; |
|
o.getParent( |
|
i.getNode(), |
|
function (e) { |
|
if (1 === e.nodeType && r++ === n) return i.select(e), !1; |
|
}, |
|
s.getBody() |
|
); |
|
}, |
|
mceSelectNode: function (e, t, n) { |
|
i.select(n); |
|
}, |
|
mceInsertContent: function (e, t, n) { |
|
ul(s, n); |
|
}, |
|
mceInsertRawHTML: function (e, t, n) { |
|
i.setContent("tiny_mce_marker"); |
|
var r = s.getContent(); |
|
s.setContent( |
|
r.replace(/tiny_mce_marker/g, function () { |
|
return n; |
|
}) |
|
); |
|
}, |
|
mceToggleFormat: function (e, t, n) { |
|
d(n); |
|
}, |
|
mceSetContent: function (e, t, n) { |
|
s.setContent(n); |
|
}, |
|
"Indent,Outdent": function (e) { |
|
tp(s, e); |
|
}, |
|
mceRepaint: function () {}, |
|
InsertHorizontalRule: function () { |
|
s.execCommand("mceInsertContent", !1, "<hr />"); |
|
}, |
|
mceToggleVisualAid: function () { |
|
(s.hasVisual = !s.hasVisual), s.addVisual(); |
|
}, |
|
mceReplaceContent: function (e, t, n) { |
|
s.execCommand( |
|
"mceInsertContent", |
|
!1, |
|
n.replace(/\{\$selection\}/g, i.getContent({ format: "text" })) |
|
); |
|
}, |
|
mceInsertLink: function (e, t, n) { |
|
var r; |
|
"string" == typeof n && (n = { href: n }), |
|
(r = o.getParent(i.getNode(), "a")), |
|
(n.href = n.href.replace(" ", "%20")), |
|
(r && n.href) || a.remove("link"), |
|
n.href && a.apply("link", n, r); |
|
}, |
|
selectAll: function () { |
|
var e = o.getParent(i.getStart(), Po.isContentEditableTrue); |
|
if (e) { |
|
var t = o.createRng(); |
|
t.selectNodeContents(e), i.setRng(t); |
|
} |
|
}, |
|
delete: function () { |
|
ug(s); |
|
}, |
|
forwardDelete: function () { |
|
sg(s); |
|
}, |
|
mceNewDocument: function () { |
|
s.setContent(""); |
|
}, |
|
InsertLineBreak: function (e, t, n) { |
|
return Bg(s, n), !0; |
|
}, |
|
}); |
|
var p = function (n) { |
|
return function () { |
|
var e = i.isCollapsed() |
|
? [o.getParent(i.getNode(), o.isBlock)] |
|
: i.getSelectedBlocks(), |
|
t = op(e, function (e) { |
|
return !!a.matchNode(e, n); |
|
}); |
|
return -1 !== ip(t, !0); |
|
}; |
|
}; |
|
e( |
|
{ |
|
JustifyLeft: p("alignleft"), |
|
JustifyCenter: p("aligncenter"), |
|
JustifyRight: p("alignright"), |
|
JustifyFull: p("alignjustify"), |
|
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function ( |
|
e |
|
) { |
|
return f(e); |
|
}, |
|
mceBlockQuote: function () { |
|
return f("blockquote"); |
|
}, |
|
Outdent: function () { |
|
var e; |
|
if (n.inline_styles) { |
|
if ( |
|
(e = o.getParent(i.getStart(), o.isBlock)) && |
|
0 < parseInt(e.style.paddingLeft, 10) |
|
) |
|
return !0; |
|
if ( |
|
(e = o.getParent(i.getEnd(), o.isBlock)) && |
|
0 < parseInt(e.style.paddingLeft, 10) |
|
) |
|
return !0; |
|
} |
|
return ( |
|
r("InsertUnorderedList") || |
|
r("InsertOrderedList") || |
|
(!n.inline_styles && !!o.getParent(i.getNode(), "BLOCKQUOTE")) |
|
); |
|
}, |
|
"InsertUnorderedList,InsertOrderedList": function (e) { |
|
var t = o.getParent(i.getNode(), "ul,ol"); |
|
return ( |
|
t && |
|
(("insertunorderedlist" === e && "UL" === t.tagName) || |
|
("insertorderedlist" === e && "OL" === t.tagName)) |
|
); |
|
}, |
|
}, |
|
"state" |
|
), |
|
e({ |
|
Undo: function () { |
|
s.undoManager.undo(); |
|
}, |
|
Redo: function () { |
|
s.undoManager.redo(); |
|
}, |
|
}), |
|
u( |
|
"FontName", |
|
function () { |
|
return mg((t = s)).fold( |
|
function () { |
|
return dg(t) |
|
.map(function (e) { |
|
return fg.getFontFamily(t.getBody(), e); |
|
}) |
|
.getOr(""); |
|
}, |
|
function (e) { |
|
return fg.getFontFamily(t.getBody(), e); |
|
} |
|
); |
|
var t; |
|
}, |
|
this |
|
), |
|
u( |
|
"FontSize", |
|
function () { |
|
return mg((t = s)).fold( |
|
function () { |
|
return dg(t) |
|
.map(function (e) { |
|
return fg.getFontSize(t.getBody(), e); |
|
}) |
|
.getOr(""); |
|
}, |
|
function (e) { |
|
return fg.getFontSize(t.getBody(), e); |
|
} |
|
); |
|
var t; |
|
}, |
|
this |
|
); |
|
} |
|
var up = Jt.makeMap( |
|
"focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend", |
|
" " |
|
), |
|
sp = function (a) { |
|
var u, |
|
s, |
|
c = this, |
|
l = {}, |
|
f = function () { |
|
return !1; |
|
}, |
|
d = function () { |
|
return !0; |
|
}; |
|
(u = (a = a || {}).scope || c), (s = a.toggleEvent || f); |
|
var r = function (e, t, n, r) { |
|
var o, i, a; |
|
if ((!1 === t && (t = f), t)) |
|
for ( |
|
t = { func: t }, |
|
r && Jt.extend(t, r), |
|
a = (i = e.toLowerCase().split(" ")).length; |
|
a--; |
|
|
|
) |
|
(e = i[a]), |
|
(o = l[e]) || ((o = l[e] = []), s(e, !0)), |
|
n ? o.unshift(t) : o.push(t); |
|
return c; |
|
}, |
|
m = function (e, t) { |
|
var n, r, o, i, a; |
|
if (e) |
|
for (n = (i = e.toLowerCase().split(" ")).length; n--; ) { |
|
if (((e = i[n]), (r = l[e]), !e)) { |
|
for (o in l) s(o, !1), delete l[o]; |
|
return c; |
|
} |
|
if (r) { |
|
if (t) |
|
for (a = r.length; a--; ) |
|
r[a].func === t && |
|
((r = r.slice(0, a).concat(r.slice(a + 1))), (l[e] = r)); |
|
else r.length = 0; |
|
r.length || (s(e, !1), delete l[e]); |
|
} |
|
} |
|
else { |
|
for (e in l) s(e, !1); |
|
l = {}; |
|
} |
|
return c; |
|
}; |
|
(c.fire = function (e, t) { |
|
var n, r, o, i; |
|
if ( |
|
((e = e.toLowerCase()), |
|
((t = t || {}).type = e), |
|
t.target || (t.target = u), |
|
t.preventDefault || |
|
((t.preventDefault = function () { |
|
t.isDefaultPrevented = d; |
|
}), |
|
(t.stopPropagation = function () { |
|
t.isPropagationStopped = d; |
|
}), |
|
(t.stopImmediatePropagation = function () { |
|
t.isImmediatePropagationStopped = d; |
|
}), |
|
(t.isDefaultPrevented = f), |
|
(t.isPropagationStopped = f), |
|
(t.isImmediatePropagationStopped = f)), |
|
a.beforeFire && a.beforeFire(t), |
|
(n = l[e])) |
|
) |
|
for (r = 0, o = n.length; r < o; r++) { |
|
if ( |
|
((i = n[r]).once && m(e, i.func), |
|
t.isImmediatePropagationStopped()) |
|
) |
|
return t.stopPropagation(), t; |
|
if (!1 === i.func.call(u, t)) return t.preventDefault(), t; |
|
} |
|
return t; |
|
}), |
|
(c.on = r), |
|
(c.off = m), |
|
(c.once = function (e, t, n) { |
|
return r(e, t, n, { once: !0 }); |
|
}), |
|
(c.has = function (e) { |
|
return (e = e.toLowerCase()), !(!l[e] || 0 === l[e].length); |
|
}); |
|
}; |
|
sp.isNative = function (e) { |
|
return !!up[e.toLowerCase()]; |
|
}; |
|
var cp, |
|
lp = function (n) { |
|
return ( |
|
n._eventDispatcher || |
|
(n._eventDispatcher = new sp({ |
|
scope: n, |
|
toggleEvent: function (e, t) { |
|
sp.isNative(e) && |
|
n.toggleNativeEvent && |
|
n.toggleNativeEvent(e, t); |
|
}, |
|
})), |
|
n._eventDispatcher |
|
); |
|
}, |
|
fp = { |
|
fire: function (e, t, n) { |
|
if (this.removed && "remove" !== e && "detach" !== e) return t; |
|
if (((t = lp(this).fire(e, t, n)), !1 !== n && this.parent)) |
|
for (var r = this.parent(); r && !t.isPropagationStopped(); ) |
|
r.fire(e, t, !1), (r = r.parent()); |
|
return t; |
|
}, |
|
on: function (e, t, n) { |
|
return lp(this).on(e, t, n); |
|
}, |
|
off: function (e, t) { |
|
return lp(this).off(e, t); |
|
}, |
|
once: function (e, t) { |
|
return lp(this).once(e, t); |
|
}, |
|
hasEventListeners: function (e) { |
|
return lp(this).has(e); |
|
}, |
|
}, |
|
dp = function (e, t) { |
|
return e.fire("PreProcess", t); |
|
}, |
|
mp = function (e, t) { |
|
return e.fire("PostProcess", t); |
|
}, |
|
gp = function (e) { |
|
return e.fire("remove"); |
|
}, |
|
pp = function (e) { |
|
return e.fire("detach"); |
|
}, |
|
hp = function (e, t) { |
|
return e.fire("SwitchMode", { mode: t }); |
|
}, |
|
vp = function (e, t, n, r) { |
|
e.fire("ObjectResizeStart", { target: t, width: n, height: r }); |
|
}, |
|
bp = function (e, t, n, r) { |
|
e.fire("ObjectResized", { target: t, width: n, height: r }); |
|
}, |
|
yp = function (e, t, n) { |
|
try { |
|
e.getDoc().execCommand(t, !1, n); |
|
} catch (r) {} |
|
}, |
|
Cp = function (e, t, n) { |
|
var r, o; |
|
ji(e, t) && !1 === n |
|
? ((o = t), Fi((r = e)) ? r.dom().classList.remove(o) : Ui(r, o), Hi(r)) |
|
: n && Vi(e, t); |
|
}, |
|
xp = function (e, t) { |
|
Cp(ir.fromDom(e.getBody()), "mce-content-readonly", t), |
|
t |
|
? (e.selection.controlSelection.hideResizeRect(), |
|
(e.readonly = !0), |
|
(e.getBody().contentEditable = "false")) |
|
: ((e.readonly = !1), |
|
(e.getBody().contentEditable = "true"), |
|
yp(e, "StyleWithCSS", !1), |
|
yp(e, "enableInlineTableEditing", !1), |
|
yp(e, "enableObjectResizing", !1), |
|
e.focus(), |
|
e.nodeChanged()); |
|
}, |
|
wp = function (e) { |
|
return e.readonly ? "readonly" : "design"; |
|
}, |
|
Np = bi.DOM, |
|
Ep = function (e, t) { |
|
return "selectionchange" === t |
|
? e.getDoc() |
|
: !e.inline && |
|
/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t) |
|
? e.getDoc().documentElement |
|
: e.settings.event_root |
|
? (e.eventRoot || (e.eventRoot = Np.select(e.settings.event_root)[0]), |
|
e.eventRoot) |
|
: e.getBody(); |
|
}, |
|
Sp = function (e, t, n) { |
|
var r; |
|
(r = e).hidden || r.readonly |
|
? !0 === e.readonly && n.preventDefault() |
|
: e.fire(t, n); |
|
}, |
|
kp = function (i, a) { |
|
var e, t; |
|
if ((i.delegates || (i.delegates = {}), !i.delegates[a] && !i.removed)) |
|
if (((e = Ep(i, a)), i.settings.event_root)) { |
|
if ( |
|
(cp || |
|
((cp = {}), |
|
i.editorManager.on("removeEditor", function () { |
|
var e; |
|
if (!i.editorManager.activeEditor && cp) { |
|
for (e in cp) i.dom.unbind(Ep(i, e)); |
|
cp = null; |
|
} |
|
})), |
|
cp[a]) |
|
) |
|
return; |
|
(t = function (e) { |
|
for ( |
|
var t = e.target, n = i.editorManager.get(), r = n.length; |
|
r--; |
|
|
|
) { |
|
var o = n[r].getBody(); |
|
(o === t || Np.isChildOf(t, o)) && Sp(n[r], a, e); |
|
} |
|
}), |
|
(cp[a] = t), |
|
Np.bind(e, a, t); |
|
} else |
|
(t = function (e) { |
|
Sp(i, a, e); |
|
}), |
|
Np.bind(e, a, t), |
|
(i.delegates[a] = t); |
|
}, |
|
Tp = { |
|
bindPendingEventDelegates: function () { |
|
var t = this; |
|
Jt.each(t._pendingNativeEvents, function (e) { |
|
kp(t, e); |
|
}); |
|
}, |
|
toggleNativeEvent: function (e, t) { |
|
var n = this; |
|
"focus" !== e && |
|
"blur" !== e && |
|
(t |
|
? n.initialized |
|
? kp(n, e) |
|
: n._pendingNativeEvents |
|
? n._pendingNativeEvents.push(e) |
|
: (n._pendingNativeEvents = [e]) |
|
: n.initialized && |
|
(n.dom.unbind(Ep(n, e), e, n.delegates[e]), |
|
delete n.delegates[e])); |
|
}, |
|
unbindAllNativeEvents: function () { |
|
var e, |
|
t = this, |
|
n = t.getBody(), |
|
r = t.dom; |
|
if (t.delegates) { |
|
for (e in t.delegates) t.dom.unbind(Ep(t, e), e, t.delegates[e]); |
|
delete t.delegates; |
|
} |
|
!t.inline && |
|
n && |
|
r && |
|
((n.onload = null), r.unbind(t.getWin()), r.unbind(t.getDoc())), |
|
r && (r.unbind(n), r.unbind(t.getContainer())); |
|
}, |
|
}, |
|
Ap = (Tp = Jt.extend({}, fp, Tp)), |
|
Rp = kr("sections", "settings"), |
|
_p = rr.detect().deviceType.isTouch(), |
|
Dp = ["lists", "autolink", "autosave"], |
|
Bp = { theme: "mobile" }, |
|
Op = function (e) { |
|
var t = D(e) ? e.join(" ") : e, |
|
n = W(R(t) ? t.split(" ") : [], Yn); |
|
return V(n, function (e) { |
|
return 0 < e.length; |
|
}); |
|
}, |
|
Pp = function (n, e) { |
|
var r, |
|
o, |
|
i, |
|
t = |
|
((r = function (e, t) { |
|
return F(n, t); |
|
}), |
|
(o = {}), |
|
(i = {}), |
|
pr(e, function (e, t) { |
|
(r(e, t) ? o : i)[t] = e; |
|
}), |
|
{ t: o, f: i }); |
|
return Rp(t.t, t.f); |
|
}, |
|
Ip = function (e, t) { |
|
return e.sections().hasOwnProperty(t); |
|
}, |
|
Lp = function (e, t, n, r) { |
|
var o, |
|
i = Op(n.forced_plugins), |
|
a = Op(r.plugins), |
|
u = e && Ip(t, "mobile") ? V(a, d(F, Dp)) : a, |
|
s = ((o = u), [].concat(Op(i)).concat(Op(o))); |
|
return Jt.extend(r, { plugins: s.join(" ") }); |
|
}, |
|
Mp = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g = Pp(["mobile"], r), |
|
p = Jt.extend( |
|
t, |
|
n, |
|
g.settings(), |
|
((f = e), |
|
(m = (d = g).settings().inline), |
|
f && Ip(d, "mobile") && !m |
|
? ((u = "mobile"), |
|
(s = Bp), |
|
(c = g.sections()), |
|
(l = c.hasOwnProperty(u) ? c[u] : {}), |
|
Jt.extend({}, s, l)) |
|
: {}), |
|
{ |
|
validate: !0, |
|
content_editable: g.settings().inline, |
|
external_plugins: |
|
((o = n), |
|
(i = g.settings()), |
|
(a = i.external_plugins ? i.external_plugins : {}), |
|
o && o.external_plugins |
|
? Jt.extend({}, o.external_plugins, a) |
|
: a), |
|
} |
|
); |
|
return Lp(e, g, n, p); |
|
}, |
|
Fp = function (e, t, n) { |
|
return A.from(t.settings[n]).filter(e); |
|
}, |
|
zp = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u = t in e.settings ? e.settings[t] : n; |
|
return "hash" === r |
|
? ((a = {}), |
|
"string" == typeof (i = u) |
|
? U( |
|
0 < i.indexOf("=") |
|
? i.split(/[;,](?![^=;,]*(?:[;,]|$))/) |
|
: i.split(","), |
|
function (e) { |
|
var t = e.split("="); |
|
1 < t.length |
|
? (a[Jt.trim(t[0])] = Jt.trim(t[1])) |
|
: (a[Jt.trim(t[0])] = Jt.trim(t)); |
|
} |
|
) |
|
: (a = i), |
|
a) |
|
: "string" === r |
|
? Fp(R, e, t).getOr(n) |
|
: "number" === r |
|
? Fp(I, e, t).getOr(n) |
|
: "boolean" === r |
|
? Fp(O, e, t).getOr(n) |
|
: "object" === r |
|
? Fp(_, e, t).getOr(n) |
|
: "array" === r |
|
? Fp(D, e, t).getOr(n) |
|
: "string[]" === r |
|
? Fp( |
|
((o = R), |
|
function (e) { |
|
return D(e) && ee(e, o); |
|
}), |
|
e, |
|
t |
|
).getOr(n) |
|
: "function" === r |
|
? Fp(P, e, t).getOr(n) |
|
: u; |
|
}, |
|
Up = Jt.each, |
|
Vp = Jt.explode, |
|
Hp = { |
|
f1: 112, |
|
f2: 113, |
|
f3: 114, |
|
f4: 115, |
|
f5: 116, |
|
f6: 117, |
|
f7: 118, |
|
f8: 119, |
|
f9: 120, |
|
f10: 121, |
|
f11: 122, |
|
f12: 123, |
|
}, |
|
jp = Jt.makeMap("alt,ctrl,shift,meta,access"); |
|
function qp(i) { |
|
var a = {}, |
|
r = [], |
|
u = function (e) { |
|
var t, |
|
n, |
|
r = {}; |
|
for (n in (Up(Vp(e, "+"), function (e) { |
|
e in jp |
|
? (r[e] = !0) |
|
: /^[0-9]{2,}$/.test(e) |
|
? (r.keyCode = parseInt(e, 10)) |
|
: ((r.charCode = e.charCodeAt(0)), |
|
(r.keyCode = Hp[e] || e.toUpperCase().charCodeAt(0))); |
|
}), |
|
(t = [r.keyCode]), |
|
jp)) |
|
r[n] ? t.push(n) : (r[n] = !1); |
|
return ( |
|
(r.id = t.join(",")), |
|
r.access && ((r.alt = !0), ge.mac ? (r.ctrl = !0) : (r.shift = !0)), |
|
r.meta && (ge.mac ? (r.meta = !0) : ((r.ctrl = !0), (r.meta = !1))), |
|
r |
|
); |
|
}, |
|
s = function (e, t, n, r) { |
|
var o; |
|
return ( |
|
((o = Jt.map(Vp(e, ">"), u))[o.length - 1] = Jt.extend( |
|
o[o.length - 1], |
|
{ func: n, scope: r || i } |
|
)), |
|
Jt.extend(o[0], { desc: i.translate(t), subpatterns: o.slice(1) }) |
|
); |
|
}, |
|
o = function (e, t) { |
|
return ( |
|
!!t && |
|
t.ctrl === e.ctrlKey && |
|
t.meta === e.metaKey && |
|
t.alt === e.altKey && |
|
t.shift === e.shiftKey && |
|
!!( |
|
e.keyCode === t.keyCode || |
|
(e.charCode && e.charCode === t.charCode) |
|
) && |
|
(e.preventDefault(), !0) |
|
); |
|
}, |
|
c = function (e) { |
|
return e.func ? e.func.call(e.scope) : null; |
|
}; |
|
i.on("keyup keypress keydown", function (t) { |
|
var e, n; |
|
((n = t).altKey || |
|
n.ctrlKey || |
|
n.metaKey || |
|
("keydown" === (e = t).type && 112 <= e.keyCode && e.keyCode <= 123)) && |
|
!t.isDefaultPrevented() && |
|
(Up(a, function (e) { |
|
if (o(t, e)) |
|
return ( |
|
(r = e.subpatterns.slice(0)), "keydown" === t.type && c(e), !0 |
|
); |
|
}), |
|
o(t, r[0]) && |
|
(1 === r.length && "keydown" === t.type && c(r[0]), r.shift())); |
|
}), |
|
(this.add = function (e, n, r, o) { |
|
var t; |
|
return ( |
|
"string" == typeof (t = r) |
|
? (r = function () { |
|
i.execCommand(t, !1, null); |
|
}) |
|
: Jt.isArray(t) && |
|
(r = function () { |
|
i.execCommand(t[0], t[1], t[2]); |
|
}), |
|
Up(Vp(Jt.trim(e.toLowerCase())), function (e) { |
|
var t = s(e, n, r, o); |
|
a[t.id] = t; |
|
}), |
|
!0 |
|
); |
|
}), |
|
(this.remove = function (e) { |
|
var t = s(e); |
|
return !!a[t.id] && (delete a[t.id], !0); |
|
}); |
|
} |
|
var $p = function (e) { |
|
var t = Mr(e).dom(); |
|
return e.dom() === t.activeElement; |
|
}, |
|
Wp = function (t) { |
|
return ((e = Mr(t)), |
|
(n = e !== undefined ? e.dom() : H.document), |
|
A.from(n.activeElement).map(ir.fromDom)).filter(function (e) { |
|
return t.dom().contains(e.dom()); |
|
}); |
|
var e, n; |
|
}, |
|
Kp = function (t, e) { |
|
return ((n = e), |
|
n.collapsed |
|
? A.from(Wa(n.startContainer, n.startOffset)).map(ir.fromDom) |
|
: A.none()).bind(function (e) { |
|
return Co(e) ? A.some(e) : !1 === Lr(t, e) ? A.some(t) : A.none(); |
|
}); |
|
var n; |
|
}, |
|
Xp = function (t, e) { |
|
Kp(ir.fromDom(t.getBody()), e) |
|
.bind(function (e) { |
|
return nc.firstPositionIn(e.dom()); |
|
}) |
|
.fold( |
|
function () { |
|
t.selection.normalize(); |
|
}, |
|
function (e) { |
|
return t.selection.setRng(e.toRange()); |
|
} |
|
); |
|
}, |
|
Yp = function (e) { |
|
if (e.setActive) |
|
try { |
|
e.setActive(); |
|
} catch (t) { |
|
e.focus(); |
|
} |
|
else e.focus(); |
|
}, |
|
Gp = function (e) { |
|
var t, |
|
n = e.getBody(); |
|
return n && ((t = ir.fromDom(n)), $p(t) || Wp(t).isSome()); |
|
}, |
|
Jp = function (e) { |
|
return e.inline |
|
? Gp(e) |
|
: (t = e).iframeElement && $p(ir.fromDom(t.iframeElement)); |
|
var t; |
|
}, |
|
Qp = function (e) { |
|
return e.editorManager.setActive(e); |
|
}, |
|
Zp = function (e, t) { |
|
e.removed || |
|
(t |
|
? Qp(e) |
|
: (function (t) { |
|
var e = t.selection, |
|
n = t.settings.content_editable, |
|
r = t.getBody(), |
|
o = e.getRng(); |
|
t.quirks.refreshContentEditable(); |
|
var i, |
|
a, |
|
u = |
|
((i = t), |
|
(a = e.getNode()), |
|
i.dom.getParent(a, function (e) { |
|
return "true" === i.dom.getContentEditable(e); |
|
})); |
|
if (t.$.contains(r, u)) return Yp(u), Xp(t, o), Qp(t); |
|
t.bookmark !== undefined && |
|
!1 === Jp(t) && |
|
Qg(t).each(function (e) { |
|
t.selection.setRng(e), (o = e); |
|
}), |
|
n || (ge.opera || Yp(r), t.getWin().focus()), |
|
(ge.gecko || n) && (Yp(r), Xp(t, o)), |
|
Qp(t); |
|
})(e)); |
|
}, |
|
eh = Jp, |
|
th = function (e, t) { |
|
return t.dom()[e]; |
|
}, |
|
nh = function (e, t) { |
|
return parseInt(Er(t, e), 10); |
|
}, |
|
rh = d(th, "clientWidth"), |
|
oh = d(th, "clientHeight"), |
|
ih = d(nh, "margin-top"), |
|
ah = d(nh, "margin-left"), |
|
uh = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g = ir.fromDom(e.getBody()), |
|
p = e.inline |
|
? g |
|
: ((r = g), ir.fromDom(r.dom().ownerDocument.documentElement)), |
|
h = |
|
((o = e.inline), |
|
(a = t), |
|
(u = n), |
|
(s = (i = p).dom().getBoundingClientRect()), |
|
{ |
|
x: a - (o ? s.left + i.dom().clientLeft + ah(i) : 0), |
|
y: u - (o ? s.top + i.dom().clientTop + ih(i) : 0), |
|
}); |
|
return ( |
|
(l = h.x), |
|
(f = h.y), |
|
(d = rh((c = p))), |
|
(m = oh(c)), |
|
0 <= l && 0 <= f && l <= d && f <= m |
|
); |
|
}, |
|
sh = function (e) { |
|
var t, |
|
n = e.inline ? e.getBody() : e.getContentAreaContainer(); |
|
return ((t = n), A.from(t).map(ir.fromDom)) |
|
.map(function (e) { |
|
return Lr(Mr(e), e); |
|
}) |
|
.getOr(!1); |
|
}; |
|
function ch(n) { |
|
var t, |
|
o = [], |
|
i = function () { |
|
var e, |
|
t = n.theme; |
|
return t && t.getNotificationManagerImpl |
|
? t.getNotificationManagerImpl() |
|
: { |
|
open: (e = function () { |
|
throw new Error( |
|
"Theme did not provide a NotificationManager implementation." |
|
); |
|
}), |
|
close: e, |
|
reposition: e, |
|
getArgs: e, |
|
}; |
|
}, |
|
a = function () { |
|
0 < o.length && i().reposition(o); |
|
}, |
|
u = function (t) { |
|
G(o, function (e) { |
|
return e === t; |
|
}).each(function (e) { |
|
o.splice(e, 1); |
|
}); |
|
}, |
|
r = function (r) { |
|
if (!n.removed && sh(n)) |
|
return Y(o, function (e) { |
|
return ( |
|
(t = i().getArgs(e)), |
|
(n = r), |
|
!( |
|
t.type !== n.type || |
|
t.text !== n.text || |
|
t.progressBar || |
|
t.timeout || |
|
n.progressBar || |
|
n.timeout |
|
) |
|
); |
|
var t, n; |
|
}).getOrThunk(function () { |
|
n.editorManager.setActive(n); |
|
var e, |
|
t = i().open(r, function () { |
|
u(t), a(); |
|
}); |
|
return (e = t), o.push(e), a(), t; |
|
}); |
|
}; |
|
return ( |
|
(t = n).on("SkinLoaded", function () { |
|
var e = t.settings.service_message; |
|
e && r({ text: e, type: "warning", timeout: 0, icon: "" }); |
|
}), |
|
t.on("ResizeEditor ResizeWindow", function () { |
|
ye.requestAnimationFrame(a); |
|
}), |
|
t.on("remove", function () { |
|
U(o.slice(), function (e) { |
|
i().close(e); |
|
}); |
|
}), |
|
{ |
|
open: r, |
|
close: function () { |
|
A.from(o[0]).each(function (e) { |
|
i().close(e), u(e), a(); |
|
}); |
|
}, |
|
getNotifications: function () { |
|
return o; |
|
}, |
|
} |
|
); |
|
} |
|
function lh(r) { |
|
var o = [], |
|
i = function () { |
|
var e, |
|
t = r.theme; |
|
return t && t.getWindowManagerImpl |
|
? t.getWindowManagerImpl() |
|
: { |
|
open: (e = function () { |
|
throw new Error( |
|
"Theme did not provide a WindowManager implementation." |
|
); |
|
}), |
|
alert: e, |
|
confirm: e, |
|
close: e, |
|
getParams: e, |
|
setParams: e, |
|
}; |
|
}, |
|
a = function (e, t) { |
|
return function () { |
|
return t ? t.apply(e, arguments) : undefined; |
|
}; |
|
}, |
|
u = function (e) { |
|
var t; |
|
o.push(e), (t = e), r.fire("OpenWindow", { win: t }); |
|
}, |
|
s = function (n) { |
|
G(o, function (e) { |
|
return e === n; |
|
}).each(function (e) { |
|
var t; |
|
o.splice(e, 1), |
|
(t = n), |
|
r.fire("CloseWindow", { win: t }), |
|
0 === o.length && r.focus(); |
|
}); |
|
}, |
|
e = function () { |
|
return A.from(o[o.length - 1]); |
|
}; |
|
return ( |
|
r.on("remove", function () { |
|
U(o.slice(0), function (e) { |
|
i().close(e); |
|
}); |
|
}), |
|
{ |
|
windows: o, |
|
open: function (e, t) { |
|
r.editorManager.setActive(r), Gg(r); |
|
var n = i().open(e, t, s); |
|
return u(n), n; |
|
}, |
|
alert: function (e, t, n) { |
|
var r = i().alert(e, a(n || this, t), s); |
|
u(r); |
|
}, |
|
confirm: function (e, t, n) { |
|
var r = i().confirm(e, a(n || this, t), s); |
|
u(r); |
|
}, |
|
close: function () { |
|
e().each(function (e) { |
|
i().close(e), s(e); |
|
}); |
|
}, |
|
getParams: function () { |
|
return e().map(i().getParams).getOr(null); |
|
}, |
|
setParams: function (t) { |
|
e().each(function (e) { |
|
i().setParams(e, t); |
|
}); |
|
}, |
|
getWindows: function () { |
|
return o; |
|
}, |
|
} |
|
); |
|
} |
|
var fh = {}, |
|
dh = "en", |
|
mh = { |
|
setCode: function (e) { |
|
e && |
|
((dh = e), |
|
(this.rtl = !!this.data[e] && "rtl" === this.data[e]._dir)); |
|
}, |
|
getCode: function () { |
|
return dh; |
|
}, |
|
rtl: !1, |
|
add: function (e, t) { |
|
var n = fh[e]; |
|
for (var r in (n || (fh[e] = n = {}), t)) n[r] = t[r]; |
|
this.setCode(e); |
|
}, |
|
translate: function (e) { |
|
var t = fh[dh] || {}, |
|
n = function (e) { |
|
return Jt.is(e, "function") |
|
? Object.prototype.toString.call(e) |
|
: r(e) |
|
? "" |
|
: "" + e; |
|
}, |
|
r = function (e) { |
|
return "" === e || null === e || Jt.is(e, "undefined"); |
|
}, |
|
o = function (e) { |
|
return (e = n(e)), Jt.hasOwn(t, e) ? n(t[e]) : e; |
|
}; |
|
if (r(e)) return ""; |
|
if (Jt.is(e, "object") && Jt.hasOwn(e, "raw")) return n(e.raw); |
|
if (Jt.is(e, "array")) { |
|
var i = e.slice(1); |
|
e = o(e[0]).replace(/\{([0-9]+)\}/g, function (e, t) { |
|
return Jt.hasOwn(i, t) ? n(i[t]) : e; |
|
}); |
|
} |
|
return o(e).replace(/{context:\w+}$/, ""); |
|
}, |
|
data: fh, |
|
}, |
|
gh = ki.PluginManager, |
|
ph = function (e, t) { |
|
var n = (function (e, t) { |
|
for (var n in gh.urls) |
|
if (gh.urls[n] + "/plugin" + t + ".js" === e) return n; |
|
return null; |
|
})(t, e.suffix); |
|
return n |
|
? mh.translate(["Failed to load plugin: {0} from url {1}", n, t]) |
|
: mh.translate(["Failed to load plugin url: {0}", t]); |
|
}, |
|
hh = function (e, t) { |
|
e.notificationManager.open({ type: "error", text: t }); |
|
}, |
|
vh = function (e, t) { |
|
e._skinLoaded |
|
? hh(e, t) |
|
: e.on("SkinLoaded", function () { |
|
hh(e, t); |
|
}); |
|
}, |
|
bh = function (e) { |
|
for (var t = [], n = 1; n < arguments.length; n++) |
|
t[n - 1] = arguments[n]; |
|
var r = H.window.console; |
|
r && (r.error ? r.error.apply(r, arguments) : r.log.apply(r, arguments)); |
|
}, |
|
yh = { |
|
pluginLoadError: function (e, t) { |
|
vh(e, ph(e, t)); |
|
}, |
|
pluginInitError: function (e, t, n) { |
|
var r = mh.translate(["Failed to initialize plugin: {0}", t]); |
|
bh(r, n), vh(e, r); |
|
}, |
|
uploadError: function (e, t) { |
|
vh(e, mh.translate(["Failed to upload image: {0}", t])); |
|
}, |
|
displayError: vh, |
|
initError: bh, |
|
}, |
|
Ch = ki.PluginManager, |
|
xh = ki.ThemeManager; |
|
function wh() { |
|
return new (ue.getOrDie("XMLHttpRequest"))(); |
|
} |
|
function Nh(u, s) { |
|
var r = {}, |
|
n = function (e, r, o, t) { |
|
var i, n; |
|
(i = wh()).open("POST", s.url), |
|
(i.withCredentials = s.credentials), |
|
(i.upload.onprogress = function (e) { |
|
t((e.loaded / e.total) * 100); |
|
}), |
|
(i.onerror = function () { |
|
o( |
|
"Image upload failed due to a XHR Transport error. Code: " + |
|
i.status |
|
); |
|
}), |
|
(i.onload = function () { |
|
var e, t, n; |
|
i.status < 200 || 300 <= i.status |
|
? o("HTTP Error: " + i.status) |
|
: (e = JSON.parse(i.responseText)) && |
|
"string" == typeof e.location |
|
? r( |
|
((t = s.basePath), |
|
(n = e.location), |
|
t ? t.replace(/\/$/, "") + "/" + n.replace(/^\//, "") : n) |
|
) |
|
: o("Invalid JSON: " + i.responseText); |
|
}), |
|
(n = new H.FormData()).append("file", e.blob(), e.filename()), |
|
i.send(n); |
|
}, |
|
c = function (e, t) { |
|
return { url: t, blobInfo: e, status: !0 }; |
|
}, |
|
l = function (e, t) { |
|
return { url: "", blobInfo: e, status: !1, error: t }; |
|
}, |
|
f = function (e, t) { |
|
Jt.each(r[e], function (e) { |
|
e(t); |
|
}), |
|
delete r[e]; |
|
}, |
|
o = function (e, n) { |
|
return ( |
|
(e = Jt.grep(e, function (e) { |
|
return !u.isUploaded(e.blobUri()); |
|
})), |
|
pe.all( |
|
Jt.map(e, function (e) { |
|
return u.isPending(e.blobUri()) |
|
? ((t = e.blobUri()), |
|
new pe(function (e) { |
|
(r[t] = r[t] || []), r[t].push(e); |
|
})) |
|
: ((o = e), |
|
(i = s.handler), |
|
(a = n), |
|
u.markPending(o.blobUri()), |
|
new pe(function (t) { |
|
var n; |
|
try { |
|
var r = function () { |
|
n && n.close(); |
|
}; |
|
i( |
|
o, |
|
function (e) { |
|
r(), |
|
u.markUploaded(o.blobUri(), e), |
|
f(o.blobUri(), c(o, e)), |
|
t(c(o, e)); |
|
}, |
|
function (e) { |
|
r(), |
|
u.removeFailed(o.blobUri()), |
|
f(o.blobUri(), l(o, e)), |
|
t(l(o, e)); |
|
}, |
|
function (e) { |
|
e < 0 || |
|
100 < e || |
|
(n || (n = a()), n.progressBar.value(e)); |
|
} |
|
); |
|
} catch (e) { |
|
t(l(o, e.message)); |
|
} |
|
})); |
|
var o, i, a, t; |
|
}) |
|
) |
|
); |
|
}; |
|
return ( |
|
!1 === P(s.handler) && (s.handler = n), |
|
{ |
|
upload: function (e, t) { |
|
return s.url || s.handler !== n |
|
? o(e, t) |
|
: new pe(function (e) { |
|
e([]); |
|
}); |
|
}, |
|
} |
|
); |
|
} |
|
var Eh = function (e) { |
|
return ue.getOrDie("atob")(e); |
|
}, |
|
Sh = function (e) { |
|
var t, |
|
n, |
|
r = decodeURIComponent(e).split(","); |
|
return ( |
|
(n = /data:([^;]+)/.exec(r[0])) && (t = n[1]), { type: t, data: r[1] } |
|
); |
|
}, |
|
kh = function (a) { |
|
return new pe(function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i = Sh(a); |
|
try { |
|
t = Eh(i.data); |
|
} catch (ZN) { |
|
return void e(new H.Blob([])); |
|
} |
|
for ( |
|
o = t.length, n = new (ue.getOrDie("Uint8Array"))(o), r = 0; |
|
r < n.length; |
|
r++ |
|
) |
|
n[r] = t.charCodeAt(r); |
|
e(new H.Blob([n], { type: i.type })); |
|
}); |
|
}, |
|
Th = function (e) { |
|
return 0 === e.indexOf("blob:") |
|
? ((i = e), |
|
new pe(function (e, t) { |
|
var n = function () { |
|
t( |
|
"Cannot convert " + |
|
i + |
|
" to Blob. Resource might not exist or is inaccessible." |
|
); |
|
}; |
|
try { |
|
var r = wh(); |
|
r.open("GET", i, !0), |
|
(r.responseType = "blob"), |
|
(r.onload = function () { |
|
200 === this.status ? e(this.response) : n(); |
|
}), |
|
(r.onerror = n), |
|
r.send(); |
|
} catch (o) { |
|
n(); |
|
} |
|
})) |
|
: 0 === e.indexOf("data:") |
|
? kh(e) |
|
: null; |
|
var i; |
|
}, |
|
Ah = function (n) { |
|
return new pe(function (e) { |
|
var t = new (ue.getOrDie("FileReader"))(); |
|
(t.onloadend = function () { |
|
e(t.result); |
|
}), |
|
t.readAsDataURL(n); |
|
}); |
|
}, |
|
Rh = Sh, |
|
_h = 0, |
|
Dh = function (e) { |
|
return (e || "blobid") + _h++; |
|
}, |
|
Bh = function (n, r, o, t) { |
|
var i, a; |
|
0 !== r.src.indexOf("blob:") |
|
? ((i = Rh(r.src).data), |
|
(a = n.findFirst(function (e) { |
|
return e.base64() === i; |
|
})) |
|
? o({ image: r, blobInfo: a }) |
|
: Th(r.src).then( |
|
function (e) { |
|
(a = n.create(Dh(), e, i)), |
|
n.add(a), |
|
o({ image: r, blobInfo: a }); |
|
}, |
|
function (e) { |
|
t(e); |
|
} |
|
)) |
|
: (a = n.getByUri(r.src)) |
|
? o({ image: r, blobInfo: a }) |
|
: Th(r.src).then( |
|
function (t) { |
|
Ah(t).then(function (e) { |
|
(i = Rh(e).data), |
|
(a = n.create(Dh(), t, i)), |
|
n.add(a), |
|
o({ image: r, blobInfo: a }); |
|
}); |
|
}, |
|
function (e) { |
|
t(e); |
|
} |
|
); |
|
}, |
|
Oh = function (e) { |
|
return e ? oe(e.getElementsByTagName("img")) : []; |
|
}, |
|
Ph = 0, |
|
Ih = { |
|
uuid: function (e) { |
|
return ( |
|
e + |
|
Ph++ + |
|
((t = function () { |
|
return Math.round(4294967295 * Math.random()).toString(36); |
|
}), |
|
"s" + new Date().getTime().toString(36) + t() + t() + t()) |
|
); |
|
var t; |
|
}, |
|
}; |
|
function Lh(u) { |
|
var n, |
|
o, |
|
t, |
|
e, |
|
i, |
|
r, |
|
a, |
|
s, |
|
c, |
|
l = |
|
((n = []), |
|
(o = function (e) { |
|
var t, n, r; |
|
if (!e.blob || !e.base64) |
|
throw new Error( |
|
"blob and base64 representations of the image are required for BlobInfo to be created" |
|
); |
|
return ( |
|
(t = e.id || Ih.uuid("blobid")), |
|
(n = e.name || t), |
|
{ |
|
id: q(t), |
|
name: q(n), |
|
filename: q( |
|
n + |
|
"." + |
|
((r = e.blob.type), |
|
{ |
|
"image/jpeg": "jpg", |
|
"image/jpg": "jpg", |
|
"image/gif": "gif", |
|
"image/png": "png", |
|
}[r.toLowerCase()] || "dat") |
|
), |
|
blob: q(e.blob), |
|
base64: q(e.base64), |
|
blobUri: q(e.blobUri || ce.createObjectURL(e.blob)), |
|
uri: q(e.uri), |
|
} |
|
); |
|
}), |
|
{ |
|
create: function (e, t, n, r) { |
|
if (R(e)) return o({ id: e, name: r, blob: t, base64: n }); |
|
if (_(e)) return o(e); |
|
throw new Error("Unknown input type"); |
|
}, |
|
add: function (e) { |
|
t(e.id()) || n.push(e); |
|
}, |
|
get: (t = function (t) { |
|
return e(function (e) { |
|
return e.id() === t; |
|
}); |
|
}), |
|
getByUri: function (t) { |
|
return e(function (e) { |
|
return e.blobUri() === t; |
|
}); |
|
}, |
|
findFirst: (e = function (e) { |
|
return V(n, e)[0]; |
|
}), |
|
removeByUri: function (t) { |
|
n = V(n, function (e) { |
|
return e.blobUri() !== t || (ce.revokeObjectURL(e.blobUri()), !1); |
|
}); |
|
}, |
|
destroy: function () { |
|
U(n, function (e) { |
|
ce.revokeObjectURL(e.blobUri()); |
|
}), |
|
(n = []); |
|
}, |
|
}), |
|
f = |
|
((a = {}), |
|
(s = function (e, t) { |
|
return { status: e, resultUri: t }; |
|
}), |
|
{ |
|
hasBlobUri: (c = function (e) { |
|
return e in a; |
|
}), |
|
getResultUri: function (e) { |
|
var t = a[e]; |
|
return t ? t.resultUri : null; |
|
}, |
|
isPending: function (e) { |
|
return !!c(e) && 1 === a[e].status; |
|
}, |
|
isUploaded: function (e) { |
|
return !!c(e) && 2 === a[e].status; |
|
}, |
|
markPending: function (e) { |
|
a[e] = s(1, null); |
|
}, |
|
markUploaded: function (e, t) { |
|
a[e] = s(2, t); |
|
}, |
|
removeFailed: function (e) { |
|
delete a[e]; |
|
}, |
|
destroy: function () { |
|
a = {}; |
|
}, |
|
}), |
|
d = [], |
|
m = function (t) { |
|
return function (e) { |
|
return u.selection ? t(e) : []; |
|
}; |
|
}, |
|
g = function (e, t, n) { |
|
for ( |
|
var r = 0; |
|
-1 !== (r = e.indexOf(t, r)) && |
|
((e = e.substring(0, r) + n + e.substr(r + t.length)), |
|
(r += n.length - t.length + 1)), |
|
-1 !== r; |
|
|
|
); |
|
return e; |
|
}, |
|
p = function (e, t, n) { |
|
return ( |
|
(e = g(e, 'src="' + t + '"', 'src="' + n + '"')), |
|
(e = g(e, 'data-mce-src="' + t + '"', 'data-mce-src="' + n + '"')) |
|
); |
|
}, |
|
h = function (t, n) { |
|
U(u.undoManager.data, function (e) { |
|
"fragmented" === e.type |
|
? (e.fragments = W(e.fragments, function (e) { |
|
return p(e, t, n); |
|
})) |
|
: (e.content = p(e.content, t, n)); |
|
}); |
|
}, |
|
v = function () { |
|
return u.notificationManager.open({ |
|
text: u.translate("Image uploading..."), |
|
type: "info", |
|
timeout: -1, |
|
progressBar: !0, |
|
}); |
|
}, |
|
b = function (e, t) { |
|
l.removeByUri(e.src), |
|
h(e.src, t), |
|
u |
|
.$(e) |
|
.attr({ |
|
src: Tl(u) ? t + "?" + new Date().getTime() : t, |
|
"data-mce-src": u.convertURL(t, "src"), |
|
}); |
|
}, |
|
y = function (n) { |
|
return ( |
|
i || |
|
(i = Nh(f, { |
|
url: Rl(u), |
|
basePath: _l(u), |
|
credentials: Dl(u), |
|
handler: Bl(u), |
|
})), |
|
w().then( |
|
m(function (r) { |
|
var e; |
|
return ( |
|
(e = W(r, function (e) { |
|
return e.blobInfo; |
|
})), |
|
i.upload(e, v).then( |
|
m(function (e) { |
|
var t = W(e, function (e, t) { |
|
var n = r[t].image; |
|
return ( |
|
e.status && Al(u) |
|
? b(n, e.url) |
|
: e.error && yh.uploadError(u, e.error), |
|
{ element: n, status: e.status } |
|
); |
|
}); |
|
return n && n(t), t; |
|
}) |
|
) |
|
); |
|
}) |
|
) |
|
); |
|
}, |
|
C = function (e) { |
|
if (kl(u)) return y(e); |
|
}, |
|
x = function (t) { |
|
return ( |
|
!1 !== |
|
ee(d, function (e) { |
|
return e(t); |
|
}) && |
|
(0 !== t.getAttribute("src").indexOf("data:") || Sl(u)(t)) |
|
); |
|
}, |
|
w = function () { |
|
var o, i, a; |
|
return ( |
|
r || |
|
((o = f), |
|
(i = l), |
|
(a = {}), |
|
(r = { |
|
findAll: function (e, n) { |
|
var t; |
|
n || (n = q(!0)), |
|
(t = V(Oh(e), function (e) { |
|
var t = e.src; |
|
return ( |
|
!!ge.fileApi && |
|
!e.hasAttribute("data-mce-bogus") && |
|
!e.hasAttribute("data-mce-placeholder") && |
|
!(!t || t === ge.transparentSrc) && |
|
(0 === t.indexOf("blob:") |
|
? !o.isUploaded(t) && n(e) |
|
: 0 === t.indexOf("data:") && n(e)) |
|
); |
|
})); |
|
var r = W(t, function (n) { |
|
if (a[n.src]) |
|
return new pe(function (t) { |
|
a[n.src].then(function (e) { |
|
if ("string" == typeof e) return e; |
|
t({ image: n, blobInfo: e.blobInfo }); |
|
}); |
|
}); |
|
var e = new pe(function (e, t) { |
|
Bh(i, n, e, t); |
|
}) |
|
.then(function (e) { |
|
return delete a[e.image.src], e; |
|
}) |
|
["catch"](function (e) { |
|
return delete a[n.src], e; |
|
}); |
|
return (a[n.src] = e); |
|
}); |
|
return pe.all(r); |
|
}, |
|
})), |
|
r.findAll(u.getBody(), x).then( |
|
m(function (e) { |
|
return ( |
|
(e = V(e, function (e) { |
|
return "string" != typeof e || (yh.displayError(u, e), !1); |
|
})), |
|
U(e, function (e) { |
|
h(e.image.src, e.blobInfo.blobUri()), |
|
(e.image.src = e.blobInfo.blobUri()), |
|
e.image.removeAttribute("data-mce-src"); |
|
}), |
|
e |
|
); |
|
}) |
|
) |
|
); |
|
}, |
|
N = function (e) { |
|
return e.replace(/src="(blob:[^"]+)"/g, function (e, n) { |
|
var t = f.getResultUri(n); |
|
if (t) return 'src="' + t + '"'; |
|
var r = l.getByUri(n); |
|
return ( |
|
r || |
|
(r = X( |
|
u.editorManager.get(), |
|
function (e, t) { |
|
return ( |
|
e || |
|
(t.editorUpload && t.editorUpload.blobCache.getByUri(n)) |
|
); |
|
}, |
|
null |
|
)), |
|
r ? 'src="data:' + r.blob().type + ";base64," + r.base64() + '"' : e |
|
); |
|
}); |
|
}; |
|
return ( |
|
u.on("setContent", function () { |
|
kl(u) ? C() : w(); |
|
}), |
|
u.on("RawSaveContent", function (e) { |
|
e.content = N(e.content); |
|
}), |
|
u.on("getContent", function (e) { |
|
e.source_view || "raw" === e.format || (e.content = N(e.content)); |
|
}), |
|
u.on("PostRender", function () { |
|
u.parser.addNodeFilter("img", function (e) { |
|
U(e, function (e) { |
|
var t = e.attr("src"); |
|
if (!l.getByUri(t)) { |
|
var n = f.getResultUri(t); |
|
n && e.attr("src", n); |
|
} |
|
}); |
|
}); |
|
}), |
|
{ |
|
blobCache: l, |
|
addFilter: function (e) { |
|
d.push(e); |
|
}, |
|
uploadImages: y, |
|
uploadImagesAuto: C, |
|
scanForImages: w, |
|
destroy: function () { |
|
l.destroy(), f.destroy(), (r = i = null); |
|
}, |
|
} |
|
); |
|
} |
|
var Mh = function (e, t) { |
|
return e.hasOwnProperty(t.nodeName); |
|
}, |
|
Fh = function (e, t) { |
|
if (Po.isText(t)) { |
|
if (0 === t.nodeValue.length) return !0; |
|
if ( |
|
/^\s+$/.test(t.nodeValue) && |
|
(!t.nextSibling || Mh(e, t.nextSibling)) |
|
) |
|
return !0; |
|
} |
|
return !1; |
|
}, |
|
zh = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = e.settings, |
|
m = e.dom, |
|
g = e.selection, |
|
p = e.schema, |
|
h = p.getBlockElements(), |
|
v = g.getStart(), |
|
b = e.getBody(); |
|
if ( |
|
((f = d.forced_root_block), |
|
v && |
|
Po.isElement(v) && |
|
f && |
|
((l = b.nodeName.toLowerCase()), |
|
p.isValidChild(l, f.toLowerCase()) && |
|
((y = h), |
|
(C = b), |
|
(x = v), |
|
!z(Zl(ir.fromDom(x), ir.fromDom(C)), function (e) { |
|
return Mh(y, e.dom()); |
|
})))) |
|
) { |
|
var y, C, x, w, N; |
|
for ( |
|
n = (t = g.getRng()).startContainer, |
|
r = t.startOffset, |
|
o = t.endContainer, |
|
i = t.endOffset, |
|
c = eh(e), |
|
v = b.firstChild; |
|
v; |
|
|
|
) |
|
if ( |
|
((w = h), |
|
(N = v), |
|
Po.isText(N) || (Po.isElement(N) && !Mh(w, N) && !dc(N))) |
|
) { |
|
if (Fh(h, v)) { |
|
(v = (u = v).nextSibling), m.remove(u); |
|
continue; |
|
} |
|
a || |
|
((a = m.create(f, e.settings.forced_root_block_attrs)), |
|
v.parentNode.insertBefore(a, v), |
|
(s = !0)), |
|
(v = (u = v).nextSibling), |
|
a.appendChild(u); |
|
} else (a = null), (v = v.nextSibling); |
|
s && |
|
c && |
|
(t.setStart(n, r), t.setEnd(o, i), g.setRng(t), e.nodeChanged()); |
|
} |
|
}, |
|
Uh = function (e) { |
|
e.settings.forced_root_block && e.on("NodeChange", d(zh, e)); |
|
}, |
|
Vh = function (t) { |
|
return Wr(t).fold(q([t]), function (e) { |
|
return [t].concat(Vh(e)); |
|
}); |
|
}, |
|
Hh = function (t) { |
|
return Kr(t).fold(q([t]), function (e) { |
|
return "br" === cr(e) |
|
? Ur(e) |
|
.map(function (e) { |
|
return [t].concat(Hh(e)); |
|
}) |
|
.getOr([]) |
|
: [t].concat(Hh(e)); |
|
}); |
|
}, |
|
jh = function (o, e) { |
|
return Ya( |
|
[ |
|
((i = e), |
|
(a = i.startContainer), |
|
(u = i.startOffset), |
|
Po.isText(a) |
|
? 0 === u |
|
? A.some(ir.fromDom(a)) |
|
: A.none() |
|
: A.from(a.childNodes[u]).map(ir.fromDom)), |
|
((t = e), |
|
(n = t.endContainer), |
|
(r = t.endOffset), |
|
Po.isText(n) |
|
? r === n.data.length |
|
? A.some(ir.fromDom(n)) |
|
: A.none() |
|
: A.from(n.childNodes[r - 1]).map(ir.fromDom)), |
|
], |
|
function (e, t) { |
|
var n = Y(Vh(o), d(Ir, e)), |
|
r = Y(Hh(o), d(Ir, t)); |
|
return n.isSome() && r.isSome(); |
|
} |
|
).getOr(!1); |
|
var t, n, r, i, a, u; |
|
}, |
|
qh = function (e, t, n, r) { |
|
var o = n, |
|
i = new ao(n, o), |
|
a = e.schema.getNonEmptyElements(); |
|
do { |
|
if (3 === n.nodeType && 0 !== Jt.trim(n.nodeValue).length) |
|
return void (r ? t.setStart(n, 0) : t.setEnd(n, n.nodeValue.length)); |
|
if (a[n.nodeName] && !/^(TD|TH)$/.test(n.nodeName)) |
|
return void (r |
|
? t.setStartBefore(n) |
|
: "BR" === n.nodeName |
|
? t.setEndBefore(n) |
|
: t.setEndAfter(n)); |
|
if (ge.ie && ge.ie < 11 && e.isBlock(n) && e.isEmpty(n)) |
|
return void (r ? t.setStart(n, 0) : t.setEnd(n, 0)); |
|
} while ((n = r ? i.next() : i.prev())); |
|
"BODY" === o.nodeName && |
|
(r ? t.setStart(o, 0) : t.setEnd(o, o.childNodes.length)); |
|
}, |
|
$h = function (e) { |
|
var t = e.selection.getSel(); |
|
return t && 0 < t.rangeCount; |
|
}; |
|
function Wh(i) { |
|
var r, |
|
o = []; |
|
"onselectionchange" in i.getDoc() || |
|
i.on("NodeChange Click MouseUp KeyUp Focus", function (e) { |
|
var t, n; |
|
(n = { |
|
startContainer: (t = i.selection.getRng()).startContainer, |
|
startOffset: t.startOffset, |
|
endContainer: t.endContainer, |
|
endOffset: t.endOffset, |
|
}), |
|
("nodechange" !== e.type && pg(n, r)) || i.fire("SelectionChange"), |
|
(r = n); |
|
}), |
|
i.on("contextmenu", function () { |
|
i.fire("SelectionChange"); |
|
}), |
|
i.on("SelectionChange", function () { |
|
var e = i.selection.getStart(!0); |
|
!e || |
|
(!ge.range && i.selection.isCollapsed()) || |
|
($h(i) && |
|
!(function (e) { |
|
var t, n; |
|
if ( |
|
(n = i.$(e).parentsUntil(i.getBody()).add(e)).length === |
|
o.length |
|
) { |
|
for (t = n.length; 0 <= t && n[t] === o[t]; t--); |
|
if (-1 === t) return (o = n), !0; |
|
} |
|
return (o = n), !1; |
|
})(e) && |
|
i.dom.isChildOf(e, i.getBody()) && |
|
i.nodeChanged({ selectionChange: !0 })); |
|
}), |
|
i.on("MouseUp", function (e) { |
|
!e.isDefaultPrevented() && |
|
$h(i) && |
|
("IMG" === i.selection.getNode().nodeName |
|
? ye.setEditorTimeout(i, function () { |
|
i.nodeChanged(); |
|
}) |
|
: i.nodeChanged()); |
|
}), |
|
(this.nodeChanged = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o = i.selection; |
|
i.initialized && |
|
o && |
|
!i.settings.disable_nodechange && |
|
!i.readonly && |
|
((r = i.getBody()), |
|
((t = o.getStart(!0) || r).ownerDocument === i.getDoc() && |
|
i.dom.isChildOf(t, r)) || |
|
(t = r), |
|
(n = []), |
|
i.dom.getParent(t, function (e) { |
|
if (e === r) return !0; |
|
n.push(e); |
|
}), |
|
((e = e || {}).element = t), |
|
(e.parents = n), |
|
i.fire("NodeChange", e)); |
|
}); |
|
} |
|
var Kh, |
|
Xh, |
|
Yh = function (e) { |
|
var t, n, r, o; |
|
return ( |
|
(o = e.getBoundingClientRect()), |
|
(n = (t = e.ownerDocument).documentElement), |
|
(r = t.defaultView), |
|
{ |
|
top: o.top + r.pageYOffset - n.clientTop, |
|
left: o.left + r.pageXOffset - n.clientLeft, |
|
} |
|
); |
|
}, |
|
Gh = function (e, t) { |
|
return ( |
|
(n = (u = e).inline ? Yh(u.getBody()) : { left: 0, top: 0 }), |
|
(a = (i = e).getBody()), |
|
(r = i.inline |
|
? { left: a.scrollLeft, top: a.scrollTop } |
|
: { left: 0, top: 0 }), |
|
{ |
|
pageX: |
|
(o = (function (e, t) { |
|
if (t.target.ownerDocument !== e.getDoc()) { |
|
var n = Yh(e.getContentAreaContainer()), |
|
r = |
|
((i = (o = e).getBody()), |
|
(a = o.getDoc().documentElement), |
|
(u = { left: i.scrollLeft, top: i.scrollTop }), |
|
(s = { |
|
left: i.scrollLeft || a.scrollLeft, |
|
top: i.scrollTop || a.scrollTop, |
|
}), |
|
o.inline ? u : s); |
|
return { |
|
left: t.pageX - n.left + r.left, |
|
top: t.pageY - n.top + r.top, |
|
}; |
|
} |
|
var o, i, a, u, s; |
|
return { left: t.pageX, top: t.pageY }; |
|
})(e, t)).left - |
|
n.left + |
|
r.left, |
|
pageY: o.top - n.top + r.top, |
|
} |
|
); |
|
var n, r, o, i, a, u; |
|
}, |
|
Jh = Po.isContentEditableFalse, |
|
Qh = Po.isContentEditableTrue, |
|
Zh = function (e) { |
|
e && e.parentNode && e.parentNode.removeChild(e); |
|
}, |
|
ev = function (u, s) { |
|
return function (e) { |
|
if (0 === e.button) { |
|
var t = Y(s.dom.getParents(e.target), Qa(Jh, Qh)).getOr(null); |
|
if (((i = s.getBody()), Jh((a = t)) && a !== i)) { |
|
var n = s.dom.getPos(t), |
|
r = s.getBody(), |
|
o = s.getDoc().documentElement; |
|
(u.element = t), |
|
(u.screenX = e.screenX), |
|
(u.screenY = e.screenY), |
|
(u.maxX = (s.inline ? r.scrollWidth : o.offsetWidth) - 2), |
|
(u.maxY = (s.inline ? r.scrollHeight : o.offsetHeight) - 2), |
|
(u.relX = e.pageX - n.x), |
|
(u.relY = e.pageY - n.y), |
|
(u.width = t.offsetWidth), |
|
(u.height = t.offsetHeight), |
|
(u.ghost = (function (e, t, n, r) { |
|
var o = t.cloneNode(!0); |
|
e.dom.setStyles(o, { width: n, height: r }), |
|
e.dom.setAttrib(o, "data-mce-selected", null); |
|
var i = e.dom.create("div", { |
|
class: "mce-drag-container", |
|
"data-mce-bogus": "all", |
|
unselectable: "on", |
|
contenteditable: "false", |
|
}); |
|
return ( |
|
e.dom.setStyles(i, { |
|
position: "absolute", |
|
opacity: 0.5, |
|
overflow: "hidden", |
|
border: 0, |
|
padding: 0, |
|
margin: 0, |
|
width: n, |
|
height: r, |
|
}), |
|
e.dom.setStyles(o, { margin: 0, boxSizing: "border-box" }), |
|
i.appendChild(o), |
|
i |
|
); |
|
})(s, t, u.width, u.height)); |
|
} |
|
} |
|
var i, a; |
|
}; |
|
}, |
|
tv = function (l, f) { |
|
return function (e) { |
|
if ( |
|
l.dragging && |
|
((s = (i = f).selection), |
|
(c = s.getSel().getRangeAt(0).startContainer), |
|
(a = 3 === c.nodeType ? c.parentNode : c), |
|
(u = l.element), |
|
a !== u && !i.dom.isChildOf(a, u) && !Jh(a)) |
|
) { |
|
var t = |
|
((r = l.element), |
|
(o = r.cloneNode(!0)).removeAttribute("data-mce-selected"), |
|
o), |
|
n = f.fire("drop", { |
|
targetClone: t, |
|
clientX: e.clientX, |
|
clientY: e.clientY, |
|
}); |
|
n.isDefaultPrevented() || |
|
((t = n.targetClone), |
|
f.undoManager.transact(function () { |
|
Zh(l.element), |
|
f.insertContent(f.dom.getOuterHTML(t)), |
|
f._selectionOverrides.hideFakeCaret(); |
|
})); |
|
} |
|
var r, o, i, a, u, s, c; |
|
nv(l); |
|
}; |
|
}, |
|
nv = function (e) { |
|
(e.dragging = !1), (e.element = null), Zh(e.ghost); |
|
}, |
|
rv = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
p, |
|
h, |
|
v, |
|
u, |
|
s, |
|
c = {}; |
|
(t = bi.DOM), |
|
(a = H.document), |
|
(n = ev(c, e)), |
|
(p = c), |
|
(h = e), |
|
(v = ye.throttle(function (e, t) { |
|
h._selectionOverrides.hideFakeCaret(), h.selection.placeCaretAt(e, t); |
|
}, 0)), |
|
(r = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m = Math.max( |
|
Math.abs(e.screenX - p.screenX), |
|
Math.abs(e.screenY - p.screenY) |
|
); |
|
if (p.element && !p.dragging && 10 < m) { |
|
if (h.fire("dragstart", { target: p.element }).isDefaultPrevented()) |
|
return; |
|
(p.dragging = !0), h.focus(); |
|
} |
|
if (p.dragging) { |
|
var g = |
|
((f = p), |
|
{ pageX: (d = Gh(h, e)).pageX - f.relX, pageY: d.pageY + 5 }); |
|
(c = p.ghost), |
|
(l = h.getBody()), |
|
c.parentNode !== l && l.appendChild(c), |
|
(t = p.ghost), |
|
(n = g), |
|
(r = p.width), |
|
(o = p.height), |
|
(i = p.maxX), |
|
(a = p.maxY), |
|
(s = u = 0), |
|
(t.style.left = n.pageX + "px"), |
|
(t.style.top = n.pageY + "px"), |
|
n.pageX + r > i && (u = n.pageX + r - i), |
|
n.pageY + o > a && (s = n.pageY + o - a), |
|
(t.style.width = r - u + "px"), |
|
(t.style.height = o - s + "px"), |
|
v(e.clientX, e.clientY); |
|
} |
|
}), |
|
(o = tv(c, e)), |
|
(u = c), |
|
(i = function () { |
|
u.dragging && s.fire("dragend"), nv(u); |
|
}), |
|
(s = e).on("mousedown", n), |
|
e.on("mousemove", r), |
|
e.on("mouseup", o), |
|
t.bind(a, "mousemove", r), |
|
t.bind(a, "mouseup", i), |
|
e.on("remove", function () { |
|
t.unbind(a, "mousemove", r), t.unbind(a, "mouseup", i); |
|
}); |
|
}, |
|
ov = function (e) { |
|
var n; |
|
rv(e), |
|
(n = e).on("drop", function (e) { |
|
var t = |
|
"undefined" != typeof e.clientX |
|
? n.getDoc().elementFromPoint(e.clientX, e.clientY) |
|
: null; |
|
(Jh(t) || Jh(n.dom.getContentEditableParent(t))) && |
|
e.preventDefault(); |
|
}); |
|
}, |
|
iv = function (e) { |
|
return X( |
|
e, |
|
function (e, t) { |
|
return e.concat( |
|
(function (t) { |
|
var e = function (e) { |
|
return W(e, function (e) { |
|
return ((e = za(e)).node = t), e; |
|
}); |
|
}; |
|
if (Po.isElement(t)) return e(t.getClientRects()); |
|
if (Po.isText(t)) { |
|
var n = t.ownerDocument.createRange(); |
|
return ( |
|
n.setStart(t, 0), |
|
n.setEnd(t, t.data.length), |
|
e(n.getClientRects()) |
|
); |
|
} |
|
})(t) |
|
); |
|
}, |
|
[] |
|
); |
|
}; |
|
((Xh = Kh || (Kh = {}))[(Xh.Up = -1)] = "Up"), (Xh[(Xh.Down = 1)] = "Down"); |
|
var av = function (o, i, a, e, u, t) { |
|
var n, |
|
s, |
|
c = 0, |
|
l = [], |
|
r = function (e) { |
|
var t, n, r; |
|
for ( |
|
r = iv([e]), -1 === o && (r = r.reverse()), t = 0; |
|
t < r.length; |
|
t++ |
|
) |
|
if (((n = r[t]), !a(n, s))) { |
|
if ((0 < l.length && i(n, Wt.last(l)) && c++, (n.line = c), u(n))) |
|
return !0; |
|
l.push(n); |
|
} |
|
}; |
|
return ( |
|
(s = Wt.last(t.getClientRects())) && |
|
(r((n = t.getNode())), |
|
(function (e, t, n, r) { |
|
for (; (r = hs(r, e, Ma, t)); ) if (n(r)) return; |
|
})(o, e, r, n)), |
|
l |
|
); |
|
}, |
|
uv = d(av, Kh.Up, Ha, ja), |
|
sv = d(av, Kh.Down, ja, Ha), |
|
cv = function (n) { |
|
return function (e) { |
|
return (t = n), e.line > t; |
|
var t; |
|
}; |
|
}, |
|
lv = function (n) { |
|
return function (e) { |
|
return (t = n), e.line === t; |
|
var t; |
|
}; |
|
}, |
|
fv = Po.isContentEditableFalse, |
|
dv = hs, |
|
mv = function (e, t) { |
|
return Math.abs(e.left - t); |
|
}, |
|
gv = function (e, t) { |
|
return Math.abs(e.right - t); |
|
}, |
|
pv = function (e, t) { |
|
return e >= t.left && e <= t.right; |
|
}, |
|
hv = function (e, o) { |
|
return Wt.reduce(e, function (e, t) { |
|
var n, r; |
|
return ( |
|
(n = Math.min(mv(e, o), gv(e, o))), |
|
(r = Math.min(mv(t, o), gv(t, o))), |
|
pv(o, t) |
|
? t |
|
: pv(o, e) |
|
? e |
|
: r === n && fv(t.node) |
|
? t |
|
: r < n |
|
? t |
|
: e |
|
); |
|
}); |
|
}, |
|
vv = function (e, t, n, r) { |
|
for (; (r = dv(r, e, Ma, t)); ) if (n(r)) return; |
|
}, |
|
bv = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = iv(V(oe(e.getElementsByTagName("*")), as)), |
|
f = V(l, function (e) { |
|
return n >= e.top && n <= e.bottom; |
|
}); |
|
return (r = hv(f, t)) && |
|
(r = hv( |
|
((a = e), |
|
(c = function (t, e) { |
|
var n; |
|
return ( |
|
(n = V(iv([e]), function (e) { |
|
return !t(e, u); |
|
})), |
|
(s = s.concat(n)), |
|
0 === n.length |
|
); |
|
}), |
|
(s = []).push((u = r)), |
|
vv(Kh.Up, a, d(c, Ha), u.node), |
|
vv(Kh.Down, a, d(c, ja), u.node), |
|
s), |
|
t |
|
)) && |
|
as(r.node) |
|
? ((i = t), { node: (o = r).node, before: mv(o, i) < gv(o, i) }) |
|
: null; |
|
}, |
|
yv = function (t, n, e) { |
|
if (e.collapsed) return !1; |
|
if ( |
|
ge.ie && |
|
ge.ie <= 11 && |
|
e.startOffset === e.endOffset - 1 && |
|
e.startContainer === e.endContainer |
|
) { |
|
var r = e.startContainer.childNodes[e.startOffset]; |
|
if (Po.isElement(r)) |
|
return z(r.getClientRects(), function (e) { |
|
return qa(e, t, n); |
|
}); |
|
} |
|
return z(e.getClientRects(), function (e) { |
|
return qa(e, t, n); |
|
}); |
|
}, |
|
Cv = function (t) { |
|
var e = Ii(function () { |
|
if (!t.removed && t.selection.getRng().collapsed) { |
|
var e = rg(t, t.selection.getRng(), !1); |
|
t.selection.setRng(e); |
|
} |
|
}, 0); |
|
t.on("focus", function () { |
|
e.throttle(); |
|
}), |
|
t.on("blur", function () { |
|
e.cancel(); |
|
}); |
|
}, |
|
xv = { |
|
BACKSPACE: 8, |
|
DELETE: 46, |
|
DOWN: 40, |
|
ENTER: 13, |
|
LEFT: 37, |
|
RIGHT: 39, |
|
SPACEBAR: 32, |
|
TAB: 9, |
|
UP: 38, |
|
END: 35, |
|
HOME: 36, |
|
modifierPressed: function (e) { |
|
return e.shiftKey || e.ctrlKey || e.altKey || this.metaKeyPressed(e); |
|
}, |
|
metaKeyPressed: function (e) { |
|
return ge.mac ? e.metaKey : e.ctrlKey && !e.altKey; |
|
}, |
|
}, |
|
wv = Po.isContentEditableTrue, |
|
Nv = Po.isContentEditableFalse, |
|
Ev = function (e, t) { |
|
for (var n = e.getBody(); t && t !== n; ) { |
|
if (wv(t) || Nv(t)) return t; |
|
t = t.parentNode; |
|
} |
|
return null; |
|
}, |
|
Sv = function (g) { |
|
var p, |
|
e, |
|
t, |
|
a = g.getBody(), |
|
o = os( |
|
g.getBody(), |
|
function (e) { |
|
return g.dom.isBlock(e); |
|
}, |
|
function () { |
|
return eh(g); |
|
} |
|
), |
|
h = "sel-" + g.dom.uniqueId(), |
|
u = function (e) { |
|
e && g.selection.setRng(e); |
|
}, |
|
s = function () { |
|
return g.selection.getRng(); |
|
}, |
|
v = function (e, t, n, r) { |
|
return ( |
|
void 0 === r && (r = !0), |
|
g |
|
.fire("ShowCaret", { target: t, direction: e, before: n }) |
|
.isDefaultPrevented() |
|
? null |
|
: (r && g.selection.scrollIntoView(t, -1 === e), o.show(n, t)) |
|
); |
|
}, |
|
b = function (e, t) { |
|
return ( |
|
(t = Es(e, a, t)), |
|
-1 === e ? Cu.fromRangeStart(t) : Cu.fromRangeEnd(t) |
|
); |
|
}, |
|
n = function (e) { |
|
return ya(e) || Ea(e) || Sa(e); |
|
}, |
|
y = function (e) { |
|
return n(e.startContainer) || n(e.endContainer); |
|
}, |
|
c = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = g.$, |
|
m = g.dom; |
|
if (!e) return null; |
|
if (e.collapsed) { |
|
if (!y(e)) |
|
if (!1 === t) { |
|
if (((c = b(-1, e)), as(c.getNode(!0)))) |
|
return v(-1, c.getNode(!0), !1, !1); |
|
if (as(c.getNode())) |
|
return v(-1, c.getNode(), !c.isAtEnd(), !1); |
|
} else { |
|
if (((c = b(1, e)), as(c.getNode()))) |
|
return v(1, c.getNode(), !c.isAtEnd(), !1); |
|
if (as(c.getNode(!0))) return v(1, c.getNode(!0), !1, !1); |
|
} |
|
return null; |
|
} |
|
return ( |
|
(i = e.startContainer), |
|
(a = e.startOffset), |
|
(u = e.endOffset), |
|
3 === i.nodeType && |
|
0 === a && |
|
Nv(i.parentNode) && |
|
((i = i.parentNode), (a = m.nodeIndex(i)), (i = i.parentNode)), |
|
1 !== i.nodeType |
|
? null |
|
: (u === a + 1 && i === e.endContainer && (n = i.childNodes[a]), |
|
Nv(n) |
|
? ((l = f = n.cloneNode(!0)), |
|
(s = g.fire("ObjectSelected", { |
|
target: n, |
|
targetClone: l, |
|
})).isDefaultPrevented() |
|
? null |
|
: ((r = Ji(ir.fromDom(g.getBody()), "#" + h).fold( |
|
function () { |
|
return d([]); |
|
}, |
|
function (e) { |
|
return d([e.dom()]); |
|
} |
|
)), |
|
(l = s.targetClone), |
|
0 === r.length && |
|
(r = d( |
|
'<div data-mce-bogus="all" class="mce-offscreen-selection"></div>' |
|
).attr("id", h)).appendTo(g.getBody()), |
|
(e = g.dom.createRng()), |
|
l === f && ge.ie |
|
? (r |
|
.empty() |
|
.append( |
|
'<p style="font-size: 0" data-mce-bogus="all">\xa0</p>' |
|
) |
|
.append(l), |
|
e.setStartAfter(r[0].firstChild.firstChild), |
|
e.setEndAfter(l)) |
|
: (r.empty().append("\xa0").append(l).append("\xa0"), |
|
e.setStart(r[0].firstChild, 1), |
|
e.setEnd(r[0].lastChild, 0)), |
|
r.css({ top: m.getPos(n, g.getBody()).y }), |
|
r[0].focus(), |
|
(o = g.selection.getSel()).removeAllRanges(), |
|
o.addRange(e), |
|
U( |
|
$i(ir.fromDom(g.getBody()), "*[data-mce-selected]"), |
|
function (e) { |
|
wr(e, "data-mce-selected"); |
|
} |
|
), |
|
n.setAttribute("data-mce-selected", "1"), |
|
(p = n), |
|
C(), |
|
e)) |
|
: null) |
|
); |
|
}, |
|
l = function () { |
|
p && |
|
(p.removeAttribute("data-mce-selected"), |
|
Ji(ir.fromDom(g.getBody()), "#" + h).each(Oi), |
|
(p = null)), |
|
Ji(ir.fromDom(g.getBody()), "#" + h).each(Oi), |
|
(p = null); |
|
}, |
|
C = function () { |
|
o.hide(); |
|
}; |
|
return ( |
|
ge.ceFalse && |
|
((function () { |
|
g.on("mouseup", function (e) { |
|
var t = s(); |
|
t.collapsed && uh(g, e.clientX, e.clientY) && u(ng(g, t, !1)); |
|
}), |
|
g.on("click", function (e) { |
|
var t; |
|
(t = Ev(g, e.target)) && |
|
(Nv(t) && (e.preventDefault(), g.focus()), |
|
wv(t) && g.dom.isChildOf(t, g.selection.getNode()) && l()); |
|
}), |
|
g.on("blur NewBlock", function () { |
|
l(); |
|
}), |
|
g.on("ResizeWindow FullscreenStateChanged", function () { |
|
return o.reposition(); |
|
}); |
|
var n, |
|
r, |
|
i = function (e, t) { |
|
var n, |
|
r, |
|
o = g.dom.getParent(e, g.dom.isBlock), |
|
i = g.dom.getParent(t, g.dom.isBlock); |
|
return ( |
|
!(!o || !g.dom.isChildOf(o, i) || !1 !== Nv(Ev(g, o))) || |
|
(o && |
|
((n = o), |
|
(r = i), |
|
!( |
|
g.dom.getParent(n, g.dom.isBlock) === |
|
g.dom.getParent(r, g.dom.isBlock) |
|
)) && |
|
(function (e) { |
|
var t = $s(e); |
|
if (!e.firstChild) return !1; |
|
var n = Cu.before(e.firstChild), |
|
r = t.next(n); |
|
return r && !_f(r) && !Df(r); |
|
})(o)) |
|
); |
|
}; |
|
(r = !1), |
|
(n = g).on("touchstart", function () { |
|
r = !1; |
|
}), |
|
n.on("touchmove", function () { |
|
r = !0; |
|
}), |
|
n.on("touchend", function (e) { |
|
var t = Ev(n, e.target); |
|
Nv(t) && (r || (e.preventDefault(), c(tg(n, t)))); |
|
}), |
|
g.on("mousedown", function (e) { |
|
var t, |
|
n = e.target; |
|
if ( |
|
(n === a || "HTML" === n.nodeName || g.dom.isChildOf(n, a)) && |
|
!1 !== uh(g, e.clientX, e.clientY) |
|
) |
|
if ((t = Ev(g, n))) |
|
Nv(t) |
|
? (e.preventDefault(), c(tg(g, t))) |
|
: (l(), |
|
(wv(t) && e.shiftKey) || |
|
yv(e.clientX, e.clientY, g.selection.getRng()) || |
|
(C(), |
|
g.selection.placeCaretAt(e.clientX, e.clientY))); |
|
else if (!1 === as(n)) { |
|
l(), C(); |
|
var r = bv(a, e.clientX, e.clientY); |
|
if (r && !i(e.target, r.node)) { |
|
e.preventDefault(); |
|
var o = v(1, r.node, r.before, !1); |
|
g.getBody().focus(), u(o); |
|
} |
|
} |
|
}), |
|
g.on("keypress", function (e) { |
|
xv.modifierPressed(e) || |
|
(e.keyCode, Nv(g.selection.getNode()) && e.preventDefault()); |
|
}), |
|
g.on("getSelectionRange", function (e) { |
|
var t = e.range; |
|
if (p) { |
|
if (!p.parentNode) return void (p = null); |
|
(t = t.cloneRange()).selectNode(p), (e.range = t); |
|
} |
|
}), |
|
g.on("setSelectionRange", function (e) { |
|
var t; |
|
(t = c(e.range, e.forward)) && (e.range = t); |
|
}), |
|
g.on("AfterSetSelectionRange", function (e) { |
|
var t, |
|
n = e.range; |
|
y(n) || "mcepastebin" === n.startContainer.parentNode.id || C(), |
|
(t = n.startContainer.parentNode), |
|
g.dom.hasClass(t, "mce-offscreen-selection") || l(); |
|
}), |
|
g.on("copy", function (e) { |
|
var t, |
|
n = e.clipboardData; |
|
if (!e.isDefaultPrevented() && e.clipboardData && !ge.ie) { |
|
var r = (t = g.dom.get(h)) |
|
? t.getElementsByTagName("*")[0] |
|
: t; |
|
r && |
|
(e.preventDefault(), |
|
n.clearData(), |
|
n.setData("text/html", r.outerHTML), |
|
n.setData("text/plain", r.outerText)); |
|
} |
|
}), |
|
ov(g), |
|
Cv(g); |
|
})(), |
|
(e = g.contentStyles), |
|
(t = ".mce-content-body"), |
|
e.push(o.getCss()), |
|
e.push( |
|
t + |
|
" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}" + |
|
t + |
|
" *[contentEditable=false] {cursor: default;}" + |
|
t + |
|
" *[contentEditable=true] {cursor: text;}" |
|
)), |
|
{ |
|
showCaret: v, |
|
showBlockCaretContainer: function (e) { |
|
e.hasAttribute("data-mce-caret") && |
|
(ka(e), u(s()), g.selection.scrollIntoView(e[0])); |
|
}, |
|
hideFakeCaret: C, |
|
destroy: function () { |
|
o.destroy(), (p = null); |
|
}, |
|
} |
|
); |
|
}, |
|
kv = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = 1; |
|
for ( |
|
a = e.getShortEndedElements(), |
|
(i = |
|
/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g).lastIndex = |
|
r = |
|
n; |
|
(o = i.exec(t)); |
|
|
|
) { |
|
if (((r = i.lastIndex), "/" === o[1])) u--; |
|
else if (!o[1]) { |
|
if (o[2] in a) continue; |
|
u++; |
|
} |
|
if (0 === u) break; |
|
} |
|
return r; |
|
}, |
|
Tv = function (e, t) { |
|
var n = e.exec(t); |
|
if (n) { |
|
var r = n[1], |
|
o = n[2]; |
|
return "string" == typeof r && "data-mce-bogus" === r.toLowerCase() |
|
? o |
|
: null; |
|
} |
|
return null; |
|
}; |
|
function Av(z, U) { |
|
void 0 === U && (U = ii()); |
|
var e = function () {}; |
|
!1 !== (z = z || {}).fix_self_closing && (z.fix_self_closing = !0); |
|
var V = z.comment ? z.comment : e, |
|
H = z.cdata ? z.cdata : e, |
|
j = z.text ? z.text : e, |
|
q = z.start ? z.start : e, |
|
$ = z.end ? z.end : e, |
|
W = z.pi ? z.pi : e, |
|
K = z.doctype ? z.doctype : e; |
|
return { |
|
parse: function (e) { |
|
var t, |
|
n, |
|
r, |
|
d, |
|
o, |
|
i, |
|
a, |
|
m, |
|
u, |
|
s, |
|
g, |
|
c, |
|
p, |
|
l, |
|
f, |
|
h, |
|
v, |
|
b, |
|
y, |
|
C, |
|
x, |
|
w, |
|
N, |
|
E, |
|
S, |
|
k, |
|
T, |
|
A, |
|
R, |
|
_ = 0, |
|
D = [], |
|
B = 0, |
|
O = Xo.decode, |
|
P = Jt.makeMap( |
|
"src,href,data,background,formaction,poster,xlink:href" |
|
), |
|
I = /((java|vb)script|mhtml):/i, |
|
L = function (e) { |
|
var t, n; |
|
for (t = D.length; t-- && D[t].name !== e; ); |
|
if (0 <= t) { |
|
for (n = D.length - 1; t <= n; n--) (e = D[n]).valid && $(e.name); |
|
D.length = t; |
|
} |
|
}, |
|
M = function (e, t, n, r, o) { |
|
var i, a, u, s, c; |
|
if ( |
|
((n = (t = t.toLowerCase()) in g ? t : O(n || r || o || "")), |
|
p && |
|
!m && |
|
0 == |
|
(0 === (u = t).indexOf("data-") || 0 === u.indexOf("aria-"))) |
|
) { |
|
if (!(i = b[t]) && y) { |
|
for (a = y.length; a-- && !(i = y[a]).pattern.test(t); ); |
|
-1 === a && (i = null); |
|
} |
|
if (!i) return; |
|
if (i.validValues && !(n in i.validValues)) return; |
|
} |
|
if (P[t] && !z.allow_script_urls) { |
|
var l = n.replace(/[\s\u0000-\u001F]+/g, ""); |
|
try { |
|
l = decodeURIComponent(l); |
|
} catch (f) { |
|
l = unescape(l); |
|
} |
|
if (I.test(l)) return; |
|
if ( |
|
((c = l), |
|
!(s = z).allow_html_data_urls && |
|
(/^data:image\//i.test(c) |
|
? !1 === s.allow_svg_data_urls && |
|
/^data:image\/svg\+xml/i.test(c) |
|
: /^data:/i.test(c))) |
|
) |
|
return; |
|
} |
|
(m && (t in P || 0 === t.indexOf("on"))) || |
|
((d.map[t] = n), d.push({ name: t, value: n })); |
|
}; |
|
for ( |
|
S = new RegExp( |
|
"<(?:(?:!--([\\w\\W]*?)--\x3e)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))", |
|
"g" |
|
), |
|
k = |
|
/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g, |
|
s = U.getShortEndedElements(), |
|
E = z.self_closing_elements || U.getSelfClosingElements(), |
|
g = U.getBoolAttrs(), |
|
p = z.validate, |
|
u = z.remove_internals, |
|
R = z.fix_self_closing, |
|
T = U.getSpecialElements(), |
|
N = e + ">"; |
|
(t = S.exec(N)); |
|
|
|
) { |
|
if ((_ < t.index && j(O(e.substr(_, t.index - _))), (n = t[6]))) |
|
":" === (n = n.toLowerCase()).charAt(0) && (n = n.substr(1)), L(n); |
|
else if ((n = t[7])) { |
|
if (t.index + t[0].length > e.length) { |
|
j(O(e.substr(t.index))), (_ = t.index + t[0].length); |
|
continue; |
|
} |
|
":" === (n = n.toLowerCase()).charAt(0) && (n = n.substr(1)), |
|
(c = n in s), |
|
R && E[n] && 0 < D.length && D[D.length - 1].name === n && L(n); |
|
var F = Tv(k, t[8]); |
|
if (null !== F) { |
|
if ("all" === F) { |
|
(_ = kv(U, e, S.lastIndex)), (S.lastIndex = _); |
|
continue; |
|
} |
|
f = !1; |
|
} |
|
if (!p || (l = U.getElementRule(n))) { |
|
if ( |
|
((f = !0), |
|
p && ((b = l.attributes), (y = l.attributePatterns)), |
|
(v = t[8]) |
|
? ((m = -1 !== v.indexOf("data-mce-type")) && u && (f = !1), |
|
((d = []).map = {}), |
|
v.replace(k, M)) |
|
: ((d = []).map = {}), |
|
p && !m) |
|
) { |
|
if ( |
|
((C = l.attributesRequired), |
|
(x = l.attributesDefault), |
|
(w = l.attributesForced), |
|
l.removeEmptyAttrs && !d.length && (f = !1), |
|
w) |
|
) |
|
for (o = w.length; o--; ) |
|
(a = (h = w[o]).name), |
|
"{$uid}" === (A = h.value) && (A = "mce_" + B++), |
|
(d.map[a] = A), |
|
d.push({ name: a, value: A }); |
|
if (x) |
|
for (o = x.length; o--; ) |
|
(a = (h = x[o]).name) in d.map || |
|
("{$uid}" === (A = h.value) && (A = "mce_" + B++), |
|
(d.map[a] = A), |
|
d.push({ name: a, value: A })); |
|
if (C) { |
|
for (o = C.length; o-- && !(C[o] in d.map); ); |
|
-1 === o && (f = !1); |
|
} |
|
if ((h = d.map["data-mce-bogus"])) { |
|
if ("all" === h) { |
|
(_ = kv(U, e, S.lastIndex)), (S.lastIndex = _); |
|
continue; |
|
} |
|
f = !1; |
|
} |
|
} |
|
f && q(n, d, c); |
|
} else f = !1; |
|
if ((r = T[n])) { |
|
(r.lastIndex = _ = t.index + t[0].length), |
|
(t = r.exec(e)) |
|
? (f && (i = e.substr(_, t.index - _)), |
|
(_ = t.index + t[0].length)) |
|
: ((i = e.substr(_)), (_ = e.length)), |
|
f && (0 < i.length && j(i, !0), $(n)), |
|
(S.lastIndex = _); |
|
continue; |
|
} |
|
c || |
|
(v && v.indexOf("/") === v.length - 1 |
|
? f && $(n) |
|
: D.push({ name: n, valid: f })); |
|
} else |
|
(n = t[1]) |
|
? (">" === n.charAt(0) && (n = " " + n), |
|
z.allow_conditional_comments || |
|
"[if" !== n.substr(0, 3).toLowerCase() || |
|
(n = " " + n), |
|
V(n)) |
|
: (n = t[2]) |
|
? H(n.replace(/<!--|-->/g, "")) |
|
: (n = t[3]) |
|
? K(n) |
|
: (n = t[4]) && W(n, t[5]); |
|
_ = t.index + t[0].length; |
|
} |
|
for (_ < e.length && j(O(e.substr(_))), o = D.length - 1; 0 <= o; o--) |
|
(n = D[o]).valid && $(n.name); |
|
}, |
|
}; |
|
} |
|
(Av || (Av = {})).findEndTag = kv; |
|
var Rv = Av, |
|
_v = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = t, |
|
f = /<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g, |
|
d = e.schema; |
|
for ( |
|
u = e.getTempAttrs(), |
|
s = l, |
|
c = new RegExp(["\\s?(" + u.join("|") + ')="[^"]+"'].join("|"), "gi"), |
|
l = s.replace(c, ""), |
|
a = d.getShortEndedElements(); |
|
(i = f.exec(l)); |
|
|
|
) |
|
(r = f.lastIndex), |
|
(o = i[0].length), |
|
(n = a[i[1]] ? r : Rv.findEndTag(d, l, r)), |
|
(l = l.substring(0, r - o) + l.substring(n)), |
|
(f.lastIndex = r - o); |
|
return ga(l); |
|
}, |
|
Dv = { trimExternal: _v, trimInternal: _v }, |
|
Bv = 0, |
|
Ov = 2, |
|
Pv = 1, |
|
Iv = function (g, p) { |
|
var e = g.length + p.length + 2, |
|
h = new Array(e), |
|
v = new Array(e), |
|
c = function (e, t, n, r, o) { |
|
var i = l(e, t, n, r); |
|
if ( |
|
null === i || |
|
(i.start === t && i.diag === t - r) || |
|
(i.end === e && i.diag === e - n) |
|
) |
|
for (var a = e, u = n; a < t || u < r; ) |
|
a < t && u < r && g[a] === p[u] |
|
? (o.push([0, g[a]]), ++a, ++u) |
|
: r - n < t - e |
|
? (o.push([2, g[a]]), ++a) |
|
: (o.push([1, p[u]]), ++u); |
|
else { |
|
c(e, i.start, n, i.start - i.diag, o); |
|
for (var s = i.start; s < i.end; ++s) o.push([0, g[s]]); |
|
c(i.end, t, i.end - i.diag, r, o); |
|
} |
|
}, |
|
b = function (e, t, n, r) { |
|
for (var o = e; o - t < r && o < n && g[o] === p[o - t]; ) ++o; |
|
return { start: e, end: o, diag: t }; |
|
}, |
|
l = function (e, t, n, r) { |
|
var o = t - e, |
|
i = r - n; |
|
if (0 === o || 0 === i) return null; |
|
var a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = o - i, |
|
d = i + o, |
|
m = (d % 2 == 0 ? d : d + 1) / 2; |
|
for (h[1 + m] = e, v[1 + m] = t + 1, a = 0; a <= m; ++a) { |
|
for (u = -a; u <= a; u += 2) { |
|
for ( |
|
s = u + m, |
|
u === -a || (u !== a && h[s - 1] < h[s + 1]) |
|
? (h[s] = h[s + 1]) |
|
: (h[s] = h[s - 1] + 1), |
|
l = (c = h[s]) - e + n - u; |
|
c < t && l < r && g[c] === p[l]; |
|
|
|
) |
|
(h[s] = ++c), ++l; |
|
if (f % 2 != 0 && f - a <= u && u <= f + a && v[s - f] <= h[s]) |
|
return b(v[s - f], u + e - n, t, r); |
|
} |
|
for (u = f - a; u <= f + a; u += 2) { |
|
for ( |
|
s = u + m - f, |
|
u === f - a || (u !== f + a && v[s + 1] <= v[s - 1]) |
|
? (v[s] = v[s + 1] - 1) |
|
: (v[s] = v[s - 1]), |
|
l = (c = v[s] - 1) - e + n - u; |
|
e <= c && n <= l && g[c] === p[l]; |
|
|
|
) |
|
(v[s] = c--), l--; |
|
if (f % 2 == 0 && -a <= u && u <= a && v[s] <= h[s + f]) |
|
return b(v[s], u + e - n, t, r); |
|
} |
|
} |
|
}, |
|
t = []; |
|
return c(0, g.length, 0, p.length, t), t; |
|
}, |
|
Lv = function (e) { |
|
return Po.isElement(e) |
|
? e.outerHTML |
|
: Po.isText(e) |
|
? Xo.encodeRaw(e.data, !1) |
|
: Po.isComment(e) |
|
? "\x3c!--" + e.data + "--\x3e" |
|
: ""; |
|
}, |
|
Mv = function (e, t, n) { |
|
var r = (function (e) { |
|
var t, n, r; |
|
for ( |
|
r = H.document.createElement("div"), |
|
t = H.document.createDocumentFragment(), |
|
e && (r.innerHTML = e); |
|
(n = r.firstChild); |
|
|
|
) |
|
t.appendChild(n); |
|
return t; |
|
})(t); |
|
if (e.hasChildNodes() && n < e.childNodes.length) { |
|
var o = e.childNodes[n]; |
|
o.parentNode.insertBefore(r, o); |
|
} else e.appendChild(r); |
|
}, |
|
Fv = function (e) { |
|
return V(W(oe(e.childNodes), Lv), function (e) { |
|
return 0 < e.length; |
|
}); |
|
}, |
|
zv = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = W(oe(t.childNodes), Lv); |
|
return ( |
|
(n = Iv(i, e)), |
|
(r = t), |
|
(o = 0), |
|
U(n, function (e) { |
|
e[0] === Bv |
|
? o++ |
|
: e[0] === Pv |
|
? (Mv(r, e[1], o), o++) |
|
: e[0] === Ov && |
|
(function (e, t) { |
|
if (e.hasChildNodes() && t < e.childNodes.length) { |
|
var n = e.childNodes[t]; |
|
n.parentNode.removeChild(n); |
|
} |
|
})(r, o); |
|
}), |
|
t |
|
); |
|
}, |
|
Uv = Li(A.none()), |
|
Vv = function (e) { |
|
return { |
|
type: "fragmented", |
|
fragments: e, |
|
content: "", |
|
bookmark: null, |
|
beforeBookmark: null, |
|
}; |
|
}, |
|
Hv = function (e) { |
|
return { |
|
type: "complete", |
|
fragments: null, |
|
content: e, |
|
bookmark: null, |
|
beforeBookmark: null, |
|
}; |
|
}, |
|
jv = function (e) { |
|
return "fragmented" === e.type ? e.fragments.join("") : e.content; |
|
}, |
|
qv = function (e) { |
|
var t = ir.fromTag( |
|
"body", |
|
Uv.get().getOrThunk(function () { |
|
var e = H.document.implementation.createHTMLDocument("undo"); |
|
return Uv.set(A.some(e)), e; |
|
}) |
|
); |
|
return la(t, jv(e)), U($i(t, "*[data-mce-bogus]"), Pi), t.dom().innerHTML; |
|
}, |
|
$v = function (n) { |
|
var e, t, r; |
|
return ( |
|
(e = Fv(n.getBody())), |
|
-1 !== |
|
(t = (r = Z(e, function (e) { |
|
var t = Dv.trimInternal(n.serializer, e); |
|
return 0 < t.length ? [t] : []; |
|
})).join("")).indexOf("</iframe>") |
|
? Vv(r) |
|
: Hv(t) |
|
); |
|
}, |
|
Wv = function (e, t, n) { |
|
"fragmented" === t.type |
|
? zv(t.fragments, e.getBody()) |
|
: e.setContent(t.content, { format: "raw" }), |
|
e.selection.moveToBookmark(n ? t.beforeBookmark : t.bookmark); |
|
}, |
|
Kv = function (e, t) { |
|
return ( |
|
!(!e || !t) && ((r = t), jv(e) === jv(r) || ((n = t), qv(e) === qv(n))) |
|
); |
|
var n, r; |
|
}; |
|
function Xv(u) { |
|
var s, |
|
r, |
|
o = this, |
|
c = 0, |
|
l = [], |
|
t = 0, |
|
f = function () { |
|
return 0 === t; |
|
}, |
|
i = function (e) { |
|
f() && (o.typing = e); |
|
}, |
|
d = function (e) { |
|
u.setDirty(e); |
|
}, |
|
a = function (e) { |
|
i(!1), o.add({}, e); |
|
}, |
|
n = function () { |
|
o.typing && (i(!1), o.add()); |
|
}; |
|
return ( |
|
u.on("init", function () { |
|
o.add(); |
|
}), |
|
u.on("BeforeExecCommand", function (e) { |
|
var t = e.command; |
|
"Undo" !== t && |
|
"Redo" !== t && |
|
"mceRepaint" !== t && |
|
(n(), o.beforeChange()); |
|
}), |
|
u.on("ExecCommand", function (e) { |
|
var t = e.command; |
|
"Undo" !== t && "Redo" !== t && "mceRepaint" !== t && a(e); |
|
}), |
|
u.on("ObjectResizeStart Cut", function () { |
|
o.beforeChange(); |
|
}), |
|
u.on("SaveContent ObjectResized blur", a), |
|
u.on("DragEnd", a), |
|
u.on("KeyUp", function (e) { |
|
var t = e.keyCode; |
|
e.isDefaultPrevented() || |
|
(((33 <= t && t <= 36) || |
|
(37 <= t && t <= 40) || |
|
45 === t || |
|
e.ctrlKey) && |
|
(a(), u.nodeChanged()), |
|
(46 !== t && 8 !== t) || u.nodeChanged(), |
|
r && |
|
o.typing && |
|
!1 === Kv($v(u), l[0]) && |
|
(!1 === u.isDirty() && |
|
(d(!0), u.fire("change", { level: l[0], lastLevel: null })), |
|
u.fire("TypingUndo"), |
|
(r = !1), |
|
u.nodeChanged())); |
|
}), |
|
u.on("KeyDown", function (e) { |
|
var t = e.keyCode; |
|
if (!e.isDefaultPrevented()) |
|
if ((33 <= t && t <= 36) || (37 <= t && t <= 40) || 45 === t) |
|
o.typing && a(e); |
|
else { |
|
var n = (e.ctrlKey && !e.altKey) || e.metaKey; |
|
!(t < 16 || 20 < t) || |
|
224 === t || |
|
91 === t || |
|
o.typing || |
|
n || |
|
(o.beforeChange(), i(!0), o.add({}, e), (r = !0)); |
|
} |
|
}), |
|
u.on("MouseDown", function (e) { |
|
o.typing && a(e); |
|
}), |
|
u.on("input", function (e) { |
|
var t; |
|
e.inputType && |
|
("insertReplacementText" === e.inputType || |
|
("insertText" === (t = e).inputType && null === t.data)) && |
|
a(e); |
|
}), |
|
u.addShortcut("meta+z", "", "Undo"), |
|
u.addShortcut("meta+y,meta+shift+z", "", "Redo"), |
|
u.on("AddUndo Undo Redo ClearUndos", function (e) { |
|
e.isDefaultPrevented() || u.nodeChanged(); |
|
}), |
|
(o = { |
|
data: l, |
|
typing: !1, |
|
beforeChange: function () { |
|
f() && (s = Vu.getUndoBookmark(u.selection)); |
|
}, |
|
add: function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = u.settings; |
|
if ( |
|
((o = $v(u)), |
|
(e = e || {}), |
|
(e = Jt.extend(e, o)), |
|
!1 === f() || u.removed) |
|
) |
|
return null; |
|
if ( |
|
((r = l[c]), |
|
u |
|
.fire("BeforeAddUndo", { |
|
level: e, |
|
lastLevel: r, |
|
originalEvent: t, |
|
}) |
|
.isDefaultPrevented()) |
|
) |
|
return null; |
|
if (r && Kv(r, e)) return null; |
|
if ( |
|
(l[c] && (l[c].beforeBookmark = s), |
|
i.custom_undo_redo_levels && l.length > i.custom_undo_redo_levels) |
|
) { |
|
for (n = 0; n < l.length - 1; n++) l[n] = l[n + 1]; |
|
l.length--, (c = l.length); |
|
} |
|
(e.bookmark = Vu.getUndoBookmark(u.selection)), |
|
c < l.length - 1 && (l.length = c + 1), |
|
l.push(e), |
|
(c = l.length - 1); |
|
var a = { level: e, lastLevel: r, originalEvent: t }; |
|
return u.fire("AddUndo", a), 0 < c && (d(!0), u.fire("change", a)), e; |
|
}, |
|
undo: function () { |
|
var e; |
|
return ( |
|
o.typing && (o.add(), (o.typing = !1), i(!1)), |
|
0 < c && |
|
((e = l[--c]), Wv(u, e, !0), d(!0), u.fire("undo", { level: e })), |
|
e |
|
); |
|
}, |
|
redo: function () { |
|
var e; |
|
return ( |
|
c < l.length - 1 && |
|
((e = l[++c]), Wv(u, e, !1), d(!0), u.fire("redo", { level: e })), |
|
e |
|
); |
|
}, |
|
clear: function () { |
|
(l = []), |
|
(c = 0), |
|
(o.typing = !1), |
|
(o.data = l), |
|
u.fire("ClearUndos"); |
|
}, |
|
hasUndo: function () { |
|
return 0 < c || (o.typing && l[0] && !Kv($v(u), l[0])); |
|
}, |
|
hasRedo: function () { |
|
return c < l.length - 1 && !o.typing; |
|
}, |
|
transact: function (e) { |
|
return n(), o.beforeChange(), o.ignore(e), o.add(); |
|
}, |
|
ignore: function (e) { |
|
try { |
|
t++, e(); |
|
} finally { |
|
t--; |
|
} |
|
}, |
|
extra: function (e, t) { |
|
var n, r; |
|
o.transact(e) && |
|
((r = l[c].bookmark), |
|
(n = l[c - 1]), |
|
Wv(u, n, !0), |
|
o.transact(t) && (l[c - 1].beforeBookmark = r)); |
|
}, |
|
}) |
|
); |
|
} |
|
var Yv, |
|
Gv, |
|
Jv = {}, |
|
Qv = Wt.filter, |
|
Zv = Wt.each; |
|
(Gv = function (e) { |
|
var t, |
|
n, |
|
r = e.selection.getRng(); |
|
(t = Po.matchNodeNames("pre")), |
|
r.collapsed || |
|
((n = e.selection.getSelectedBlocks()), |
|
Zv( |
|
Qv(Qv(n, t), function (e) { |
|
return ( |
|
t(e.previousSibling) && -1 !== Wt.indexOf(n, e.previousSibling) |
|
); |
|
}), |
|
function (e) { |
|
var t, n; |
|
(t = e.previousSibling), |
|
vn((n = e)).remove(), |
|
vn(t).append("<br><br>").append(n.childNodes); |
|
} |
|
)); |
|
}), |
|
Jv[(Yv = "pre")] || (Jv[Yv] = []), |
|
Jv[Yv].push(Gv); |
|
var eb = function (e, t) { |
|
Zv(Jv[e], function (e) { |
|
e(t); |
|
}); |
|
}, |
|
tb = /^(src|href|style)$/, |
|
nb = Jt.each, |
|
rb = hc.isEq, |
|
ob = function (e, t, n) { |
|
return e.isChildOf(t, n) && t !== n && !e.isBlock(n); |
|
}, |
|
ib = function (e, t, n) { |
|
var r, o, i; |
|
return ( |
|
(r = t[n ? "startContainer" : "endContainer"]), |
|
(o = t[n ? "startOffset" : "endOffset"]), |
|
Po.isElement(r) && |
|
((i = r.childNodes.length - 1), |
|
!n && o && o--, |
|
(r = r.childNodes[i < o ? i : o])), |
|
Po.isText(r) && |
|
n && |
|
o >= r.nodeValue.length && |
|
(r = new ao(r, e.getBody()).next() || r), |
|
Po.isText(r) && |
|
!n && |
|
0 === o && |
|
(r = new ao(r, e.getBody()).prev() || r), |
|
r |
|
); |
|
}, |
|
ab = function (e, t, n, r) { |
|
var o = e.create(n, r); |
|
return t.parentNode.insertBefore(o, t), o.appendChild(t), o; |
|
}, |
|
ub = function (e, t, n, r, o) { |
|
var i = ir.fromDom(t), |
|
a = ir.fromDom(e.create(r, o)), |
|
u = n ? jr(i) : Hr(i); |
|
return Di(a, u), n ? (Ti(i, a), Ri(a, i)) : (Ai(i, a), _i(a, i)), a.dom(); |
|
}, |
|
sb = function (e, t, n, r) { |
|
return ( |
|
!(t = hc.getNonWhiteSpaceSibling(t, n, r)) || |
|
"BR" === t.nodeName || |
|
e.isBlock(t) |
|
); |
|
}, |
|
cb = function (e, n, r, o, i) { |
|
var t, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
y = e.dom; |
|
if ( |
|
((c = y), |
|
!( |
|
rb((l = o), (f = n).inline) || |
|
rb(l, f.block) || |
|
(f.selector ? Po.isElement(l) && c.is(l, f.selector) : void 0) || |
|
((s = o), n.links && "A" === s.tagName) |
|
)) |
|
) |
|
return !1; |
|
if ("all" !== n.remove) |
|
for ( |
|
nb(n.styles, function (e, t) { |
|
(e = hc.normalizeStyleValue(y, hc.replaceVars(e, r), t)), |
|
"number" == typeof t && ((t = e), (i = 0)), |
|
(n.remove_similar || !i || rb(hc.getStyle(y, i, t), e)) && |
|
y.setStyle(o, t, ""), |
|
(u = 1); |
|
}), |
|
u && |
|
"" === y.getAttrib(o, "style") && |
|
(o.removeAttribute("style"), o.removeAttribute("data-mce-style")), |
|
nb(n.attributes, function (e, t) { |
|
var n; |
|
if ( |
|
((e = hc.replaceVars(e, r)), |
|
"number" == typeof t && ((t = e), (i = 0)), |
|
!i || rb(y.getAttrib(i, t), e)) |
|
) { |
|
if ( |
|
"class" === t && |
|
(e = y.getAttrib(o, t)) && |
|
((n = ""), |
|
nb(e.split(/\s+/), function (e) { |
|
/mce\-\w+/.test(e) && (n += (n ? " " : "") + e); |
|
}), |
|
n) |
|
) |
|
return void y.setAttrib(o, t, n); |
|
"class" === t && o.removeAttribute("className"), |
|
tb.test(t) && o.removeAttribute("data-mce-" + t), |
|
o.removeAttribute(t); |
|
} |
|
}), |
|
nb(n.classes, function (e) { |
|
(e = hc.replaceVars(e, r)), |
|
(i && !y.hasClass(i, e)) || y.removeClass(o, e); |
|
}), |
|
a = y.getAttribs(o), |
|
t = 0; |
|
t < a.length; |
|
t++ |
|
) { |
|
var C = a[t].nodeName; |
|
if (0 !== C.indexOf("_") && 0 !== C.indexOf("data-")) return !1; |
|
} |
|
return "none" !== n.remove |
|
? ((d = e), |
|
(g = n), |
|
(h = (m = o).parentNode), |
|
(v = d.dom), |
|
(b = d.settings.forced_root_block), |
|
g.block && |
|
(b |
|
? h === v.getRoot() && |
|
((g.list_block && rb(m, g.list_block)) || |
|
nb(Jt.grep(m.childNodes), function (e) { |
|
hc.isValid(d, b, e.nodeName.toLowerCase()) |
|
? p |
|
? p.appendChild(e) |
|
: ((p = ab(v, e, b)), |
|
v.setAttribs(p, d.settings.forced_root_block_attrs)) |
|
: (p = 0); |
|
})) |
|
: v.isBlock(m) && |
|
!v.isBlock(h) && |
|
(sb(v, m, !1) || |
|
sb(v, m.firstChild, !0, 1) || |
|
m.insertBefore(v.create("br"), m.firstChild), |
|
sb(v, m, !0) || |
|
sb(v, m.lastChild, !1, 1) || |
|
m.appendChild(v.create("br")))), |
|
(g.selector && g.inline && !rb(g.inline, m)) || v.remove(m, 1), |
|
!0) |
|
: void 0; |
|
}, |
|
lb = cb, |
|
fb = function (s, c, l, e, f) { |
|
var t, |
|
n, |
|
d = s.formatter.get(c), |
|
m = d[0], |
|
a = !0, |
|
u = s.dom, |
|
r = s.selection, |
|
i = function (e) { |
|
var n, |
|
t, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = |
|
((n = s), |
|
(t = e), |
|
(r = c), |
|
(o = l), |
|
(i = f), |
|
nb(hc.getParents(n.dom, t.parentNode).reverse(), function (e) { |
|
var t; |
|
a || |
|
"_start" === e.id || |
|
"_end" === e.id || |
|
((t = Om.matchNode(n, e, r, o, i)) && |
|
!1 !== t.split && |
|
(a = e)); |
|
}), |
|
a); |
|
return (function (e, t, n, r, o, i, a, u) { |
|
var s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g = e.dom; |
|
if (n) { |
|
for ( |
|
m = n.parentNode, s = r.parentNode; |
|
s && s !== m; |
|
s = s.parentNode |
|
) { |
|
for (c = g.clone(s, !1), d = 0; d < t.length; d++) |
|
if (cb(e, t[d], u, c, c)) { |
|
c = 0; |
|
break; |
|
} |
|
c && (l && c.appendChild(l), f || (f = c), (l = c)); |
|
} |
|
!i || (a.mixed && g.isBlock(n)) || (r = g.split(n, r)), |
|
l && (o.parentNode.insertBefore(l, o), f.appendChild(o)); |
|
} |
|
return r; |
|
})(s, d, u, e, e, !0, m, l); |
|
}, |
|
g = function (e) { |
|
var t, n, r, o, i; |
|
if ( |
|
(Po.isElement(e) && |
|
u.getContentEditable(e) && |
|
((o = a), (a = "true" === u.getContentEditable(e)), (i = !0)), |
|
(t = Jt.grep(e.childNodes)), |
|
a && !i) |
|
) |
|
for (n = 0, r = d.length; n < r && !cb(s, d[n], l, e, e); n++); |
|
if (m.deep && t.length) { |
|
for (n = 0, r = t.length; n < r; n++) g(t[n]); |
|
i && (a = o); |
|
} |
|
}, |
|
p = function (e) { |
|
var t, |
|
n = u.get(e ? "_start" : "_end"), |
|
r = n[e ? "firstChild" : "lastChild"]; |
|
return ( |
|
dc((t = r)) && |
|
Po.isElement(t) && |
|
("_start" === t.id || "_end" === t.id) && |
|
(r = r[e ? "firstChild" : "lastChild"]), |
|
Po.isText(r) && |
|
0 === r.data.length && |
|
(r = e |
|
? n.previousSibling || n.nextSibling |
|
: n.nextSibling || n.previousSibling), |
|
u.remove(n, !0), |
|
r |
|
); |
|
}, |
|
o = function (e) { |
|
var t, |
|
n, |
|
r = e.commonAncestorContainer; |
|
if (((e = Ac(s, e, d, !0)), m.split)) { |
|
if (((e = Im(e)), (t = ib(s, e, !0)) !== (n = ib(s, e)))) { |
|
if ( |
|
(/^(TR|TH|TD)$/.test(t.nodeName) && |
|
t.firstChild && |
|
(t = |
|
"TR" === t.nodeName |
|
? t.firstChild.firstChild || t |
|
: t.firstChild || t), |
|
r && |
|
/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName) && |
|
/^(TH|TD)$/.test(n.nodeName) && |
|
n.firstChild && |
|
(n = n.firstChild || n), |
|
ob(u, t, n)) |
|
) { |
|
var o = A.from(t.firstChild).getOr(t); |
|
return ( |
|
i( |
|
ub(u, o, !0, "span", { |
|
id: "_start", |
|
"data-mce-type": "bookmark", |
|
}) |
|
), |
|
void p(!0) |
|
); |
|
} |
|
if (ob(u, n, t)) |
|
return ( |
|
(o = A.from(n.lastChild).getOr(n)), |
|
i( |
|
ub(u, o, !1, "span", { |
|
id: "_end", |
|
"data-mce-type": "bookmark", |
|
}) |
|
), |
|
void p(!1) |
|
); |
|
(t = ab(u, t, "span", { |
|
id: "_start", |
|
"data-mce-type": "bookmark", |
|
})), |
|
(n = ab(u, n, "span", { |
|
id: "_end", |
|
"data-mce-type": "bookmark", |
|
})), |
|
i(t), |
|
i(n), |
|
(t = p(!0)), |
|
(n = p()); |
|
} else t = n = i(t); |
|
(e.startContainer = t.parentNode ? t.parentNode : t), |
|
(e.startOffset = u.nodeIndex(t)), |
|
(e.endContainer = n.parentNode ? n.parentNode : n), |
|
(e.endOffset = u.nodeIndex(n) + 1); |
|
} |
|
_c(u, e, function (e) { |
|
nb(e, function (e) { |
|
g(e), |
|
Po.isElement(e) && |
|
"underline" === s.dom.getStyle(e, "text-decoration") && |
|
e.parentNode && |
|
"underline" === hc.getTextDecoration(u, e.parentNode) && |
|
cb( |
|
s, |
|
{ |
|
deep: !1, |
|
exact: !0, |
|
inline: "span", |
|
styles: { textDecoration: "underline" }, |
|
}, |
|
null, |
|
e |
|
); |
|
}); |
|
}); |
|
}; |
|
if (e) |
|
e.nodeType |
|
? ((n = u.createRng()).setStartBefore(e), n.setEndAfter(e), o(n)) |
|
: o(e); |
|
else if ("false" !== u.getContentEditable(r.getNode())) |
|
r.isCollapsed() && |
|
m.inline && |
|
!u.select("td[data-mce-selected],th[data-mce-selected]").length |
|
? (function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = e.dom, |
|
d = e.selection, |
|
m = [], |
|
g = d.getRng(); |
|
for ( |
|
o = g.startContainer, |
|
i = g.startOffset, |
|
3 === (s = o).nodeType && |
|
(i !== o.nodeValue.length && (u = !0), (s = s.parentNode)); |
|
s; |
|
|
|
) { |
|
if (Om.matchNode(e, s, t, n, r)) { |
|
c = s; |
|
break; |
|
} |
|
s.nextSibling && (u = !0), m.push(s), (s = s.parentNode); |
|
} |
|
if (c) |
|
if (u) { |
|
(a = d.getBookmark()), g.collapse(!0); |
|
var p = Ac(e, g, e.formatter.get(t), !0); |
|
(p = Im(p)), e.formatter.remove(t, n, p), d.moveToBookmark(a); |
|
} else { |
|
l = qu(e.getBody(), c); |
|
var h = Um(!1).dom(), |
|
v = $m(m, h); |
|
jm(e, h, l || c), |
|
Vm(e, l, !1), |
|
d.setCursorLocation(v, 1), |
|
f.isEmpty(c) && f.remove(c); |
|
} |
|
})(s, c, l, f) |
|
: ((t = Vu.getPersistentBookmark(s.selection, !0)), |
|
o(r.getRng()), |
|
r.moveToBookmark(t), |
|
m.inline && |
|
Om.match(s, c, l, r.getStart()) && |
|
hc.moveStart(u, r, r.getRng()), |
|
s.nodeChanged()); |
|
else { |
|
e = r.getNode(); |
|
for ( |
|
var h = 0, v = d.length; |
|
h < v && (!d[h].ceFalseOverride || !cb(s, d[h], l, e, e)); |
|
h++ |
|
); |
|
} |
|
}, |
|
db = Jt.each, |
|
mb = function (e) { |
|
return e && 1 === e.nodeType && !dc(e) && !ju(e) && !Po.isBogus(e); |
|
}, |
|
gb = function (e, t) { |
|
var n; |
|
for (n = e; n; n = n[t]) { |
|
if (3 === n.nodeType && 0 !== n.nodeValue.length) return e; |
|
if (1 === n.nodeType && !dc(n)) return n; |
|
} |
|
return e; |
|
}, |
|
pb = function (e, t, n) { |
|
var r, |
|
o, |
|
i = new Xc(e); |
|
if ( |
|
t && |
|
n && |
|
((t = gb(t, "previousSibling")), |
|
(n = gb(n, "nextSibling")), |
|
i.compare(t, n)) |
|
) { |
|
for (r = t.nextSibling; r && r !== n; ) |
|
(r = (o = r).nextSibling), t.appendChild(o); |
|
return ( |
|
e.remove(n), |
|
Jt.each(Jt.grep(n.childNodes), function (e) { |
|
t.appendChild(e); |
|
}), |
|
t |
|
); |
|
} |
|
return n; |
|
}, |
|
hb = function (e, t, n) { |
|
db(e.childNodes, function (e) { |
|
mb(e) && (t(e) && n(e), e.hasChildNodes() && hb(e, t, n)); |
|
}); |
|
}, |
|
vb = function (n, e) { |
|
return d(function (e, t) { |
|
return !(!t || !hc.getStyle(n, t, e)); |
|
}, e); |
|
}, |
|
bb = function (r, e, t) { |
|
return d( |
|
function (e, t, n) { |
|
r.setStyle(n, e, t), |
|
"" === n.getAttribute("style") && n.removeAttribute("style"), |
|
yb(r, n); |
|
}, |
|
e, |
|
t |
|
); |
|
}, |
|
yb = function (e, t) { |
|
"SPAN" === t.nodeName && 0 === e.getAttribs(t).length && e.remove(t, !0); |
|
}, |
|
Cb = function (e, t) { |
|
var n; |
|
1 === t.nodeType && |
|
t.parentNode && |
|
1 === t.parentNode.nodeType && |
|
((n = hc.getTextDecoration(e, t.parentNode)), |
|
e.getStyle(t, "color") && n |
|
? e.setStyle(t, "text-decoration", n) |
|
: e.getStyle(t, "text-decoration") === n && |
|
e.setStyle(t, "text-decoration", null)); |
|
}, |
|
xb = function (n, e, r, o) { |
|
db(e, function (t) { |
|
db(n.dom.select(t.inline, o), function (e) { |
|
mb(e) && lb(n, t, r, e, t.exact ? e : null); |
|
}), |
|
(function (r, e, t) { |
|
if (e.clear_child_styles) { |
|
var n = e.links ? "*:not(a)" : "*"; |
|
db(r.select(n, t), function (n) { |
|
mb(n) && |
|
db(e.styles, function (e, t) { |
|
r.setStyle(n, t, ""); |
|
}); |
|
}); |
|
} |
|
})(n.dom, t, o); |
|
}); |
|
}, |
|
wb = function (e, t, n, r) { |
|
(t.styles.color || t.styles.textDecoration) && |
|
(Jt.walk(r, d(Cb, e), "childNodes"), Cb(e, r)); |
|
}, |
|
Nb = function (e, t, n, r) { |
|
t.styles && |
|
t.styles.backgroundColor && |
|
hb( |
|
r, |
|
vb(e, "fontSize"), |
|
bb(e, "backgroundColor", hc.replaceVars(t.styles.backgroundColor, n)) |
|
); |
|
}, |
|
Eb = function (e, t, n, r) { |
|
("sub" !== t.inline && "sup" !== t.inline) || |
|
(hb(r, vb(e, "fontSize"), bb(e, "fontSize", "")), |
|
e.remove(e.select("sup" === t.inline ? "sub" : "sup", r), !0)); |
|
}, |
|
Sb = function (e, t, n, r) { |
|
r && |
|
!1 !== t.merge_siblings && |
|
((r = pb(e, hc.getNonWhiteSpaceSibling(r), r)), |
|
(r = pb(e, r, hc.getNonWhiteSpaceSibling(r, !0)))); |
|
}, |
|
kb = function (t, n, r, o, i) { |
|
(Om.matchNode(t, i.parentNode, r, o) && lb(t, n, o, i)) || |
|
(n.merge_with_parents && |
|
t.dom.getParent(i.parentNode, function (e) { |
|
if (Om.matchNode(t, e, r, o)) return lb(t, n, o, i), !0; |
|
})); |
|
}, |
|
Tb = Jt.each, |
|
Ab = function (g, p, h, r) { |
|
var e, |
|
t, |
|
v = g.formatter.get(p), |
|
b = v[0], |
|
o = !r && g.selection.isCollapsed(), |
|
i = g.dom, |
|
n = g.selection, |
|
y = function (n, e) { |
|
if (((e = e || b), n)) { |
|
if ( |
|
(e.onformat && e.onformat(n, e, h, r), |
|
Tb(e.styles, function (e, t) { |
|
i.setStyle(n, t, hc.replaceVars(e, h)); |
|
}), |
|
e.styles) |
|
) { |
|
var t = i.getAttrib(n, "style"); |
|
t && n.setAttribute("data-mce-style", t); |
|
} |
|
Tb(e.attributes, function (e, t) { |
|
i.setAttrib(n, t, hc.replaceVars(e, h)); |
|
}), |
|
Tb(e.classes, function (e) { |
|
(e = hc.replaceVars(e, h)), |
|
i.hasClass(n, e) || i.addClass(n, e); |
|
}); |
|
} |
|
}, |
|
C = function (e, t) { |
|
var n = !1; |
|
return ( |
|
!!b.selector && |
|
(Tb(e, function (e) { |
|
if (!("collapsed" in e && e.collapsed !== o)) |
|
return i.is(t, e.selector) && !ju(t) |
|
? (y(t, e), !(n = !0)) |
|
: void 0; |
|
}), |
|
n) |
|
); |
|
}, |
|
a = function (s, e, t, c) { |
|
var l, |
|
f, |
|
d = [], |
|
m = !0; |
|
(l = b.inline || b.block), |
|
(f = s.create(l)), |
|
y(f), |
|
_c(s, e, function (e) { |
|
var a, |
|
u = function (e) { |
|
var t, n, r, o; |
|
if ( |
|
((o = m), |
|
(t = e.nodeName.toLowerCase()), |
|
(n = e.parentNode.nodeName.toLowerCase()), |
|
1 === e.nodeType && |
|
s.getContentEditable(e) && |
|
((o = m), |
|
(m = "true" === s.getContentEditable(e)), |
|
(r = !0)), |
|
hc.isEq(t, "br")) |
|
) |
|
return (a = 0), void (b.block && s.remove(e)); |
|
if (b.wrapper && Om.matchNode(g, e, p, h)) a = 0; |
|
else { |
|
if ( |
|
m && |
|
!r && |
|
b.block && |
|
!b.wrapper && |
|
hc.isTextBlock(g, t) && |
|
hc.isValid(g, n, l) |
|
) |
|
return ( |
|
(e = s.rename(e, l)), y(e), d.push(e), void (a = 0) |
|
); |
|
if (b.selector) { |
|
var i = C(v, e); |
|
if (!b.inline || i) return void (a = 0); |
|
} |
|
!m || |
|
r || |
|
!hc.isValid(g, l, t) || |
|
!hc.isValid(g, n, l) || |
|
(!c && |
|
3 === e.nodeType && |
|
1 === e.nodeValue.length && |
|
65279 === e.nodeValue.charCodeAt(0)) || |
|
ju(e) || |
|
(b.inline && s.isBlock(e)) |
|
? ((a = 0), |
|
Tb(Jt.grep(e.childNodes), u), |
|
r && (m = o), |
|
(a = 0)) |
|
: (a || |
|
((a = s.clone(f, !1)), |
|
e.parentNode.insertBefore(a, e), |
|
d.push(a)), |
|
a.appendChild(e)); |
|
} |
|
}; |
|
Tb(e, u); |
|
}), |
|
!0 === b.links && |
|
Tb(d, function (e) { |
|
var t = function (e) { |
|
"A" === e.nodeName && y(e, b), Tb(Jt.grep(e.childNodes), t); |
|
}; |
|
t(e); |
|
}), |
|
Tb(d, function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a = function (e) { |
|
var n = !1; |
|
return ( |
|
Tb(e.childNodes, function (e) { |
|
if ( |
|
(t = e) && |
|
1 === t.nodeType && |
|
!dc(t) && |
|
!ju(t) && |
|
!Po.isBogus(t) |
|
) |
|
return (n = e), !1; |
|
var t; |
|
}), |
|
n |
|
); |
|
}; |
|
(n = 0), |
|
Tb(e.childNodes, function (e) { |
|
hc.isWhiteSpaceNode(e) || dc(e) || n++; |
|
}), |
|
(t = n), |
|
(!(1 < d.length) && s.isBlock(e)) || 0 !== t |
|
? (b.inline || b.wrapper) && |
|
(b.exact || |
|
1 !== t || |
|
((o = a((r = e))) && |
|
!dc(o) && |
|
Om.matchName(s, o, b) && |
|
((i = s.clone(o, !1)), |
|
y(i), |
|
s.replace(i, r, !0), |
|
s.remove(o, 1)), |
|
(e = i || r)), |
|
xb(g, v, h, e), |
|
kb(g, b, p, h, e), |
|
Nb(s, b, h, e), |
|
Eb(s, b, h, e), |
|
Sb(s, b, h, e)) |
|
: s.remove(e, 1); |
|
}); |
|
}; |
|
if ("false" !== i.getContentEditable(n.getNode())) { |
|
if (b) { |
|
if (r) |
|
r.nodeType |
|
? C(v, r) || |
|
((t = i.createRng()).setStartBefore(r), |
|
t.setEndAfter(r), |
|
a(i, Ac(g, t, v), 0, !0)) |
|
: a(i, r, 0, !0); |
|
else if ( |
|
o && |
|
b.inline && |
|
!i.select("td[data-mce-selected],th[data-mce-selected]").length |
|
) |
|
!(function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = e.selection; |
|
(a = (r = c.getRng(!0)).startOffset), |
|
(s = r.startContainer.nodeValue), |
|
(o = qu(e.getBody(), c.getStart())) && (i = zm(o)); |
|
var l, |
|
f, |
|
d = /[^\s\u00a0\u00ad\u200b\ufeff]/; |
|
s && |
|
0 < a && |
|
a < s.length && |
|
d.test(s.charAt(a)) && |
|
d.test(s.charAt(a - 1)) |
|
? ((u = c.getBookmark()), |
|
r.collapse(!0), |
|
(r = Ac(e, r, e.formatter.get(t))), |
|
(r = Im(r)), |
|
e.formatter.apply(t, n, r), |
|
c.moveToBookmark(u)) |
|
: ((o && i.nodeValue === Lm) || |
|
((l = e.getDoc()), |
|
(f = Um(!0).dom()), |
|
(i = (o = l.importNode(f, !0)).firstChild), |
|
r.insertNode(o), |
|
(a = 1)), |
|
e.formatter.apply(t, n, o), |
|
c.setCursorLocation(i, a)); |
|
})(g, p, h); |
|
else { |
|
var u = g.selection.getNode(); |
|
g.settings.forced_root_block || |
|
!v[0].defaultBlock || |
|
i.getParent(u, i.isBlock) || |
|
Ab(g, v[0].defaultBlock), |
|
g.selection.setRng(rl(g.selection.getRng())), |
|
(e = Vu.getPersistentBookmark(g.selection, !0)), |
|
a(i, Ac(g, n.getRng(), v)), |
|
b.styles && wb(i, b, h, u), |
|
n.moveToBookmark(e), |
|
hc.moveStart(i, n, n.getRng()), |
|
g.nodeChanged(); |
|
} |
|
eb(p, g); |
|
} |
|
} else { |
|
r = n.getNode(); |
|
for (var s = 0, c = v.length; s < c; s++) |
|
if (v[s].ceFalseOverride && i.is(r, v[s].selector)) |
|
return void y(r, v[s]); |
|
} |
|
}, |
|
Rb = { applyFormat: Ab }, |
|
_b = Jt.each, |
|
Db = function (e, t, n, r, o) { |
|
var i, a, u, s, c, l, f, d; |
|
null === t.get() && |
|
((a = e), |
|
(u = {}), |
|
(i = t).set({}), |
|
a.on("NodeChange", function (n) { |
|
var r = hc.getParents(a.dom, n.element), |
|
o = {}; |
|
(r = Jt.grep(r, function (e) { |
|
return 1 === e.nodeType && !e.getAttribute("data-mce-bogus"); |
|
})), |
|
_b(i.get(), function (e, n) { |
|
_b(r, function (t) { |
|
return a.formatter.matchNode(t, n, {}, e.similar) |
|
? (u[n] || |
|
(_b(e, function (e) { |
|
e(!0, { node: t, format: n, parents: r }); |
|
}), |
|
(u[n] = e)), |
|
(o[n] = e), |
|
!1) |
|
: !Om.matchesUnInheritedFormatSelector(a, t, n) && void 0; |
|
}); |
|
}), |
|
_b(u, function (e, t) { |
|
o[t] || |
|
(delete u[t], |
|
_b(e, function (e) { |
|
e(!1, { node: n.element, format: t, parents: r }); |
|
})); |
|
}); |
|
})), |
|
(c = n), |
|
(l = r), |
|
(f = o), |
|
(d = (s = t).get()), |
|
_b(c.split(","), function (e) { |
|
d[e] || ((d[e] = []), (d[e].similar = f)), d[e].push(l); |
|
}), |
|
s.set(d); |
|
}, |
|
Bb = { |
|
get: function (r) { |
|
var t = { |
|
valigntop: [{ selector: "td,th", styles: { verticalAlign: "top" } }], |
|
valignmiddle: [ |
|
{ selector: "td,th", styles: { verticalAlign: "middle" } }, |
|
], |
|
valignbottom: [ |
|
{ selector: "td,th", styles: { verticalAlign: "bottom" } }, |
|
], |
|
alignleft: [ |
|
{ |
|
selector: "figure.image", |
|
collapsed: !1, |
|
classes: "align-left", |
|
ceFalseOverride: !0, |
|
preview: "font-family font-size", |
|
}, |
|
{ |
|
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", |
|
styles: { textAlign: "left" }, |
|
inherit: !1, |
|
preview: !1, |
|
defaultBlock: "div", |
|
}, |
|
{ |
|
selector: "img,table", |
|
collapsed: !1, |
|
styles: { float: "left" }, |
|
preview: "font-family font-size", |
|
}, |
|
], |
|
aligncenter: [ |
|
{ |
|
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", |
|
styles: { textAlign: "center" }, |
|
inherit: !1, |
|
preview: "font-family font-size", |
|
defaultBlock: "div", |
|
}, |
|
{ |
|
selector: "figure.image", |
|
collapsed: !1, |
|
classes: "align-center", |
|
ceFalseOverride: !0, |
|
preview: "font-family font-size", |
|
}, |
|
{ |
|
selector: "img", |
|
collapsed: !1, |
|
styles: { |
|
display: "block", |
|
marginLeft: "auto", |
|
marginRight: "auto", |
|
}, |
|
preview: !1, |
|
}, |
|
{ |
|
selector: "table", |
|
collapsed: !1, |
|
styles: { marginLeft: "auto", marginRight: "auto" }, |
|
preview: "font-family font-size", |
|
}, |
|
], |
|
alignright: [ |
|
{ |
|
selector: "figure.image", |
|
collapsed: !1, |
|
classes: "align-right", |
|
ceFalseOverride: !0, |
|
preview: "font-family font-size", |
|
}, |
|
{ |
|
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", |
|
styles: { textAlign: "right" }, |
|
inherit: !1, |
|
preview: "font-family font-size", |
|
defaultBlock: "div", |
|
}, |
|
{ |
|
selector: "img,table", |
|
collapsed: !1, |
|
styles: { float: "right" }, |
|
preview: "font-family font-size", |
|
}, |
|
], |
|
alignjustify: [ |
|
{ |
|
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", |
|
styles: { textAlign: "justify" }, |
|
inherit: !1, |
|
defaultBlock: "div", |
|
preview: "font-family font-size", |
|
}, |
|
], |
|
bold: [ |
|
{ inline: "strong", remove: "all" }, |
|
{ inline: "span", styles: { fontWeight: "bold" } }, |
|
{ inline: "b", remove: "all" }, |
|
], |
|
italic: [ |
|
{ inline: "em", remove: "all" }, |
|
{ inline: "span", styles: { fontStyle: "italic" } }, |
|
{ inline: "i", remove: "all" }, |
|
], |
|
underline: [ |
|
{ |
|
inline: "span", |
|
styles: { textDecoration: "underline" }, |
|
exact: !0, |
|
}, |
|
{ inline: "u", remove: "all" }, |
|
], |
|
strikethrough: [ |
|
{ |
|
inline: "span", |
|
styles: { textDecoration: "line-through" }, |
|
exact: !0, |
|
}, |
|
{ inline: "strike", remove: "all" }, |
|
], |
|
forecolor: { |
|
inline: "span", |
|
styles: { color: "%value" }, |
|
links: !0, |
|
remove_similar: !0, |
|
clear_child_styles: !0, |
|
}, |
|
hilitecolor: { |
|
inline: "span", |
|
styles: { backgroundColor: "%value" }, |
|
links: !0, |
|
remove_similar: !0, |
|
clear_child_styles: !0, |
|
}, |
|
fontname: { |
|
inline: "span", |
|
toggle: !1, |
|
styles: { fontFamily: "%value" }, |
|
clear_child_styles: !0, |
|
}, |
|
fontsize: { |
|
inline: "span", |
|
toggle: !1, |
|
styles: { fontSize: "%value" }, |
|
clear_child_styles: !0, |
|
}, |
|
fontsize_class: { inline: "span", attributes: { class: "%value" } }, |
|
blockquote: { block: "blockquote", wrapper: 1, remove: "all" }, |
|
subscript: { inline: "sub" }, |
|
superscript: { inline: "sup" }, |
|
code: { inline: "code" }, |
|
link: { |
|
inline: "a", |
|
selector: "a", |
|
remove: "all", |
|
split: !0, |
|
deep: !0, |
|
onmatch: function () { |
|
return !0; |
|
}, |
|
onformat: function (n, e, t) { |
|
Jt.each(t, function (e, t) { |
|
r.setAttrib(n, t, e); |
|
}); |
|
}, |
|
}, |
|
removeformat: [ |
|
{ |
|
selector: |
|
"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins", |
|
remove: "all", |
|
split: !0, |
|
expand: !1, |
|
block_expand: !0, |
|
deep: !0, |
|
}, |
|
{ |
|
selector: "span", |
|
attributes: ["style", "class"], |
|
remove: "empty", |
|
split: !0, |
|
expand: !1, |
|
deep: !0, |
|
}, |
|
{ |
|
selector: "*", |
|
attributes: ["style", "class"], |
|
split: !1, |
|
expand: !1, |
|
deep: !0, |
|
}, |
|
], |
|
}; |
|
return ( |
|
Jt.each( |
|
"p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/), |
|
function (e) { |
|
t[e] = { block: e, remove: "all" }; |
|
} |
|
), |
|
t |
|
); |
|
}, |
|
}, |
|
Ob = Jt.each, |
|
Pb = bi.DOM, |
|
Ib = function (e, t) { |
|
var n, |
|
o, |
|
r, |
|
m = (t && t.schema) || ii({}), |
|
g = function (e) { |
|
var t, n, r; |
|
return ( |
|
(o = |
|
"string" == typeof e ? { name: e, classes: [], attrs: {} } : e), |
|
(t = Pb.create(o.name)), |
|
(n = t), |
|
(r = o).classes.length && Pb.addClass(n, r.classes.join(" ")), |
|
Pb.setAttribs(n, r.attrs), |
|
t |
|
); |
|
}, |
|
p = function (n, e, t) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = 0 < e.length && e[0], |
|
d = f && f.name; |
|
if ( |
|
((u = d), |
|
(s = "string" != typeof (a = n) ? a.nodeName.toLowerCase() : a), |
|
(c = m.getElementRule(s)), |
|
(i = |
|
!(!(l = c && c.parentsRequired) || !l.length) && |
|
(u && -1 !== Jt.inArray(l, u) ? u : l[0]))) |
|
) |
|
d === i ? ((o = e[0]), (e = e.slice(1))) : (o = i); |
|
else if (f) (o = e[0]), (e = e.slice(1)); |
|
else if (!t) return n; |
|
return ( |
|
o && (r = g(o)).appendChild(n), |
|
t && |
|
(r || (r = Pb.create("div")).appendChild(n), |
|
Jt.each(t, function (e) { |
|
var t = g(e); |
|
r.insertBefore(t, n); |
|
})), |
|
p(r, e, o && o.siblings) |
|
); |
|
}; |
|
return e && e.length |
|
? ((o = e[0]), |
|
(n = g(o)), |
|
(r = Pb.create("div")).appendChild(p(n, e.slice(1), o.siblings)), |
|
r) |
|
: ""; |
|
}, |
|
Lb = function (e) { |
|
var t, |
|
a = { classes: [], attrs: {} }; |
|
return ( |
|
"*" !== (e = a.selector = Jt.trim(e)) && |
|
(t = e.replace( |
|
/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g, |
|
function (e, t, n, r, o) { |
|
switch (t) { |
|
case "#": |
|
a.attrs.id = n; |
|
break; |
|
case ".": |
|
a.classes.push(n); |
|
break; |
|
case ":": |
|
-1 !== |
|
Jt.inArray( |
|
"checked disabled enabled read-only required".split(" "), |
|
n |
|
) && (a.attrs[n] = n); |
|
} |
|
if ("[" === r) { |
|
var i = o.match(/([\w\-]+)(?:\=\"([^\"]+))?/); |
|
i && (a.attrs[i[1]] = i[2]); |
|
} |
|
return ""; |
|
} |
|
)), |
|
(a.name = t || "div"), |
|
a |
|
); |
|
}, |
|
Mb = function (e) { |
|
return e && "string" == typeof e |
|
? ((e = (e = e.split(/\s*,\s*/)[0]).replace( |
|
/\s*(~\+|~|\+|>)\s*/g, |
|
"$1" |
|
)), |
|
Jt.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/), function (e) { |
|
var t = Jt.map(e.split(/(?:~\+|~|\+)/), Lb), |
|
n = t.pop(); |
|
return t.length && (n.siblings = t), n; |
|
}).reverse()) |
|
: []; |
|
}, |
|
Fb = function (n, e) { |
|
var t, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = ""; |
|
if (!1 === (u = n.settings.preview_styles)) return ""; |
|
"string" != typeof u && |
|
(u = |
|
"font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"); |
|
var c = function (e) { |
|
return e.replace(/%(\w+)/g, ""); |
|
}; |
|
if ("string" == typeof e) { |
|
if (!(e = n.formatter.get(e))) return; |
|
e = e[0]; |
|
} |
|
return "preview" in e && !1 === (u = e.preview) |
|
? "" |
|
: ((t = e.block || e.inline || "span"), |
|
(i = Mb(e.selector)).length |
|
? (i[0].name || (i[0].name = t), (t = e.selector), (r = Ib(i, n))) |
|
: (r = Ib([t], n)), |
|
(o = Pb.select(t, r)[0] || r.firstChild), |
|
Ob(e.styles, function (e, t) { |
|
(e = c(e)) && Pb.setStyle(o, t, e); |
|
}), |
|
Ob(e.attributes, function (e, t) { |
|
(e = c(e)) && Pb.setAttrib(o, t, e); |
|
}), |
|
Ob(e.classes, function (e) { |
|
(e = c(e)), Pb.hasClass(o, e) || Pb.addClass(o, e); |
|
}), |
|
n.fire("PreviewFormats"), |
|
Pb.setStyles(r, { position: "absolute", left: -65535 }), |
|
n.getBody().appendChild(r), |
|
(a = Pb.getStyle(n.getBody(), "fontSize", !0)), |
|
(a = /px$/.test(a) ? parseInt(a, 10) : 0), |
|
Ob(u.split(" "), function (e) { |
|
var t = Pb.getStyle(o, e, !0); |
|
if ( |
|
!( |
|
("background-color" === e && |
|
/transparent|rgba\s*\([^)]+,\s*0\)/.test(t) && |
|
((t = Pb.getStyle(n.getBody(), e, !0)), |
|
"#ffffff" === Pb.toHex(t).toLowerCase())) || |
|
("color" === e && "#000000" === Pb.toHex(t).toLowerCase()) |
|
) |
|
) { |
|
if ("font-size" === e && /em|%$/.test(t)) { |
|
if (0 === a) return; |
|
t = (parseFloat(t) / (/%$/.test(t) ? 100 : 1)) * a + "px"; |
|
} |
|
"border" === e && t && (s += "padding:0 2px;"), |
|
(s += e + ":" + t + ";"); |
|
} |
|
}), |
|
n.fire("AfterPreviewFormats"), |
|
Pb.remove(r), |
|
s); |
|
}, |
|
zb = function (e, t, n, r, o) { |
|
var i = t.get(n); |
|
!Om.match(e, n, r, o) || ("toggle" in i[0] && !i[0].toggle) |
|
? Rb.applyFormat(e, n, r, o) |
|
: fb(e, n, r, o); |
|
}, |
|
Ub = function (e) { |
|
e.addShortcut("meta+b", "", "Bold"), |
|
e.addShortcut("meta+i", "", "Italic"), |
|
e.addShortcut("meta+u", "", "Underline"); |
|
for (var t = 1; t <= 6; t++) |
|
e.addShortcut("access+" + t, "", ["FormatBlock", !1, "h" + t]); |
|
e.addShortcut("access+7", "", ["FormatBlock", !1, "p"]), |
|
e.addShortcut("access+8", "", ["FormatBlock", !1, "div"]), |
|
e.addShortcut("access+9", "", ["FormatBlock", !1, "address"]); |
|
}; |
|
function Vb(e) { |
|
var t, |
|
n, |
|
r, |
|
o = |
|
((t = e), |
|
(n = {}), |
|
(r = function (e, t) { |
|
e && |
|
("string" != typeof e |
|
? Jt.each(e, function (e, t) { |
|
r(t, e); |
|
}) |
|
: ((t = t.length ? t : [t]), |
|
Jt.each(t, function (e) { |
|
"undefined" == typeof e.deep && (e.deep = !e.selector), |
|
"undefined" == typeof e.split && |
|
(e.split = !e.selector || e.inline), |
|
"undefined" == typeof e.remove && |
|
e.selector && |
|
!e.inline && |
|
(e.remove = "none"), |
|
e.selector && |
|
e.inline && |
|
((e.mixed = !0), (e.block_expand = !0)), |
|
"string" == typeof e.classes && |
|
(e.classes = e.classes.split(/\s+/)); |
|
}), |
|
(n[e] = t))); |
|
})(Bb.get(t.dom)), |
|
r(t.settings.formats), |
|
{ |
|
get: function (e) { |
|
return e ? n[e] : n; |
|
}, |
|
register: r, |
|
unregister: function (e) { |
|
return e && n[e] && delete n[e], n; |
|
}, |
|
}), |
|
i = Li(null); |
|
return ( |
|
Ub(e), |
|
Wm(e), |
|
{ |
|
get: o.get, |
|
register: o.register, |
|
unregister: o.unregister, |
|
apply: d(Rb.applyFormat, e), |
|
remove: d(fb, e), |
|
toggle: d(zb, e, o), |
|
match: d(Om.match, e), |
|
matchAll: d(Om.matchAll, e), |
|
matchNode: d(Om.matchNode, e), |
|
canApply: d(Om.canApply, e), |
|
formatChanged: d(Db, e, i), |
|
getCssText: d(Fb, e), |
|
} |
|
); |
|
} |
|
var Hb, |
|
jb = Object.prototype.hasOwnProperty, |
|
qb = |
|
((Hb = function (e, t) { |
|
return t; |
|
}), |
|
function () { |
|
for (var e = new Array(arguments.length), t = 0; t < e.length; t++) |
|
e[t] = arguments[t]; |
|
if (0 === e.length) throw new Error("Can't merge zero objects"); |
|
for (var n = {}, r = 0; r < e.length; r++) { |
|
var o = e[r]; |
|
for (var i in o) jb.call(o, i) && (n[i] = Hb(n[i], o[i])); |
|
} |
|
return n; |
|
}), |
|
$b = { |
|
register: function (t, s, c) { |
|
t.addAttributeFilter("data-mce-tabindex", function (e, t) { |
|
for (var n, r = e.length; r--; ) |
|
(n = e[r]).attr("tabindex", n.attributes.map["data-mce-tabindex"]), |
|
n.attr(t, null); |
|
}), |
|
t.addAttributeFilter("src,href,style", function (e, t) { |
|
for ( |
|
var n, |
|
r, |
|
o = e.length, |
|
i = "data-mce-" + t, |
|
a = s.url_converter, |
|
u = s.url_converter_scope; |
|
o--; |
|
|
|
) |
|
(r = (n = e[o]).attributes.map[i]) !== undefined |
|
? (n.attr(t, 0 < r.length ? r : null), n.attr(i, null)) |
|
: ((r = n.attributes.map[t]), |
|
"style" === t |
|
? (r = c.serializeStyle(c.parseStyle(r), n.name)) |
|
: a && (r = a.call(u, r, t, n.name)), |
|
n.attr(t, 0 < r.length ? r : null)); |
|
}), |
|
t.addAttributeFilter("class", function (e) { |
|
for (var t, n, r = e.length; r--; ) |
|
(n = (t = e[r]).attr("class")) && |
|
((n = t |
|
.attr("class") |
|
.replace(/(?:^|\s)mce-item-\w+(?!\S)/g, "")), |
|
t.attr("class", 0 < n.length ? n : null)); |
|
}), |
|
t.addAttributeFilter("data-mce-type", function (e, t, n) { |
|
for (var r, o = e.length; o--; ) |
|
"bookmark" !== (r = e[o]).attributes.map["data-mce-type"] || |
|
n.cleanup || |
|
(A.from(r.firstChild).exists(function (e) { |
|
return !da(e.value); |
|
}) |
|
? r.unwrap() |
|
: r.remove()); |
|
}), |
|
t.addNodeFilter("noscript", function (e) { |
|
for (var t, n = e.length; n--; ) |
|
(t = e[n].firstChild) && (t.value = Xo.decode(t.value)); |
|
}), |
|
t.addNodeFilter("script,style", function (e, t) { |
|
for ( |
|
var n, |
|
r, |
|
o, |
|
i = e.length, |
|
a = function (e) { |
|
return e |
|
.replace(/(<!--\[CDATA\[|\]\]-->)/g, "\n") |
|
.replace(/^[\r\n]*|[\r\n]*$/g, "") |
|
.replace( |
|
/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi, |
|
"" |
|
) |
|
.replace( |
|
/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g, |
|
"" |
|
); |
|
}; |
|
i--; |
|
|
|
) |
|
(r = (n = e[i]).firstChild ? n.firstChild.value : ""), |
|
"script" === t |
|
? ((o = n.attr("type")) && |
|
n.attr( |
|
"type", |
|
"mce-no/type" === o ? null : o.replace(/^mce\-/, "") |
|
), |
|
"xhtml" === s.element_format && |
|
0 < r.length && |
|
(n.firstChild.value = |
|
"// <![CDATA[\n" + a(r) + "\n// ]]>")) |
|
: "xhtml" === s.element_format && |
|
0 < r.length && |
|
(n.firstChild.value = "\x3c!--\n" + a(r) + "\n--\x3e"); |
|
}), |
|
t.addNodeFilter("#comment", function (e) { |
|
for (var t, n = e.length; n--; ) |
|
0 === (t = e[n]).value.indexOf("[CDATA[") |
|
? ((t.name = "#cdata"), |
|
(t.type = 4), |
|
(t.value = t.value.replace(/^\[CDATA\[|\]\]$/g, ""))) |
|
: 0 === t.value.indexOf("mce:protected ") && |
|
((t.name = "#text"), |
|
(t.type = 3), |
|
(t.raw = !0), |
|
(t.value = unescape(t.value).substr(14))); |
|
}), |
|
t.addNodeFilter("xml:namespace,input", function (e, t) { |
|
for (var n, r = e.length; r--; ) |
|
7 === (n = e[r]).type |
|
? n.remove() |
|
: 1 === n.type && |
|
("input" !== t || |
|
"type" in n.attributes.map || |
|
n.attr("type", "text")); |
|
}), |
|
t.addAttributeFilter("data-mce-type", function (e) { |
|
U(e, function (e) { |
|
"format-caret" === e.attr("data-mce-type") && |
|
(e.isEmpty(t.schema.getNonEmptyElements()) |
|
? e.remove() |
|
: e.unwrap()); |
|
}); |
|
}), |
|
t.addAttributeFilter( |
|
"data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize", |
|
function (e, t) { |
|
for (var n = e.length; n--; ) e[n].attr(t, null); |
|
} |
|
); |
|
}, |
|
trimTrailingBr: function (e) { |
|
var t, |
|
n, |
|
r = function (e) { |
|
return e && "br" === e.name; |
|
}; |
|
r((t = e.lastChild)) && r((n = t.prev)) && (t.remove(), n.remove()); |
|
}, |
|
}, |
|
Wb = { |
|
process: function (e, t, n) { |
|
return ( |
|
(f = n), |
|
(l = e) && l.hasEventListeners("PreProcess") && !f.no_events |
|
? ((o = t), |
|
(i = n), |
|
(c = (r = e).dom), |
|
(o = o.cloneNode(!0)), |
|
(a = H.document.implementation).createHTMLDocument && |
|
((u = a.createHTMLDocument("")), |
|
Jt.each( |
|
"BODY" === o.nodeName ? o.childNodes : [o], |
|
function (e) { |
|
u.body.appendChild(u.importNode(e, !0)); |
|
} |
|
), |
|
(o = "BODY" !== o.nodeName ? u.body.firstChild : u.body), |
|
(s = c.doc), |
|
(c.doc = u)), |
|
dp(r, qb(i, { node: o })), |
|
s && (c.doc = s), |
|
o) |
|
: t |
|
); |
|
var r, o, i, a, u, s, c, l, f; |
|
}, |
|
}, |
|
Kb = function (e, a, u) { |
|
e.addNodeFilter("font", function (e) { |
|
U(e, function (e) { |
|
var t, |
|
n = a.parse(e.attr("style")), |
|
r = e.attr("color"), |
|
o = e.attr("face"), |
|
i = e.attr("size"); |
|
r && (n.color = r), |
|
o && (n["font-family"] = o), |
|
i && (n["font-size"] = u[parseInt(e.attr("size"), 10) - 1]), |
|
(e.name = "span"), |
|
e.attr("style", a.serialize(n)), |
|
(t = e), |
|
U(["color", "face", "size"], function (e) { |
|
t.attr(e, null); |
|
}); |
|
}); |
|
}); |
|
}, |
|
Xb = function (e, t) { |
|
var n, |
|
r = ui(); |
|
t.convert_fonts_to_spans && |
|
Kb(e, r, Jt.explode(t.font_size_legacy_values)), |
|
(n = r), |
|
e.addNodeFilter("strike", function (e) { |
|
U(e, function (e) { |
|
var t = n.parse(e.attr("style")); |
|
(t["text-decoration"] = "line-through"), |
|
(e.name = "span"), |
|
e.attr("style", n.serialize(t)); |
|
}); |
|
}); |
|
}, |
|
Yb = { |
|
register: function (e, t) { |
|
t.inline_styles && Xb(e, t); |
|
}, |
|
}, |
|
Gb = /^[ \t\r\n]*$/, |
|
Jb = { |
|
"#text": 3, |
|
"#comment": 8, |
|
"#cdata": 4, |
|
"#pi": 7, |
|
"#doctype": 10, |
|
"#document-fragment": 11, |
|
}, |
|
Qb = function (e, t, n) { |
|
var r, |
|
o, |
|
i = n ? "lastChild" : "firstChild", |
|
a = n ? "prev" : "next"; |
|
if (e[i]) return e[i]; |
|
if (e !== t) { |
|
if ((r = e[a])) return r; |
|
for (o = e.parent; o && o !== t; o = o.parent) if ((r = o[a])) return r; |
|
} |
|
}, |
|
Zb = (function () { |
|
function a(e, t) { |
|
(this.name = e), |
|
1 === (this.type = t) && |
|
((this.attributes = []), (this.attributes.map = {})); |
|
} |
|
return ( |
|
(a.create = function (e, t) { |
|
var n, r; |
|
if (((n = new a(e, Jb[e] || 1)), t)) for (r in t) n.attr(r, t[r]); |
|
return n; |
|
}), |
|
(a.prototype.replace = function (e) { |
|
return ( |
|
e.parent && e.remove(), this.insert(e, this), this.remove(), this |
|
); |
|
}), |
|
(a.prototype.attr = function (e, t) { |
|
var n, r; |
|
if ("string" != typeof e) { |
|
for (r in e) this.attr(r, e[r]); |
|
return this; |
|
} |
|
if ((n = this.attributes)) { |
|
if (t !== undefined) { |
|
if (null === t) { |
|
if (e in n.map) |
|
for (delete n.map[e], r = n.length; r--; ) |
|
if (n[r].name === e) return (n = n.splice(r, 1)), this; |
|
return this; |
|
} |
|
if (e in n.map) { |
|
for (r = n.length; r--; ) |
|
if (n[r].name === e) { |
|
n[r].value = t; |
|
break; |
|
} |
|
} else n.push({ name: e, value: t }); |
|
return (n.map[e] = t), this; |
|
} |
|
return n.map[e]; |
|
} |
|
}), |
|
(a.prototype.clone = function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o, |
|
i = new a(this.name, this.type); |
|
if ((n = this.attributes)) { |
|
for ((o = []).map = {}, e = 0, t = n.length; e < t; e++) |
|
"id" !== (r = n[e]).name && |
|
((o[o.length] = { name: r.name, value: r.value }), |
|
(o.map[r.name] = r.value)); |
|
i.attributes = o; |
|
} |
|
return (i.value = this.value), (i.shortEnded = this.shortEnded), i; |
|
}), |
|
(a.prototype.wrap = function (e) { |
|
return this.parent.insert(e, this), e.append(this), this; |
|
}), |
|
(a.prototype.unwrap = function () { |
|
var e, t; |
|
for (e = this.firstChild; e; ) |
|
(t = e.next), this.insert(e, this, !0), (e = t); |
|
this.remove(); |
|
}), |
|
(a.prototype.remove = function () { |
|
var e = this.parent, |
|
t = this.next, |
|
n = this.prev; |
|
return ( |
|
e && |
|
(e.firstChild === this |
|
? (e.firstChild = t) && (t.prev = null) |
|
: (n.next = t), |
|
e.lastChild === this |
|
? (e.lastChild = n) && (n.next = null) |
|
: (t.prev = n), |
|
(this.parent = this.next = this.prev = null)), |
|
this |
|
); |
|
}), |
|
(a.prototype.append = function (e) { |
|
var t; |
|
return ( |
|
e.parent && e.remove(), |
|
(t = this.lastChild) |
|
? (((t.next = e).prev = t), (this.lastChild = e)) |
|
: (this.lastChild = this.firstChild = e), |
|
(e.parent = this), |
|
e |
|
); |
|
}), |
|
(a.prototype.insert = function (e, t, n) { |
|
var r; |
|
return ( |
|
e.parent && e.remove(), |
|
(r = t.parent || this), |
|
n |
|
? (t === r.firstChild ? (r.firstChild = e) : (t.prev.next = e), |
|
(e.prev = t.prev), |
|
((e.next = t).prev = e)) |
|
: (t === r.lastChild ? (r.lastChild = e) : (t.next.prev = e), |
|
(e.next = t.next), |
|
((e.prev = t).next = e)), |
|
(e.parent = r), |
|
e |
|
); |
|
}), |
|
(a.prototype.getAll = function (e) { |
|
var t, |
|
n = []; |
|
for (t = this.firstChild; t; t = Qb(t, this)) |
|
t.name === e && n.push(t); |
|
return n; |
|
}), |
|
(a.prototype.empty = function () { |
|
var e, t, n; |
|
if (this.firstChild) { |
|
for (e = [], n = this.firstChild; n; n = Qb(n, this)) e.push(n); |
|
for (t = e.length; t--; ) |
|
(n = e[t]).parent = |
|
n.firstChild = |
|
n.lastChild = |
|
n.next = |
|
n.prev = |
|
null; |
|
} |
|
return (this.firstChild = this.lastChild = null), this; |
|
}), |
|
(a.prototype.isEmpty = function (e, t, n) { |
|
var r, |
|
o, |
|
i = this.firstChild; |
|
if (((t = t || {}), i)) |
|
do { |
|
if (1 === i.type) { |
|
if (i.attributes.map["data-mce-bogus"]) continue; |
|
if (e[i.name]) return !1; |
|
for (r = i.attributes.length; r--; ) |
|
if ( |
|
"name" === (o = i.attributes[r].name) || |
|
0 === o.indexOf("data-mce-bookmark") |
|
) |
|
return !1; |
|
} |
|
if (8 === i.type) return !1; |
|
if (3 === i.type && !Gb.test(i.value)) return !1; |
|
if ( |
|
3 === i.type && |
|
i.parent && |
|
t[i.parent.name] && |
|
Gb.test(i.value) |
|
) |
|
return !1; |
|
if (n && n(i)) return !1; |
|
} while ((i = Qb(i, this))); |
|
return !0; |
|
}), |
|
(a.prototype.walk = function (e) { |
|
return Qb(this, null, e); |
|
}), |
|
a |
|
); |
|
})(), |
|
ey = function (e, t, n, r) { |
|
(e.padd_empty_with_br || t.insert) && n[r.name] |
|
? (r.empty().append(new Zb("br", 1)).shortEnded = !0) |
|
: (r.empty().append(new Zb("#text", 3)).value = "\xa0"); |
|
}, |
|
ty = function (e) { |
|
return ny(e, "#text") && "\xa0" === e.firstChild.value; |
|
}, |
|
ny = function (e, t) { |
|
return ( |
|
e && |
|
e.firstChild && |
|
e.firstChild === e.lastChild && |
|
e.firstChild.name === t |
|
); |
|
}, |
|
ry = function (r, e, t, n) { |
|
return n.isEmpty(e, t, function (e) { |
|
return (t = e), (n = r.getElementRule(t.name)) && n.paddEmpty; |
|
var t, n; |
|
}); |
|
}, |
|
oy = function (e, t) { |
|
return e && (t[e.name] || "br" === e.name); |
|
}, |
|
iy = function (e, p) { |
|
var h = e.schema; |
|
p.remove_trailing_brs && |
|
e.addNodeFilter("br", function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f = e.length, |
|
d = Jt.extend({}, h.getBlockElements()), |
|
m = h.getNonEmptyElements(), |
|
g = h.getNonEmptyElements(); |
|
for (d.body = 1, r = 0; r < f; r++) |
|
if ( |
|
((i = (o = e[r]).parent), d[o.parent.name] && o === i.lastChild) |
|
) { |
|
for (u = o.prev; u; ) { |
|
if ( |
|
"span" !== (s = u.name) || |
|
"bookmark" !== u.attr("data-mce-type") |
|
) { |
|
if ("br" !== s) break; |
|
if ("br" === s) { |
|
o = null; |
|
break; |
|
} |
|
} |
|
u = u.prev; |
|
} |
|
o && |
|
(o.remove(), |
|
ry(h, m, g, i) && |
|
(c = h.getElementRule(i.name)) && |
|
(c.removeEmpty ? i.remove() : c.paddEmpty && ey(p, n, d, i))); |
|
} else { |
|
for ( |
|
a = o; |
|
i && |
|
i.firstChild === a && |
|
i.lastChild === a && |
|
!d[(a = i).name]; |
|
|
|
) |
|
i = i.parent; |
|
a === i && |
|
!0 !== p.padd_empty_with_br && |
|
(((l = new Zb("#text", 3)).value = "\xa0"), o.replace(l)); |
|
} |
|
}), |
|
e.addAttributeFilter("href", function (e) { |
|
var t, |
|
n, |
|
r, |
|
o = e.length; |
|
if (!p.allow_unsafe_link_target) |
|
for (; o--; ) |
|
"a" === (t = e[o]).name && |
|
"_blank" === t.attr("target") && |
|
t.attr( |
|
"rel", |
|
((n = t.attr("rel")), |
|
(r = n ? Jt.trim(n) : ""), |
|
/\b(noopener)\b/g.test(r) |
|
? r |
|
: r |
|
.split(" ") |
|
.filter(function (e) { |
|
return 0 < e.length; |
|
}) |
|
.concat(["noopener"]) |
|
.sort() |
|
.join(" ")) |
|
); |
|
}), |
|
p.allow_html_in_named_anchor || |
|
e.addAttributeFilter("id,name", function (e) { |
|
for (var t, n, r, o, i = e.length; i--; ) |
|
if ("a" === (o = e[i]).name && o.firstChild && !o.attr("href")) |
|
for ( |
|
r = o.parent, t = o.lastChild; |
|
(n = t.prev), r.insert(t, o), (t = n); |
|
|
|
); |
|
}), |
|
p.fix_list_elements && |
|
e.addNodeFilter("ul,ol", function (e) { |
|
for (var t, n, r = e.length; r--; ) |
|
if ("ul" === (n = (t = e[r]).parent).name || "ol" === n.name) |
|
if (t.prev && "li" === t.prev.name) t.prev.append(t); |
|
else { |
|
var o = new Zb("li", 1); |
|
o.attr("style", "list-style-type: none"), t.wrap(o); |
|
} |
|
}), |
|
p.validate && |
|
h.getValidClasses() && |
|
e.addAttributeFilter("class", function (e) { |
|
for ( |
|
var t, n, r, o, i, a, u, s = e.length, c = h.getValidClasses(); |
|
s--; |
|
|
|
) { |
|
for ( |
|
n = (t = e[s]).attr("class").split(" "), i = "", r = 0; |
|
r < n.length; |
|
r++ |
|
) |
|
(o = n[r]), |
|
(u = !1), |
|
(a = c["*"]) && a[o] && (u = !0), |
|
(a = c[t.name]), |
|
!u && a && a[o] && (u = !0), |
|
u && (i && (i += " "), (i += o)); |
|
i.length || (i = null), t.attr("class", i); |
|
} |
|
}); |
|
}, |
|
ay = Jt.makeMap, |
|
uy = Jt.each, |
|
sy = Jt.explode, |
|
cy = Jt.extend; |
|
function ly(k, T) { |
|
void 0 === T && (T = ii()); |
|
var A = {}, |
|
R = [], |
|
_ = {}, |
|
D = {}; |
|
((k = k || {}).validate = !("validate" in k) || k.validate), |
|
(k.root_name = k.root_name || "body"); |
|
var B = function (e) { |
|
var t, n, r; |
|
(n = e.name) in A && ((r = _[n]) ? r.push(e) : (_[n] = [e])), |
|
(t = R.length); |
|
for (; t--; ) |
|
(n = R[t].name) in e.attributes.map && |
|
((r = D[n]) ? r.push(e) : (D[n] = [e])); |
|
return e; |
|
}, |
|
e = { |
|
schema: T, |
|
addAttributeFilter: function (e, n) { |
|
uy(sy(e), function (e) { |
|
var t; |
|
for (t = 0; t < R.length; t++) |
|
if (R[t].name === e) return void R[t].callbacks.push(n); |
|
R.push({ name: e, callbacks: [n] }); |
|
}); |
|
}, |
|
getAttributeFilters: function () { |
|
return [].concat(R); |
|
}, |
|
addNodeFilter: function (e, n) { |
|
uy(sy(e), function (e) { |
|
var t = A[e]; |
|
t || (A[e] = t = []), t.push(n); |
|
}); |
|
}, |
|
getNodeFilters: function () { |
|
var e = []; |
|
for (var t in A) |
|
A.hasOwnProperty(t) && e.push({ name: t, callbacks: A[t] }); |
|
return e; |
|
}, |
|
filterNode: B, |
|
parse: function (e, a) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m = []; |
|
(a = a || {}), |
|
(_ = {}), |
|
(D = {}), |
|
(l = cy( |
|
ay("script,style,head,html,body,title,meta,param"), |
|
T.getBlockElements() |
|
)); |
|
var g = T.getNonEmptyElements(), |
|
p = T.children, |
|
h = k.validate, |
|
v = |
|
"forced_root_block" in a |
|
? a.forced_root_block |
|
: k.forced_root_block, |
|
b = T.getWhiteSpaceElements(), |
|
y = /^[ \t\r\n]+/, |
|
C = /[ \t\r\n]+$/, |
|
x = /[ \t\r\n]+/g, |
|
w = /^[ \t\r\n]+$/; |
|
f = b.hasOwnProperty(a.context) || b.hasOwnProperty(k.root_name); |
|
var N = function (e, t) { |
|
var n, |
|
r = new Zb(e, t); |
|
return e in A && ((n = _[e]) ? n.push(r) : (_[e] = [r])), r; |
|
}, |
|
E = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i = T.getBlockElements(); |
|
for (t = e.prev; t && 3 === t.type; ) { |
|
if (0 < (r = t.value.replace(C, "")).length) |
|
return void (t.value = r); |
|
if ((n = t.next)) { |
|
if (3 === n.type && n.value.length) { |
|
t = t.prev; |
|
continue; |
|
} |
|
if (!i[n.name] && "script" !== n.name && "style" !== n.name) { |
|
t = t.prev; |
|
continue; |
|
} |
|
} |
|
(o = t.prev), t.remove(), (t = o); |
|
} |
|
}; |
|
t = Rv( |
|
{ |
|
validate: h, |
|
allow_script_urls: k.allow_script_urls, |
|
allow_conditional_comments: k.allow_conditional_comments, |
|
self_closing_elements: (function (e) { |
|
var t, |
|
n = {}; |
|
for (t in e) "li" !== t && "p" !== t && (n[t] = e[t]); |
|
return n; |
|
})(T.getSelfClosingElements()), |
|
cdata: function (e) { |
|
d.append(N("#cdata", 4)).value = e; |
|
}, |
|
text: function (e, t) { |
|
var n; |
|
f || |
|
((e = e.replace(x, " ")), |
|
oy(d.lastChild, l) && (e = e.replace(y, ""))), |
|
0 !== e.length && |
|
(((n = N("#text", 3)).raw = !!t), (d.append(n).value = e)); |
|
}, |
|
comment: function (e) { |
|
d.append(N("#comment", 8)).value = e; |
|
}, |
|
pi: function (e, t) { |
|
(d.append(N(e, 7)).value = t), E(d); |
|
}, |
|
doctype: function (e) { |
|
(d.append(N("#doctype", 10)).value = e), E(d); |
|
}, |
|
start: function (e, t, n) { |
|
var r, o, i, a, u; |
|
if ((i = h ? T.getElementRule(e) : {})) { |
|
for ( |
|
(r = N(i.outputName || e, 1)).attributes = t, |
|
r.shortEnded = n, |
|
d.append(r), |
|
(u = p[d.name]) && p[r.name] && !u[r.name] && m.push(r), |
|
o = R.length; |
|
o--; |
|
|
|
) |
|
(a = R[o].name) in t.map && |
|
((s = D[a]) ? s.push(r) : (D[a] = [r])); |
|
l[e] && E(r), n || (d = r), !f && b[e] && (f = !0); |
|
} |
|
}, |
|
end: function (e) { |
|
var t, n, r, o, i; |
|
if ((n = h ? T.getElementRule(e) : {})) { |
|
if (l[e] && !f) { |
|
if ((t = d.firstChild) && 3 === t.type) |
|
if (0 < (r = t.value.replace(y, "")).length) |
|
(t.value = r), (t = t.next); |
|
else |
|
for (o = t.next, t.remove(), t = o; t && 3 === t.type; ) |
|
(r = t.value), |
|
(o = t.next), |
|
(0 === r.length || w.test(r)) && |
|
(t.remove(), (t = o)), |
|
(t = o); |
|
if ((t = d.lastChild) && 3 === t.type) |
|
if (0 < (r = t.value.replace(C, "")).length) |
|
(t.value = r), (t = t.prev); |
|
else |
|
for (o = t.prev, t.remove(), t = o; t && 3 === t.type; ) |
|
(r = t.value), |
|
(o = t.prev), |
|
(0 === r.length || w.test(r)) && |
|
(t.remove(), (t = o)), |
|
(t = o); |
|
} |
|
if ( |
|
(f && b[e] && (f = !1), |
|
n.removeEmpty && |
|
ry(T, g, b, d) && |
|
!d.attributes.map.name && |
|
!d.attr("id")) |
|
) |
|
return ( |
|
(i = d.parent), |
|
l[d.name] ? d.empty().remove() : d.unwrap(), |
|
void (d = i) |
|
); |
|
n.paddEmpty && (ty(d) || ry(T, g, b, d)) && ey(k, a, l, d), |
|
(d = d.parent); |
|
} |
|
}, |
|
}, |
|
T |
|
); |
|
var S = (d = new Zb(a.context || k.root_name, 11)); |
|
if ( |
|
(t.parse(e), |
|
h && |
|
m.length && |
|
(a.context |
|
? (a.invalid = !0) |
|
: (function (e) { |
|
var t, n, r, o, i, a, u, s, c, l, f, d, m, g, p, h; |
|
for ( |
|
d = ay("tr,td,th,tbody,thead,tfoot,table"), |
|
l = T.getNonEmptyElements(), |
|
f = T.getWhiteSpaceElements(), |
|
m = T.getTextBlockElements(), |
|
g = T.getSpecialElements(), |
|
t = 0; |
|
t < e.length; |
|
t++ |
|
) |
|
if ((n = e[t]).parent && !n.fixed) |
|
if (m[n.name] && "li" === n.parent.name) { |
|
for (p = n.next; p && m[p.name]; ) |
|
(p.name = "li"), |
|
(p.fixed = !0), |
|
n.parent.insert(p, n.parent), |
|
(p = p.next); |
|
n.unwrap(n); |
|
} else { |
|
for ( |
|
o = [n], r = n.parent; |
|
r && !T.isValidChild(r.name, n.name) && !d[r.name]; |
|
r = r.parent |
|
) |
|
o.push(r); |
|
if (r && 1 < o.length) { |
|
for ( |
|
o.reverse(), i = a = B(o[0].clone()), c = 0; |
|
c < o.length - 1; |
|
c++ |
|
) { |
|
for ( |
|
T.isValidChild(a.name, o[c].name) |
|
? ((u = B(o[c].clone())), a.append(u)) |
|
: (u = a), |
|
s = o[c].firstChild; |
|
s && s !== o[c + 1]; |
|
|
|
) |
|
(h = s.next), u.append(s), (s = h); |
|
a = u; |
|
} |
|
ry(T, l, f, i) |
|
? r.insert(n, o[0], !0) |
|
: (r.insert(i, o[0], !0), r.insert(n, i)), |
|
(r = o[0]), |
|
(ry(T, l, f, r) || ny(r, "br")) && |
|
r.empty().remove(); |
|
} else if (n.parent) { |
|
if ("li" === n.name) { |
|
if ( |
|
(p = n.prev) && |
|
("ul" === p.name || "ul" === p.name) |
|
) { |
|
p.append(n); |
|
continue; |
|
} |
|
if ( |
|
(p = n.next) && |
|
("ul" === p.name || "ul" === p.name) |
|
) { |
|
p.insert(n, p.firstChild, !0); |
|
continue; |
|
} |
|
n.wrap(B(new Zb("ul", 1))); |
|
continue; |
|
} |
|
T.isValidChild(n.parent.name, "div") && |
|
T.isValidChild("div", n.name) |
|
? n.wrap(B(new Zb("div", 1))) |
|
: g[n.name] |
|
? n.empty().remove() |
|
: n.unwrap(); |
|
} |
|
} |
|
})(m)), |
|
v && |
|
("body" === S.name || a.isRootContent) && |
|
(function () { |
|
var e, |
|
t, |
|
n = S.firstChild, |
|
r = function (e) { |
|
e && |
|
((n = e.firstChild) && |
|
3 === n.type && |
|
(n.value = n.value.replace(y, "")), |
|
(n = e.lastChild) && |
|
3 === n.type && |
|
(n.value = n.value.replace(C, ""))); |
|
}; |
|
if (T.isValidChild(S.name, v.toLowerCase())) { |
|
for (; n; ) |
|
(e = n.next), |
|
3 === n.type || |
|
(1 === n.type && |
|
"p" !== n.name && |
|
!l[n.name] && |
|
!n.attr("data-mce-type")) |
|
? (t || |
|
((t = N(v, 1)).attr(k.forced_root_block_attrs), |
|
S.insert(t, n)), |
|
t.append(n)) |
|
: (r(t), (t = null)), |
|
(n = e); |
|
r(t); |
|
} |
|
})(), |
|
!a.invalid) |
|
) { |
|
for (c in _) { |
|
for (s = A[c], i = (n = _[c]).length; i--; ) |
|
n[i].parent || n.splice(i, 1); |
|
for (r = 0, o = s.length; r < o; r++) s[r](n, c, a); |
|
} |
|
for (r = 0, o = R.length; r < o; r++) |
|
if ((s = R[r]).name in D) { |
|
for (i = (n = D[s.name]).length; i--; ) |
|
n[i].parent || n.splice(i, 1); |
|
for (i = 0, u = s.callbacks.length; i < u; i++) |
|
s.callbacks[i](n, s.name, a); |
|
} |
|
} |
|
return S; |
|
}, |
|
}; |
|
return iy(e, k), Yb.register(e, k), e; |
|
} |
|
var fy = function (e, t, n) { |
|
-1 === Jt.inArray(t, n) && |
|
(e.addAttributeFilter(n, function (e, t) { |
|
for (var n = e.length; n--; ) e[n].attr(t, null); |
|
}), |
|
t.push(n)); |
|
}, |
|
dy = function (e, t, n) { |
|
var r = ga(n.getInner ? t.innerHTML : e.getOuterHTML(t)); |
|
return n.selection || wo(ir.fromDom(t)) ? r : Jt.trim(r); |
|
}, |
|
my = function (e, t, n) { |
|
var r = n.selection ? qb({ forced_root_block: !1 }, n) : n, |
|
o = e.parse(t, r); |
|
return $b.trimTrailingBr(o), o; |
|
}, |
|
gy = function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s, |
|
c = ((i = r), el(t, n).serialize(i)); |
|
return ( |
|
(a = e), |
|
(s = c), |
|
!(u = o).no_events && a ? mp(a, qb(u, { content: s })).content : s |
|
); |
|
}; |
|
function py(e, t) { |
|
var a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
n, |
|
r = |
|
((a = e), |
|
(n = ["data-mce-selected"]), |
|
(s = (u = t) && u.dom ? u.dom : bi.DOM), |
|
(c = u && u.schema ? u.schema : ii(a)), |
|
(a.entity_encoding = a.entity_encoding || "named"), |
|
(a.remove_trailing_brs = |
|
!("remove_trailing_brs" in a) || a.remove_trailing_brs), |
|
(l = ly(a, c)), |
|
$b.register(l, a, s), |
|
{ |
|
schema: c, |
|
addNodeFilter: l.addNodeFilter, |
|
addAttributeFilter: l.addAttributeFilter, |
|
serialize: function (e, t) { |
|
var n = qb({ format: "html" }, t || {}), |
|
r = Wb.process(u, e, n), |
|
o = dy(s, r, n), |
|
i = my(l, o, n); |
|
return "tree" === n.format ? i : gy(u, a, c, i, n); |
|
}, |
|
addRules: function (e) { |
|
c.addValidElements(e); |
|
}, |
|
setRules: function (e) { |
|
c.setValidElements(e); |
|
}, |
|
addTempAttr: d(fy, l, n), |
|
getTempAttrs: function () { |
|
return n; |
|
}, |
|
}); |
|
return { |
|
schema: r.schema, |
|
addNodeFilter: r.addNodeFilter, |
|
addAttributeFilter: r.addAttributeFilter, |
|
serialize: r.serialize, |
|
addRules: r.addRules, |
|
setRules: r.setRules, |
|
addTempAttr: r.addTempAttr, |
|
getTempAttrs: r.getTempAttrs, |
|
}; |
|
} |
|
function hy(e) { |
|
return { getBookmark: d(lc, e), moveToBookmark: d(fc, e) }; |
|
} |
|
(hy || (hy = {})).isBookmarkNode = dc; |
|
var vy, |
|
by, |
|
yy = hy, |
|
Cy = Po.isContentEditableFalse, |
|
xy = Po.isContentEditableTrue, |
|
wy = function (r, a) { |
|
var u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
i, |
|
y, |
|
C, |
|
x, |
|
w, |
|
N = a.dom, |
|
E = Jt.each, |
|
S = a.getDoc(), |
|
k = H.document, |
|
T = Math.abs, |
|
A = Math.round, |
|
R = a.getBody(); |
|
l = { |
|
nw: [0, 0, -1, -1], |
|
ne: [1, 0, 1, -1], |
|
se: [1, 1, 1, 1], |
|
sw: [0, 1, -1, 1], |
|
}; |
|
var e = ".mce-content-body"; |
|
a.contentStyles.push( |
|
e + |
|
" div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: content-box;background: #FFF;width: 7px;height: 7px;z-index: 10000}" + |
|
e + |
|
" .mce-resizehandle:hover {background: #000}" + |
|
e + |
|
" img[data-mce-selected]," + |
|
e + |
|
" hr[data-mce-selected] {outline: 1px solid black;resize: none}" + |
|
e + |
|
" .mce-clonedresizable {position: absolute;" + |
|
(ge.gecko ? "" : "outline: 1px dashed black;") + |
|
"opacity: .5;filter: alpha(opacity=50);z-index: 10000}" + |
|
e + |
|
" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}" |
|
); |
|
var _ = function (e) { |
|
return e && ("IMG" === e.nodeName || a.dom.is(e, "figure.image")); |
|
}, |
|
n = function (e) { |
|
var t, |
|
n, |
|
r = e.target; |
|
(t = e), |
|
(n = a.selection.getRng()), |
|
!_(t.target) || |
|
yv(t.clientX, t.clientY, n) || |
|
e.isDefaultPrevented() || |
|
a.selection.select(r); |
|
}, |
|
D = function (e) { |
|
return a.dom.is(e, "figure.image") ? e.querySelector("img") : e; |
|
}, |
|
B = function (e) { |
|
var t = a.settings.object_resizing; |
|
return ( |
|
!1 !== t && |
|
!ge.iOS && |
|
("string" != typeof t && (t = "table,img,figure.image,div"), |
|
"false" !== e.getAttribute("data-mce-resize") && |
|
e !== a.getBody() && |
|
Or(ir.fromDom(e), t)) |
|
); |
|
}, |
|
O = function (e) { |
|
var t, n, r, o; |
|
(t = e.screenX - d), |
|
(n = e.screenY - m), |
|
(y = t * f[2] + h), |
|
(C = n * f[3] + v), |
|
(y = y < 5 ? 5 : y), |
|
(C = C < 5 ? 5 : C), |
|
(_(u) && !1 !== a.settings.resize_img_proportional |
|
? !xv.modifierPressed(e) |
|
: xv.modifierPressed(e) || (_(u) && f[2] * f[3] != 0)) && |
|
(T(t) > T(n) |
|
? ((C = A(y * b)), (y = A(C / b))) |
|
: ((y = A(C / b)), (C = A(y * b)))), |
|
N.setStyles(D(s), { width: y, height: C }), |
|
(r = 0 < (r = f.startPos.x + t) ? r : 0), |
|
(o = 0 < (o = f.startPos.y + n) ? o : 0), |
|
N.setStyles(c, { left: r, top: o, display: "block" }), |
|
(c.innerHTML = y + " × " + C), |
|
f[2] < 0 && |
|
s.clientWidth <= y && |
|
N.setStyle(s, "left", g + (h - y)), |
|
f[3] < 0 && |
|
s.clientHeight <= C && |
|
N.setStyle(s, "top", p + (v - C)), |
|
(t = R.scrollWidth - x) + (n = R.scrollHeight - w) != 0 && |
|
N.setStyles(c, { left: r - t, top: o - n }), |
|
i || (vp(a, u, h, v), (i = !0)); |
|
}, |
|
P = function () { |
|
i = !1; |
|
var e = function (e, t) { |
|
t && |
|
(u.style[e] || !a.schema.isValid(u.nodeName.toLowerCase(), e) |
|
? N.setStyle(D(u), e, t) |
|
: N.setAttrib(D(u), e, t)); |
|
}; |
|
e("width", y), |
|
e("height", C), |
|
N.unbind(S, "mousemove", O), |
|
N.unbind(S, "mouseup", P), |
|
k !== S && (N.unbind(k, "mousemove", O), N.unbind(k, "mouseup", P)), |
|
N.remove(s), |
|
N.remove(c), |
|
o(u), |
|
bp(a, u, y, C), |
|
N.setAttrib(u, "style", N.getAttrib(u, "style")), |
|
a.nodeChanged(); |
|
}, |
|
o = function (e) { |
|
var t, r, o, n, i; |
|
I(), |
|
F(), |
|
(t = N.getPos(e, R)), |
|
(g = t.x), |
|
(p = t.y), |
|
(i = e.getBoundingClientRect()), |
|
(r = i.width || i.right - i.left), |
|
(o = i.height || i.bottom - i.top), |
|
u !== e && ((u = e), (y = C = 0)), |
|
(n = a.fire("ObjectSelected", { target: e })), |
|
B(e) && !n.isDefaultPrevented() |
|
? E(l, function (n, e) { |
|
var t; |
|
(t = N.get("mceResizeHandle" + e)) && N.remove(t), |
|
(t = N.add(R, "div", { |
|
id: "mceResizeHandle" + e, |
|
"data-mce-bogus": "all", |
|
class: "mce-resizehandle", |
|
unselectable: !0, |
|
style: "cursor:" + e + "-resize; margin:0; padding:0", |
|
})), |
|
11 === ge.ie && (t.contentEditable = !1), |
|
N.bind(t, "mousedown", function (e) { |
|
var t; |
|
e.stopImmediatePropagation(), |
|
e.preventDefault(), |
|
(d = (t = e).screenX), |
|
(m = t.screenY), |
|
(h = D(u).clientWidth), |
|
(v = D(u).clientHeight), |
|
(b = v / h), |
|
((f = n).startPos = { |
|
x: r * n[0] + g, |
|
y: o * n[1] + p, |
|
}), |
|
(x = R.scrollWidth), |
|
(w = R.scrollHeight), |
|
(s = u.cloneNode(!0)), |
|
N.addClass(s, "mce-clonedresizable"), |
|
N.setAttrib(s, "data-mce-bogus", "all"), |
|
(s.contentEditable = !1), |
|
(s.unSelectabe = !0), |
|
N.setStyles(s, { left: g, top: p, margin: 0 }), |
|
s.removeAttribute("data-mce-selected"), |
|
R.appendChild(s), |
|
N.bind(S, "mousemove", O), |
|
N.bind(S, "mouseup", P), |
|
k !== S && |
|
(N.bind(k, "mousemove", O), N.bind(k, "mouseup", P)), |
|
(c = N.add( |
|
R, |
|
"div", |
|
{ |
|
class: "mce-resize-helper", |
|
"data-mce-bogus": "all", |
|
}, |
|
h + " × " + v |
|
)); |
|
}), |
|
(n.elm = t), |
|
N.setStyles(t, { |
|
left: r * n[0] + g - t.offsetWidth / 2, |
|
top: o * n[1] + p - t.offsetHeight / 2, |
|
}); |
|
}) |
|
: I(), |
|
u.setAttribute("data-mce-selected", "1"); |
|
}, |
|
I = function () { |
|
var e, t; |
|
for (e in (F(), u && u.removeAttribute("data-mce-selected"), l)) |
|
(t = N.get("mceResizeHandle" + e)) && (N.unbind(t), N.remove(t)); |
|
}, |
|
L = function (e) { |
|
var t, |
|
n = function (e, t) { |
|
if (e) |
|
do { |
|
if (e === t) return !0; |
|
} while ((e = e.parentNode)); |
|
}; |
|
i || |
|
a.removed || |
|
(E( |
|
N.select("img[data-mce-selected],hr[data-mce-selected]"), |
|
function (e) { |
|
e.removeAttribute("data-mce-selected"); |
|
} |
|
), |
|
(t = "mousedown" === e.type ? e.target : r.getNode()), |
|
n((t = N.$(t).closest("table,img,figure.image,hr")[0]), R) && |
|
(z(), n(r.getStart(!0), t) && n(r.getEnd(!0), t)) |
|
? o(t) |
|
: I()); |
|
}, |
|
M = function (e) { |
|
return Cy( |
|
(function (e, t) { |
|
for (; t && t !== e; ) { |
|
if (xy(t) || Cy(t)) return t; |
|
t = t.parentNode; |
|
} |
|
return null; |
|
})(a.getBody(), e) |
|
); |
|
}, |
|
F = function () { |
|
for (var e in l) { |
|
var t = l[e]; |
|
t.elm && (N.unbind(t.elm), delete t.elm); |
|
} |
|
}, |
|
z = function () { |
|
try { |
|
a.getDoc().execCommand("enableObjectResizing", !1, !1); |
|
} catch (e) {} |
|
}; |
|
return ( |
|
a.on("init", function () { |
|
z(), |
|
ge.ie && |
|
11 <= ge.ie && |
|
(a.on("mousedown click", function (e) { |
|
var t = e.target, |
|
n = t.nodeName; |
|
i || |
|
!/^(TABLE|IMG|HR)$/.test(n) || |
|
M(t) || |
|
(2 !== e.button && a.selection.select(t, "TABLE" === n), |
|
"mousedown" === e.type && a.nodeChanged()); |
|
}), |
|
a.dom.bind(R, "mscontrolselect", function (e) { |
|
var t = function (e) { |
|
ye.setEditorTimeout(a, function () { |
|
a.selection.select(e); |
|
}); |
|
}; |
|
if (M(e.target)) return e.preventDefault(), void t(e.target); |
|
/^(TABLE|IMG|HR)$/.test(e.target.nodeName) && |
|
(e.preventDefault(), |
|
"IMG" === e.target.tagName && t(e.target)); |
|
})); |
|
var t = ye.throttle(function (e) { |
|
a.composing || L(e); |
|
}); |
|
a.on( |
|
"nodechange ResizeEditor ResizeWindow drop FullscreenStateChanged", |
|
t |
|
), |
|
a.on("keyup compositionend", function (e) { |
|
u && "TABLE" === u.nodeName && t(e); |
|
}), |
|
a.on("hide blur", I), |
|
a.on("contextmenu", n); |
|
}), |
|
a.on("remove", F), |
|
{ |
|
isResizable: B, |
|
showResizeRect: o, |
|
hideResizeRect: I, |
|
updateResizeRect: L, |
|
destroy: function () { |
|
u = s = null; |
|
}, |
|
} |
|
); |
|
}, |
|
Ny = function (e) { |
|
for (var t = 0, n = 0, r = e; r && r.nodeType; ) |
|
(t += r.offsetLeft || 0), (n += r.offsetTop || 0), (r = r.offsetParent); |
|
return { x: t, y: n }; |
|
}, |
|
Ey = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = e.dom, |
|
c = s.getRoot(), |
|
l = 0; |
|
if ( |
|
((u = { elm: t, alignToTop: n }), |
|
e.fire("scrollIntoView", u), |
|
!u.isDefaultPrevented() && Po.isElement(t)) |
|
) { |
|
if ((!1 === n && (l = t.offsetHeight), "BODY" !== c.nodeName)) { |
|
var f = e.selection.getScrollContainer(); |
|
if (f) |
|
return ( |
|
(r = Ny(t).y - Ny(f).y + l), |
|
(a = f.clientHeight), |
|
void ( |
|
(r < (i = f.scrollTop) || i + a < r + 25) && |
|
(f.scrollTop = r < i ? r : r - a + 25) |
|
) |
|
); |
|
} |
|
(o = s.getViewPort(e.getWin())), |
|
(r = s.getPos(t).y + l), |
|
(i = o.y), |
|
(a = o.h), |
|
(r < o.y || i + a < r + 25) && |
|
e.getWin().scrollTo(0, r < i ? r : r - a + 25); |
|
} |
|
}, |
|
Sy = function (d, e) { |
|
ne(vu.fromRangeStart(e).getClientRects()).each(function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = (function (e) { |
|
if (e.inline) return e.getBody().getBoundingClientRect(); |
|
var t = e.getWin(); |
|
return { |
|
left: 0, |
|
right: t.innerWidth, |
|
top: 0, |
|
bottom: t.innerHeight, |
|
width: t.innerWidth, |
|
height: t.innerHeight, |
|
}; |
|
})(d), |
|
f = { |
|
x: |
|
((i = t = l), |
|
(a = n = e), |
|
a.left > i.left && a.right < i.right |
|
? 0 |
|
: a.left < i.left |
|
? a.left - i.left |
|
: a.right - i.right), |
|
y: |
|
((r = t), |
|
(o = n), |
|
o.top > r.top && o.bottom < r.bottom |
|
? 0 |
|
: o.top < r.top |
|
? o.top - r.top |
|
: o.bottom - r.bottom), |
|
}; |
|
(s = 0 !== f.x ? (0 < f.x ? f.x + 4 : f.x - 4) : 0), |
|
(c = 0 !== f.y ? (0 < f.y ? f.y + 4 : f.y - 4) : 0), |
|
(u = d).inline |
|
? ((u.getBody().scrollLeft += s), (u.getBody().scrollTop += c)) |
|
: u.getWin().scrollBy(s, c); |
|
}); |
|
}, |
|
ky = function (e) { |
|
return Po.isContentEditableTrue(e) || Po.isContentEditableFalse(e); |
|
}, |
|
Ty = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s = n; |
|
if (s.caretPositionFromPoint) |
|
(o = s.caretPositionFromPoint(e, t)) && |
|
((r = n.createRange()).setStart(o.offsetNode, o.offset), |
|
r.collapse(!0)); |
|
else if (n.caretRangeFromPoint) r = n.caretRangeFromPoint(e, t); |
|
else if (s.body.createTextRange) { |
|
r = s.body.createTextRange(); |
|
try { |
|
r.moveToPoint(e, t), r.collapse(!0); |
|
} catch (c) { |
|
r = (function (e, n, t) { |
|
var r, o, i; |
|
if ( |
|
((r = t.elementFromPoint(e, n)), |
|
(o = t.body.createTextRange()), |
|
(r && "HTML" !== r.tagName) || (r = t.body), |
|
o.moveToElementText(r), |
|
0 < |
|
(i = (i = Jt.toArray(o.getClientRects())).sort(function (e, t) { |
|
return ( |
|
(e = Math.abs(Math.max(e.top - n, e.bottom - n))) - |
|
(t = Math.abs(Math.max(t.top - n, t.bottom - n))) |
|
); |
|
})).length) |
|
) { |
|
n = (i[0].bottom + i[0].top) / 2; |
|
try { |
|
return o.moveToPoint(e, n), o.collapse(!0), o; |
|
} catch (a) {} |
|
} |
|
return null; |
|
})(e, t, n); |
|
} |
|
return ( |
|
(i = r), |
|
(a = n.body), |
|
(u = i && i.parentElement ? i.parentElement() : null), |
|
Po.isContentEditableFalse( |
|
(function (e, t, n) { |
|
for (; e && e !== t; ) { |
|
if (n(e)) return e; |
|
e = e.parentNode; |
|
} |
|
return null; |
|
})(u, a, ky) |
|
) |
|
? null |
|
: i |
|
); |
|
} |
|
return r; |
|
}, |
|
Ay = function (n, e) { |
|
return W(e, function (e) { |
|
var t = n.fire("GetSelectionRange", { range: e }); |
|
return t.range !== e ? t.range : e; |
|
}); |
|
}, |
|
Ry = function (e, t) { |
|
var n = (t || H.document).createDocumentFragment(); |
|
return ( |
|
U(e, function (e) { |
|
n.appendChild(e.dom()); |
|
}), |
|
ir.fromDom(n) |
|
); |
|
}, |
|
_y = kr("element", "width", "rows"), |
|
Dy = kr("element", "cells"), |
|
By = kr("x", "y"), |
|
Oy = function (e, t) { |
|
var n = parseInt(xr(e, t), 10); |
|
return isNaN(n) ? 1 : n; |
|
}, |
|
Py = function (e) { |
|
return X( |
|
e, |
|
function (e, t) { |
|
return t.cells().length > e ? t.cells().length : e; |
|
}, |
|
0 |
|
); |
|
}, |
|
Iy = function (e, t) { |
|
for (var n = e.rows(), r = 0; r < n.length; r++) |
|
for (var o = n[r].cells(), i = 0; i < o.length; i++) |
|
if (Ir(o[i], t)) return A.some(By(i, r)); |
|
return A.none(); |
|
}, |
|
Ly = function (e, t, n, r, o) { |
|
for (var i = [], a = e.rows(), u = n; u <= o; u++) { |
|
var s = a[u].cells(), |
|
c = t < r ? s.slice(t, r + 1) : s.slice(r, t + 1); |
|
i.push(Dy(a[u].element(), c)); |
|
} |
|
return i; |
|
}, |
|
My = function (e) { |
|
var o = _y(sa(e), 0, []); |
|
return ( |
|
U($i(e, "tr"), function (n, r) { |
|
U($i(n, "td,th"), function (e, t) { |
|
!(function (e, t, n, r, o) { |
|
for ( |
|
var i = Oy(o, "rowspan"), |
|
a = Oy(o, "colspan"), |
|
u = e.rows(), |
|
s = n; |
|
s < n + i; |
|
s++ |
|
) { |
|
u[s] || (u[s] = Dy(ca(r), [])); |
|
for (var c = t; c < t + a; c++) |
|
u[s].cells()[c] = s === n && c === t ? o : sa(o); |
|
} |
|
})( |
|
o, |
|
(function (e, t, n) { |
|
for ( |
|
; |
|
(r = t), |
|
(o = n), |
|
(i = void 0), |
|
((i = e.rows())[o] ? i[o].cells() : [])[r]; |
|
|
|
) |
|
t++; |
|
var r, o, i; |
|
return t; |
|
})(o, t, r), |
|
r, |
|
n, |
|
e |
|
); |
|
}); |
|
}), |
|
_y(o.element(), Py(o.rows()), o.rows()) |
|
); |
|
}, |
|
Fy = function (e) { |
|
return ( |
|
(n = W((t = e).rows(), function (e) { |
|
var t = W(e.cells(), function (e) { |
|
var t = ca(e); |
|
return wr(t, "colspan"), wr(t, "rowspan"), t; |
|
}), |
|
n = sa(e.element()); |
|
return Di(n, t), n; |
|
})), |
|
(r = sa(t.element())), |
|
(o = ir.fromTag("tbody")), |
|
Di(o, n), |
|
_i(r, o), |
|
r |
|
); |
|
var t, n, r, o; |
|
}, |
|
zy = function (l, e, t) { |
|
return Iy(l, e).bind(function (c) { |
|
return Iy(l, t).map(function (e) { |
|
return ( |
|
(t = l), |
|
(r = e), |
|
(o = (n = c).x()), |
|
(i = n.y()), |
|
(a = r.x()), |
|
(u = r.y()), |
|
(s = i < u ? Ly(t, o, i, a, u) : Ly(t, o, u, a, i)), |
|
_y(t.element(), Py(s), s) |
|
); |
|
var t, n, r, o, i, a, u, s; |
|
}); |
|
}); |
|
}, |
|
Uy = function (n, t) { |
|
return Y(n, function (e) { |
|
return "li" === cr(e) && jh(e, t); |
|
}).fold(q([]), function (e) { |
|
return ((t = n), |
|
Y(t, function (e) { |
|
return "ul" === cr(e) || "ol" === cr(e); |
|
})) |
|
.map(function (e) { |
|
return [ir.fromTag("li"), ir.fromTag(cr(e))]; |
|
}) |
|
.getOr([]); |
|
var t; |
|
}); |
|
}, |
|
Vy = function (e, t) { |
|
var n, |
|
r = ir.fromDom(t.commonAncestorContainer), |
|
o = ef(r, e), |
|
i = V(o, function (e) { |
|
return go(e) || fo(e); |
|
}), |
|
a = Uy(o, t), |
|
u = i.concat( |
|
a.length |
|
? a |
|
: bo((n = r)) |
|
? zr(n) |
|
.filter(vo) |
|
.fold(q([]), function (e) { |
|
return [n, e]; |
|
}) |
|
: vo(n) |
|
? [n] |
|
: [] |
|
); |
|
return W(u, sa); |
|
}, |
|
Hy = function () { |
|
return Ry([]); |
|
}, |
|
jy = function (e, t) { |
|
return ( |
|
(n = ir.fromDom(t.cloneContents())), |
|
(r = Vy(e, t)), |
|
(o = X( |
|
r, |
|
function (e, t) { |
|
return _i(t, e), t; |
|
}, |
|
n |
|
)), |
|
0 < r.length ? Ry([o]) : o |
|
); |
|
var n, r, o; |
|
}, |
|
qy = function (e, o) { |
|
return ((t = e), (n = o[0]), Gi(n, "table", d(Ir, t))) |
|
.bind(function (e) { |
|
var t = o[0], |
|
n = o[o.length - 1], |
|
r = My(e); |
|
return zy(r, t, n).map(function (e) { |
|
return Ry([Fy(e)]); |
|
}); |
|
}) |
|
.getOrThunk(Hy); |
|
var t, n; |
|
}, |
|
$y = function (e, t) { |
|
var n, |
|
r, |
|
o = pm(t, e); |
|
return 0 < o.length |
|
? qy(e, o) |
|
: ((n = e), 0 < (r = t).length && r[0].collapsed ? Hy() : jy(n, r[0])); |
|
}, |
|
Wy = function (e, t) { |
|
if ( |
|
(void 0 === t && (t = {}), |
|
(t.get = !0), |
|
(t.format = t.format || "html"), |
|
(t.selection = !0), |
|
(t = e.fire("BeforeGetContent", t)).isDefaultPrevented()) |
|
) |
|
return e.fire("GetContent", t), t.content; |
|
if ("text" === t.format) |
|
return ( |
|
(c = e), |
|
A.from(c.selection.getRng()) |
|
.map(function (e) { |
|
var t = c.dom.add( |
|
c.getBody(), |
|
"div", |
|
{ |
|
"data-mce-bogus": "all", |
|
style: "overflow: hidden; opacity: 0;", |
|
}, |
|
e.cloneContents() |
|
), |
|
n = ga(t.innerText); |
|
return c.dom.remove(t), n; |
|
}) |
|
.getOr("") |
|
); |
|
t.getInner = !0; |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = |
|
((r = t), |
|
(i = (n = e).selection.getRng()), |
|
(a = n.dom.create("body")), |
|
(u = n.selection.getSel()), |
|
(s = Ay(n, cm(u))), |
|
(o = r.contextual |
|
? $y(ir.fromDom(n.getBody()), s).dom() |
|
: i.cloneContents()) && a.appendChild(o), |
|
n.selection.serializer.serialize(a, r)); |
|
return "tree" === t.format |
|
? l |
|
: ((t.content = e.selection.isCollapsed() ? "" : l), |
|
e.fire("GetContent", t), |
|
t.content); |
|
}, |
|
Ky = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a = e.selection.getRng(), |
|
u = e.getDoc(); |
|
if ( |
|
(((n = n || { format: "html" }).set = !0), |
|
(n.selection = !0), |
|
(n.content = t), |
|
n.no_events || |
|
!(n = e.fire("BeforeSetContent", n)).isDefaultPrevented()) |
|
) { |
|
if (((t = n.content), a.insertNode)) { |
|
(t += '<span id="__caret">_</span>'), |
|
a.startContainer === u && a.endContainer === u |
|
? (u.body.innerHTML = t) |
|
: (a.deleteContents(), |
|
0 === u.body.childNodes.length |
|
? (u.body.innerHTML = t) |
|
: a.createContextualFragment |
|
? a.insertNode(a.createContextualFragment(t)) |
|
: ((o = u.createDocumentFragment()), |
|
(i = u.createElement("div")), |
|
o.appendChild(i), |
|
(i.outerHTML = t), |
|
a.insertNode(o))), |
|
(r = e.dom.get("__caret")), |
|
(a = u.createRange()).setStartBefore(r), |
|
a.setEndBefore(r), |
|
e.selection.setRng(a), |
|
e.dom.remove("__caret"); |
|
try { |
|
e.selection.setRng(a); |
|
} catch (s) {} |
|
} else |
|
a.item && (u.execCommand("Delete", !1, null), (a = e.getRng())), |
|
/^\s+/.test(t) |
|
? (a.pasteHTML('<span id="__mce_tmp">_</span>' + t), |
|
e.dom.remove("__mce_tmp")) |
|
: a.pasteHTML(t); |
|
n.no_events || e.fire("SetContent", n); |
|
} else e.fire("SetContent", n); |
|
}, |
|
Xy = function (e, t, n, r, o) { |
|
var i = n ? t.startContainer : t.endContainer, |
|
a = n ? t.startOffset : t.endOffset; |
|
return A.from(i) |
|
.map(ir.fromDom) |
|
.map(function (e) { |
|
return r && t.collapsed ? e : $r(e, o(e, a)).getOr(e); |
|
}) |
|
.bind(function (e) { |
|
return fr(e) ? A.some(e) : zr(e); |
|
}) |
|
.map(function (e) { |
|
return e.dom(); |
|
}) |
|
.getOr(e); |
|
}, |
|
Yy = function (e, t, n) { |
|
return Xy(e, t, !0, n, function (e, t) { |
|
return Math.min(e.dom().childNodes.length, t); |
|
}); |
|
}, |
|
Gy = function (e, t, n) { |
|
return Xy(e, t, !1, n, function (e, t) { |
|
return 0 < t ? t - 1 : t; |
|
}); |
|
}, |
|
Jy = function (e, t) { |
|
for (var n = e; e && Po.isText(e) && 0 === e.length; ) |
|
e = t ? e.nextSibling : e.previousSibling; |
|
return e || n; |
|
}, |
|
Qy = Jt.each, |
|
Zy = function (e) { |
|
return !!e.select; |
|
}, |
|
eC = function (e) { |
|
return ( |
|
!(!e || !e.ownerDocument) && |
|
Lr(ir.fromDom(e.ownerDocument), ir.fromDom(e)) |
|
); |
|
}, |
|
tC = function (u, s, e, c) { |
|
var n, |
|
t, |
|
l, |
|
f, |
|
a, |
|
r = function (e, t) { |
|
return Ky(c, e, t); |
|
}, |
|
o = function (e) { |
|
var t = m(); |
|
t.collapse(!!e), i(t); |
|
}, |
|
d = function () { |
|
return s.getSelection ? s.getSelection() : s.document.selection; |
|
}, |
|
m = function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o = function (e, t, n) { |
|
try { |
|
return t.compareBoundaryPoints(e, n); |
|
} catch (r) { |
|
return -1; |
|
} |
|
}; |
|
if (!s) return null; |
|
if (null == (r = s.document)) return null; |
|
if (c.bookmark !== undefined && !1 === eh(c)) { |
|
var i = Qg(c); |
|
if (i.isSome()) |
|
return i |
|
.map(function (e) { |
|
return Ay(c, [e])[0]; |
|
}) |
|
.getOr(r.createRange()); |
|
} |
|
try { |
|
(e = d()) && |
|
!Po.isRestrictedNode(e.anchorNode) && |
|
(t = |
|
0 < e.rangeCount |
|
? e.getRangeAt(0) |
|
: e.createRange |
|
? e.createRange() |
|
: r.createRange()); |
|
} catch (a) {} |
|
return ( |
|
(t = Ay(c, [t])[0]) || |
|
(t = r.createRange ? r.createRange() : r.body.createTextRange()), |
|
t.setStart && |
|
9 === t.startContainer.nodeType && |
|
t.collapsed && |
|
((n = u.getRoot()), t.setStart(n, 0), t.setEnd(n, 0)), |
|
l && |
|
f && |
|
(0 === o(t.START_TO_START, t, l) && 0 === o(t.END_TO_END, t, l) |
|
? (t = f) |
|
: (f = l = null)), |
|
t |
|
); |
|
}, |
|
i = function (e, t) { |
|
var n, r; |
|
if ( |
|
(o = e) && |
|
(Zy(o) || (eC(o.startContainer) && eC(o.endContainer))) |
|
) { |
|
var o, |
|
i = Zy(e) ? e : null; |
|
if (i) { |
|
f = null; |
|
try { |
|
i.select(); |
|
} catch (a) {} |
|
} else { |
|
if ( |
|
((n = d()), |
|
(e = c.fire("SetSelectionRange", { |
|
range: e, |
|
forward: t, |
|
}).range), |
|
n) |
|
) { |
|
f = e; |
|
try { |
|
n.removeAllRanges(), n.addRange(e); |
|
} catch (a) {} |
|
!1 === t && |
|
n.extend && |
|
(n.collapse(e.endContainer, e.endOffset), |
|
n.extend(e.startContainer, e.startOffset)), |
|
(l = 0 < n.rangeCount ? n.getRangeAt(0) : null); |
|
} |
|
e.collapsed || |
|
e.startContainer !== e.endContainer || |
|
!n.setBaseAndExtent || |
|
ge.ie || |
|
(e.endOffset - e.startOffset < 2 && |
|
e.startContainer.hasChildNodes() && |
|
(r = e.startContainer.childNodes[e.startOffset]) && |
|
"IMG" === r.tagName && |
|
(n.setBaseAndExtent( |
|
e.startContainer, |
|
e.startOffset, |
|
e.endContainer, |
|
e.endOffset |
|
), |
|
(n.anchorNode === e.startContainer && |
|
n.focusNode === e.endContainer) || |
|
n.setBaseAndExtent(r, 0, r, 1))), |
|
c.fire("AfterSetSelectionRange", { range: e, forward: t }); |
|
} |
|
} |
|
}, |
|
g = function () { |
|
var e, |
|
t, |
|
n = d(); |
|
return ( |
|
!(n && n.anchorNode && n.focusNode) || |
|
((e = u.createRng()).setStart(n.anchorNode, n.anchorOffset), |
|
e.collapse(!0), |
|
(t = u.createRng()).setStart(n.focusNode, n.focusOffset), |
|
t.collapse(!0), |
|
e.compareBoundaryPoints(e.START_TO_START, t) <= 0) |
|
); |
|
}, |
|
p = { |
|
bookmarkManager: null, |
|
controlSelection: null, |
|
dom: u, |
|
win: s, |
|
serializer: e, |
|
editor: c, |
|
collapse: o, |
|
setCursorLocation: function (e, t) { |
|
var n = u.createRng(); |
|
e |
|
? (n.setStart(e, t), n.setEnd(e, t), i(n), o(!1)) |
|
: (qh(u, n, c.getBody(), !0), i(n)); |
|
}, |
|
getContent: function (e) { |
|
return Wy(c, e); |
|
}, |
|
setContent: r, |
|
getBookmark: function (e, t) { |
|
return n.getBookmark(e, t); |
|
}, |
|
moveToBookmark: function (e) { |
|
return n.moveToBookmark(e); |
|
}, |
|
select: function (e, t) { |
|
var r, n, o; |
|
return ( |
|
((r = u), |
|
(n = e), |
|
(o = t), |
|
A.from(n).map(function (e) { |
|
var t = r.nodeIndex(e), |
|
n = r.createRng(); |
|
return ( |
|
n.setStart(e.parentNode, t), |
|
n.setEnd(e.parentNode, t + 1), |
|
o && (qh(r, n, e, !0), qh(r, n, e, !1)), |
|
n |
|
); |
|
})).each(i), |
|
e |
|
); |
|
}, |
|
isCollapsed: function () { |
|
var e = m(), |
|
t = d(); |
|
return ( |
|
!(!e || e.item) && |
|
(e.compareEndPoints |
|
? 0 === e.compareEndPoints("StartToEnd", e) |
|
: !t || e.collapsed) |
|
); |
|
}, |
|
isForward: g, |
|
setNode: function (e) { |
|
return r(u.getOuterHTML(e)), e; |
|
}, |
|
getNode: function () { |
|
return ( |
|
(e = c.getBody()), |
|
(t = m()) |
|
? ((r = t.startContainer), |
|
(o = t.endContainer), |
|
(i = t.startOffset), |
|
(a = t.endOffset), |
|
(n = t.commonAncestorContainer), |
|
!t.collapsed && |
|
(r === o && |
|
a - i < 2 && |
|
r.hasChildNodes() && |
|
(n = r.childNodes[i]), |
|
3 === r.nodeType && |
|
3 === o.nodeType && |
|
((r = |
|
r.length === i ? Jy(r.nextSibling, !0) : r.parentNode), |
|
(o = 0 === a ? Jy(o.previousSibling, !1) : o.parentNode), |
|
r && r === o)) |
|
? r |
|
: n && 3 === n.nodeType |
|
? n.parentNode |
|
: n) |
|
: e |
|
); |
|
var e, t, n, r, o, i, a; |
|
}, |
|
getSel: d, |
|
setRng: i, |
|
getRng: m, |
|
getStart: function (e) { |
|
return Yy(c.getBody(), m(), e); |
|
}, |
|
getEnd: function (e) { |
|
return Gy(c.getBody(), m(), e); |
|
}, |
|
getSelectedBlocks: function (e, t) { |
|
return (function (e, t, n, r) { |
|
var o, |
|
i, |
|
a = []; |
|
if ( |
|
((i = e.getRoot()), |
|
(n = e.getParent(n || Yy(i, t, t.collapsed), e.isBlock)), |
|
(r = e.getParent(r || Gy(i, t, t.collapsed), e.isBlock)), |
|
n && n !== i && a.push(n), |
|
n && r && n !== r) |
|
) |
|
for (var u = new ao((o = n), i); (o = u.next()) && o !== r; ) |
|
e.isBlock(o) && a.push(o); |
|
return r && n !== r && r !== i && a.push(r), a; |
|
})(u, m(), e, t); |
|
}, |
|
normalize: function () { |
|
var e = m(), |
|
t = d(); |
|
if (!fm(t) && $h(c)) { |
|
var n = wg(u, e); |
|
return ( |
|
n.each(function (e) { |
|
i(e, g()); |
|
}), |
|
n.getOr(e) |
|
); |
|
} |
|
return e; |
|
}, |
|
selectorChanged: function (e, t) { |
|
var i; |
|
return ( |
|
a || |
|
((a = {}), |
|
(i = {}), |
|
c.on("NodeChange", function (e) { |
|
var n = e.element, |
|
r = u.getParents(n, null, u.getRoot()), |
|
o = {}; |
|
Qy(a, function (e, n) { |
|
Qy(r, function (t) { |
|
if (u.is(t, n)) |
|
return ( |
|
i[n] || |
|
(Qy(e, function (e) { |
|
e(!0, { node: t, selector: n, parents: r }); |
|
}), |
|
(i[n] = e)), |
|
(o[n] = e), |
|
!1 |
|
); |
|
}); |
|
}), |
|
Qy(i, function (e, t) { |
|
o[t] || |
|
(delete i[t], |
|
Qy(e, function (e) { |
|
e(!1, { node: n, selector: t, parents: r }); |
|
})); |
|
}); |
|
})), |
|
a[e] || (a[e] = []), |
|
a[e].push(t), |
|
p |
|
); |
|
}, |
|
getScrollContainer: function () { |
|
for (var e, t = u.getRoot(); t && "BODY" !== t.nodeName; ) { |
|
if (t.scrollHeight > t.clientHeight) { |
|
e = t; |
|
break; |
|
} |
|
t = t.parentNode; |
|
} |
|
return e; |
|
}, |
|
scrollIntoView: function (e, t) { |
|
return Ey(c, e, t); |
|
}, |
|
placeCaretAt: function (e, t) { |
|
return i(Ty(e, t, c.getDoc())); |
|
}, |
|
getBoundingClientRect: function () { |
|
var e = m(); |
|
return e.collapsed |
|
? Cu.fromRangeStart(e).getClientRects()[0] |
|
: e.getBoundingClientRect(); |
|
}, |
|
destroy: function () { |
|
(s = l = f = null), t.destroy(); |
|
}, |
|
}; |
|
return ( |
|
(n = yy(p)), |
|
(t = wy(p, c)), |
|
(p.bookmarkManager = n), |
|
(p.controlSelection = t), |
|
p |
|
); |
|
}; |
|
((by = vy || (vy = {}))[(by.Br = 0)] = "Br"), |
|
(by[(by.Block = 1)] = "Block"), |
|
(by[(by.Wrap = 2)] = "Wrap"), |
|
(by[(by.Eol = 3)] = "Eol"); |
|
var nC = function (e, t) { |
|
return e === bu.Backwards ? t.reverse() : t; |
|
}, |
|
rC = function (e, t, n, r) { |
|
for ( |
|
var o, i, a, u, s, c, l = $s(n), f = r, d = []; |
|
f && |
|
((s = l), (c = f), (o = t === bu.Forwards ? s.next(c) : s.prev(c))); |
|
|
|
) { |
|
if (Po.isBr(o.getNode(!1))) |
|
return t === bu.Forwards |
|
? { |
|
positions: nC(t, d).concat([o]), |
|
breakType: vy.Br, |
|
breakAt: A.some(o), |
|
} |
|
: { positions: nC(t, d), breakType: vy.Br, breakAt: A.some(o) }; |
|
if (o.isVisible()) { |
|
if (e(f, o)) { |
|
var m = |
|
((i = t), |
|
(a = f), |
|
(u = o), |
|
Po.isBr(u.getNode(i === bu.Forwards)) |
|
? vy.Br |
|
: !1 === bs(a, u) |
|
? vy.Block |
|
: vy.Wrap); |
|
return { positions: nC(t, d), breakType: m, breakAt: A.some(o) }; |
|
} |
|
d.push(o), (f = o); |
|
} else f = o; |
|
} |
|
return { positions: nC(t, d), breakType: vy.Eol, breakAt: A.none() }; |
|
}, |
|
oC = function (n, r, o, e) { |
|
return r(o, e) |
|
.breakAt.map(function (e) { |
|
var t = r(o, e).positions; |
|
return n === bu.Backwards ? t.concat(e) : [e].concat(t); |
|
}) |
|
.getOr([]); |
|
}, |
|
iC = function (e, i) { |
|
return X( |
|
e, |
|
function (e, o) { |
|
return e.fold( |
|
function () { |
|
return A.some(o); |
|
}, |
|
function (r) { |
|
return Ya( |
|
[ne(r.getClientRects()), ne(o.getClientRects())], |
|
function (e, t) { |
|
var n = Math.abs(i - e.left); |
|
return Math.abs(i - t.left) <= n ? o : r; |
|
} |
|
).or(e); |
|
} |
|
); |
|
}, |
|
A.none() |
|
); |
|
}, |
|
aC = function (t, e) { |
|
return ne(e.getClientRects()).bind(function (e) { |
|
return iC(t, e.left); |
|
}); |
|
}, |
|
uC = d(rC, vu.isAbove, -1), |
|
sC = d(rC, vu.isBelow, 1), |
|
cC = d(oC, -1, uC), |
|
lC = d(oC, 1, sC), |
|
fC = Po.isContentEditableFalse, |
|
dC = $a, |
|
mC = function (e, t, n, r) { |
|
var o = e === bu.Forwards, |
|
i = o ? _f : Df; |
|
if (!r.collapsed) { |
|
var a = dC(r); |
|
if (fC(a)) return eg(e, t, a, e === bu.Backwards, !0); |
|
} |
|
var u = va(r.startContainer), |
|
s = ks(e, t.getBody(), r); |
|
if (i(s)) return tg(t, s.getNode(!o)); |
|
var c = Ll.normalizePosition(o, n(s)); |
|
if (!c) return u ? r : null; |
|
if (i(c)) return eg(e, t, c.getNode(!o), o, !0); |
|
var l = n(c); |
|
return l && i(l) && Rs(c, l) |
|
? eg(e, t, l.getNode(!o), o, !0) |
|
: u |
|
? rg(t, c.toRange(), !0) |
|
: null; |
|
}, |
|
gC = function (e, t, n, r) { |
|
var o, i, a, u, s, c, l, f, d; |
|
if ( |
|
((d = dC(r)), |
|
(o = ks(e, t.getBody(), r)), |
|
(i = n(t.getBody(), cv(1), o)), |
|
(a = V(i, lv(1))), |
|
(s = Wt.last(o.getClientRects())), |
|
(_f(o) || Of(o)) && (d = o.getNode()), |
|
(Df(o) || Pf(o)) && (d = o.getNode(!0)), |
|
!s) |
|
) |
|
return null; |
|
if (((c = s.left), (u = hv(a, c)) && fC(u.node))) |
|
return ( |
|
(l = Math.abs(c - u.left)), |
|
(f = Math.abs(c - u.right)), |
|
eg(e, t, u.node, l < f, !0) |
|
); |
|
if (d) { |
|
var m = (function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = $s(t), |
|
f = [], |
|
d = 0, |
|
m = function (e) { |
|
return Wt.last(e.getClientRects()); |
|
}; |
|
1 === e |
|
? ((o = l.next), (i = ja), (a = Ha), (u = Cu.after(r))) |
|
: ((o = l.prev), (i = Ha), (a = ja), (u = Cu.before(r))), |
|
(c = m(u)); |
|
do { |
|
if (u.isVisible() && !a((s = m(u)), c)) { |
|
if ( |
|
(0 < f.length && i(s, Wt.last(f)) && d++, |
|
((s = za(s)).position = u), |
|
(s.line = d), |
|
n(s)) |
|
) |
|
return f; |
|
f.push(s); |
|
} |
|
} while ((u = o(u))); |
|
return f; |
|
})(e, t.getBody(), cv(1), d); |
|
if ((u = hv(V(m, lv(1)), c))) return rg(t, u.position.toRange(), !0); |
|
if ((u = Wt.last(V(m, lv(0))))) return rg(t, u.position.toRange(), !0); |
|
} |
|
}, |
|
pC = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = $s(e.getBody()), |
|
s = d(As, u.next), |
|
c = d(As, u.prev); |
|
if (n.collapsed && e.settings.forced_root_block) { |
|
if (!(r = e.dom.getParent(n.startContainer, "PRE"))) return; |
|
(1 === t ? s(Cu.fromRangeStart(n)) : c(Cu.fromRangeStart(n))) || |
|
((a = (i = e).dom.create(vl(i))), |
|
(!ge.ie || 11 <= ge.ie) && (a.innerHTML = '<br data-mce-bogus="1">'), |
|
(o = a), |
|
1 === t ? e.$(r).after(o) : e.$(r).before(o), |
|
e.selection.select(o, !0), |
|
e.selection.collapse()); |
|
} |
|
}, |
|
hC = function (l, f) { |
|
return function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = |
|
((t = f), |
|
(r = $s((e = l).getBody())), |
|
(o = d(As, r.next)), |
|
(i = d(As, r.prev)), |
|
(a = t ? bu.Forwards : bu.Backwards), |
|
(u = t ? o : i), |
|
(s = e.selection.getRng()), |
|
(n = mC(a, e, u, s)) ? n : (n = pC(e, a, s)) || null); |
|
return !!c && (l.selection.setRng(c), !0); |
|
}; |
|
}, |
|
vC = function (u, s) { |
|
return function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a = |
|
((r = (t = s) ? 1 : -1), |
|
(o = t ? sv : uv), |
|
(i = (e = u).selection.getRng()), |
|
(n = gC(r, e, o, i)) ? n : (n = pC(e, r, i)) || null); |
|
return !!a && (u.selection.setRng(a), !0); |
|
}; |
|
}, |
|
bC = function (r, o) { |
|
return function () { |
|
var t, |
|
e = o |
|
? Cu.fromRangeEnd(r.selection.getRng()) |
|
: Cu.fromRangeStart(r.selection.getRng()), |
|
n = o ? sC(r.getBody(), e) : uC(r.getBody(), e); |
|
return (o ? re(n.positions) : ne(n.positions)) |
|
.filter( |
|
((t = o), |
|
function (e) { |
|
return t ? Df(e) : _f(e); |
|
}) |
|
) |
|
.fold(q(!1), function (e) { |
|
return r.selection.setRng(e.toRange()), !0; |
|
}); |
|
}; |
|
}, |
|
yC = function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s, |
|
c = $i(ir.fromDom(n), "td,th,caption").map(function (e) { |
|
return e.dom(); |
|
}), |
|
l = V( |
|
((i = e), |
|
Z(c, function (e) { |
|
var t, |
|
n, |
|
r = |
|
((t = za(e.getBoundingClientRect())), |
|
(n = -1), |
|
{ |
|
left: t.left - n, |
|
top: t.top - n, |
|
right: t.right + 2 * n, |
|
bottom: t.bottom + 2 * n, |
|
width: t.width + n, |
|
height: t.height + n, |
|
}); |
|
return [ |
|
{ x: r.left, y: i(r), cell: e }, |
|
{ x: r.right, y: i(r), cell: e }, |
|
]; |
|
})), |
|
function (e) { |
|
return t(e, o); |
|
} |
|
); |
|
return ((a = l), |
|
(u = r), |
|
(s = o), |
|
X( |
|
a, |
|
function (e, r) { |
|
return e.fold( |
|
function () { |
|
return A.some(r); |
|
}, |
|
function (e) { |
|
var t = Math.sqrt(Math.abs(e.x - u) + Math.abs(e.y - s)), |
|
n = Math.sqrt(Math.abs(r.x - u) + Math.abs(r.y - s)); |
|
return A.some(n < t ? r : e); |
|
} |
|
); |
|
}, |
|
A.none() |
|
)).map(function (e) { |
|
return e.cell; |
|
}); |
|
}, |
|
CC = d( |
|
yC, |
|
function (e) { |
|
return e.bottom; |
|
}, |
|
function (e, t) { |
|
return e.y < t; |
|
} |
|
), |
|
xC = d( |
|
yC, |
|
function (e) { |
|
return e.top; |
|
}, |
|
function (e, t) { |
|
return e.y > t; |
|
} |
|
), |
|
wC = function (t, n) { |
|
return ne(n.getClientRects()) |
|
.bind(function (e) { |
|
return CC(t, e.left, e.top); |
|
}) |
|
.bind(function (e) { |
|
return aC( |
|
((t = e), |
|
nc |
|
.lastPositionIn(t) |
|
.map(function (e) { |
|
return uC(t, e).positions.concat(e); |
|
}) |
|
.getOr([])), |
|
n |
|
); |
|
var t; |
|
}); |
|
}, |
|
NC = function (t, n) { |
|
return re(n.getClientRects()) |
|
.bind(function (e) { |
|
return xC(t, e.left, e.top); |
|
}) |
|
.bind(function (e) { |
|
return aC( |
|
((t = e), |
|
nc |
|
.firstPositionIn(t) |
|
.map(function (e) { |
|
return [e].concat(sC(t, e).positions); |
|
}) |
|
.getOr([])), |
|
n |
|
); |
|
var t; |
|
}); |
|
}, |
|
EC = function (e, t) { |
|
e.selection.setRng(t), Sy(e, t); |
|
}, |
|
SC = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u = e(t, n); |
|
return ((a = u).breakType === vy.Wrap && 0 === a.positions.length) || |
|
(!Po.isBr(n.getNode()) && |
|
(i = u).breakType === vy.Br && |
|
1 === i.positions.length) |
|
? ((r = e), |
|
(o = t), |
|
!u.breakAt |
|
.map(function (e) { |
|
return r(o, e).breakAt.isSome(); |
|
}) |
|
.getOr(!1)) |
|
: u.breakAt.isNone(); |
|
}, |
|
kC = d(SC, uC), |
|
TC = d(SC, sC), |
|
AC = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s = e.selection.getRng(), |
|
c = t ? 1 : -1; |
|
if ( |
|
is() && |
|
((o = t), |
|
(i = s), |
|
(a = n), |
|
(u = Cu.fromRangeStart(i)), |
|
nc |
|
.positionIn(!o, a) |
|
.map(function (e) { |
|
return e.isEqual(u); |
|
}) |
|
.getOr(!1)) |
|
) { |
|
var l = eg(c, e, n, !t, !0); |
|
return EC(e, l), !0; |
|
} |
|
return !1; |
|
}, |
|
RC = function (e, t) { |
|
var n = t.getNode(e); |
|
return Po.isElement(n) && "TABLE" === n.nodeName ? A.some(n) : A.none(); |
|
}, |
|
_C = function (u, s, c) { |
|
var e = RC(!!s, c), |
|
t = !1 === s; |
|
e.fold( |
|
function () { |
|
return EC(u, c.toRange()); |
|
}, |
|
function (a) { |
|
return nc |
|
.positionIn(t, u.getBody()) |
|
.filter(function (e) { |
|
return e.isEqual(c); |
|
}) |
|
.fold( |
|
function () { |
|
return EC(u, c.toRange()); |
|
}, |
|
function (e) { |
|
return ( |
|
(n = s), |
|
(o = a), |
|
(t = c), |
|
void ((i = vl((r = u))) |
|
? r.undoManager.transact(function () { |
|
var e = ir.fromTag(i); |
|
Cr(e, bl(r)), |
|
_i(e, ir.fromTag("br")), |
|
n ? Ai(ir.fromDom(o), e) : Ti(ir.fromDom(o), e); |
|
var t = r.dom.createRng(); |
|
t.setStart(e.dom(), 0), t.setEnd(e.dom(), 0), EC(r, t); |
|
}) |
|
: EC(r, t.toRange())) |
|
); |
|
var n, r, o, t, i; |
|
} |
|
); |
|
} |
|
); |
|
}, |
|
DC = function (e, t, n, r) { |
|
var o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = e.selection.getRng(), |
|
f = Cu.fromRangeStart(l), |
|
d = e.getBody(); |
|
if (!t && kC(r, f)) { |
|
var m = |
|
((u = d), |
|
wC((s = n), (c = f)) |
|
.orThunk(function () { |
|
return ne(c.getClientRects()).bind(function (e) { |
|
return iC(cC(u, Cu.before(s)), e.left); |
|
}); |
|
}) |
|
.getOr(Cu.before(s))); |
|
return _C(e, t, m), !0; |
|
} |
|
return ( |
|
!(!t || !TC(r, f)) && |
|
((o = d), |
|
(m = NC((i = n), (a = f)) |
|
.orThunk(function () { |
|
return ne(a.getClientRects()).bind(function (e) { |
|
return iC(lC(o, Cu.after(i)), e.left); |
|
}); |
|
}) |
|
.getOr(Cu.after(i))), |
|
_C(e, t, m), |
|
!0) |
|
); |
|
}, |
|
BC = function (t, n) { |
|
return function () { |
|
return A.from(t.dom.getParent(t.selection.getNode(), "td,th")) |
|
.bind(function (e) { |
|
return A.from(t.dom.getParent(e, "table")).map(function (e) { |
|
return AC(t, n, e); |
|
}); |
|
}) |
|
.getOr(!1); |
|
}; |
|
}, |
|
OC = function (n, r) { |
|
return function () { |
|
return A.from(n.dom.getParent(n.selection.getNode(), "td,th")) |
|
.bind(function (t) { |
|
return A.from(n.dom.getParent(t, "table")).map(function (e) { |
|
return DC(n, r, e, t); |
|
}); |
|
}) |
|
.getOr(!1); |
|
}; |
|
}, |
|
PC = function (e) { |
|
return F(["figcaption"], cr(e)); |
|
}, |
|
IC = function (e) { |
|
var t = H.document.createRange(); |
|
return t.setStartBefore(e.dom()), t.setEndBefore(e.dom()), t; |
|
}, |
|
LC = function (e, t, n) { |
|
n ? _i(e, t) : Ri(e, t); |
|
}, |
|
MC = function (e, t, n, r) { |
|
return "" === t |
|
? ((l = e), (f = r), (d = ir.fromTag("br")), LC(l, d, f), IC(d)) |
|
: ((o = e), |
|
(i = r), |
|
(a = t), |
|
(u = n), |
|
(s = ir.fromTag(a)), |
|
(c = ir.fromTag("br")), |
|
Cr(s, u), |
|
_i(s, c), |
|
LC(o, s, i), |
|
IC(c)); |
|
var o, i, a, u, s, c, l, f, d; |
|
}, |
|
FC = function (e, t, n) { |
|
return t |
|
? ((o = e.dom()), sC(o, n).breakAt.isNone()) |
|
: ((r = e.dom()), uC(r, n).breakAt.isNone()); |
|
var r, o; |
|
}, |
|
zC = function (t, n) { |
|
var e, |
|
r, |
|
o, |
|
i = ir.fromDom(t.getBody()), |
|
a = Cu.fromRangeStart(t.selection.getRng()), |
|
u = vl(t), |
|
s = bl(t); |
|
return ((e = a), |
|
(r = i), |
|
(o = d(Ir, r)), |
|
Yi(ir.fromDom(e.container()), mo, o).filter(PC)).exists(function () { |
|
if (FC(i, n, a)) { |
|
var e = MC(i, u, s, n); |
|
return t.selection.setRng(e), !0; |
|
} |
|
return !1; |
|
}); |
|
}, |
|
UC = function (e, t) { |
|
return function () { |
|
return !!e.selection.isCollapsed() && zC(e, t); |
|
}; |
|
}, |
|
VC = function (e, r) { |
|
return Z( |
|
W(e, function (e) { |
|
return qb( |
|
{ |
|
shiftKey: !1, |
|
altKey: !1, |
|
ctrlKey: !1, |
|
metaKey: !1, |
|
keyCode: 0, |
|
action: o, |
|
}, |
|
e |
|
); |
|
}), |
|
function (e) { |
|
return ( |
|
(t = e), |
|
(n = r).keyCode === t.keyCode && |
|
n.shiftKey === t.shiftKey && |
|
n.altKey === t.altKey && |
|
n.ctrlKey === t.ctrlKey && |
|
n.metaKey === t.metaKey |
|
? [e] |
|
: [] |
|
); |
|
var t, n; |
|
} |
|
); |
|
}, |
|
HC = function (e) { |
|
for (var t = [], n = 1; n < arguments.length; n++) |
|
t[n - 1] = arguments[n]; |
|
var r = Array.prototype.slice.call(arguments, 1); |
|
return function () { |
|
return e.apply(null, r); |
|
}; |
|
}, |
|
jC = function (e, t) { |
|
return Y(VC(e, t), function (e) { |
|
return e.action(); |
|
}); |
|
}, |
|
qC = function (i, a) { |
|
i.on("keydown", function (e) { |
|
var t, n, r, o; |
|
!1 === e.isDefaultPrevented() && |
|
((t = i), |
|
(n = a), |
|
(r = e), |
|
(o = rr.detect().os), |
|
jC( |
|
[ |
|
{ keyCode: xv.RIGHT, action: hC(t, !0) }, |
|
{ keyCode: xv.LEFT, action: hC(t, !1) }, |
|
{ keyCode: xv.UP, action: vC(t, !1) }, |
|
{ keyCode: xv.DOWN, action: vC(t, !0) }, |
|
{ keyCode: xv.RIGHT, action: BC(t, !0) }, |
|
{ keyCode: xv.LEFT, action: BC(t, !1) }, |
|
{ keyCode: xv.UP, action: OC(t, !1) }, |
|
{ keyCode: xv.DOWN, action: OC(t, !0) }, |
|
{ keyCode: xv.RIGHT, action: jd.move(t, n, !0) }, |
|
{ keyCode: xv.LEFT, action: jd.move(t, n, !1) }, |
|
{ |
|
keyCode: xv.RIGHT, |
|
ctrlKey: !o.isOSX(), |
|
altKey: o.isOSX(), |
|
action: jd.moveNextWord(t, n), |
|
}, |
|
{ |
|
keyCode: xv.LEFT, |
|
ctrlKey: !o.isOSX(), |
|
altKey: o.isOSX(), |
|
action: jd.movePrevWord(t, n), |
|
}, |
|
{ keyCode: xv.UP, action: UC(t, !1) }, |
|
{ keyCode: xv.DOWN, action: UC(t, !0) }, |
|
], |
|
r |
|
).each(function (e) { |
|
r.preventDefault(); |
|
})); |
|
}); |
|
}, |
|
$C = function (o, i) { |
|
o.on("keydown", function (e) { |
|
var t, n, r; |
|
!1 === e.isDefaultPrevented() && |
|
((t = o), |
|
(n = i), |
|
(r = e), |
|
jC( |
|
[ |
|
{ keyCode: xv.BACKSPACE, action: HC(td, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(td, t, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(ig, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(ig, t, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(Kd, t, n, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(Kd, t, n, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(km, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(km, t, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(gf, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(gf, t, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(lf, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(lf, t, !0) }, |
|
{ keyCode: xv.BACKSPACE, action: HC(Jm, t, !1) }, |
|
{ keyCode: xv.DELETE, action: HC(Jm, t, !0) }, |
|
], |
|
r |
|
).each(function (e) { |
|
r.preventDefault(); |
|
})); |
|
}), |
|
o.on("keyup", function (e) { |
|
var t, n; |
|
!1 === e.isDefaultPrevented() && |
|
((t = o), |
|
(n = e), |
|
jC( |
|
[ |
|
{ keyCode: xv.BACKSPACE, action: HC(nd, t) }, |
|
{ keyCode: xv.DELETE, action: HC(nd, t) }, |
|
], |
|
n |
|
)); |
|
}); |
|
}, |
|
WC = function (e) { |
|
return A.from(e.dom.getParent(e.selection.getStart(!0), e.dom.isBlock)); |
|
}, |
|
KC = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = t, |
|
a = e.dom, |
|
u = e.schema.getMoveCaretBeforeOnEnterElements(); |
|
if (t) { |
|
if (/^(LI|DT|DD)$/.test(t.nodeName)) { |
|
var s = (function (e) { |
|
for (; e; ) { |
|
if ( |
|
1 === e.nodeType || |
|
(3 === e.nodeType && e.data && /[\r\n\s]/.test(e.data)) |
|
) |
|
return e; |
|
e = e.nextSibling; |
|
} |
|
})(t.firstChild); |
|
s && |
|
/^(UL|OL|DL)$/.test(s.nodeName) && |
|
t.insertBefore(a.doc.createTextNode("\xa0"), t.firstChild); |
|
} |
|
if (((o = a.createRng()), t.normalize(), t.hasChildNodes())) { |
|
for (n = new ao(t, t); (r = n.current()); ) { |
|
if (Po.isText(r)) { |
|
o.setStart(r, 0), o.setEnd(r, 0); |
|
break; |
|
} |
|
if (u[r.nodeName.toLowerCase()]) { |
|
o.setStartBefore(r), o.setEndBefore(r); |
|
break; |
|
} |
|
(i = r), (r = n.next()); |
|
} |
|
r || (o.setStart(i, 0), o.setEnd(i, 0)); |
|
} else |
|
Po.isBr(t) |
|
? t.nextSibling && a.isBlock(t.nextSibling) |
|
? (o.setStartBefore(t), o.setEndBefore(t)) |
|
: (o.setStartAfter(t), o.setEndAfter(t)) |
|
: (o.setStart(t, 0), o.setEnd(t, 0)); |
|
e.selection.setRng(o), a.remove(void 0), e.selection.scrollIntoView(t); |
|
} |
|
}, |
|
XC = function (e, t) { |
|
var n, |
|
r, |
|
o = e.getRoot(); |
|
for (n = t; n !== o && "false" !== e.getContentEditable(n); ) |
|
"true" === e.getContentEditable(n) && (r = n), (n = n.parentNode); |
|
return n !== o ? r : o; |
|
}, |
|
YC = WC, |
|
GC = function (e) { |
|
return WC(e).fold(q(""), function (e) { |
|
return e.nodeName.toUpperCase(); |
|
}); |
|
}, |
|
JC = function (e) { |
|
return WC(e) |
|
.filter(function (e) { |
|
return bo(ir.fromDom(e)); |
|
}) |
|
.isSome(); |
|
}, |
|
QC = function (e, t) { |
|
return e && e.parentNode && e.parentNode.nodeName === t; |
|
}, |
|
ZC = function (e) { |
|
return e && /^(OL|UL|LI)$/.test(e.nodeName); |
|
}, |
|
ex = function (e) { |
|
var t = e.parentNode; |
|
return /^(LI|DT|DD)$/.test(t.nodeName) ? t : e; |
|
}, |
|
tx = function (e, t, n) { |
|
for (var r = e[n ? "firstChild" : "lastChild"]; r && !Po.isElement(r); ) |
|
r = r[n ? "nextSibling" : "previousSibling"]; |
|
return r === t; |
|
}, |
|
nx = function (e, t, n, r, o) { |
|
var i = e.dom, |
|
a = e.selection.getRng(); |
|
if (n !== e.getBody()) { |
|
var u; |
|
ZC((u = n)) && ZC(u.parentNode) && (o = "LI"); |
|
var s, |
|
c, |
|
l = o ? t(o) : i.create("BR"); |
|
if (tx(n, r, !0) && tx(n, r, !1)) |
|
QC(n, "LI") ? i.insertAfter(l, ex(n)) : i.replace(l, n); |
|
else if (tx(n, r, !0)) |
|
QC(n, "LI") |
|
? (i.insertAfter(l, ex(n)), |
|
l.appendChild(i.doc.createTextNode(" ")), |
|
l.appendChild(n)) |
|
: n.parentNode.insertBefore(l, n); |
|
else if (tx(n, r, !1)) i.insertAfter(l, ex(n)); |
|
else { |
|
n = ex(n); |
|
var f = a.cloneRange(); |
|
f.setStartAfter(r), f.setEndAfter(n); |
|
var d = f.extractContents(); |
|
"LI" === o && |
|
((c = "LI"), (s = d).firstChild && s.firstChild.nodeName === c) |
|
? ((l = d.firstChild), i.insertAfter(d, n)) |
|
: (i.insertAfter(d, n), i.insertAfter(l, n)); |
|
} |
|
i.remove(r), KC(e, l); |
|
} |
|
}, |
|
rx = function (e) { |
|
e.innerHTML = '<br data-mce-bogus="1">'; |
|
}, |
|
ox = function (e, t) { |
|
return ( |
|
e.nodeName === t || |
|
(e.previousSibling && e.previousSibling.nodeName === t) |
|
); |
|
}, |
|
ix = function (e, t) { |
|
return ( |
|
t && |
|
e.isBlock(t) && |
|
!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName) && |
|
!/^(fixed|absolute)/i.test(t.style.position) && |
|
"true" !== e.getContentEditable(t) |
|
); |
|
}, |
|
ax = function (e, t, n) { |
|
return !1 === Po.isText(t) |
|
? n |
|
: e |
|
? 1 === n && t.data.charAt(n - 1) === ma |
|
? 0 |
|
: n |
|
: n === t.data.length - 1 && t.data.charAt(n) === ma |
|
? t.data.length |
|
: n; |
|
}, |
|
ux = function (e, t) { |
|
var n, |
|
r, |
|
o = e.getRoot(); |
|
for (n = t; n !== o && "false" !== e.getContentEditable(n); ) |
|
"true" === e.getContentEditable(n) && (r = n), (n = n.parentNode); |
|
return n !== o ? r : o; |
|
}, |
|
sx = function (e, t) { |
|
var n = vl(e); |
|
n && |
|
n.toLowerCase() === t.tagName.toLowerCase() && |
|
e.dom.setAttribs(t, bl(e)); |
|
}, |
|
cx = function (a, e) { |
|
var t, |
|
u, |
|
s, |
|
i, |
|
c, |
|
n, |
|
r, |
|
o, |
|
l, |
|
f, |
|
d, |
|
m, |
|
g, |
|
p, |
|
h, |
|
v, |
|
b, |
|
y, |
|
C, |
|
x = a.dom, |
|
w = a.schema, |
|
N = w.getNonEmptyElements(), |
|
E = a.selection.getRng(), |
|
S = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o = s, |
|
i = w.getTextInlineElements(); |
|
if ( |
|
(e || "TABLE" === f || "HR" === f |
|
? ((t = x.create(e || m)), sx(a, t)) |
|
: (t = c.cloneNode(!1)), |
|
(r = t), |
|
!1 === xl(a)) |
|
) |
|
x.setAttrib(t, "style", null), x.setAttrib(t, "class", null); |
|
else |
|
do { |
|
if (i[o.nodeName]) { |
|
if (ju(o) || dc(o)) continue; |
|
(n = o.cloneNode(!1)), |
|
x.setAttrib(n, "id", ""), |
|
t.hasChildNodes() ? n.appendChild(t.firstChild) : (r = n), |
|
t.appendChild(n); |
|
} |
|
} while ((o = o.parentNode) && o !== u); |
|
return rx(r), t; |
|
}, |
|
k = function (e) { |
|
var t, n, r, o; |
|
if ( |
|
((o = ax(e, s, i)), |
|
Po.isText(s) && (e ? 0 < o : o < s.nodeValue.length)) |
|
) |
|
return !1; |
|
if (s.parentNode === c && g && !e) return !0; |
|
if (e && Po.isElement(s) && s === c.firstChild) return !0; |
|
if (ox(s, "TABLE") || ox(s, "HR")) return (g && !e) || (!g && e); |
|
for ( |
|
t = new ao(s, c), |
|
Po.isText(s) && |
|
(e && 0 === o |
|
? t.prev() |
|
: e || o !== s.nodeValue.length || t.next()); |
|
(n = t.current()); |
|
|
|
) { |
|
if (Po.isElement(n)) { |
|
if ( |
|
!n.getAttribute("data-mce-bogus") && |
|
((r = n.nodeName.toLowerCase()), N[r] && "br" !== r) |
|
) |
|
return !1; |
|
} else if (Po.isText(n) && !/^[ \t\r\n]*$/.test(n.nodeValue)) |
|
return !1; |
|
e ? t.prev() : t.next(); |
|
} |
|
return !0; |
|
}, |
|
T = function () { |
|
(r = /^(H[1-6]|PRE|FIGURE)$/.test(f) && "HGROUP" !== d ? S(m) : S()), |
|
wl(a) && ix(x, l) && x.isEmpty(c) |
|
? (r = x.split(l, c)) |
|
: x.insertAfter(r, c), |
|
KC(a, r); |
|
}; |
|
wg(x, E).each(function (e) { |
|
E.setStart(e.startContainer, e.startOffset), |
|
E.setEnd(e.endContainer, e.endOffset); |
|
}), |
|
(s = E.startContainer), |
|
(i = E.startOffset), |
|
(m = vl(a)), |
|
(n = e.shiftKey), |
|
Po.isElement(s) && |
|
s.hasChildNodes() && |
|
((g = i > s.childNodes.length - 1), |
|
(s = s.childNodes[Math.min(i, s.childNodes.length - 1)] || s), |
|
(i = g && Po.isText(s) ? s.nodeValue.length : 0)), |
|
(u = ux(x, s)) && |
|
(((m && !n) || (!m && n)) && |
|
(s = (function (e, t, n, r, o) { |
|
var i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = t || "P", |
|
m = e.dom, |
|
g = ux(m, r); |
|
if (!(a = m.getParent(r, m.isBlock)) || !ix(m, a)) { |
|
if ( |
|
((l = |
|
(a = a || g) === e.getBody() || |
|
((f = a) && /^(TD|TH|CAPTION)$/.test(f.nodeName)) |
|
? a.nodeName.toLowerCase() |
|
: a.parentNode.nodeName.toLowerCase()), |
|
!a.hasChildNodes()) |
|
) |
|
return ( |
|
(i = m.create(d)), |
|
sx(e, i), |
|
a.appendChild(i), |
|
n.setStart(i, 0), |
|
n.setEnd(i, 0), |
|
i |
|
); |
|
for (s = r; s.parentNode !== a; ) s = s.parentNode; |
|
for (; s && !m.isBlock(s); ) s = (u = s).previousSibling; |
|
if (u && e.schema.isValidChild(l, d.toLowerCase())) { |
|
for ( |
|
i = m.create(d), |
|
sx(e, i), |
|
u.parentNode.insertBefore(i, u), |
|
s = u; |
|
s && !m.isBlock(s); |
|
|
|
) |
|
(c = s.nextSibling), i.appendChild(s), (s = c); |
|
n.setStart(r, o), n.setEnd(r, o); |
|
} |
|
} |
|
return r; |
|
})(a, m, E, s, i)), |
|
(c = x.getParent(s, x.isBlock)), |
|
(l = c ? x.getParent(c.parentNode, x.isBlock) : null), |
|
(f = c ? c.nodeName.toUpperCase() : ""), |
|
"LI" !== (d = l ? l.nodeName.toUpperCase() : "") || |
|
e.ctrlKey || |
|
((l = (c = l).parentNode), (f = d)), |
|
/^(LI|DT|DD)$/.test(f) && x.isEmpty(c) |
|
? nx(a, S, l, c, m) |
|
: (m && c === a.getBody()) || |
|
((m = m || "P"), |
|
va(c) |
|
? ((r = ka(c)), x.isEmpty(c) && rx(c), KC(a, r)) |
|
: k() |
|
? T() |
|
: k(!0) |
|
? ((r = c.parentNode.insertBefore(S(), c)), |
|
KC(a, ox(c, "HR") ? r : c)) |
|
: ((t = ((y = E), |
|
(C = y.cloneRange()), |
|
C.setStart( |
|
y.startContainer, |
|
ax(!0, y.startContainer, y.startOffset) |
|
), |
|
C.setEnd(y.endContainer, ax(!1, y.endContainer, y.endOffset)), |
|
C).cloneRange()).setEndAfter(c), |
|
(o = t.extractContents()), |
|
(b = o), |
|
U(qi(ir.fromDom(b), dr), function (e) { |
|
var t = e.dom(); |
|
t.nodeValue = ga(t.nodeValue); |
|
}), |
|
(function (e) { |
|
for ( |
|
; |
|
Po.isText(e) && |
|
(e.nodeValue = e.nodeValue.replace(/^[\r\n]+/, "")), |
|
(e = e.firstChild); |
|
|
|
); |
|
})(o), |
|
(r = o.firstChild), |
|
x.insertAfter(o, c), |
|
(function (e, t, n) { |
|
var r, |
|
o = n, |
|
i = []; |
|
if (o) { |
|
for (; (o = o.firstChild); ) { |
|
if (e.isBlock(o)) return; |
|
Po.isElement(o) && |
|
!t[o.nodeName.toLowerCase()] && |
|
i.push(o); |
|
} |
|
for (r = i.length; r--; ) |
|
!(o = i[r]).hasChildNodes() || |
|
(o.firstChild === o.lastChild && |
|
"" === o.firstChild.nodeValue) |
|
? e.remove(o) |
|
: ((a = e), |
|
(u = o) && |
|
"A" === u.nodeName && |
|
a.isEmpty(u) && |
|
e.remove(o)); |
|
var a, u; |
|
} |
|
})(x, N, r), |
|
(p = x), |
|
(h = c).normalize(), |
|
((v = h.lastChild) && |
|
!/^(left|right)$/gi.test(p.getStyle(v, "float", !0))) || |
|
p.add(h, "br"), |
|
x.isEmpty(c) && rx(c), |
|
r.normalize(), |
|
x.isEmpty(r) ? (x.remove(r), T()) : KC(a, r)), |
|
x.setAttrib(r, "id", ""), |
|
a.fire("NewBlock", { newBlock: r }))); |
|
}, |
|
lx = function (e, t) { |
|
return YC(e) |
|
.filter(function (e) { |
|
return 0 < t.length && Or(ir.fromDom(e), t); |
|
}) |
|
.isSome(); |
|
}, |
|
fx = function (e) { |
|
return lx(e, yl(e)); |
|
}, |
|
dx = function (e) { |
|
return lx(e, Cl(e)); |
|
}, |
|
mx = pf([{ br: [] }, { block: [] }, { none: [] }]), |
|
gx = function (e, t) { |
|
return dx(e); |
|
}, |
|
px = function (n) { |
|
return function (e, t) { |
|
return ("" === vl(e)) === n; |
|
}; |
|
}, |
|
hx = function (n) { |
|
return function (e, t) { |
|
return JC(e) === n; |
|
}; |
|
}, |
|
vx = function (n, r) { |
|
return function (e, t) { |
|
return (GC(e) === n.toUpperCase()) === r; |
|
}; |
|
}, |
|
bx = function (e) { |
|
return vx("pre", e); |
|
}, |
|
yx = function (n) { |
|
return function (e, t) { |
|
return hl(e) === n; |
|
}; |
|
}, |
|
Cx = function (e, t) { |
|
return fx(e); |
|
}, |
|
xx = function (e, t) { |
|
return t; |
|
}, |
|
wx = function (e) { |
|
var t = vl(e), |
|
n = XC(e.dom, e.selection.getStart()); |
|
return n && e.schema.isValidChild(n.nodeName, t || "P"); |
|
}, |
|
Nx = function (e, t) { |
|
return function (n, r) { |
|
return X( |
|
e, |
|
function (e, t) { |
|
return e && t(n, r); |
|
}, |
|
!0 |
|
) |
|
? A.some(t) |
|
: A.none(); |
|
}; |
|
}, |
|
Ex = function (e, t) { |
|
return md( |
|
[ |
|
Nx([gx], mx.none()), |
|
Nx([vx("summary", !0)], mx.br()), |
|
Nx([bx(!0), yx(!1), xx], mx.br()), |
|
Nx([bx(!0), yx(!1)], mx.block()), |
|
Nx([bx(!0), yx(!0), xx], mx.block()), |
|
Nx([bx(!0), yx(!0)], mx.br()), |
|
Nx([hx(!0), xx], mx.br()), |
|
Nx([hx(!0)], mx.block()), |
|
Nx([px(!0), xx, wx], mx.block()), |
|
Nx([px(!0)], mx.br()), |
|
Nx([Cx], mx.br()), |
|
Nx([px(!1), xx], mx.br()), |
|
Nx([wx], mx.block()), |
|
], |
|
[e, t.shiftKey] |
|
).getOr(mx.none()); |
|
}, |
|
Sx = function (e, t) { |
|
Ex(e, t).fold( |
|
function () { |
|
Bg(e, t); |
|
}, |
|
function () { |
|
cx(e, t); |
|
}, |
|
o |
|
); |
|
}, |
|
kx = function (o) { |
|
o.on("keydown", function (e) { |
|
var t, n, r; |
|
e.keyCode === xv.ENTER && |
|
((t = o), |
|
(n = e).isDefaultPrevented() || |
|
(n.preventDefault(), |
|
(r = t.undoManager).typing && ((r.typing = !1), r.add()), |
|
t.undoManager.transact(function () { |
|
!1 === t.selection.isCollapsed() && t.execCommand("Delete"), |
|
Sx(t, n); |
|
}))); |
|
}); |
|
}, |
|
Tx = function (n, r) { |
|
var e = r.container(), |
|
t = r.offset(); |
|
return Po.isText(e) |
|
? (e.insertData(t, n), A.some(vu(e, t + n.length))) |
|
: Ts(r).map(function (e) { |
|
var t = ir.fromText(n); |
|
return r.isAtEnd() ? Ai(e, t) : Ti(e, t), vu(t.dom(), n.length); |
|
}); |
|
}, |
|
Ax = d(Tx, "\xa0"), |
|
Rx = d(Tx, " "), |
|
_x = function (e, t, n) { |
|
return nc.navigateIgnore(e, t, n, Af); |
|
}, |
|
Dx = function (e, t) { |
|
return Y(ef(ir.fromDom(t.container()), e), mo); |
|
}, |
|
Bx = function (e, n, r) { |
|
return _x(e, n.dom(), r).forall(function (t) { |
|
return Dx(n, r).fold( |
|
function () { |
|
return !1 === bs(t, r, n.dom()); |
|
}, |
|
function (e) { |
|
return !1 === bs(t, r, n.dom()) && Lr(e, ir.fromDom(t.container())); |
|
} |
|
); |
|
}); |
|
}, |
|
Ox = function (t, n, r) { |
|
return Dx(n, r).fold( |
|
function () { |
|
return _x(t, n.dom(), r).forall(function (e) { |
|
return !1 === bs(e, r, n.dom()); |
|
}); |
|
}, |
|
function (e) { |
|
return _x(t, e.dom(), r).isNone(); |
|
} |
|
); |
|
}, |
|
Px = d(Ox, !1), |
|
Ix = d(Ox, !0), |
|
Lx = d(Bx, !1), |
|
Mx = d(Bx, !0), |
|
Fx = function (e) { |
|
return vu.isTextPosition(e) && !e.isAtStart() && !e.isAtEnd(); |
|
}, |
|
zx = function (e, t) { |
|
var n = V(ef(ir.fromDom(t.container()), e), mo); |
|
return ne(n).getOr(e); |
|
}, |
|
Ux = function (e, t) { |
|
return Fx(t) |
|
? Tf(t) |
|
: Tf(t) || nc.prevPosition(zx(e, t).dom(), t).exists(Tf); |
|
}, |
|
Vx = function (e, t) { |
|
return Fx(t) |
|
? kf(t) |
|
: kf(t) || nc.nextPosition(zx(e, t).dom(), t).exists(kf); |
|
}, |
|
Hx = function (e) { |
|
return Ts(e) |
|
.bind(function (e) { |
|
return Yi(e, fr); |
|
}) |
|
.exists(function (e) { |
|
return (t = Er(e, "white-space")), F(["pre", "pre-wrap"], t); |
|
var t; |
|
}); |
|
}, |
|
jx = function (e, t) { |
|
return ( |
|
(o = e), |
|
(i = t), |
|
nc.prevPosition(o.dom(), i).isNone() || |
|
((n = e), (r = t), nc.nextPosition(n.dom(), r).isNone()) || |
|
Px(e, t) || |
|
Ix(e, t) || |
|
yf(e, t) || |
|
bf(e, t) |
|
); |
|
var n, r, o, i; |
|
}, |
|
qx = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = |
|
((r = (n = t).container()), |
|
(o = n.offset()), |
|
Po.isText(r) && o < r.data.length ? vu(r, o + 1) : n); |
|
return !Hx(i) && (Ix(e, i) || Mx(e, i) || bf(e, i) || Vx(e, i)); |
|
}, |
|
$x = function (e, t) { |
|
return ( |
|
(n = e), |
|
(!Hx((r = t)) && (Px(n, r) || Lx(n, r) || yf(n, r) || Ux(n, r))) || |
|
qx(e, t) |
|
); |
|
var n, r; |
|
}, |
|
Wx = function (e, t) { |
|
return wf(e.charAt(t)); |
|
}, |
|
Kx = function (e) { |
|
var t = e.container(); |
|
return Po.isText(t) && Xn(t.data, "\xa0"); |
|
}, |
|
Xx = function (e) { |
|
var t = e.data, |
|
n = W(t.split(""), function (e, t, n) { |
|
return wf(e) && |
|
0 < t && |
|
t < n.length - 1 && |
|
Ef(n[t - 1]) && |
|
Ef(n[t + 1]) |
|
? " " |
|
: e; |
|
}).join(""); |
|
return n !== t && ((e.data = n), !0); |
|
}, |
|
Yx = function (l, e) { |
|
return A.some(e) |
|
.filter(Kx) |
|
.bind(function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = e.container(); |
|
return ( |
|
(i = l), |
|
(u = (a = c).data), |
|
(s = vu(a, 0)), |
|
(Wx(u, 0) && !$x(i, s) && ((a.data = " " + u.slice(1)), 1)) || |
|
Xx(c) || |
|
((t = l), |
|
(r = (n = c).data), |
|
(o = vu(n, r.length - 1)), |
|
Wx(r, r.length - 1) && |
|
!$x(t, o) && |
|
((n.data = r.slice(0, -1) + " "), 1)) |
|
? A.some(e) |
|
: A.none() |
|
); |
|
}); |
|
}, |
|
Gx = function (t) { |
|
var e = ir.fromDom(t.getBody()); |
|
t.selection.isCollapsed() && |
|
Yx(e, vu.fromRangeStart(t.selection.getRng())).each(function (e) { |
|
t.selection.setRng(e.toRange()); |
|
}); |
|
}, |
|
Jx = function (r, o) { |
|
return function (e) { |
|
return ( |
|
(t = r), |
|
!Hx((n = e)) && (jx(t, n) || Ux(t, n) || Vx(t, n)) ? Ax(o) : Rx(o) |
|
); |
|
var t, n; |
|
}; |
|
}, |
|
Qx = function (e) { |
|
var t, |
|
n, |
|
r = Cu.fromRangeStart(e.selection.getRng()), |
|
o = ir.fromDom(e.getBody()); |
|
if (e.selection.isCollapsed()) { |
|
var i = d(Ll.isInlineTarget, e), |
|
a = Cu.fromRangeStart(e.selection.getRng()); |
|
return Dd(i, e.getBody(), a) |
|
.bind( |
|
((n = o), |
|
function (e) { |
|
return e.fold( |
|
function (e) { |
|
return nc.prevPosition(n.dom(), Cu.before(e)); |
|
}, |
|
function (e) { |
|
return nc.firstPositionIn(e); |
|
}, |
|
function (e) { |
|
return nc.lastPositionIn(e); |
|
}, |
|
function (e) { |
|
return nc.nextPosition(n.dom(), Cu.after(e)); |
|
} |
|
); |
|
}) |
|
) |
|
.bind(Jx(o, r)) |
|
.exists( |
|
((t = e), |
|
function (e) { |
|
return t.selection.setRng(e.toRange()), t.nodeChanged(), !0; |
|
}) |
|
); |
|
} |
|
return !1; |
|
}, |
|
Zx = function (r) { |
|
r.on("keydown", function (e) { |
|
var t, n; |
|
!1 === e.isDefaultPrevented() && |
|
((t = r), |
|
(n = e), |
|
jC([{ keyCode: xv.SPACEBAR, action: HC(Qx, t) }], n).each(function ( |
|
e |
|
) { |
|
n.preventDefault(); |
|
})); |
|
}); |
|
}, |
|
ew = function (e, t) { |
|
var n; |
|
t.hasAttribute("data-mce-caret") && |
|
(ka(t), |
|
(n = e).selection.setRng(n.selection.getRng()), |
|
e.selection.scrollIntoView(t)); |
|
}, |
|
tw = function (e, t) { |
|
var n, |
|
r = |
|
((n = e), |
|
Ji(ir.fromDom(n.getBody()), "*[data-mce-caret]").fold( |
|
q(null), |
|
function (e) { |
|
return e.dom(); |
|
} |
|
)); |
|
if (r) |
|
return "compositionstart" === t.type |
|
? (t.preventDefault(), t.stopPropagation(), void ew(e, r)) |
|
: void (Ca(r) && (ew(e, r), e.undoManager.add())); |
|
}, |
|
nw = function (e) { |
|
e.on("keyup compositionstart", d(tw, e)); |
|
}, |
|
rw = rr.detect().browser, |
|
ow = function (t) { |
|
var e, n; |
|
(e = t), |
|
(n = Ii(function () { |
|
e.composing || Gx(e); |
|
}, 0)), |
|
rw.isIE() && |
|
(e.on("keypress", function (e) { |
|
n.throttle(); |
|
}), |
|
e.on("remove", function (e) { |
|
n.cancel(); |
|
})), |
|
t.on("input", function (e) { |
|
!1 === e.isComposing && Gx(t); |
|
}); |
|
}, |
|
iw = function (r) { |
|
r.on("keydown", function (e) { |
|
var t, n; |
|
!1 === e.isDefaultPrevented() && |
|
((t = r), |
|
(n = e), |
|
jC( |
|
[ |
|
{ keyCode: xv.END, action: bC(t, !0) }, |
|
{ keyCode: xv.HOME, action: bC(t, !1) }, |
|
], |
|
n |
|
).each(function (e) { |
|
n.preventDefault(); |
|
})); |
|
}); |
|
}, |
|
aw = function (e) { |
|
var t = jd.setupSelectedState(e); |
|
nw(e), qC(e, t), $C(e, t), kx(e), Zx(e), ow(e), iw(e); |
|
}; |
|
function uw(u) { |
|
var s, |
|
n, |
|
r, |
|
o = Jt.each, |
|
c = xv.BACKSPACE, |
|
l = xv.DELETE, |
|
f = u.dom, |
|
d = u.selection, |
|
e = u.settings, |
|
t = u.parser, |
|
i = ge.gecko, |
|
a = ge.ie, |
|
m = ge.webkit, |
|
g = "data:text/mce-internal,", |
|
p = a ? "Text" : "URL", |
|
h = function (e, t) { |
|
try { |
|
u.getDoc().execCommand(e, !1, t); |
|
} catch (n) {} |
|
}, |
|
v = function (e) { |
|
return e.isDefaultPrevented(); |
|
}, |
|
b = function () { |
|
u.shortcuts.add("meta+a", null, "SelectAll"); |
|
}, |
|
y = function () { |
|
u.on("keydown", function (e) { |
|
if ( |
|
!v(e) && |
|
e.keyCode === c && |
|
d.isCollapsed() && |
|
0 === d.getRng().startOffset |
|
) { |
|
var t = d.getNode().previousSibling; |
|
if (t && t.nodeName && "table" === t.nodeName.toLowerCase()) |
|
return e.preventDefault(), !1; |
|
} |
|
}); |
|
}, |
|
C = function () { |
|
u.inline || |
|
(u.contentStyles.push("body {min-height: 150px}"), |
|
u.on("click", function (e) { |
|
var t; |
|
if ("HTML" === e.target.nodeName) { |
|
if (11 < ge.ie) return void u.getBody().focus(); |
|
(t = u.selection.getRng()), |
|
u.getBody().focus(), |
|
u.selection.setRng(t), |
|
u.selection.normalize(), |
|
u.nodeChanged(); |
|
} |
|
})); |
|
}; |
|
return ( |
|
u.on("keydown", function (e) { |
|
var t, n, r, o, i; |
|
if ( |
|
!v(e) && |
|
e.keyCode === xv.BACKSPACE && |
|
((n = (t = d.getRng()).startContainer), |
|
(r = t.startOffset), |
|
(o = f.getRoot()), |
|
(i = n), |
|
t.collapsed && 0 === r) |
|
) { |
|
for ( |
|
; |
|
i && |
|
i.parentNode && |
|
i.parentNode.firstChild === i && |
|
i.parentNode !== o; |
|
|
|
) |
|
i = i.parentNode; |
|
"BLOCKQUOTE" === i.tagName && |
|
(u.formatter.toggle("blockquote", null, i), |
|
(t = f.createRng()).setStart(n, 0), |
|
t.setEnd(n, 0), |
|
d.setRng(t)); |
|
} |
|
}), |
|
(s = function (e) { |
|
var t = f.create("body"), |
|
n = e.cloneContents(); |
|
return t.appendChild(n), d.serializer.serialize(t, { format: "html" }); |
|
}), |
|
u.on("keydown", function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a = e.keyCode; |
|
if (!v(e) && (a === l || a === c)) { |
|
if ( |
|
((t = u.selection.isCollapsed()), |
|
(n = u.getBody()), |
|
t && !f.isEmpty(n)) |
|
) |
|
return; |
|
if ( |
|
!t && |
|
((r = u.selection.getRng()), |
|
(o = s(r)), |
|
(i = f.createRng()).selectNode(u.getBody()), |
|
o !== s(i)) |
|
) |
|
return; |
|
e.preventDefault(), |
|
u.setContent(""), |
|
n.firstChild && f.isBlock(n.firstChild) |
|
? u.selection.setCursorLocation(n.firstChild, 0) |
|
: u.selection.setCursorLocation(n, 0), |
|
u.nodeChanged(); |
|
} |
|
}), |
|
ge.windowsPhone || |
|
u.on( |
|
"keyup focusin mouseup", |
|
function (e) { |
|
xv.modifierPressed(e) || d.normalize(); |
|
}, |
|
!0 |
|
), |
|
m && |
|
(u.settings.content_editable || |
|
f.bind(u.getDoc(), "mousedown mouseup", function (e) { |
|
var t; |
|
if (e.target === u.getDoc().documentElement) |
|
if ( |
|
((t = d.getRng()), u.getBody().focus(), "mousedown" === e.type) |
|
) { |
|
if (ya(t.startContainer)) return; |
|
d.placeCaretAt(e.clientX, e.clientY); |
|
} else d.setRng(t); |
|
}), |
|
u.on("click", function (e) { |
|
var t = e.target; |
|
/^(IMG|HR)$/.test(t.nodeName) && |
|
"false" !== f.getContentEditableParent(t) && |
|
(e.preventDefault(), u.selection.select(t), u.nodeChanged()), |
|
"A" === t.nodeName && |
|
f.hasClass(t, "mce-item-anchor") && |
|
(e.preventDefault(), d.select(t)); |
|
}), |
|
e.forced_root_block && |
|
u.on("init", function () { |
|
h("DefaultParagraphSeparator", e.forced_root_block); |
|
}), |
|
u.on("init", function () { |
|
u.dom.bind(u.getBody(), "submit", function (e) { |
|
e.preventDefault(); |
|
}); |
|
}), |
|
y(), |
|
t.addNodeFilter("br", function (e) { |
|
for (var t = e.length; t--; ) |
|
"Apple-interchange-newline" === e[t].attr("class") && e[t].remove(); |
|
}), |
|
ge.iOS |
|
? (u.inline || |
|
u.on("keydown", function () { |
|
H.document.activeElement === H.document.body && |
|
u.getWin().focus(); |
|
}), |
|
C(), |
|
u.on("click", function (e) { |
|
var t = e.target; |
|
do { |
|
if ("A" === t.tagName) return void e.preventDefault(); |
|
} while ((t = t.parentNode)); |
|
}), |
|
u.contentStyles.push( |
|
".mce-content-body {-webkit-touch-callout: none}" |
|
)) |
|
: b()), |
|
11 <= ge.ie && (C(), y()), |
|
ge.ie && |
|
(b(), |
|
h("AutoUrlDetect", !1), |
|
u.on("dragstart", function (e) { |
|
var t, n, r; |
|
(t = e).dataTransfer && |
|
(u.selection.isCollapsed() && |
|
"IMG" === t.target.tagName && |
|
d.select(t.target), |
|
0 < (n = u.selection.getContent()).length && |
|
((r = g + escape(u.id) + "," + escape(n)), |
|
t.dataTransfer.setData(p, r))); |
|
}), |
|
u.on("drop", function (e) { |
|
if (!v(e)) { |
|
var t = |
|
(i = e).dataTransfer && |
|
(a = i.dataTransfer.getData(p)) && |
|
0 <= a.indexOf(g) |
|
? ((a = a.substr(g.length).split(",")), |
|
{ id: unescape(a[0]), html: unescape(a[1]) }) |
|
: null; |
|
if (t && t.id !== u.id) { |
|
e.preventDefault(); |
|
var n = Ty(e.x, e.y, u.getDoc()); |
|
d.setRng(n), |
|
(r = t.html), |
|
(o = !0), |
|
u.queryCommandSupported("mceInsertClipboardContent") |
|
? u.execCommand("mceInsertClipboardContent", !1, { |
|
content: r, |
|
internal: o, |
|
}) |
|
: u.execCommand("mceInsertContent", !1, r); |
|
} |
|
} |
|
var r, o, i, a; |
|
})), |
|
i && |
|
(u.on("keydown", function (e) { |
|
if (!v(e) && e.keyCode === c) { |
|
if (!u.getBody().getElementsByTagName("hr").length) return; |
|
if (d.isCollapsed() && 0 === d.getRng().startOffset) { |
|
var t = d.getNode(), |
|
n = t.previousSibling; |
|
if ("HR" === t.nodeName) |
|
return f.remove(t), void e.preventDefault(); |
|
n && |
|
n.nodeName && |
|
"hr" === n.nodeName.toLowerCase() && |
|
(f.remove(n), e.preventDefault()); |
|
} |
|
} |
|
}), |
|
H.Range.prototype.getClientRects || |
|
u.on("mousedown", function (e) { |
|
if (!v(e) && "HTML" === e.target.nodeName) { |
|
var t = u.getBody(); |
|
t.blur(), |
|
ye.setEditorTimeout(u, function () { |
|
t.focus(); |
|
}); |
|
} |
|
}), |
|
(n = function () { |
|
var e = f.getAttribs(d.getStart().cloneNode(!1)); |
|
return function () { |
|
var t = d.getStart(); |
|
t !== u.getBody() && |
|
(f.setAttrib(t, "style", null), |
|
o(e, function (e) { |
|
t.setAttributeNode(e.cloneNode(!0)); |
|
})); |
|
}; |
|
}), |
|
(r = function () { |
|
return ( |
|
!d.isCollapsed() && |
|
f.getParent(d.getStart(), f.isBlock) !== |
|
f.getParent(d.getEnd(), f.isBlock) |
|
); |
|
}), |
|
u.on("keypress", function (e) { |
|
var t; |
|
if (!v(e) && (8 === e.keyCode || 46 === e.keyCode) && r()) |
|
return ( |
|
(t = n()), |
|
u.getDoc().execCommand("delete", !1, null), |
|
t(), |
|
e.preventDefault(), |
|
!1 |
|
); |
|
}), |
|
f.bind(u.getDoc(), "cut", function (e) { |
|
var t; |
|
!v(e) && |
|
r() && |
|
((t = n()), |
|
ye.setEditorTimeout(u, function () { |
|
t(); |
|
})); |
|
}), |
|
e.readonly || |
|
u.on("BeforeExecCommand MouseDown", function () { |
|
h("StyleWithCSS", !1), |
|
h("enableInlineTableEditing", !1), |
|
e.object_resizing || h("enableObjectResizing", !1); |
|
}), |
|
u.on("SetContent ExecCommand", function (e) { |
|
("setcontent" !== e.type && "mceInsertLink" !== e.command) || |
|
o(f.select("a"), function (e) { |
|
var t = e.parentNode, |
|
n = f.getRoot(); |
|
if (t.lastChild === e) { |
|
for (; t && !f.isBlock(t); ) { |
|
if (t.parentNode.lastChild !== t || t === n) return; |
|
t = t.parentNode; |
|
} |
|
f.add(t, "br", { "data-mce-bogus": 1 }); |
|
} |
|
}); |
|
}), |
|
u.contentStyles.push( |
|
"img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}" |
|
), |
|
ge.mac && |
|
u.on("keydown", function (e) { |
|
!xv.metaKeyPressed(e) || |
|
e.shiftKey || |
|
(37 !== e.keyCode && 39 !== e.keyCode) || |
|
(e.preventDefault(), |
|
u.selection |
|
.getSel() |
|
.modify( |
|
"move", |
|
37 === e.keyCode ? "backward" : "forward", |
|
"lineboundary" |
|
)); |
|
}), |
|
y()), |
|
{ |
|
refreshContentEditable: function () {}, |
|
isHidden: function () { |
|
var e; |
|
return !i || u.removed |
|
? 0 |
|
: !(e = u.selection.getSel()) || |
|
!e.rangeCount || |
|
0 === e.rangeCount; |
|
}, |
|
} |
|
); |
|
} |
|
var sw = function (e) { |
|
return Po.isElement(e) && ho(ir.fromDom(e)); |
|
}, |
|
cw = function (t) { |
|
t.on("click", function (e) { |
|
3 <= e.detail && |
|
(function (e) { |
|
var t = e.selection.getRng(), |
|
n = vu.fromRangeStart(t), |
|
r = vu.fromRangeEnd(t); |
|
if (vu.isElementPosition(n)) { |
|
var o = n.container(); |
|
sw(o) && |
|
nc.firstPositionIn(o).each(function (e) { |
|
return t.setStart(e.container(), e.offset()); |
|
}); |
|
} |
|
vu.isElementPosition(r) && |
|
((o = n.container()), |
|
sw(o) && |
|
nc.lastPositionIn(o).each(function (e) { |
|
return t.setEnd(e.container(), e.offset()); |
|
})), |
|
e.selection.setRng(rl(t)); |
|
})(t); |
|
}); |
|
}, |
|
lw = function (e) { |
|
var t, n; |
|
(t = e).on("click", function (e) { |
|
t.dom.getParent(e.target, "details") && e.preventDefault(); |
|
}), |
|
(n = e).parser.addNodeFilter("details", function (e) { |
|
U(e, function (e) { |
|
e.attr("data-mce-open", e.attr("open")), e.attr("open", "open"); |
|
}); |
|
}), |
|
n.serializer.addNodeFilter("details", function (e) { |
|
U(e, function (e) { |
|
var t = e.attr("data-mce-open"); |
|
e.attr("open", R(t) ? t : null), e.attr("data-mce-open", null); |
|
}); |
|
}); |
|
}, |
|
fw = bi.DOM, |
|
dw = function (e) { |
|
var t; |
|
e.bindPendingEventDelegates(), |
|
(e.initialized = !0), |
|
e.fire("init"), |
|
e.focus(!0), |
|
e.nodeChanged({ initial: !0 }), |
|
e.execCallback("init_instance_callback", e), |
|
(t = e).settings.auto_focus && |
|
ye.setEditorTimeout( |
|
t, |
|
function () { |
|
var e; |
|
(e = |
|
!0 === t.settings.auto_focus |
|
? t |
|
: t.editorManager.get(t.settings.auto_focus)).destroyed || |
|
e.focus(); |
|
}, |
|
100 |
|
); |
|
}, |
|
mw = function (t, e) { |
|
var n, |
|
r, |
|
u, |
|
o, |
|
i, |
|
a, |
|
s, |
|
c, |
|
l, |
|
f = t.settings, |
|
d = t.getElement(), |
|
m = t.getDoc(); |
|
f.inline || (t.getElement().style.visibility = t.orgVisibility), |
|
e || f.content_editable || (m.open(), m.write(t.iframeHTML), m.close()), |
|
f.content_editable && |
|
(t.on("remove", function () { |
|
var e = this.getBody(); |
|
fw.removeClass(e, "mce-content-body"), |
|
fw.removeClass(e, "mce-edit-focus"), |
|
fw.setAttrib(e, "contentEditable", null); |
|
}), |
|
fw.addClass(d, "mce-content-body"), |
|
(t.contentDocument = m = f.content_document || H.document), |
|
(t.contentWindow = f.content_window || H.window), |
|
(t.bodyElement = d), |
|
(f.content_document = f.content_window = null), |
|
(f.root_name = d.nodeName.toLowerCase())), |
|
((n = t.getBody()).disabled = !0), |
|
(t.readonly = f.readonly), |
|
t.readonly || |
|
(t.inline && |
|
"static" === fw.getStyle(n, "position", !0) && |
|
(n.style.position = "relative"), |
|
(n.contentEditable = t.getParam("content_editable_state", !0))), |
|
(n.disabled = !1), |
|
(t.editorUpload = Lh(t)), |
|
(t.schema = ii(f)), |
|
(t.dom = bi(m, { |
|
keep_values: !0, |
|
url_converter: t.convertURL, |
|
url_converter_scope: t, |
|
hex_colors: f.force_hex_style_colors, |
|
class_filter: f.class_filter, |
|
update_styles: !0, |
|
root_element: t.inline ? t.getBody() : null, |
|
collect: f.content_editable, |
|
schema: t.schema, |
|
contentCssCors: Ol(t), |
|
onSetAttrib: function (e) { |
|
t.fire("SetAttrib", e); |
|
}, |
|
})), |
|
(t.parser = |
|
((o = ly((u = t).settings, u.schema)).addAttributeFilter( |
|
"src,href,style,tabindex", |
|
function (e, t) { |
|
for (var n, r, o, i = e.length, a = u.dom; i--; ) |
|
if ( |
|
((r = (n = e[i]).attr(t)), |
|
(o = "data-mce-" + t), |
|
!n.attributes.map[o]) |
|
) { |
|
if (0 === r.indexOf("data:") || 0 === r.indexOf("blob:")) |
|
continue; |
|
"style" === t |
|
? ((r = a.serializeStyle(a.parseStyle(r), n.name)).length || |
|
(r = null), |
|
n.attr(o, r), |
|
n.attr(t, r)) |
|
: "tabindex" === t |
|
? (n.attr(o, r), n.attr(t, null)) |
|
: n.attr(o, u.convertURL(r, t, n.name)); |
|
} |
|
} |
|
), |
|
o.addNodeFilter("script", function (e) { |
|
for (var t, n, r = e.length; r--; ) |
|
0 !== |
|
(n = (t = e[r]).attr("type") || "no/type").indexOf("mce-") && |
|
t.attr("type", "mce-" + n); |
|
}), |
|
o.addNodeFilter("#cdata", function (e) { |
|
for (var t, n = e.length; n--; ) |
|
((t = e[n]).type = 8), |
|
(t.name = "#comment"), |
|
(t.value = "[CDATA[" + t.value + "]]"); |
|
}), |
|
o.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", function (e) { |
|
for (var t, n = e.length, r = u.schema.getNonEmptyElements(); n--; ) |
|
(t = e[n]).isEmpty(r) && |
|
0 === t.getAll("br").length && |
|
(t.append(new Zb("br", 1)).shortEnded = !0); |
|
}), |
|
o)), |
|
(t.serializer = py(f, t)), |
|
(t.selection = tC(t.dom, t.getWin(), t.serializer, t)), |
|
(t.annotator = Mc(t)), |
|
(t.formatter = Vb(t)), |
|
(t.undoManager = Xv(t)), |
|
(t._nodeChangeDispatcher = new Wh(t)), |
|
(t._selectionOverrides = Sv(t)), |
|
lw(t), |
|
cw(t), |
|
aw(t), |
|
Uh(t), |
|
t.fire("PreInit"), |
|
f.browser_spellcheck || |
|
f.gecko_spellcheck || |
|
((m.body.spellcheck = !1), fw.setAttrib(n, "spellcheck", "false")), |
|
(t.quirks = uw(t)), |
|
t.fire("PostRender"), |
|
f.directionality && (n.dir = f.directionality), |
|
f.nowrap && (n.style.whiteSpace = "nowrap"), |
|
f.protect && |
|
t.on("BeforeSetContent", function (t) { |
|
Jt.each(f.protect, function (e) { |
|
t.content = t.content.replace(e, function (e) { |
|
return "\x3c!--mce:protected " + escape(e) + "--\x3e"; |
|
}); |
|
}); |
|
}), |
|
t.on("SetContent", function () { |
|
t.addVisual(t.getBody()); |
|
}), |
|
t.load({ initial: !0, format: "html" }), |
|
(t.startContent = t.getContent({ format: "raw" })), |
|
t.on("compositionstart compositionend", function (e) { |
|
t.composing = "compositionstart" === e.type; |
|
}), |
|
0 < t.contentStyles.length && |
|
((r = ""), |
|
Jt.each(t.contentStyles, function (e) { |
|
r += e + "\r\n"; |
|
}), |
|
t.dom.addStyle(r)), |
|
((i = t), |
|
i.inline ? fw.styleSheetLoader : i.dom.styleSheetLoader).loadAll( |
|
t.contentCSS, |
|
function (e) { |
|
dw(t); |
|
}, |
|
function (e) { |
|
dw(t); |
|
} |
|
), |
|
f.content_style && |
|
((a = t), |
|
(s = f.content_style), |
|
(c = ir.fromDom(a.getDoc().head)), |
|
(l = ir.fromTag("style")), |
|
yr(l, "type", "text/css"), |
|
_i(l, ir.fromText(s)), |
|
_i(c, l)); |
|
}, |
|
gw = bi.DOM, |
|
pw = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c = e.editorManager.translate( |
|
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help" |
|
), |
|
l = ((n = e.id), |
|
(r = c), |
|
(o = t.height), |
|
(i = ll(e)), |
|
(s = ir.fromTag("iframe")), |
|
Cr(s, i), |
|
Cr(s, { |
|
id: n + "_ifr", |
|
frameBorder: "0", |
|
allowTransparency: "true", |
|
title: r, |
|
}), |
|
Nr(s, { |
|
width: "100%", |
|
height: ((a = o), (u = "number" == typeof a ? a + "px" : a), u || ""), |
|
display: "block", |
|
}), |
|
s).dom(); |
|
l.onload = function () { |
|
(l.onload = null), e.fire("load"); |
|
}; |
|
var f, |
|
d, |
|
m, |
|
g, |
|
p = (function (e, t) { |
|
if ( |
|
H.document.domain !== H.window.location.hostname && |
|
ge.ie && |
|
ge.ie < 12 |
|
) { |
|
var n = Ih.uuid("mce"); |
|
e[n] = function () { |
|
mw(e); |
|
}; |
|
var r = |
|
'javascript:(function(){document.open();document.domain="' + |
|
H.document.domain + |
|
'";var ed = window.parent.tinymce.get("' + |
|
e.id + |
|
'");document.write(ed.iframeHTML);document.close();ed.' + |
|
n + |
|
"(true);})()"; |
|
return gw.setAttrib(t, "src", r), !0; |
|
} |
|
return !1; |
|
})(e, l); |
|
return ( |
|
(e.contentAreaContainer = t.iframeContainer), |
|
(e.iframeElement = l), |
|
(e.iframeHTML = |
|
((g = fl((f = e)) + "<html><head>"), |
|
dl(f) !== f.documentBaseUrl && |
|
(g += '<base href="' + f.documentBaseURI.getURI() + '" />'), |
|
(g += |
|
'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'), |
|
(d = ml(f)), |
|
(m = gl(f)), |
|
pl(f) && |
|
(g += |
|
'<meta http-equiv="Content-Security-Policy" content="' + |
|
pl(f) + |
|
'" />'), |
|
(g += |
|
'</head><body id="' + |
|
d + |
|
'" class="mce-content-body ' + |
|
m + |
|
'" data-id="' + |
|
f.id + |
|
'"><br></body></html>'))), |
|
gw.add(t.iframeContainer, l), |
|
p |
|
); |
|
}, |
|
hw = function (e, t) { |
|
var n = pw(e, t); |
|
t.editorContainer && |
|
((gw.get(t.editorContainer).style.display = e.orgDisplay), |
|
(e.hidden = gw.isHidden(t.editorContainer))), |
|
(e.getElement().style.display = "none"), |
|
gw.setAttrib(e.id, "aria-hidden", "true"), |
|
n || mw(e); |
|
}, |
|
vw = bi.DOM, |
|
bw = function (t, n, e) { |
|
var r = Ch.get(e), |
|
o = Ch.urls[e] || t.documentBaseUrl.replace(/\/$/, ""); |
|
if (((e = Jt.trim(e)), r && -1 === Jt.inArray(n, e))) { |
|
if ( |
|
(Jt.each(Ch.dependencies(e), function (e) { |
|
bw(t, n, e); |
|
}), |
|
t.plugins[e]) |
|
) |
|
return; |
|
try { |
|
var i = new r(t, o, t.$); |
|
(t.plugins[e] = i).init && (i.init(t, o), n.push(e)); |
|
} catch (ZN) { |
|
yh.pluginInitError(t, e, ZN); |
|
} |
|
} |
|
}, |
|
yw = function (e) { |
|
return e.replace(/^\-/, ""); |
|
}, |
|
Cw = function (e) { |
|
return { editorContainer: e, iframeContainer: e }; |
|
}, |
|
xw = function (e) { |
|
var t, |
|
n, |
|
r = e.getElement(); |
|
return e.inline |
|
? Cw(null) |
|
: ((t = r), (n = vw.create("div")), vw.insertAfter(n, t), Cw(n)); |
|
}, |
|
ww = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l, |
|
f, |
|
d = e.settings, |
|
m = e.getElement(); |
|
return ( |
|
(e.orgDisplay = m.style.display), |
|
R(d.theme) |
|
? ((l = (o = e).settings), |
|
(f = o.getElement()), |
|
(i = l.width || vw.getStyle(f, "width") || "100%"), |
|
(a = l.height || vw.getStyle(f, "height") || f.offsetHeight), |
|
(u = l.min_height || 100), |
|
(s = /^[0-9\.]+(|px)$/i).test("" + i) && |
|
(i = Math.max(parseInt(i, 10), 100)), |
|
s.test("" + a) && (a = Math.max(parseInt(a, 10), u)), |
|
(c = o.theme.renderUI({ |
|
targetNode: f, |
|
width: i, |
|
height: a, |
|
deltaWidth: l.delta_width, |
|
deltaHeight: l.delta_height, |
|
})), |
|
l.content_editable || |
|
((a = |
|
(c.iframeHeight || a) + |
|
("number" == typeof a ? c.deltaHeight || 0 : "")) < u && |
|
(a = u)), |
|
(c.height = a), |
|
c) |
|
: P(d.theme) |
|
? ((r = (t = e).getElement()), |
|
(n = t.settings.theme(t, r)).editorContainer.nodeType && |
|
(n.editorContainer.id = n.editorContainer.id || t.id + "_parent"), |
|
n.iframeContainer && |
|
n.iframeContainer.nodeType && |
|
(n.iframeContainer.id = |
|
n.iframeContainer.id || t.id + "_iframecontainer"), |
|
(n.height = n.iframeHeight ? n.iframeHeight : r.offsetHeight), |
|
n) |
|
: xw(e) |
|
); |
|
}, |
|
Nw = function (t) { |
|
var e, |
|
n, |
|
r, |
|
o, |
|
i, |
|
a, |
|
u = t.settings, |
|
s = t.getElement(); |
|
return ( |
|
(t.rtl = u.rtl_ui || t.editorManager.i18n.rtl), |
|
t.editorManager.i18n.setCode(u.language), |
|
(u.aria_label = |
|
u.aria_label || |
|
vw.getAttrib(s, "aria-label", t.getLang("aria.rich_text_area"))), |
|
t.fire("ScriptsLoaded"), |
|
(o = (n = t).settings.theme), |
|
R(o) |
|
? ((n.settings.theme = yw(o)), |
|
(r = xh.get(o)), |
|
(n.theme = new r(n, xh.urls[o])), |
|
n.theme.init && |
|
n.theme.init( |
|
n, |
|
xh.urls[o] || n.documentBaseUrl.replace(/\/$/, ""), |
|
n.$ |
|
)) |
|
: (n.theme = {}), |
|
(i = t), |
|
(a = []), |
|
Jt.each(i.settings.plugins.split(/[ ,]/), function (e) { |
|
bw(i, a, yw(e)); |
|
}), |
|
(e = ww(t)), |
|
(t.editorContainer = e.editorContainer ? e.editorContainer : null), |
|
u.content_css && |
|
Jt.each(Jt.explode(u.content_css), function (e) { |
|
t.contentCSS.push(t.documentBaseURI.toAbsolute(e)); |
|
}), |
|
u.content_editable ? mw(t) : hw(t, e) |
|
); |
|
}, |
|
Ew = bi.DOM, |
|
Sw = function (e) { |
|
return "-" === e.charAt(0); |
|
}, |
|
kw = function (i, a) { |
|
var u = Ni.ScriptLoader; |
|
!(function (e, t, n, r) { |
|
var o = t.settings, |
|
i = o.theme; |
|
if (R(i)) { |
|
if (!Sw(i) && !xh.urls.hasOwnProperty(i)) { |
|
var a = o.theme_url; |
|
a |
|
? xh.load(i, t.documentBaseURI.toAbsolute(a)) |
|
: xh.load(i, "themes/" + i + "/theme" + n + ".js"); |
|
} |
|
e.loadQueue(function () { |
|
xh.waitFor(i, r); |
|
}); |
|
} else r(); |
|
})(u, i, a, function () { |
|
var e, t, n, r, o; |
|
(e = u), |
|
(n = (t = i).settings).language && |
|
"en" !== n.language && |
|
!n.language_url && |
|
(n.language_url = |
|
t.editorManager.baseURL + "/langs/" + n.language + ".js"), |
|
n.language_url && |
|
!t.editorManager.i18n.data[n.language] && |
|
e.add(n.language_url), |
|
(r = i.settings), |
|
(o = a), |
|
Jt.isArray(r.plugins) && (r.plugins = r.plugins.join(" ")), |
|
Jt.each(r.external_plugins, function (e, t) { |
|
Ch.load(t, e), (r.plugins += " " + t); |
|
}), |
|
Jt.each(r.plugins.split(/[ ,]/), function (e) { |
|
if ((e = Jt.trim(e)) && !Ch.urls[e]) |
|
if (Sw(e)) { |
|
e = e.substr(1, e.length); |
|
var t = Ch.dependencies(e); |
|
Jt.each(t, function (e) { |
|
var t = { |
|
prefix: "plugins/", |
|
resource: e, |
|
suffix: "/plugin" + o + ".js", |
|
}; |
|
(e = Ch.createUrl(t, e)), Ch.load(e.resource, e); |
|
}); |
|
} else |
|
Ch.load(e, { |
|
prefix: "plugins/", |
|
resource: e, |
|
suffix: "/plugin" + o + ".js", |
|
}); |
|
}), |
|
u.loadQueue( |
|
function () { |
|
i.removed || Nw(i); |
|
}, |
|
i, |
|
function (e) { |
|
yh.pluginLoadError(i, e[0]), i.removed || Nw(i); |
|
} |
|
); |
|
}); |
|
}, |
|
Tw = function (t) { |
|
var e = t.settings, |
|
n = t.id, |
|
r = function () { |
|
Ew.unbind(H.window, "ready", r), t.render(); |
|
}; |
|
if (Ae.Event.domLoaded) { |
|
if (t.getElement() && ge.contentEditable) { |
|
e.inline |
|
? (t.inline = !0) |
|
: ((t.orgVisibility = t.getElement().style.visibility), |
|
(t.getElement().style.visibility = "hidden")); |
|
var o = t.getElement().form || Ew.getParent(n, "form"); |
|
o && |
|
((t.formElement = o), |
|
e.hidden_input && |
|
!/TEXTAREA|INPUT/i.test(t.getElement().nodeName) && |
|
(Ew.insertAfter( |
|
Ew.create("input", { type: "hidden", name: n }), |
|
n |
|
), |
|
(t.hasHiddenInput = !0)), |
|
(t.formEventDelegate = function (e) { |
|
t.fire(e.type, e); |
|
}), |
|
Ew.bind(o, "submit reset", t.formEventDelegate), |
|
t.on("reset", function () { |
|
t.setContent(t.startContent, { format: "raw" }); |
|
}), |
|
!e.submit_patch || |
|
o.submit.nodeType || |
|
o.submit.length || |
|
o._mceOldSubmit || |
|
((o._mceOldSubmit = o.submit), |
|
(o.submit = function () { |
|
return ( |
|
t.editorManager.triggerSave(), |
|
t.setDirty(!1), |
|
o._mceOldSubmit(o) |
|
); |
|
}))), |
|
(t.windowManager = lh(t)), |
|
(t.notificationManager = ch(t)), |
|
"xml" === e.encoding && |
|
t.on("GetContent", function (e) { |
|
e.save && (e.content = Ew.encode(e.content)); |
|
}), |
|
e.add_form_submit_trigger && |
|
t.on("submit", function () { |
|
t.initialized && t.save(); |
|
}), |
|
e.add_unload_trigger && |
|
((t._beforeUnload = function () { |
|
!t.initialized || |
|
t.destroyed || |
|
t.isHidden() || |
|
t.save({ format: "raw", no_events: !0, set_dirty: !1 }); |
|
}), |
|
t.editorManager.on("BeforeUnload", t._beforeUnload)), |
|
t.editorManager.add(t), |
|
kw(t, t.suffix); |
|
} |
|
} else Ew.bind(H.window, "ready", r); |
|
}, |
|
Aw = function (e, t, n) { |
|
var r = e.sidebars ? e.sidebars : []; |
|
r.push({ name: t, settings: n }), (e.sidebars = r); |
|
}, |
|
Rw = Jt.each, |
|
_w = Jt.trim, |
|
Dw = |
|
"source protocol authority userInfo user password host port relative path directory file query anchor".split( |
|
" " |
|
), |
|
Bw = { ftp: 21, http: 80, https: 443, mailto: 25 }, |
|
Ow = function (r, e) { |
|
var t, |
|
n, |
|
o = this; |
|
if ( |
|
((r = _w(r)), |
|
(t = (e = o.settings = e || {}).base_uri), |
|
/^([\w\-]+):([^\/]{2})/i.test(r) || /^\s*#/.test(r)) |
|
) |
|
o.source = r; |
|
else { |
|
var i = 0 === r.indexOf("//"); |
|
0 !== r.indexOf("/") || |
|
i || |
|
(r = ((t && t.protocol) || "http") + "://mce_host" + r), |
|
/^[\w\-]*:?\/\//.test(r) || |
|
((n = e.base_uri |
|
? e.base_uri.path |
|
: new Ow(H.document.location.href).directory), |
|
"" == e.base_uri.protocol |
|
? (r = "//mce_host" + o.toAbsPath(n, r)) |
|
: ((r = /([^#?]*)([#?]?.*)/.exec(r)), |
|
(r = |
|
((t && t.protocol) || "http") + |
|
"://mce_host" + |
|
o.toAbsPath(n, r[1]) + |
|
r[2]))), |
|
(r = r.replace(/@@/g, "(mce_at)")), |
|
(r = |
|
/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec( |
|
r |
|
)), |
|
Rw(Dw, function (e, t) { |
|
var n = r[t]; |
|
n && (n = n.replace(/\(mce_at\)/g, "@@")), (o[e] = n); |
|
}), |
|
t && |
|
(o.protocol || (o.protocol = t.protocol), |
|
o.userInfo || (o.userInfo = t.userInfo), |
|
o.port || "mce_host" !== o.host || (o.port = t.port), |
|
(o.host && "mce_host" !== o.host) || (o.host = t.host), |
|
(o.source = "")), |
|
i && (o.protocol = ""); |
|
} |
|
}; |
|
(Ow.prototype = { |
|
setPath: function (e) { |
|
(e = /^(.*?)\/?(\w+)?$/.exec(e)), |
|
(this.path = e[0]), |
|
(this.directory = e[1]), |
|
(this.file = e[2]), |
|
(this.source = ""), |
|
this.getURI(); |
|
}, |
|
toRelative: function (e) { |
|
var t; |
|
if ("./" === e) return e; |
|
if ( |
|
("mce_host" !== (e = new Ow(e, { base_uri: this })).host && |
|
this.host !== e.host && |
|
e.host) || |
|
this.port !== e.port || |
|
(this.protocol !== e.protocol && "" !== e.protocol) |
|
) |
|
return e.getURI(); |
|
var n = this.getURI(), |
|
r = e.getURI(); |
|
return n === r || |
|
("/" === n.charAt(n.length - 1) && n.substr(0, n.length - 1) === r) |
|
? n |
|
: ((t = this.toRelPath(this.path, e.path)), |
|
e.query && (t += "?" + e.query), |
|
e.anchor && (t += "#" + e.anchor), |
|
t); |
|
}, |
|
toAbsolute: function (e, t) { |
|
return (e = new Ow(e, { base_uri: this })).getURI( |
|
t && this.isSameOrigin(e) |
|
); |
|
}, |
|
isSameOrigin: function (e) { |
|
if (this.host == e.host && this.protocol == e.protocol) { |
|
if (this.port == e.port) return !0; |
|
var t = Bw[this.protocol]; |
|
if (t && (this.port || t) == (e.port || t)) return !0; |
|
} |
|
return !1; |
|
}, |
|
toRelPath: function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = 0, |
|
a = ""; |
|
if ( |
|
((e = (e = e.substring(0, e.lastIndexOf("/"))).split("/")), |
|
(n = t.split("/")), |
|
e.length >= n.length) |
|
) |
|
for (r = 0, o = e.length; r < o; r++) |
|
if (r >= n.length || e[r] !== n[r]) { |
|
i = r + 1; |
|
break; |
|
} |
|
if (e.length < n.length) |
|
for (r = 0, o = n.length; r < o; r++) |
|
if (r >= e.length || e[r] !== n[r]) { |
|
i = r + 1; |
|
break; |
|
} |
|
if (1 === i) return t; |
|
for (r = 0, o = e.length - (i - 1); r < o; r++) a += "../"; |
|
for (r = i - 1, o = n.length; r < o; r++) |
|
a += r !== i - 1 ? "/" + n[r] : n[r]; |
|
return a; |
|
}, |
|
toAbsPath: function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = 0, |
|
a = []; |
|
for ( |
|
r = /\/$/.test(t) ? "/" : "", |
|
e = e.split("/"), |
|
t = t.split("/"), |
|
Rw(e, function (e) { |
|
e && a.push(e); |
|
}), |
|
e = a, |
|
n = t.length - 1, |
|
a = []; |
|
0 <= n; |
|
n-- |
|
) |
|
0 !== t[n].length && |
|
"." !== t[n] && |
|
(".." !== t[n] ? (0 < i ? i-- : a.push(t[n])) : i++); |
|
return ( |
|
0 !== |
|
(o = |
|
(n = e.length - i) <= 0 |
|
? a.reverse().join("/") |
|
: e.slice(0, n).join("/") + "/" + a.reverse().join("/")).indexOf( |
|
"/" |
|
) && (o = "/" + o), |
|
r && o.lastIndexOf("/") !== o.length - 1 && (o += r), |
|
o |
|
); |
|
}, |
|
getURI: function (e) { |
|
var t, |
|
n = this; |
|
return ( |
|
(n.source && !e) || |
|
((t = ""), |
|
e || |
|
(n.protocol ? (t += n.protocol + "://") : (t += "//"), |
|
n.userInfo && (t += n.userInfo + "@"), |
|
n.host && (t += n.host), |
|
n.port && (t += ":" + n.port)), |
|
n.path && (t += n.path), |
|
n.query && (t += "?" + n.query), |
|
n.anchor && (t += "#" + n.anchor), |
|
(n.source = t)), |
|
n.source |
|
); |
|
}, |
|
}), |
|
(Ow.parseDataUri = function (e) { |
|
var t, n; |
|
return ( |
|
(e = decodeURIComponent(e).split(",")), |
|
(n = /data:([^;]+)/.exec(e[0])) && (t = n[1]), |
|
{ type: t, data: e[1] } |
|
); |
|
}), |
|
(Ow.getDocumentBaseUrl = function (e) { |
|
var t; |
|
return ( |
|
(t = |
|
0 !== e.protocol.indexOf("http") && "file:" !== e.protocol |
|
? e.href |
|
: e.protocol + "//" + e.host + e.pathname), |
|
/^[^:]+:\/\/\/?[^\/]+\//.test(t) && |
|
((t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, "")), |
|
/[\/\\]$/.test(t) || (t += "/")), |
|
t |
|
); |
|
}); |
|
var Pw = function (e, t, n) { |
|
var r, o, i, a, u; |
|
if ( |
|
((t.format = t.format ? t.format : "html"), |
|
(t.get = !0), |
|
(t.getInner = !0), |
|
t.no_events || e.fire("BeforeGetContent", t), |
|
"raw" === t.format) |
|
) |
|
r = Jt.trim(Dv.trimExternal(e.serializer, n.innerHTML)); |
|
else if ("text" === t.format) r = ga(n.innerText || n.textContent); |
|
else { |
|
if ("tree" === t.format) return e.serializer.serialize(n, t); |
|
(i = (o = e).serializer.serialize(n, t)), |
|
(a = vl(o)), |
|
(u = new RegExp( |
|
"^(<" + |
|
a + |
|
"[^>]*>( | |\\s|\xa0|<br \\/>|)<\\/" + |
|
a + |
|
">[\r\n]*|<br \\/>[\r\n]*)$" |
|
)), |
|
(r = i.replace(u, "")); |
|
} |
|
return ( |
|
"text" === t.format || wo(ir.fromDom(n)) |
|
? (t.content = r) |
|
: (t.content = Jt.trim(r)), |
|
t.no_events || e.fire("GetContent", t), |
|
t.content |
|
); |
|
}, |
|
Iw = function (e, t) { |
|
t(e), e.firstChild && Iw(e.firstChild, t), e.next && Iw(e.next, t); |
|
}, |
|
Lw = function (e, t, n) { |
|
var r = (function (e, n, t) { |
|
var r = {}, |
|
o = {}, |
|
i = []; |
|
for (var a in (t.firstChild && |
|
Iw(t.firstChild, function (t) { |
|
U(e, function (e) { |
|
e.name === t.name && |
|
(r[e.name] |
|
? r[e.name].nodes.push(t) |
|
: (r[e.name] = { filter: e, nodes: [t] })); |
|
}), |
|
U(n, function (e) { |
|
"string" == typeof t.attr(e.name) && |
|
(o[e.name] |
|
? o[e.name].nodes.push(t) |
|
: (o[e.name] = { filter: e, nodes: [t] })); |
|
}); |
|
}), |
|
r)) |
|
r.hasOwnProperty(a) && i.push(r[a]); |
|
for (var a in o) o.hasOwnProperty(a) && i.push(o[a]); |
|
return i; |
|
})(e, t, n); |
|
U(r, function (t) { |
|
U(t.filter.callbacks, function (e) { |
|
e(t.nodes, t.filter.name, {}); |
|
}); |
|
}); |
|
}, |
|
Mw = function (e) { |
|
return e instanceof Zb; |
|
}, |
|
Fw = function (e, t) { |
|
var r; |
|
e.dom.setHTML(e.getBody(), t), |
|
eh((r = e)) && |
|
nc.firstPositionIn(r.getBody()).each(function (e) { |
|
var t = e.getNode(), |
|
n = Po.isTable(t) ? nc.firstPositionIn(t).getOr(e) : e; |
|
r.selection.setRng(n.toRange()); |
|
}); |
|
}, |
|
zw = function (u, s, c) { |
|
return ( |
|
void 0 === c && (c = {}), |
|
(c.format = c.format ? c.format : "html"), |
|
(c.set = !0), |
|
(c.content = Mw(s) ? "" : s), |
|
Mw(s) || |
|
c.no_events || |
|
(u.fire("BeforeSetContent", c), (s = c.content)), |
|
A.from(u.getBody()).fold(q(s), function (e) { |
|
return Mw(s) |
|
? (function (e, t, n, r) { |
|
Lw( |
|
e.parser.getNodeFilters(), |
|
e.parser.getAttributeFilters(), |
|
n |
|
); |
|
var o = el({ validate: e.validate }, e.schema).serialize(n); |
|
return ( |
|
(r.content = wo(ir.fromDom(t)) ? o : Jt.trim(o)), |
|
Fw(e, r.content), |
|
r.no_events || e.fire("SetContent", r), |
|
n |
|
); |
|
})(u, e, s, c) |
|
: ((t = u), |
|
(n = e), |
|
(o = c), |
|
0 === (r = s).length || /^\s+$/.test(r) |
|
? ((a = '<br data-mce-bogus="1">'), |
|
"TABLE" === n.nodeName |
|
? (r = "<tr><td>" + a + "</td></tr>") |
|
: /^(UL|OL)$/.test(n.nodeName) && |
|
(r = "<li>" + a + "</li>"), |
|
(i = vl(t)) && |
|
t.schema.isValidChild( |
|
n.nodeName.toLowerCase(), |
|
i.toLowerCase() |
|
) |
|
? ((r = a), |
|
(r = t.dom.createHTML( |
|
i, |
|
t.settings.forced_root_block_attrs, |
|
r |
|
))) |
|
: r || (r = '<br data-mce-bogus="1">'), |
|
Fw(t, r), |
|
t.fire("SetContent", o)) |
|
: ("raw" !== o.format && |
|
(r = el({ validate: t.validate }, t.schema).serialize( |
|
t.parser.parse(r, { isRootContent: !0, insert: !0 }) |
|
)), |
|
(o.content = wo(ir.fromDom(n)) ? r : Jt.trim(r)), |
|
Fw(t, o.content), |
|
o.no_events || t.fire("SetContent", o)), |
|
o.content); |
|
var t, n, r, o, i, a; |
|
}) |
|
); |
|
}, |
|
Uw = bi.DOM, |
|
Vw = function (e) { |
|
return A.from(e).each(function (e) { |
|
return e.destroy(); |
|
}); |
|
}, |
|
Hw = function (e) { |
|
if (!e.removed) { |
|
var t = e._selectionOverrides, |
|
n = e.editorUpload, |
|
r = e.getBody(), |
|
o = e.getElement(); |
|
r && e.save({ is_removing: !0 }), |
|
(e.removed = !0), |
|
e.unbindAllNativeEvents(), |
|
e.hasHiddenInput && o && Uw.remove(o.nextSibling), |
|
gp(e), |
|
e.editorManager.remove(e), |
|
!e.inline && |
|
r && |
|
((i = e), Uw.setStyle(i.id, "display", i.orgDisplay)), |
|
pp(e), |
|
Uw.remove(e.getContainer()), |
|
Vw(t), |
|
Vw(n), |
|
e.destroy(); |
|
} |
|
var i; |
|
}, |
|
jw = function (e, t) { |
|
var n, |
|
r, |
|
o, |
|
i = e.selection, |
|
a = e.dom; |
|
e.destroyed || |
|
(t || e.removed |
|
? (t || |
|
(e.editorManager.off("beforeunload", e._beforeUnload), |
|
e.theme && e.theme.destroy && e.theme.destroy(), |
|
Vw(i), |
|
Vw(a)), |
|
(r = (n = e).formElement) && |
|
(r._mceOldSubmit && |
|
((r.submit = r._mceOldSubmit), (r._mceOldSubmit = null)), |
|
Uw.unbind(r, "submit reset", n.formEventDelegate)), |
|
((o = e).contentAreaContainer = |
|
o.formElement = |
|
o.container = |
|
o.editorContainer = |
|
null), |
|
(o.bodyElement = o.contentDocument = o.contentWindow = null), |
|
(o.iframeElement = o.targetElm = null), |
|
o.selection && |
|
(o.selection = |
|
o.selection.win = |
|
o.selection.dom = |
|
o.selection.dom.doc = |
|
null), |
|
(e.destroyed = !0)) |
|
: e.remove()); |
|
}, |
|
qw = bi.DOM, |
|
$w = Jt.extend, |
|
Ww = Jt.each, |
|
Kw = Jt.resolve, |
|
Xw = ge.ie, |
|
Yw = function (e, t, n) { |
|
var r, |
|
o, |
|
i, |
|
a, |
|
u, |
|
s, |
|
c, |
|
l = this, |
|
f = (l.documentBaseUrl = n.documentBaseURL), |
|
d = n.baseURI; |
|
(r = l), |
|
(o = e), |
|
(i = f), |
|
(a = n.defaultSettings), |
|
(u = t), |
|
(c = { |
|
id: o, |
|
theme: "modern", |
|
delta_width: 0, |
|
delta_height: 0, |
|
popup_css: "", |
|
plugins: "", |
|
document_base_url: i, |
|
add_form_submit_trigger: !0, |
|
submit_patch: !0, |
|
add_unload_trigger: !0, |
|
convert_urls: !0, |
|
relative_urls: !0, |
|
remove_script_host: !0, |
|
object_resizing: !0, |
|
doctype: "<!DOCTYPE html>", |
|
visual: !0, |
|
font_size_style_values: |
|
"xx-small,x-small,small,medium,large,x-large,xx-large", |
|
font_size_legacy_values: |
|
"xx-small,small,medium,large,x-large,xx-large,300%", |
|
forced_root_block: "p", |
|
hidden_input: !0, |
|
render_ui: !0, |
|
indentation: "40px", |
|
inline_styles: !0, |
|
convert_fonts_to_spans: !0, |
|
indent: "simple", |
|
indent_before: |
|
"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist", |
|
indent_after: |
|
"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,summary,article,hgroup,aside,figure,figcaption,option,optgroup,datalist", |
|
entity_encoding: "named", |
|
url_converter: (s = r).convertURL, |
|
url_converter_scope: s, |
|
ie7_compat: !0, |
|
}), |
|
(t = Mp(_p, c, a, u)), |
|
(l.settings = t), |
|
(ki.language = t.language || "en"), |
|
(ki.languageLoad = t.language_load), |
|
(ki.baseURL = n.baseURL), |
|
(l.id = e), |
|
l.setDirty(!1), |
|
(l.plugins = {}), |
|
(l.documentBaseURI = new Ow(t.document_base_url, { base_uri: d })), |
|
(l.baseURI = d), |
|
(l.contentCSS = []), |
|
(l.contentStyles = []), |
|
(l.shortcuts = new qp(l)), |
|
(l.loadedCSS = {}), |
|
(l.editorCommands = new ap(l)), |
|
(l.suffix = n.suffix), |
|
(l.editorManager = n), |
|
(l.inline = t.inline), |
|
(l.buttons = {}), |
|
(l.menuItems = {}), |
|
t.cache_suffix && |
|
(ge.cacheSuffix = t.cache_suffix.replace(/^[\?\&]+/, "")), |
|
!1 === t.override_viewport && (ge.overrideViewPort = !1), |
|
n.fire("SetupEditor", { editor: l }), |
|
l.execCallback("setup", l), |
|
(l.$ = vn.overrideDefaults(function () { |
|
return { |
|
context: l.inline ? l.getBody() : l.getDoc(), |
|
element: l.getBody(), |
|
}; |
|
})); |
|
}; |
|
$w( |
|
(Yw.prototype = { |
|
render: function () { |
|
Tw(this); |
|
}, |
|
focus: function (e) { |
|
Zp(this, e); |
|
}, |
|
hasFocus: function () { |
|
return eh(this); |
|
}, |
|
execCallback: function (e) { |
|
for (var t = [], n = 1; n < arguments.length; n++) |
|
t[n - 1] = arguments[n]; |
|
var r, |
|
o = this.settings[e]; |
|
if (o) |
|
return ( |
|
this.callbackLookup && |
|
(r = this.callbackLookup[e]) && |
|
((o = r.func), (r = r.scope)), |
|
"string" == typeof o && |
|
((r = (r = o.replace(/\.\w+$/, "")) ? Kw(r) : 0), |
|
(o = Kw(o)), |
|
(this.callbackLookup = this.callbackLookup || {}), |
|
(this.callbackLookup[e] = { func: o, scope: r })), |
|
o.apply(r || this, Array.prototype.slice.call(arguments, 1)) |
|
); |
|
}, |
|
translate: function (e) { |
|
if (e && Jt.is(e, "string")) { |
|
var n = this.settings.language || "en", |
|
r = this.editorManager.i18n; |
|
e = |
|
r.data[n + "." + e] || |
|
e.replace(/\{\#([^\}]+)\}/g, function (e, t) { |
|
return r.data[n + "." + t] || "{#" + t + "}"; |
|
}); |
|
} |
|
return this.editorManager.translate(e); |
|
}, |
|
getLang: function (e, t) { |
|
return ( |
|
this.editorManager.i18n.data[ |
|
(this.settings.language || "en") + "." + e |
|
] || (t !== undefined ? t : "{#" + e + "}") |
|
); |
|
}, |
|
getParam: function (e, t, n) { |
|
return zp(this, e, t, n); |
|
}, |
|
nodeChanged: function (e) { |
|
this._nodeChangeDispatcher.nodeChanged(e); |
|
}, |
|
addButton: function (e, t) { |
|
var n = this; |
|
t.cmd && |
|
(t.onclick = function () { |
|
n.execCommand(t.cmd); |
|
}), |
|
t.stateSelector && "undefined" == typeof t.active && (t.active = !1), |
|
t.text || t.icon || (t.icon = e), |
|
(t.tooltip = t.tooltip || t.title), |
|
(n.buttons[e] = t); |
|
}, |
|
addSidebar: function (e, t) { |
|
return Aw(this, e, t); |
|
}, |
|
addMenuItem: function (e, t) { |
|
var n = this; |
|
t.cmd && |
|
(t.onclick = function () { |
|
n.execCommand(t.cmd); |
|
}), |
|
(n.menuItems[e] = t); |
|
}, |
|
addContextToolbar: function (e, t) { |
|
var n, |
|
r = this; |
|
(r.contextToolbars = r.contextToolbars || []), |
|
"string" == typeof e && |
|
((n = e), |
|
(e = function (e) { |
|
return r.dom.is(e, n); |
|
})), |
|
r.contextToolbars.push({ |
|
id: Ih.uuid("mcet"), |
|
predicate: e, |
|
items: t, |
|
}); |
|
}, |
|
addCommand: function (e, t, n) { |
|
this.editorCommands.addCommand(e, t, n); |
|
}, |
|
addQueryStateHandler: function (e, t, n) { |
|
this.editorCommands.addQueryStateHandler(e, t, n); |
|
}, |
|
addQueryValueHandler: function (e, t, n) { |
|
this.editorCommands.addQueryValueHandler(e, t, n); |
|
}, |
|
addShortcut: function (e, t, n, r) { |
|
this.shortcuts.add(e, t, n, r); |
|
}, |
|
execCommand: function (e, t, n, r) { |
|
return this.editorCommands.execCommand(e, t, n, r); |
|
}, |
|
queryCommandState: function (e) { |
|
return this.editorCommands.queryCommandState(e); |
|
}, |
|
queryCommandValue: function (e) { |
|
return this.editorCommands.queryCommandValue(e); |
|
}, |
|
queryCommandSupported: function (e) { |
|
return this.editorCommands.queryCommandSupported(e); |
|
}, |
|
show: function () { |
|
this.hidden && |
|
((this.hidden = !1), |
|
this.inline |
|
? (this.getBody().contentEditable = !0) |
|
: (qw.show(this.getContainer()), qw.hide(this.id)), |
|
this.load(), |
|
this.fire("show")); |
|
}, |
|
hide: function () { |
|
var e = this, |
|
t = e.getDoc(); |
|
e.hidden || |
|
(Xw && t && !e.inline && t.execCommand("SelectAll"), |
|
e.save(), |
|
e.inline |
|
? ((e.getBody().contentEditable = !1), |
|
e === e.editorManager.focusedEditor && |
|
(e.editorManager.focusedEditor = null)) |
|
: (qw.hide(e.getContainer()), |
|
qw.setStyle(e.id, "display", e.orgDisplay)), |
|
(e.hidden = !0), |
|
e.fire("hide")); |
|
}, |
|
isHidden: function () { |
|
return !!this.hidden; |
|
}, |
|
setProgressState: function (e, t) { |
|
this.fire("ProgressState", { state: e, time: t }); |
|
}, |
|
load: function (e) { |
|
var t, |
|
n = this.getElement(); |
|
return this.removed |
|
? "" |
|
: n |
|
? (((e = e || {}).load = !0), |
|
(t = this.setContent( |
|
n.value !== undefined ? n.value : n.innerHTML, |
|
e |
|
)), |
|
(e.element = n), |
|
e.no_events || this.fire("LoadContent", e), |
|
(e.element = n = null), |
|
t) |
|
: void 0; |
|
}, |
|
save: function (e) { |
|
var t, |
|
n, |
|
r = this, |
|
o = r.getElement(); |
|
if (o && r.initialized && !r.removed) |
|
return ( |
|
((e = e || {}).save = !0), |
|
(e.element = o), |
|
(e.content = r.getContent(e)), |
|
e.no_events || r.fire("SaveContent", e), |
|
"raw" === e.format && r.fire("RawSaveContent", e), |
|
(t = e.content), |
|
/TEXTAREA|INPUT/i.test(o.nodeName) |
|
? (o.value = t) |
|
: ((!e.is_removing && r.inline) || (o.innerHTML = t), |
|
(n = qw.getParent(r.id, "form")) && |
|
Ww(n.elements, function (e) { |
|
if (e.name === r.id) return (e.value = t), !1; |
|
})), |
|
(e.element = o = null), |
|
!1 !== e.set_dirty && r.setDirty(!1), |
|
t |
|
); |
|
}, |
|
setContent: function (e, t) { |
|
return zw(this, e, t); |
|
}, |
|
getContent: function (e) { |
|
return ( |
|
(t = this), |
|
void 0 === (n = e) && (n = {}), |
|
A.from(t.getBody()).fold( |
|
q("tree" === n.format ? new Zb("body", 11) : ""), |
|
function (e) { |
|
return Pw(t, n, e); |
|
} |
|
) |
|
); |
|
var t, n; |
|
}, |
|
insertContent: function (e, t) { |
|
t && (e = $w({ content: e }, t)), |
|
this.execCommand("mceInsertContent", !1, e); |
|
}, |
|
isDirty: function () { |
|
return !this.isNotDirty; |
|
}, |
|
setDirty: function (e) { |
|
var t = !this.isNotDirty; |
|
(this.isNotDirty = !e), e && e !== t && this.fire("dirty"); |
|
}, |
|
setMode: function (e) { |
|
var t, n; |
|
(n = e) !== wp((t = this)) && |
|
(t.initialized |
|
? xp(t, "readonly" === n) |
|
: t.on("init", function () { |
|
xp(t, "readonly" === n); |
|
}), |
|
hp(t, n)); |
|
}, |
|
getContainer: function () { |
|
return ( |
|
this.container || |
|
(this.container = qw.get( |
|
this.editorContainer || this.id + "_parent" |
|
)), |
|
this.container |
|
); |
|
}, |
|
getContentAreaContainer: function () { |
|
return this.contentAreaContainer; |
|
}, |
|
getElement: function () { |
|
return ( |
|
this.targetElm || (this.targetElm = qw.get(this.id)), this.targetElm |
|
); |
|
}, |
|
getWin: function () { |
|
var e; |
|
return ( |
|
this.contentWindow || |
|
((e = this.iframeElement) && |
|
(this.contentWindow = e.contentWindow)), |
|
this.contentWindow |
|
); |
|
}, |
|
getDoc: function () { |
|
var e; |
|
return ( |
|
this.contentDocument || |
|
((e = this.getWin()) && (this.contentDocument = e.document)), |
|
this.contentDocument |
|
); |
|
}, |
|
getBody: function () { |
|
var e = this.getDoc(); |
|
return this.bodyElement || (e ? e.body : null); |
|
}, |
|
convertURL: function (e, t, n) { |
|
var r = this.settings; |
|
return r.urlconverter_callback |
|
? this.execCallback("urlconverter_callback", e, n, !0, t) |
|
: !r.convert_urls || |
|
(n && "LINK" === n.nodeName) || |
|
0 === e.indexOf("file:") || |
|
0 === e.length |
|
? e |
|
: r.relative_urls |
|
? this.documentBaseURI.toRelative(e) |
|
: (e = this.documentBaseURI.toAbsolute(e, r.remove_script_host)); |
|
}, |
|
addVisual: function (e) { |
|
var n, |
|
r = this, |
|
o = r.settings, |
|
i = r.dom; |
|
(e = e || r.getBody()), |
|
r.hasVisual === undefined && (r.hasVisual = o.visual), |
|
Ww(i.select("table,a", e), function (e) { |
|
var t; |
|
switch (e.nodeName) { |
|
case "TABLE": |
|
return ( |
|
(n = o.visual_table_class || "mce-item-table"), |
|
void (((t = i.getAttrib(e, "border")) && "0" !== t) || |
|
!r.hasVisual |
|
? i.removeClass(e, n) |
|
: i.addClass(e, n)) |
|
); |
|
case "A": |
|
return void ( |
|
i.getAttrib(e, "href") || |
|
((t = i.getAttrib(e, "name") || e.id), |
|
(n = o.visual_anchor_class || "mce-item-anchor"), |
|
t && r.hasVisual ? i.addClass(e, n) : i.removeClass(e, n)) |
|
); |
|
} |
|
}), |
|
r.fire("VisualAid", { element: e, hasVisual: r.hasVisual }); |
|
}, |
|
remove: function () { |
|
Hw(this); |
|
}, |
|
destroy: function (e) { |
|
jw(this, e); |
|
}, |
|
uploadImages: function (e) { |
|
return this.editorUpload.uploadImages(e); |
|
}, |
|
_scanForImages: function () { |
|
return this.editorUpload.scanForImages(); |
|
}, |
|
}), |
|
Ap |
|
); |
|
var Gw, |
|
Jw, |
|
Qw, |
|
Zw = { |
|
isEditorUIElement: function (e) { |
|
return -1 !== e.className.toString().indexOf("mce-"); |
|
}, |
|
}, |
|
eN = function (n, e) { |
|
var t, r; |
|
rr.detect().browser.isIE() |
|
? (r = n).on("focusout", function () { |
|
Gg(r); |
|
}) |
|
: ((t = e), |
|
n.on("mouseup touchend", function (e) { |
|
t.throttle(); |
|
})), |
|
n.on("keyup nodechange", function (e) { |
|
var t; |
|
("nodechange" === (t = e).type && t.selectionChange) || Gg(n); |
|
}); |
|
}, |
|
tN = function (e) { |
|
var t, |
|
n, |
|
r, |
|
o = Ii(function () { |
|
Gg(e); |
|
}, 0); |
|
e.inline && |
|
((t = e), |
|
(n = o), |
|
(r = function () { |
|
n.throttle(); |
|
}), |
|
bi.DOM.bind(H.document, "mouseup", r), |
|
t.on("remove", function () { |
|
bi.DOM.unbind(H.document, "mouseup", r); |
|
})), |
|
e.on("init", function () { |
|
eN(e, o); |
|
}), |
|
e.on("remove", function () { |
|
o.cancel(); |
|
}); |
|
}, |
|
nN = bi.DOM, |
|
rN = function (e) { |
|
return Zw.isEditorUIElement(e); |
|
}, |
|
oN = function (t, e) { |
|
var n = t ? t.settings.custom_ui_selector : ""; |
|
return ( |
|
null !== |
|
nN.getParent(e, function (e) { |
|
return rN(e) || (!!n && t.dom.is(e, n)); |
|
}) |
|
); |
|
}, |
|
iN = function (r, e) { |
|
var t = e.editor; |
|
tN(t), |
|
t.on("focusin", function () { |
|
var e = r.focusedEditor; |
|
e !== this && |
|
(e && e.fire("blur", { focusedEditor: this }), |
|
r.setActive(this), |
|
(r.focusedEditor = this).fire("focus", { blurredEditor: e }), |
|
this.focus(!0)); |
|
}), |
|
t.on("focusout", function () { |
|
var t = this; |
|
ye.setEditorTimeout(t, function () { |
|
var e = r.focusedEditor; |
|
oN( |
|
t, |
|
(function () { |
|
try { |
|
return H.document.activeElement; |
|
} catch (e) { |
|
return H.document.body; |
|
} |
|
})() |
|
) || |
|
e !== t || |
|
(t.fire("blur", { focusedEditor: null }), |
|
(r.focusedEditor = null)); |
|
}); |
|
}), |
|
Gw || |
|
((Gw = function (e) { |
|
var t, |
|
n = r.activeEditor; |
|
(t = e.target), |
|
n && |
|
t.ownerDocument === H.document && |
|
(t === H.document.body || |
|
oN(n, t) || |
|
r.focusedEditor !== n || |
|
(n.fire("blur", { focusedEditor: null }), |
|
(r.focusedEditor = null))); |
|
}), |
|
nN.bind(H.document, "focusin", Gw)); |
|
}, |
|
aN = function (e, t) { |
|
e.focusedEditor === t.editor && (e.focusedEditor = null), |
|
e.activeEditor || (nN.unbind(H.document, "focusin", Gw), (Gw = null)); |
|
}, |
|
uN = function (e) { |
|
e.on("AddEditor", d(iN, e)), e.on("RemoveEditor", d(aN, e)); |
|
}, |
|
sN = bi.DOM, |
|
cN = Jt.explode, |
|
lN = Jt.each, |
|
fN = Jt.extend, |
|
dN = 0, |
|
mN = !1, |
|
gN = [], |
|
pN = [], |
|
hN = function (t) { |
|
var n = t.type; |
|
lN(Qw.get(), function (e) { |
|
switch (n) { |
|
case "scroll": |
|
e.fire("ScrollWindow", t); |
|
break; |
|
case "resize": |
|
e.fire("ResizeWindow", t); |
|
} |
|
}); |
|
}, |
|
vN = function (e) { |
|
e !== mN && |
|
(e |
|
? vn(window).on("resize scroll", hN) |
|
: vn(window).off("resize scroll", hN), |
|
(mN = e)); |
|
}, |
|
bN = function (t) { |
|
var e = pN; |
|
delete gN[t.id]; |
|
for (var n = 0; n < gN.length; n++) |
|
if (gN[n] === t) { |
|
gN.splice(n, 1); |
|
break; |
|
} |
|
return ( |
|
(pN = V(pN, function (e) { |
|
return t !== e; |
|
})), |
|
Qw.activeEditor === t && |
|
(Qw.activeEditor = 0 < pN.length ? pN[0] : null), |
|
Qw.focusedEditor === t && (Qw.focusedEditor = null), |
|
e.length !== pN.length |
|
); |
|
}; |
|
fN( |
|
(Qw = { |
|
defaultSettings: {}, |
|
$: vn, |
|
majorVersion: "4", |
|
minorVersion: "9.5", |
|
releaseDate: "2019-07-02", |
|
editors: gN, |
|
i18n: mh, |
|
activeEditor: null, |
|
settings: {}, |
|
setup: function () { |
|
var e, |
|
t, |
|
n, |
|
r, |
|
o = ""; |
|
if ( |
|
((t = Ow.getDocumentBaseUrl(H.document.location)), |
|
/^[^:]+:\/\/\/?[^\/]+\//.test(t) && |
|
((t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, "")), |
|
/[\/\\]$/.test(t) || (t += "/")), |
|
(n = window.tinymce || window.tinyMCEPreInit)) |
|
) |
|
(e = n.base || n.baseURL), (o = n.suffix); |
|
else { |
|
for ( |
|
var i = H.document.getElementsByTagName("script"), a = 0; |
|
a < i.length; |
|
a++ |
|
) { |
|
var u = (r = i[a].src).substring(r.lastIndexOf("/")); |
|
if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(r)) { |
|
-1 !== u.indexOf(".min") && (o = ".min"), |
|
(e = r.substring(0, r.lastIndexOf("/"))); |
|
break; |
|
} |
|
} |
|
!e && |
|
H.document.currentScript && |
|
(-1 !== (r = H.document.currentScript.src).indexOf(".min") && |
|
(o = ".min"), |
|
(e = r.substring(0, r.lastIndexOf("/")))); |
|
} |
|
(this.baseURL = new Ow(t).toAbsolute(e)), |
|
(this.documentBaseURL = t), |
|
(this.baseURI = new Ow(this.baseURL)), |
|
(this.suffix = o), |
|
uN(this); |
|
}, |
|
overrideDefaults: function (e) { |
|
var t, n; |
|
(t = e.base_url) && |
|
((this.baseURL = new Ow(this.documentBaseURL).toAbsolute( |
|
t.replace(/\/+$/, "") |
|
)), |
|
(this.baseURI = new Ow(this.baseURL))), |
|
(n = e.suffix), |
|
e.suffix && (this.suffix = n); |
|
var r = (this.defaultSettings = e).plugin_base_urls; |
|
for (var o in r) ki.PluginManager.urls[o] = r[o]; |
|
}, |
|
init: function (r) { |
|
var n, |
|
u, |
|
s = this; |
|
u = Jt.makeMap( |
|
"area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu", |
|
" " |
|
); |
|
var c = function (e) { |
|
var t = e.id; |
|
return ( |
|
t || |
|
((t = (t = e.name) && !sN.get(t) ? e.name : sN.uniqueId()), |
|
e.setAttribute("id", t)), |
|
t |
|
); |
|
}, |
|
l = function (e, t) { |
|
return t.constructor === RegExp |
|
? t.test(e.className) |
|
: sN.hasClass(e, t); |
|
}, |
|
f = function (e) { |
|
n = e; |
|
}, |
|
e = function () { |
|
var o, |
|
i = 0, |
|
a = [], |
|
n = function (e, t, n) { |
|
var r = new Yw(e, t, s); |
|
a.push(r), |
|
r.on("init", function () { |
|
++i === o.length && f(a); |
|
}), |
|
(r.targetElm = r.targetElm || n), |
|
r.render(); |
|
}; |
|
sN.unbind(window, "ready", e), |
|
(function (e) { |
|
var t = r[e]; |
|
t && t.apply(s, Array.prototype.slice.call(arguments, 2)); |
|
})("onpageload"), |
|
(o = vn.unique( |
|
(function (t) { |
|
var e, |
|
n = []; |
|
if (ge.ie && ge.ie < 11) |
|
return ( |
|
yh.initError( |
|
"TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/" |
|
), |
|
[] |
|
); |
|
if (t.types) |
|
return ( |
|
lN(t.types, function (e) { |
|
n = n.concat(sN.select(e.selector)); |
|
}), |
|
n |
|
); |
|
if (t.selector) return sN.select(t.selector); |
|
if (t.target) return [t.target]; |
|
switch (t.mode) { |
|
case "exact": |
|
0 < (e = t.elements || "").length && |
|
lN(cN(e), function (t) { |
|
var e; |
|
(e = sN.get(t)) |
|
? n.push(e) |
|
: lN(H.document.forms, function (e) { |
|
lN(e.elements, function (e) { |
|
e.name === t && |
|
((t = "mce_editor_" + dN++), |
|
sN.setAttrib(e, "id", t), |
|
n.push(e)); |
|
}); |
|
}); |
|
}); |
|
break; |
|
case "textareas": |
|
case "specific_textareas": |
|
lN(sN.select("textarea"), function (e) { |
|
(t.editor_deselector && l(e, t.editor_deselector)) || |
|
(t.editor_selector && !l(e, t.editor_selector)) || |
|
n.push(e); |
|
}); |
|
} |
|
return n; |
|
})(r) |
|
)), |
|
r.types |
|
? lN(r.types, function (t) { |
|
Jt.each(o, function (e) { |
|
return ( |
|
!sN.is(e, t.selector) || (n(c(e), fN({}, r, t), e), !1) |
|
); |
|
}); |
|
}) |
|
: (Jt.each(o, function (e) { |
|
var t; |
|
(t = s.get(e.id)) && |
|
t.initialized && |
|
!(t.getContainer() || t.getBody()).parentNode && |
|
(bN(t), |
|
t.unbindAllNativeEvents(), |
|
t.destroy(!0), |
|
(t.removed = !0), |
|
(t = null)); |
|
}), |
|
0 === |
|
(o = Jt.grep(o, function (e) { |
|
return !s.get(e.id); |
|
})).length |
|
? f([]) |
|
: lN(o, function (e) { |
|
var t; |
|
(t = e), |
|
r.inline && t.tagName.toLowerCase() in u |
|
? yh.initError( |
|
"Could not initialize inline editor on invalid inline target element", |
|
e |
|
) |
|
: n(c(e), r, e); |
|
})); |
|
}; |
|
return ( |
|
(s.settings = r), |
|
sN.bind(window, "ready", e), |
|
new pe(function (t) { |
|
n |
|
? t(n) |
|
: (f = function (e) { |
|
t(e); |
|
}); |
|
}) |
|
); |
|
}, |
|
get: function (t) { |
|
return 0 === arguments.length |
|
? pN.slice(0) |
|
: R(t) |
|
? Y(pN, function (e) { |
|
return e.id === t; |
|
}).getOr(null) |
|
: I(t) && pN[t] |
|
? pN[t] |
|
: null; |
|
}, |
|
add: function (e) { |
|
var t = this; |
|
return ( |
|
gN[e.id] === e || |
|
(null === t.get(e.id) && |
|
("length" !== e.id && (gN[e.id] = e), gN.push(e), pN.push(e)), |
|
vN(!0), |
|
(t.activeEditor = e), |
|
t.fire("AddEditor", { editor: e }), |
|
Jw || |
|
((Jw = function () { |
|
t.fire("BeforeUnload"); |
|
}), |
|
sN.bind(window, "beforeunload", Jw))), |
|
e |
|
); |
|
}, |
|
createEditor: function (e, t) { |
|
return this.add(new Yw(e, t, this)); |
|
}, |
|
remove: function (e) { |
|
var t, |
|
n, |
|
r = this; |
|
if (e) { |
|
if (!R(e)) |
|
return ( |
|
(n = e), |
|
B(r.get(n.id)) |
|
? null |
|
: (bN(n) && r.fire("RemoveEditor", { editor: n }), |
|
0 === pN.length && sN.unbind(window, "beforeunload", Jw), |
|
n.remove(), |
|
vN(0 < pN.length), |
|
n) |
|
); |
|
lN(sN.select(e), function (e) { |
|
(n = r.get(e.id)) && r.remove(n); |
|
}); |
|
} else for (t = pN.length - 1; 0 <= t; t--) r.remove(pN[t]); |
|
}, |
|
execCommand: function (e, t, n) { |
|
var r = this.get(n); |
|
switch (e) { |
|
case "mceAddEditor": |
|
return this.get(n) || new Yw(n, this.settings, this).render(), !0; |
|
case "mceRemoveEditor": |
|
return r && r.remove(), !0; |
|
case "mceToggleEditor": |
|
return ( |
|
r |
|
? r.isHidden() |
|
? r.show() |
|
: r.hide() |
|
: this.execCommand("mceAddEditor", 0, n), |
|
!0 |
|
); |
|
} |
|
return !!this.activeEditor && this.activeEditor.execCommand(e, t, n); |
|
}, |
|
triggerSave: function () { |
|
lN(pN, function (e) { |
|
e.save(); |
|
}); |
|
}, |
|
addI18n: function (e, t) { |
|
mh.add(e, t); |
|
}, |
|
translate: function (e) { |
|
return mh.translate(e); |
|
}, |
|
setActive: function (e) { |
|
var t = this.activeEditor; |
|
this.activeEditor !== e && |
|
(t && t.fire("deactivate", { relatedTarget: e }), |
|
e.fire("activate", { relatedTarget: t })), |
|
(this.activeEditor = e); |
|
}, |
|
}), |
|
fp |
|
), |
|
Qw.setup(); |
|
var yN, |
|
CN = Qw; |
|
function xN(n) { |
|
return { |
|
walk: function (e, t) { |
|
return _c(n, e, t); |
|
}, |
|
split: Im, |
|
normalize: function (t) { |
|
return wg(n, t).fold(q(!1), function (e) { |
|
return ( |
|
t.setStart(e.startContainer, e.startOffset), |
|
t.setEnd(e.endContainer, e.endOffset), |
|
!0 |
|
); |
|
}); |
|
}, |
|
}; |
|
} |
|
((yN = xN || (xN = {})).compareRanges = pg), |
|
(yN.getCaretRangeFromPoint = Ty), |
|
(yN.getSelectedNode = $a), |
|
(yN.getNode = Wa); |
|
var wN, |
|
NN, |
|
EN = xN, |
|
SN = Math.min, |
|
kN = Math.max, |
|
TN = Math.round, |
|
AN = function (e, t, n) { |
|
var r, o, i, a, u, s; |
|
return ( |
|
(r = t.x), |
|
(o = t.y), |
|
(i = e.w), |
|
(a = e.h), |
|
(u = t.w), |
|
(s = t.h), |
|
"b" === (n = (n || "").split(""))[0] && (o += s), |
|
"r" === n[1] && (r += u), |
|
"c" === n[0] && (o += TN(s / 2)), |
|
"c" === n[1] && (r += TN(u / 2)), |
|
"b" === n[3] && (o -= a), |
|
"r" === n[4] && (r -= i), |
|
"c" === n[3] && (o -= TN(a / 2)), |
|
"c" === n[4] && (r -= TN(i / 2)), |
|
RN(r, o, i, a) |
|
); |
|
}, |
|
RN = function (e, t, n, r) { |
|
return { x: e, y: t, w: n, h: r }; |
|
}, |
|
_N = { |
|
inflate: function (e, t, n) { |
|
return RN(e.x - t, e.y - n, e.w + 2 * t, e.h + 2 * n); |
|
}, |
|
relativePosition: AN, |
|
findBestRelativePosition: function (e, t, n, r) { |
|
var o, i; |
|
for (i = 0; i < r.length; i++) |
|
if ( |
|
(o = AN(e, t, r[i])).x >= n.x && |
|
o.x + o.w <= n.w + n.x && |
|
o.y >= n.y && |
|
o.y + o.h <= n.h + n.y |
|
) |
|
return r[i]; |
|
return null; |
|
}, |
|
intersect: function (e, t) { |
|
var n, r, o, i; |
|
return ( |
|
(n = kN(e.x, t.x)), |
|
(r = kN(e.y, t.y)), |
|
(o = SN(e.x + e.w, t.x + t.w)), |
|
(i = SN(e.y + e.h, t.y + t.h)), |
|
o - n < 0 || i - r < 0 ? null : RN(n, r, o - n, i - r) |
|
); |
|
}, |
|
clamp: function (e, t, n) { |
|
var r, o, i, a, u, s, c, l, f, d; |
|
return ( |
|
(u = e.x), |
|
(s = e.y), |
|
(c = e.x + e.w), |
|
(l = e.y + e.h), |
|
(f = t.x + t.w), |
|
(d = t.y + t.h), |
|
(r = kN(0, t.x - u)), |
|
(o = kN(0, t.y - s)), |
|
(i = kN(0, c - f)), |
|
(a = kN(0, l - d)), |
|
(u += r), |
|
(s += o), |
|
n && ((c += r), (l += o), (u -= i), (s -= a)), |
|
RN(u, s, (c -= i) - u, (l -= a) - s) |
|
); |
|
}, |
|
create: RN, |
|
fromClientRect: function (e) { |
|
return RN(e.left, e.top, e.width, e.height); |
|
}, |
|
}, |
|
DN = {}, |
|
BN = { |
|
add: function (e, t) { |
|
DN[e.toLowerCase()] = t; |
|
}, |
|
has: function (e) { |
|
return !!DN[e.toLowerCase()]; |
|
}, |
|
get: function (e) { |
|
var t = e.toLowerCase(), |
|
n = DN.hasOwnProperty(t) ? DN[t] : null; |
|
if (null === n) throw new Error("Could not find module for type: " + e); |
|
return n; |
|
}, |
|
create: function (e, t) { |
|
var n; |
|
if ( |
|
("string" == typeof e ? ((t = t || {}).type = e) : (e = (t = e).type), |
|
(e = e.toLowerCase()), |
|
!(n = DN[e])) |
|
) |
|
throw new Error("Could not find control by type: " + e); |
|
return ((n = new n(t)).type = e), n; |
|
}, |
|
}, |
|
ON = Jt.each, |
|
PN = Jt.extend, |
|
IN = function () {}; |
|
IN.extend = wN = function (n) { |
|
var e, |
|
t, |
|
r, |
|
o = this.prototype, |
|
i = function () { |
|
var e, t, n; |
|
if ( |
|
!NN && |
|
(this.init && this.init.apply(this, arguments), (t = this.Mixins)) |
|
) |
|
for (e = t.length; e--; ) |
|
(n = t[e]).init && n.init.apply(this, arguments); |
|
}, |
|
a = function () { |
|
return this; |
|
}, |
|
u = function (n, r) { |
|
return function () { |
|
var e, |
|
t = this._super; |
|
return ( |
|
(this._super = o[n]), |
|
(e = r.apply(this, arguments)), |
|
(this._super = t), |
|
e |
|
); |
|
}; |
|
}; |
|
for (t in ((NN = !0), |
|
(e = new this()), |
|
(NN = !1), |
|
n.Mixins && |
|
(ON(n.Mixins, function (e) { |
|
for (var t in e) "init" !== t && (n[t] = e[t]); |
|
}), |
|
o.Mixins && (n.Mixins = o.Mixins.concat(n.Mixins))), |
|
n.Methods && |
|
ON(n.Methods.split(","), function (e) { |
|
n[e] = a; |
|
}), |
|
n.Properties && |
|
ON(n.Properties.split(","), function (e) { |
|
var t = "_" + e; |
|
n[e] = function (e) { |
|
return e !== undefined ? ((this[t] = e), this) : this[t]; |
|
}; |
|
}), |
|
n.Statics && |
|
ON(n.Statics, function (e, t) { |
|
i[t] = e; |
|
}), |
|
n.Defaults && o.Defaults && (n.Defaults = PN({}, o.Defaults, n.Defaults)), |
|
n)) |
|
"function" == typeof (r = n[t]) && o[t] ? (e[t] = u(t, r)) : (e[t] = r); |
|
return (i.prototype = e), ((i.constructor = i).extend = wN), i; |
|
}; |
|
var LN = Math.min, |
|
MN = Math.max, |
|
FN = Math.round, |
|
zN = function (e, n) { |
|
var r, o, t, i; |
|
if (((n = n || '"'), null === e)) return "null"; |
|
if ("string" == (t = typeof e)) |
|
return ( |
|
(o = "\bb\tt\nn\ff\rr\"\"''\\\\"), |
|
n + |
|
e.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g, function (e, t) { |
|
return '"' === n && "'" === e |
|
? e |
|
: (r = o.indexOf(t)) + 1 |
|
? "\\" + o.charAt(r + 1) |
|
: ((e = t.charCodeAt().toString(16)), |
|
"\\u" + "0000".substring(e.length) + e); |
|
}) + |
|
n |
|
); |
|
if ("object" === t) { |
|
if ( |
|
e.hasOwnProperty && |
|
"[object Array]" === Object.prototype.toString.call(e) |
|
) { |
|
for (r = 0, o = "["; r < e.length; r++) |
|
o += (0 < r ? "," : "") + zN(e[r], n); |
|
return o + "]"; |
|
} |
|
for (i in ((o = "{"), e)) |
|
e.hasOwnProperty(i) && |
|
(o += |
|
"function" != typeof e[i] |
|
? (1 < o.length ? "," + n : n) + i + n + ":" + zN(e[i], n) |
|
: ""); |
|
return o + "}"; |
|
} |
|
return "" + e; |
|
}, |
|
UN = { |
|
serialize: zN, |
|
parse: function (e) { |
|
try { |
|
return JSON.parse(e); |
|
} catch (t) {} |
|
}, |
|
}, |
|
VN = { |
|
callbacks: {}, |
|
count: 0, |
|
send: function (t) { |
|
var n = this, |
|
r = bi.DOM, |
|
o = t.count !== undefined ? t.count : n.count, |
|
i = "tinymce_jsonp_" + o; |
|
(n.callbacks[o] = function (e) { |
|
r.remove(i), delete n.callbacks[o], t.callback(e); |
|
}), |
|
r.add(r.doc.body, "script", { |
|
id: i, |
|
src: t.url, |
|
type: "text/javascript", |
|
}), |
|
n.count++; |
|
}, |
|
}, |
|
HN = { |
|
send: function (e) { |
|
var t, |
|
n = 0, |
|
r = function () { |
|
!e.async || 4 === t.readyState || 1e4 < n++ |
|
? (e.success && n < 1e4 && 200 === t.status |
|
? e.success.call(e.success_scope, "" + t.responseText, t, e) |
|
: e.error && |
|
e.error.call( |
|
e.error_scope, |
|
1e4 < n ? "TIMED_OUT" : "GENERAL", |
|
t, |
|
e |
|
), |
|
(t = null)) |
|
: setTimeout(r, 10); |
|
}; |
|
if ( |
|
((e.scope = e.scope || this), |
|
(e.success_scope = e.success_scope || e.scope), |
|
(e.error_scope = e.error_scope || e.scope), |
|
(e.async = !1 !== e.async), |
|
(e.data = e.data || ""), |
|
HN.fire("beforeInitialize", { settings: e }), |
|
(t = wh())) |
|
) { |
|
if ( |
|
(t.overrideMimeType && t.overrideMimeType(e.content_type), |
|
t.open(e.type || (e.data ? "POST" : "GET"), e.url, e.async), |
|
e.crossDomain && (t.withCredentials = !0), |
|
e.content_type && |
|
t.setRequestHeader("Content-Type", e.content_type), |
|
e.requestheaders && |
|
Jt.each(e.requestheaders, function (e) { |
|
t.setRequestHeader(e.key, e.value); |
|
}), |
|
t.setRequestHeader("X-Requested-With", "XMLHttpRequest"), |
|
(t = HN.fire("beforeSend", { xhr: t, settings: e }).xhr).send( |
|
e.data |
|
), |
|
!e.async) |
|
) |
|
return r(); |
|
setTimeout(r, 10); |
|
} |
|
}, |
|
}; |
|
Jt.extend(HN, fp); |
|
var jN, |
|
qN, |
|
$N, |
|
WN, |
|
KN = Jt.extend, |
|
XN = function (e) { |
|
(this.settings = KN({}, e)), (this.count = 0); |
|
}; |
|
(XN.sendRPC = function (e) { |
|
return new XN().send(e); |
|
}), |
|
(XN.prototype = { |
|
send: function (n) { |
|
var r = n.error, |
|
o = n.success; |
|
((n = KN(this.settings, n)).success = function (e, t) { |
|
void 0 === (e = UN.parse(e)) && (e = { error: "JSON Parse error." }), |
|
e.error |
|
? r.call(n.error_scope || n.scope, e.error, t) |
|
: o.call(n.success_scope || n.scope, e.result); |
|
}), |
|
(n.error = function (e, t) { |
|
r && r.call(n.error_scope || n.scope, e, t); |
|
}), |
|
(n.data = UN.serialize({ |
|
id: n.id || "c" + this.count++, |
|
method: n.method, |
|
params: n.params, |
|
})), |
|
(n.content_type = "application/json"), |
|
HN.send(n); |
|
}, |
|
}); |
|
try { |
|
jN = H.window.localStorage; |
|
} catch (ZN) { |
|
(qN = {}), |
|
($N = []), |
|
(WN = { |
|
getItem: function (e) { |
|
var t = qN[e]; |
|
return t || null; |
|
}, |
|
setItem: function (e, t) { |
|
$N.push(e), (qN[e] = String(t)); |
|
}, |
|
key: function (e) { |
|
return $N[e]; |
|
}, |
|
removeItem: function (t) { |
|
($N = $N.filter(function (e) { |
|
return e === t; |
|
})), |
|
delete qN[t]; |
|
}, |
|
clear: function () { |
|
($N = []), (qN = {}); |
|
}, |
|
length: 0, |
|
}), |
|
Object.defineProperty(WN, "length", { |
|
get: function () { |
|
return $N.length; |
|
}, |
|
configurable: !1, |
|
enumerable: !1, |
|
}), |
|
(jN = WN); |
|
} |
|
var YN, |
|
GN = CN, |
|
JN = { |
|
geom: { Rect: _N }, |
|
util: { |
|
Promise: pe, |
|
Delay: ye, |
|
Tools: Jt, |
|
VK: xv, |
|
URI: Ow, |
|
Class: IN, |
|
EventDispatcher: sp, |
|
Observable: fp, |
|
I18n: mh, |
|
XHR: HN, |
|
JSON: UN, |
|
JSONRequest: XN, |
|
JSONP: VN, |
|
LocalStorage: jN, |
|
Color: function (e) { |
|
var n = {}, |
|
u = 0, |
|
s = 0, |
|
c = 0, |
|
t = function (e) { |
|
var t; |
|
return ( |
|
"object" == typeof e |
|
? "r" in e |
|
? ((u = e.r), (s = e.g), (c = e.b)) |
|
: "v" in e && |
|
(function (e, t, n) { |
|
var r, o, i, a; |
|
if ( |
|
((e = (parseInt(e, 10) || 0) % 360), |
|
(t = parseInt(t, 10) / 100), |
|
(n = parseInt(n, 10) / 100), |
|
(t = MN(0, LN(t, 1))), |
|
(n = MN(0, LN(n, 1))), |
|
0 !== t) |
|
) { |
|
switch ( |
|
((r = e / 60), |
|
(i = (o = n * t) * (1 - Math.abs((r % 2) - 1))), |
|
(a = n - o), |
|
Math.floor(r)) |
|
) { |
|
case 0: |
|
(u = o), (s = i), (c = 0); |
|
break; |
|
case 1: |
|
(u = i), (s = o), (c = 0); |
|
break; |
|
case 2: |
|
(u = 0), (s = o), (c = i); |
|
break; |
|
case 3: |
|
(u = 0), (s = i), (c = o); |
|
break; |
|
case 4: |
|
(u = i), (s = 0), (c = o); |
|
break; |
|
case 5: |
|
(u = o), (s = 0), (c = i); |
|
break; |
|
default: |
|
u = s = c = 0; |
|
} |
|
(u = FN(255 * (u + a))), |
|
(s = FN(255 * (s + a))), |
|
(c = FN(255 * (c + a))); |
|
} else u = s = c = FN(255 * n); |
|
})(e.h, e.s, e.v) |
|
: (t = |
|
/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec( |
|
e |
|
)) |
|
? ((u = parseInt(t[1], 10)), |
|
(s = parseInt(t[2], 10)), |
|
(c = parseInt(t[3], 10))) |
|
: (t = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e)) |
|
? ((u = parseInt(t[1], 16)), |
|
(s = parseInt(t[2], 16)), |
|
(c = parseInt(t[3], 16))) |
|
: (t = /#([0-F])([0-F])([0-F])/gi.exec(e)) && |
|
((u = parseInt(t[1] + t[1], 16)), |
|
(s = parseInt(t[2] + t[2], 16)), |
|
(c = parseInt(t[3] + t[3], 16))), |
|
(u = u < 0 ? 0 : 255 < u ? 255 : u), |
|
(s = s < 0 ? 0 : 255 < s ? 255 : s), |
|
(c = c < 0 ? 0 : 255 < c ? 255 : c), |
|
n |
|
); |
|
}; |
|
return ( |
|
e && t(e), |
|
(n.toRgb = function () { |
|
return { r: u, g: s, b: c }; |
|
}), |
|
(n.toHsv = function () { |
|
return ( |
|
(e = u), |
|
(t = s), |
|
(n = c), |
|
(o = 0), |
|
(i = LN((e /= 255), LN((t /= 255), (n /= 255)))) === |
|
(a = MN(e, MN(t, n))) |
|
? { h: 0, s: 0, v: 100 * (o = i) } |
|
: ((r = (a - i) / a), |
|
{ |
|
h: FN( |
|
60 * |
|
((e === i ? 3 : n === i ? 1 : 5) - |
|
(e === i ? t - n : n === i ? e - t : n - e) / |
|
((o = a) - i)) |
|
), |
|
s: FN(100 * r), |
|
v: FN(100 * o), |
|
}) |
|
); |
|
var e, t, n, r, o, i, a; |
|
}), |
|
(n.toHex = function () { |
|
var e = function (e) { |
|
return 1 < (e = parseInt(e, 10).toString(16)).length |
|
? e |
|
: "0" + e; |
|
}; |
|
return "#" + e(u) + e(s) + e(c); |
|
}), |
|
(n.parse = t), |
|
n |
|
); |
|
}, |
|
}, |
|
dom: { |
|
EventUtils: Ae, |
|
Sizzle: At, |
|
DomQuery: vn, |
|
TreeWalker: ao, |
|
DOMUtils: bi, |
|
ScriptLoader: Ni, |
|
RangeUtils: EN, |
|
Serializer: py, |
|
ControlSelection: wy, |
|
BookmarkManager: yy, |
|
Selection: tC, |
|
Event: Ae.Event, |
|
}, |
|
html: { |
|
Styles: ui, |
|
Entities: Xo, |
|
Node: Zb, |
|
Schema: ii, |
|
SaxParser: Rv, |
|
DomParser: ly, |
|
Writer: Zc, |
|
Serializer: el, |
|
}, |
|
ui: { Factory: BN }, |
|
Env: ge, |
|
AddOnManager: ki, |
|
Annotator: Mc, |
|
Formatter: Vb, |
|
UndoManager: Xv, |
|
EditorCommands: ap, |
|
WindowManager: lh, |
|
NotificationManager: ch, |
|
EditorObservable: Ap, |
|
Shortcuts: qp, |
|
Editor: Yw, |
|
FocusManager: Zw, |
|
EditorManager: CN, |
|
DOM: bi.DOM, |
|
ScriptLoader: Ni.ScriptLoader, |
|
PluginManager: ki.PluginManager, |
|
ThemeManager: ki.ThemeManager, |
|
trim: Jt.trim, |
|
isArray: Jt.isArray, |
|
is: Jt.is, |
|
toArray: Jt.toArray, |
|
makeMap: Jt.makeMap, |
|
each: Jt.each, |
|
map: Jt.map, |
|
grep: Jt.grep, |
|
inArray: Jt.inArray, |
|
extend: Jt.extend, |
|
create: Jt.create, |
|
walk: Jt.walk, |
|
createNS: Jt.createNS, |
|
resolve: Jt.resolve, |
|
explode: Jt.explode, |
|
_addCacheSuffix: Jt._addCacheSuffix, |
|
isOpera: ge.opera, |
|
isWebKit: ge.webkit, |
|
isIE: ge.ie, |
|
isGecko: ge.gecko, |
|
isMac: ge.mac, |
|
}, |
|
QN = (GN = Jt.extend(GN, JN)); |
|
(YN = QN), |
|
(window.tinymce = YN), |
|
(window.tinyMCE = YN), |
|
(function (e) { |
|
if ("object" == typeof module) |
|
try { |
|
module.exports = e; |
|
} catch (t) {} |
|
})(QN); |
|
})(window);
|
|
|