!(function (e) {
    var t = {};
    function n(r) {
        if (t[r]) return t[r].exports;
        var o = (t[r] = { i: r, l: !1, exports: {} });
        return e[r].call(o.exports, o, o.exports, n), (o.l = !0), o.exports;
    }
    (n.m = e),
        (n.c = t),
        (n.d = function (e, t, r) {
            n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });
        }),
        (n.r = function (e) {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });
        }),
        (n.t = function (e, t) {
            if ((1 & t && (e = n(e)), 8 & t)) return e;
            if (4 & t && "object" == typeof e && e && e.__esModule) return e;
            var r = Object.create(null);
            if ((n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e))
                for (var o in e)
                    n.d(
                        r,
                        o,
                        function (t) {
                            return e[t];
                        }.bind(null, o)
                    );
            return r;
        }),
        (n.n = function (e) {
            var t =
                e && e.__esModule
                    ? function () {
                          return e.default;
                      }
                    : function () {
                          return e;
                      };
            return n.d(t, "a", t), t;
        }),
        (n.o = function (e, t) {
            return Object.prototype.hasOwnProperty.call(e, t);
        }),
        (n.p = "/"),
        n((n.s = 13));
})([
    function (e, t, n) {
        "use strict";
        var r = n(3),
            o = Object.prototype.toString;
        function i(e) {
            return "[object Array]" === o.call(e);
        }
        function s(e) {
            return void 0 === e;
        }
        function a(e) {
            return null !== e && "object" == typeof e;
        }
        function l(e) {
            return "[object Function]" === o.call(e);
        }
        function c(e, t) {
            if (null != e)
                if (("object" != typeof e && (e = [e]), i(e))) for (var n = 0, r = e.length; n < r; n++) t.call(null, e[n], n, e);
                else for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.call(null, e[o], o, e);
        }
        e.exports = {
            isArray: i,
            isArrayBuffer: function (e) {
                return "[object ArrayBuffer]" === o.call(e);
            },
            isBuffer: function (e) {
                return null !== e && !s(e) && null !== e.constructor && !s(e.constructor) && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e);
            },
            isFormData: function (e) {
                return "undefined" != typeof FormData && e instanceof FormData;
            },
            isArrayBufferView: function (e) {
                return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && e.buffer instanceof ArrayBuffer;
            },
            isString: function (e) {
                return "string" == typeof e;
            },
            isNumber: function (e) {
                return "number" == typeof e;
            },
            isObject: a,
            isUndefined: s,
            isDate: function (e) {
                return "[object Date]" === o.call(e);
            },
            isFile: function (e) {
                return "[object File]" === o.call(e);
            },
            isBlob: function (e) {
                return "[object Blob]" === o.call(e);
            },
            isFunction: l,
            isStream: function (e) {
                return a(e) && l(e.pipe);
            },
            isURLSearchParams: function (e) {
                return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams;
            },
            isStandardBrowserEnv: function () {
                return ("undefined" == typeof navigator || ("ReactNative" !== navigator.product && "NativeScript" !== navigator.product && "NS" !== navigator.product)) && "undefined" != typeof window && "undefined" != typeof document;
            },
            forEach: c,
            merge: function e() {
                var t = {};
                function n(n, r) {
                    "object" == typeof t[r] && "object" == typeof n ? (t[r] = e(t[r], n)) : (t[r] = n);
                }
                for (var r = 0, o = arguments.length; r < o; r++) c(arguments[r], n);
                return t;
            },
            deepMerge: function e() {
                var t = {};
                function n(n, r) {
                    "object" == typeof t[r] && "object" == typeof n ? (t[r] = e(t[r], n)) : (t[r] = "object" == typeof n ? e({}, n) : n);
                }
                for (var r = 0, o = arguments.length; r < o; r++) c(arguments[r], n);
                return t;
            },
            extend: function (e, t, n) {
                return (
                    c(t, function (t, o) {
                        e[o] = n && "function" == typeof t ? r(t, n) : t;
                    }),
                    e
                );
            },
            trim: function (e) {
                return e.replace(/^\s*/, "").replace(/\s*$/, "");
            },
        };
    },
    function (e, t) {
        var n;
        n = (function () {
            return this;
        })();
        try {
            n = n || new Function("return this")();
        } catch (e) {
            "object" == typeof window && (n = window);
        }
        e.exports = n;
    },
    function (e, t, n) {
        var r;
        !(function (t, n) {
            "use strict";
            "object" == typeof e.exports
                ? (e.exports = t.document
                      ? n(t, !0)
                      : function (e) {
                            if (!e.document) throw new Error("jQuery requires a window with a document");
                            return n(e);
                        })
                : n(t);
        })("undefined" != typeof window ? window : this, function (n, o) {
            "use strict";
            var i = [],
                s = Object.getPrototypeOf,
                a = i.slice,
                l = i.flat
                    ? function (e) {
                          return i.flat.call(e);
                      }
                    : function (e) {
                          return i.concat.apply([], e);
                      },
                c = i.push,
                u = i.indexOf,
                d = {},
                f = d.toString,
                p = d.hasOwnProperty,
                h = p.toString,
                m = h.call(Object),
                g = {},
                v = function (e) {
                    return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item;
                },
                y = function (e) {
                    return null != e && e === e.window;
                },
                b = n.document,
                _ = { type: !0, src: !0, nonce: !0, noModule: !0 };
            function w(e, t, n) {
                var r,
                    o,
                    i = (n = n || b).createElement("script");
                if (((i.text = e), t)) for (r in _) (o = t[r] || (t.getAttribute && t.getAttribute(r))) && i.setAttribute(r, o);
                n.head.appendChild(i).parentNode.removeChild(i);
            }
            function C(e) {
                return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? d[f.call(e)] || "object" : typeof e;
            }
            var x = function (e, t) {
                return new x.fn.init(e, t);
            };
            function E(e) {
                var t = !!e && "length" in e && e.length,
                    n = C(e);
                return !v(e) && !y(e) && ("array" === n || 0 === t || ("number" == typeof t && t > 0 && t - 1 in e));
            }
            (x.fn = x.prototype = {
                jquery: "3.6.0",
                constructor: x,
                length: 0,
                toArray: function () {
                    return a.call(this);
                },
                get: function (e) {
                    return null == e ? a.call(this) : e < 0 ? this[e + this.length] : this[e];
                },
                pushStack: function (e) {
                    var t = x.merge(this.constructor(), e);
                    return (t.prevObject = this), t;
                },
                each: function (e) {
                    return x.each(this, e);
                },
                map: function (e) {
                    return this.pushStack(
                        x.map(this, function (t, n) {
                            return e.call(t, n, t);
                        })
                    );
                },
                slice: function () {
                    return this.pushStack(a.apply(this, arguments));
                },
                first: function () {
                    return this.eq(0);
                },
                last: function () {
                    return this.eq(-1);
                },
                even: function () {
                    return this.pushStack(
                        x.grep(this, function (e, t) {
                            return (t + 1) % 2;
                        })
                    );
                },
                odd: function () {
                    return this.pushStack(
                        x.grep(this, function (e, t) {
                            return t % 2;
                        })
                    );
                },
                eq: function (e) {
                    var t = this.length,
                        n = +e + (e < 0 ? t : 0);
                    return this.pushStack(n >= 0 && n < t ? [this[n]] : []);
                },
                end: function () {
                    return this.prevObject || this.constructor();
                },
                push: c,
                sort: i.sort,
                splice: i.splice,
            }),
                (x.extend = x.fn.extend = function () {
                    var e,
                        t,
                        n,
                        r,
                        o,
                        i,
                        s = arguments[0] || {},
                        a = 1,
                        l = arguments.length,
                        c = !1;
                    for ("boolean" == typeof s && ((c = s), (s = arguments[a] || {}), a++), "object" == typeof s || v(s) || (s = {}), a === l && ((s = this), a--); a < l; a++)
                        if (null != (e = arguments[a]))
                            for (t in e)
                                (r = e[t]),
                                    "__proto__" !== t &&
                                        s !== r &&
                                        (c && r && (x.isPlainObject(r) || (o = Array.isArray(r)))
                                            ? ((n = s[t]), (i = o && !Array.isArray(n) ? [] : o || x.isPlainObject(n) ? n : {}), (o = !1), (s[t] = x.extend(c, i, r)))
                                            : void 0 !== r && (s[t] = r));
                    return s;
                }),
                x.extend({
                    expando: "jQuery" + ("3.6.0" + Math.random()).replace(/\D/g, ""),
                    isReady: !0,
                    error: function (e) {
                        throw new Error(e);
                    },
                    noop: function () {},
                    isPlainObject: function (e) {
                        var t, n;
                        return !(!e || "[object Object]" !== f.call(e)) && (!(t = s(e)) || ("function" == typeof (n = p.call(t, "constructor") && t.constructor) && h.call(n) === m));
                    },
                    isEmptyObject: function (e) {
                        var t;
                        for (t in e) return !1;
                        return !0;
                    },
                    globalEval: function (e, t, n) {
                        w(e, { nonce: t && t.nonce }, n);
                    },
                    each: function (e, t) {
                        var n,
                            r = 0;
                        if (E(e)) for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++);
                        else for (r in e) if (!1 === t.call(e[r], r, e[r])) break;
                        return e;
                    },
                    makeArray: function (e, t) {
                        var n = t || [];
                        return null != e && (E(Object(e)) ? x.merge(n, "string" == typeof e ? [e] : e) : c.call(n, e)), n;
                    },
                    inArray: function (e, t, n) {
                        return null == t ? -1 : u.call(t, e, n);
                    },
                    merge: function (e, t) {
                        for (var n = +t.length, r = 0, o = e.length; r < n; r++) e[o++] = t[r];
                        return (e.length = o), e;
                    },
                    grep: function (e, t, n) {
                        for (var r = [], o = 0, i = e.length, s = !n; o < i; o++) !t(e[o], o) !== s && r.push(e[o]);
                        return r;
                    },
                    map: function (e, t, n) {
                        var r,
                            o,
                            i = 0,
                            s = [];
                        if (E(e)) for (r = e.length; i < r; i++) null != (o = t(e[i], i, n)) && s.push(o);
                        else for (i in e) null != (o = t(e[i], i, n)) && s.push(o);
                        return l(s);
                    },
                    guid: 1,
                    support: g,
                }),
                "function" == typeof Symbol && (x.fn[Symbol.iterator] = i[Symbol.iterator]),
                x.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
                    d["[object " + t + "]"] = t.toLowerCase();
                });
            var k = (function (e) {
                var t,
                    n,
                    r,
                    o,
                    i,
                    s,
                    a,
                    l,
                    c,
                    u,
                    d,
                    f,
                    p,
                    h,
                    m,
                    g,
                    v,
                    y,
                    b,
                    _ = "sizzle" + 1 * new Date(),
                    w = e.document,
                    C = 0,
                    x = 0,
                    E = le(),
                    k = le(),
                    A = le(),
                    S = le(),
                    T = function (e, t) {
                        return e === t && (d = !0), 0;
                    },
                    N = {}.hasOwnProperty,
                    O = [],
                    D = O.pop,
                    R = O.push,
                    L = O.push,
                    P = O.slice,
                    $ = function (e, t) {
                        for (var n = 0, r = e.length; n < r; n++) if (e[n] === t) return n;
                        return -1;
                    },
                    M = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
                    I = "[\\x20\\t\\r\\n\\f]",
                    B = "(?:\\\\[\\da-fA-F]{1,6}" + I + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
                    j = "\\[" + I + "*(" + B + ")(?:" + I + "*([*^$|!~]?=)" + I + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + B + "))|)" + I + "*\\]",
                    F = ":(" + B + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + j + ")*)|.*)\\)|)",
                    H = new RegExp(I + "+", "g"),
                    U = new RegExp("^" + I + "+|((?:^|[^\\\\])(?:\\\\.)*)" + I + "+$", "g"),
                    q = new RegExp("^" + I + "*," + I + "*"),
                    z = new RegExp("^" + I + "*([>+~]|" + I + ")" + I + "*"),
                    W = new RegExp(I + "|>"),
                    V = new RegExp(F),
                    K = new RegExp("^" + B + "$"),
                    G = {
                        ID: new RegExp("^#(" + B + ")"),
                        CLASS: new RegExp("^\\.(" + B + ")"),
                        TAG: new RegExp("^(" + B + "|[*])"),
                        ATTR: new RegExp("^" + j),
                        PSEUDO: new RegExp("^" + F),
                        CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + I + "*(even|odd|(([+-]|)(\\d*)n|)" + I + "*(?:([+-]|)" + I + "*(\\d+)|))" + I + "*\\)|)", "i"),
                        bool: new RegExp("^(?:" + M + ")$", "i"),
                        needsContext: new RegExp("^" + I + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + I + "*((?:-\\d)?\\d*)" + I + "*\\)|)(?=[^-]|$)", "i"),
                    },
                    Y = /HTML$/i,
                    X = /^(?:input|select|textarea|button)$/i,
                    J = /^h\d$/i,
                    Q = /^[^{]+\{\s*\[native \w/,
                    Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
                    ee = /[+~]/,
                    te = new RegExp("\\\\[\\da-fA-F]{1,6}" + I + "?|\\\\([^\\r\\n\\f])", "g"),
                    ne = function (e, t) {
                        var n = "0x" + e.slice(1) - 65536;
                        return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320));
                    },
                    re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
                    oe = function (e, t) {
                        return t ? ("\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " ") : "\\" + e;
                    },
                    ie = function () {
                        f();
                    },
                    se = _e(
                        function (e) {
                            return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase();
                        },
                        { dir: "parentNode", next: "legend" }
                    );
                try {
                    L.apply((O = P.call(w.childNodes)), w.childNodes), O[w.childNodes.length].nodeType;
                } catch (e) {
                    L = {
                        apply: O.length
                            ? function (e, t) {
                                  R.apply(e, P.call(t));
                              }
                            : function (e, t) {
                                  for (var n = e.length, r = 0; (e[n++] = t[r++]); );
                                  e.length = n - 1;
                              },
                    };
                }
                function ae(e, t, r, o) {
                    var i,
                        a,
                        c,
                        u,
                        d,
                        h,
                        v,
                        y = t && t.ownerDocument,
                        w = t ? t.nodeType : 9;
                    if (((r = r || []), "string" != typeof e || !e || (1 !== w && 9 !== w && 11 !== w))) return r;
                    if (!o && (f(t), (t = t || p), m)) {
                        if (11 !== w && (d = Z.exec(e)))
                            if ((i = d[1])) {
                                if (9 === w) {
                                    if (!(c = t.getElementById(i))) return r;
                                    if (c.id === i) return r.push(c), r;
                                } else if (y && (c = y.getElementById(i)) && b(t, c) && c.id === i) return r.push(c), r;
                            } else {
                                if (d[2]) return L.apply(r, t.getElementsByTagName(e)), r;
                                if ((i = d[3]) && n.getElementsByClassName && t.getElementsByClassName) return L.apply(r, t.getElementsByClassName(i)), r;
                            }
                        if (n.qsa && !S[e + " "] && (!g || !g.test(e)) && (1 !== w || "object" !== t.nodeName.toLowerCase())) {
                            if (((v = e), (y = t), 1 === w && (W.test(e) || z.test(e)))) {
                                for (((y = (ee.test(e) && ve(t.parentNode)) || t) === t && n.scope) || ((u = t.getAttribute("id")) ? (u = u.replace(re, oe)) : t.setAttribute("id", (u = _))), a = (h = s(e)).length; a--; )
                                    h[a] = (u ? "#" + u : ":scope") + " " + be(h[a]);
                                v = h.join(",");
                            }
                            try {
                                return L.apply(r, y.querySelectorAll(v)), r;
                            } catch (t) {
                                S(e, !0);
                            } finally {
                                u === _ && t.removeAttribute("id");
                            }
                        }
                    }
                    return l(e.replace(U, "$1"), t, r, o);
                }
                function le() {
                    var e = [];
                    return function t(n, o) {
                        return e.push(n + " ") > r.cacheLength && delete t[e.shift()], (t[n + " "] = o);
                    };
                }
                function ce(e) {
                    return (e[_] = !0), e;
                }
                function ue(e) {
                    var t = p.createElement("fieldset");
                    try {
                        return !!e(t);
                    } catch (e) {
                        return !1;
                    } finally {
                        t.parentNode && t.parentNode.removeChild(t), (t = null);
                    }
                }
                function de(e, t) {
                    for (var n = e.split("|"), o = n.length; o--; ) r.attrHandle[n[o]] = t;
                }
                function fe(e, t) {
                    var n = t && e,
                        r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
                    if (r) return r;
                    if (n) for (; (n = n.nextSibling); ) if (n === t) return -1;
                    return e ? 1 : -1;
                }
                function pe(e) {
                    return function (t) {
                        return "input" === t.nodeName.toLowerCase() && t.type === e;
                    };
                }
                function he(e) {
                    return function (t) {
                        var n = t.nodeName.toLowerCase();
                        return ("input" === n || "button" === n) && t.type === e;
                    };
                }
                function me(e) {
                    return function (t) {
                        return "form" in t
                            ? t.parentNode && !1 === t.disabled
                                ? "label" in t
                                    ? "label" in t.parentNode
                                        ? t.parentNode.disabled === e
                                        : t.disabled === e
                                    : t.isDisabled === e || (t.isDisabled !== !e && se(t) === e)
                                : t.disabled === e
                            : "label" in t && t.disabled === e;
                    };
                }
                function ge(e) {
                    return ce(function (t) {
                        return (
                            (t = +t),
                            ce(function (n, r) {
                                for (var o, i = e([], n.length, t), s = i.length; s--; ) n[(o = i[s])] && (n[o] = !(r[o] = n[o]));
                            })
                        );
                    });
                }
                function ve(e) {
                    return e && void 0 !== e.getElementsByTagName && e;
                }
                for (t in ((n = ae.support = {}),
                (i = ae.isXML = function (e) {
                    var t = e && e.namespaceURI,
                        n = e && (e.ownerDocument || e).documentElement;
                    return !Y.test(t || (n && n.nodeName) || "HTML");
                }),
                (f = ae.setDocument = function (e) {
                    var t,
                        o,
                        s = e ? e.ownerDocument || e : w;
                    return s != p && 9 === s.nodeType && s.documentElement
                        ? ((h = (p = s).documentElement),
                          (m = !i(p)),
                          w != p && (o = p.defaultView) && o.top !== o && (o.addEventListener ? o.addEventListener("unload", ie, !1) : o.attachEvent && o.attachEvent("onunload", ie)),
                          (n.scope = ue(function (e) {
                              return h.appendChild(e).appendChild(p.createElement("div")), void 0 !== e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length;
                          })),
                          (n.attributes = ue(function (e) {
                              return (e.className = "i"), !e.getAttribute("className");
                          })),
                          (n.getElementsByTagName = ue(function (e) {
                              return e.appendChild(p.createComment("")), !e.getElementsByTagName("*").length;
                          })),
                          (n.getElementsByClassName = Q.test(p.getElementsByClassName)),
                          (n.getById = ue(function (e) {
                              return (h.appendChild(e).id = _), !p.getElementsByName || !p.getElementsByName(_).length;
                          })),
                          n.getById
                              ? ((r.filter.ID = function (e) {
                                    var t = e.replace(te, ne);
                                    return function (e) {
                                        return e.getAttribute("id") === t;
                                    };
                                }),
                                (r.find.ID = function (e, t) {
                                    if (void 0 !== t.getElementById && m) {
                                        var n = t.getElementById(e);
                                        return n ? [n] : [];
                                    }
                                }))
                              : ((r.filter.ID = function (e) {
                                    var t = e.replace(te, ne);
                                    return function (e) {
                                        var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
                                        return n && n.value === t;
                                    };
                                }),
                                (r.find.ID = function (e, t) {
                                    if (void 0 !== t.getElementById && m) {
                                        var n,
                                            r,
                                            o,
                                            i = t.getElementById(e);
                                        if (i) {
                                            if ((n = i.getAttributeNode("id")) && n.value === e) return [i];
                                            for (o = t.getElementsByName(e), r = 0; (i = o[r++]); ) if ((n = i.getAttributeNode("id")) && n.value === e) return [i];
                                        }
                                        return [];
                                    }
                                })),
                          (r.find.TAG = n.getElementsByTagName
                              ? function (e, t) {
                                    return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0;
                                }
                              : 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;
                                }),
                          (r.find.CLASS =
                              n.getElementsByClassName &&
                              function (e, t) {
                                  if (void 0 !== t.getElementsByClassName && m) return t.getElementsByClassName(e);
                              }),
                          (v = []),
                          (g = []),
                          (n.qsa = Q.test(p.querySelectorAll)) &&
                              (ue(function (e) {
                                  var t;
                                  (h.appendChild(e).innerHTML = "<a id='" + _ + "'></a><select id='" + _ + "-\r\\' msallowcapture=''><option selected=''></option></select>"),
                                      e.querySelectorAll("[msallowcapture^='']").length && g.push("[*^$]=" + I + "*(?:''|\"\")"),
                                      e.querySelectorAll("[selected]").length || g.push("\\[" + I + "*(?:value|" + M + ")"),
                                      e.querySelectorAll("[id~=" + _ + "-]").length || g.push("~="),
                                      (t = p.createElement("input")).setAttribute("name", ""),
                                      e.appendChild(t),
                                      e.querySelectorAll("[name='']").length || g.push("\\[" + I + "*name" + I + "*=" + I + "*(?:''|\"\")"),
                                      e.querySelectorAll(":checked").length || g.push(":checked"),
                                      e.querySelectorAll("a#" + _ + "+*").length || g.push(".#.+[+~]"),
                                      e.querySelectorAll("\\\f"),
                                      g.push("[\\r\\n\\f]");
                              }),
                              ue(function (e) {
                                  e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
                                  var t = p.createElement("input");
                                  t.setAttribute("type", "hidden"),
                                      e.appendChild(t).setAttribute("name", "D"),
                                      e.querySelectorAll("[name=d]").length && g.push("name" + I + "*[*^$|!~]?="),
                                      2 !== e.querySelectorAll(":enabled").length && g.push(":enabled", ":disabled"),
                                      (h.appendChild(e).disabled = !0),
                                      2 !== e.querySelectorAll(":disabled").length && g.push(":enabled", ":disabled"),
                                      e.querySelectorAll("*,:x"),
                                      g.push(",.*:");
                              })),
                          (n.matchesSelector = Q.test((y = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector))) &&
                              ue(function (e) {
                                  (n.disconnectedMatch = y.call(e, "*")), y.call(e, "[s!='']:x"), v.push("!=", F);
                              }),
                          (g = g.length && new RegExp(g.join("|"))),
                          (v = v.length && new RegExp(v.join("|"))),
                          (t = Q.test(h.compareDocumentPosition)),
                          (b =
                              t || Q.test(h.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;
                                    }),
                          (T = t
                              ? function (e, t) {
                                    if (e === t) return (d = !0), 0;
                                    var r = !e.compareDocumentPosition - !t.compareDocumentPosition;
                                    return (
                                        r ||
                                        (1 & (r = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || (!n.sortDetached && t.compareDocumentPosition(e) === r)
                                            ? e == p || (e.ownerDocument == w && b(w, e))
                                                ? -1
                                                : t == p || (t.ownerDocument == w && b(w, t))
                                                ? 1
                                                : u
                                                ? $(u, e) - $(u, t)
                                                : 0
                                            : 4 & r
                                            ? -1
                                            : 1)
                                    );
                                }
                              : function (e, t) {
                                    if (e === t) return (d = !0), 0;
                                    var n,
                                        r = 0,
                                        o = e.parentNode,
                                        i = t.parentNode,
                                        s = [e],
                                        a = [t];
                                    if (!o || !i) return e == p ? -1 : t == p ? 1 : o ? -1 : i ? 1 : u ? $(u, e) - $(u, t) : 0;
                                    if (o === i) return fe(e, t);
                                    for (n = e; (n = n.parentNode); ) s.unshift(n);
                                    for (n = t; (n = n.parentNode); ) a.unshift(n);
                                    for (; s[r] === a[r]; ) r++;
                                    return r ? fe(s[r], a[r]) : s[r] == w ? -1 : a[r] == w ? 1 : 0;
                                }),
                          p)
                        : p;
                }),
                (ae.matches = function (e, t) {
                    return ae(e, null, null, t);
                }),
                (ae.matchesSelector = function (e, t) {
                    if ((f(e), n.matchesSelector && m && !S[t + " "] && (!v || !v.test(t)) && (!g || !g.test(t))))
                        try {
                            var r = y.call(e, t);
                            if (r || n.disconnectedMatch || (e.document && 11 !== e.document.nodeType)) return r;
                        } catch (e) {
                            S(t, !0);
                        }
                    return ae(t, p, null, [e]).length > 0;
                }),
                (ae.contains = function (e, t) {
                    return (e.ownerDocument || e) != p && f(e), b(e, t);
                }),
                (ae.attr = function (e, t) {
                    (e.ownerDocument || e) != p && f(e);
                    var o = r.attrHandle[t.toLowerCase()],
                        i = o && N.call(r.attrHandle, t.toLowerCase()) ? o(e, t, !m) : void 0;
                    return void 0 !== i ? i : n.attributes || !m ? e.getAttribute(t) : (i = e.getAttributeNode(t)) && i.specified ? i.value : null;
                }),
                (ae.escape = function (e) {
                    return (e + "").replace(re, oe);
                }),
                (ae.error = function (e) {
                    throw new Error("Syntax error, unrecognized expression: " + e);
                }),
                (ae.uniqueSort = function (e) {
                    var t,
                        r = [],
                        o = 0,
                        i = 0;
                    if (((d = !n.detectDuplicates), (u = !n.sortStable && e.slice(0)), e.sort(T), d)) {
                        for (; (t = e[i++]); ) t === e[i] && (o = r.push(i));
                        for (; o--; ) e.splice(r[o], 1);
                    }
                    return (u = null), e;
                }),
                (o = ae.getText = function (e) {
                    var t,
                        n = "",
                        r = 0,
                        i = e.nodeType;
                    if (i) {
                        if (1 === i || 9 === i || 11 === i) {
                            if ("string" == typeof e.textContent) return e.textContent;
                            for (e = e.firstChild; e; e = e.nextSibling) n += o(e);
                        } else if (3 === i || 4 === i) return e.nodeValue;
                    } else for (; (t = e[r++]); ) n += o(t);
                    return n;
                }),
                ((r = ae.selectors = {
                    cacheLength: 50,
                    createPseudo: ce,
                    match: G,
                    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(te, ne)), (e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne)), "~=" === 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] || ae.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] && ae.error(e[0]),
                                e
                            );
                        },
                        PSEUDO: function (e) {
                            var t,
                                n = !e[6] && e[2];
                            return G.CHILD.test(e[0])
                                ? null
                                : (e[3] ? (e[2] = e[4] || e[5] || "") : n && V.test(n) && (t = s(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(te, ne).toLowerCase();
                            return "*" === e
                                ? function () {
                                      return !0;
                                  }
                                : function (e) {
                                      return e.nodeName && e.nodeName.toLowerCase() === t;
                                  };
                        },
                        CLASS: function (e) {
                            var t = E[e + " "];
                            return (
                                t ||
                                ((t = new RegExp("(^|" + I + ")" + e + "(" + I + "|$)")) &&
                                    E(e, function (e) {
                                        return t.test(("string" == typeof e.className && e.className) || (void 0 !== e.getAttribute && e.getAttribute("class")) || "");
                                    }))
                            );
                        },
                        ATTR: function (e, t, n) {
                            return function (r) {
                                var o = ae.attr(r, e);
                                return null == o
                                    ? "!=" === t
                                    : !t ||
                                          ((o += ""),
                                          "=" === t
                                              ? o === n
                                              : "!=" === t
                                              ? o !== n
                                              : "^=" === t
                                              ? n && 0 === o.indexOf(n)
                                              : "*=" === t
                                              ? n && o.indexOf(n) > -1
                                              : "$=" === t
                                              ? n && o.slice(-n.length) === n
                                              : "~=" === t
                                              ? (" " + o.replace(H, " ") + " ").indexOf(n) > -1
                                              : "|=" === t && (o === n || o.slice(0, n.length + 1) === n + "-"));
                            };
                        },
                        CHILD: function (e, t, n, r, o) {
                            var i = "nth" !== e.slice(0, 3),
                                s = "last" !== e.slice(-4),
                                a = "of-type" === t;
                            return 1 === r && 0 === o
                                ? function (e) {
                                      return !!e.parentNode;
                                  }
                                : function (t, n, l) {
                                      var c,
                                          u,
                                          d,
                                          f,
                                          p,
                                          h,
                                          m = i !== s ? "nextSibling" : "previousSibling",
                                          g = t.parentNode,
                                          v = a && t.nodeName.toLowerCase(),
                                          y = !l && !a,
                                          b = !1;
                                      if (g) {
                                          if (i) {
                                              for (; m; ) {
                                                  for (f = t; (f = f[m]); ) if (a ? f.nodeName.toLowerCase() === v : 1 === f.nodeType) return !1;
                                                  h = m = "only" === e && !h && "nextSibling";
                                              }
                                              return !0;
                                          }
                                          if (((h = [s ? g.firstChild : g.lastChild]), s && y)) {
                                              for (
                                                  b = (p = (c = (u = (d = (f = g)[_] || (f[_] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[e] || [])[0] === C && c[1]) && c[2], f = p && g.childNodes[p];
                                                  (f = (++p && f && f[m]) || (b = p = 0) || h.pop());

                                              )
                                                  if (1 === f.nodeType && ++b && f === t) {
                                                      u[e] = [C, p, b];
                                                      break;
                                                  }
                                          } else if ((y && (b = p = (c = (u = (d = (f = t)[_] || (f[_] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[e] || [])[0] === C && c[1]), !1 === b))
                                              for (
                                                  ;
                                                  (f = (++p && f && f[m]) || (b = p = 0) || h.pop()) &&
                                                  ((a ? f.nodeName.toLowerCase() !== v : 1 !== f.nodeType) || !++b || (y && ((u = (d = f[_] || (f[_] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[e] = [C, b]), f !== t));

                                              );
                                          return (b -= o) === r || (b % r == 0 && b / r >= 0);
                                      }
                                  };
                        },
                        PSEUDO: function (e, t) {
                            var n,
                                o = r.pseudos[e] || r.setFilters[e.toLowerCase()] || ae.error("unsupported pseudo: " + e);
                            return o[_]
                                ? o(t)
                                : o.length > 1
                                ? ((n = [e, e, "", t]),
                                  r.setFilters.hasOwnProperty(e.toLowerCase())
                                      ? ce(function (e, n) {
                                            for (var r, i = o(e, t), s = i.length; s--; ) e[(r = $(e, i[s]))] = !(n[r] = i[s]);
                                        })
                                      : function (e) {
                                            return o(e, 0, n);
                                        })
                                : o;
                        },
                    },
                    pseudos: {
                        not: ce(function (e) {
                            var t = [],
                                n = [],
                                r = a(e.replace(U, "$1"));
                            return r[_]
                                ? ce(function (e, t, n, o) {
                                      for (var i, s = r(e, null, o, []), a = e.length; a--; ) (i = s[a]) && (e[a] = !(t[a] = i));
                                  })
                                : function (e, o, i) {
                                      return (t[0] = e), r(t, null, i, n), (t[0] = null), !n.pop();
                                  };
                        }),
                        has: ce(function (e) {
                            return function (t) {
                                return ae(e, t).length > 0;
                            };
                        }),
                        contains: ce(function (e) {
                            return (
                                (e = e.replace(te, ne)),
                                function (t) {
                                    return (t.textContent || o(t)).indexOf(e) > -1;
                                }
                            );
                        }),
                        lang: ce(function (e) {
                            return (
                                K.test(e || "") || ae.error("unsupported lang: " + e),
                                (e = e.replace(te, ne).toLowerCase()),
                                function (t) {
                                    var n;
                                    do {
                                        if ((n = m ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang"))) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-");
                                    } while ((t = t.parentNode) && 1 === t.nodeType);
                                    return !1;
                                }
                            );
                        }),
                        target: function (t) {
                            var n = e.location && e.location.hash;
                            return n && n.slice(1) === t.id;
                        },
                        root: function (e) {
                            return e === h;
                        },
                        focus: function (e) {
                            return e === p.activeElement && (!p.hasFocus || p.hasFocus()) && !!(e.type || e.href || ~e.tabIndex);
                        },
                        enabled: me(!1),
                        disabled: me(!0),
                        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 !r.pseudos.empty(e);
                        },
                        header: function (e) {
                            return J.test(e.nodeName);
                        },
                        input: function (e) {
                            return X.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: ge(function () {
                            return [0];
                        }),
                        last: ge(function (e, t) {
                            return [t - 1];
                        }),
                        eq: ge(function (e, t, n) {
                            return [n < 0 ? n + t : n];
                        }),
                        even: ge(function (e, t) {
                            for (var n = 0; n < t; n += 2) e.push(n);
                            return e;
                        }),
                        odd: ge(function (e, t) {
                            for (var n = 1; n < t; n += 2) e.push(n);
                            return e;
                        }),
                        lt: ge(function (e, t, n) {
                            for (var r = n < 0 ? n + t : n > t ? t : n; --r >= 0; ) e.push(r);
                            return e;
                        }),
                        gt: ge(function (e, t, n) {
                            for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r);
                            return e;
                        }),
                    },
                }).pseudos.nth = r.pseudos.eq),
                { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }))
                    r.pseudos[t] = pe(t);
                for (t in { submit: !0, reset: !0 }) r.pseudos[t] = he(t);
                function ye() {}
                function be(e) {
                    for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
                    return r;
                }
                function _e(e, t, n) {
                    var r = t.dir,
                        o = t.next,
                        i = o || r,
                        s = n && "parentNode" === i,
                        a = x++;
                    return t.first
                        ? function (t, n, o) {
                              for (; (t = t[r]); ) if (1 === t.nodeType || s) return e(t, n, o);
                              return !1;
                          }
                        : function (t, n, l) {
                              var c,
                                  u,
                                  d,
                                  f = [C, a];
                              if (l) {
                                  for (; (t = t[r]); ) if ((1 === t.nodeType || s) && e(t, n, l)) return !0;
                              } else
                                  for (; (t = t[r]); )
                                      if (1 === t.nodeType || s)
                                          if (((u = (d = t[_] || (t[_] = {}))[t.uniqueID] || (d[t.uniqueID] = {})), o && o === t.nodeName.toLowerCase())) t = t[r] || t;
                                          else {
                                              if ((c = u[i]) && c[0] === C && c[1] === a) return (f[2] = c[2]);
                                              if (((u[i] = f), (f[2] = e(t, n, l)))) return !0;
                                          }
                              return !1;
                          };
                }
                function we(e) {
                    return e.length > 1
                        ? function (t, n, r) {
                              for (var o = e.length; o--; ) if (!e[o](t, n, r)) return !1;
                              return !0;
                          }
                        : e[0];
                }
                function Ce(e, t, n, r, o) {
                    for (var i, s = [], a = 0, l = e.length, c = null != t; a < l; a++) (i = e[a]) && ((n && !n(i, r, o)) || (s.push(i), c && t.push(a)));
                    return s;
                }
                function xe(e, t, n, r, o, i) {
                    return (
                        r && !r[_] && (r = xe(r)),
                        o && !o[_] && (o = xe(o, i)),
                        ce(function (i, s, a, l) {
                            var c,
                                u,
                                d,
                                f = [],
                                p = [],
                                h = s.length,
                                m =
                                    i ||
                                    (function (e, t, n) {
                                        for (var r = 0, o = t.length; r < o; r++) ae(e, t[r], n);
                                        return n;
                                    })(t || "*", a.nodeType ? [a] : a, []),
                                g = !e || (!i && t) ? m : Ce(m, f, e, a, l),
                                v = n ? (o || (i ? e : h || r) ? [] : s) : g;
                            if ((n && n(g, v, a, l), r)) for (c = Ce(v, p), r(c, [], a, l), u = c.length; u--; ) (d = c[u]) && (v[p[u]] = !(g[p[u]] = d));
                            if (i) {
                                if (o || e) {
                                    if (o) {
                                        for (c = [], u = v.length; u--; ) (d = v[u]) && c.push((g[u] = d));
                                        o(null, (v = []), c, l);
                                    }
                                    for (u = v.length; u--; ) (d = v[u]) && (c = o ? $(i, d) : f[u]) > -1 && (i[c] = !(s[c] = d));
                                }
                            } else (v = Ce(v === s ? v.splice(h, v.length) : v)), o ? o(null, s, v, l) : L.apply(s, v);
                        })
                    );
                }
                function Ee(e) {
                    for (
                        var t,
                            n,
                            o,
                            i = e.length,
                            s = r.relative[e[0].type],
                            a = s || r.relative[" "],
                            l = s ? 1 : 0,
                            u = _e(
                                function (e) {
                                    return e === t;
                                },
                                a,
                                !0
                            ),
                            d = _e(
                                function (e) {
                                    return $(t, e) > -1;
                                },
                                a,
                                !0
                            ),
                            f = [
                                function (e, n, r) {
                                    var o = (!s && (r || n !== c)) || ((t = n).nodeType ? u(e, n, r) : d(e, n, r));
                                    return (t = null), o;
                                },
                            ];
                        l < i;
                        l++
                    )
                        if ((n = r.relative[e[l].type])) f = [_e(we(f), n)];
                        else {
                            if ((n = r.filter[e[l].type].apply(null, e[l].matches))[_]) {
                                for (o = ++l; o < i && !r.relative[e[o].type]; o++);
                                return xe(l > 1 && we(f), l > 1 && be(e.slice(0, l - 1).concat({ value: " " === e[l - 2].type ? "*" : "" })).replace(U, "$1"), n, l < o && Ee(e.slice(l, o)), o < i && Ee((e = e.slice(o))), o < i && be(e));
                            }
                            f.push(n);
                        }
                    return we(f);
                }
                return (
                    (ye.prototype = r.filters = r.pseudos),
                    (r.setFilters = new ye()),
                    (s = ae.tokenize = function (e, t) {
                        var n,
                            o,
                            i,
                            s,
                            a,
                            l,
                            c,
                            u = k[e + " "];
                        if (u) return t ? 0 : u.slice(0);
                        for (a = e, l = [], c = r.preFilter; a; ) {
                            for (s in ((n && !(o = q.exec(a))) || (o && (a = a.slice(o[0].length) || a), l.push((i = []))),
                            (n = !1),
                            (o = z.exec(a)) && ((n = o.shift()), i.push({ value: n, type: o[0].replace(U, " ") }), (a = a.slice(n.length))),
                            r.filter))
                                !(o = G[s].exec(a)) || (c[s] && !(o = c[s](o))) || ((n = o.shift()), i.push({ value: n, type: s, matches: o }), (a = a.slice(n.length)));
                            if (!n) break;
                        }
                        return t ? a.length : a ? ae.error(e) : k(e, l).slice(0);
                    }),
                    (a = ae.compile = function (e, t) {
                        var n,
                            o = [],
                            i = [],
                            a = A[e + " "];
                        if (!a) {
                            for (t || (t = s(e)), n = t.length; n--; ) (a = Ee(t[n]))[_] ? o.push(a) : i.push(a);
                            (a = A(
                                e,
                                (function (e, t) {
                                    var n = t.length > 0,
                                        o = e.length > 0,
                                        i = function (i, s, a, l, u) {
                                            var d,
                                                h,
                                                g,
                                                v = 0,
                                                y = "0",
                                                b = i && [],
                                                _ = [],
                                                w = c,
                                                x = i || (o && r.find.TAG("*", u)),
                                                E = (C += null == w ? 1 : Math.random() || 0.1),
                                                k = x.length;
                                            for (u && (c = s == p || s || u); y !== k && null != (d = x[y]); y++) {
                                                if (o && d) {
                                                    for (h = 0, s || d.ownerDocument == p || (f(d), (a = !m)); (g = e[h++]); )
                                                        if (g(d, s || p, a)) {
                                                            l.push(d);
                                                            break;
                                                        }
                                                    u && (C = E);
                                                }
                                                n && ((d = !g && d) && v--, i && b.push(d));
                                            }
                                            if (((v += y), n && y !== v)) {
                                                for (h = 0; (g = t[h++]); ) g(b, _, s, a);
                                                if (i) {
                                                    if (v > 0) for (; y--; ) b[y] || _[y] || (_[y] = D.call(l));
                                                    _ = Ce(_);
                                                }
                                                L.apply(l, _), u && !i && _.length > 0 && v + t.length > 1 && ae.uniqueSort(l);
                                            }
                                            return u && ((C = E), (c = w)), b;
                                        };
                                    return n ? ce(i) : i;
                                })(i, o)
                            )).selector = e;
                        }
                        return a;
                    }),
                    (l = ae.select = function (e, t, n, o) {
                        var i,
                            l,
                            c,
                            u,
                            d,
                            f = "function" == typeof e && e,
                            p = !o && s((e = f.selector || e));
                        if (((n = n || []), 1 === p.length)) {
                            if ((l = p[0] = p[0].slice(0)).length > 2 && "ID" === (c = l[0]).type && 9 === t.nodeType && m && r.relative[l[1].type]) {
                                if (!(t = (r.find.ID(c.matches[0].replace(te, ne), t) || [])[0])) return n;
                                f && (t = t.parentNode), (e = e.slice(l.shift().value.length));
                            }
                            for (i = G.needsContext.test(e) ? 0 : l.length; i-- && ((c = l[i]), !r.relative[(u = c.type)]); )
                                if ((d = r.find[u]) && (o = d(c.matches[0].replace(te, ne), (ee.test(l[0].type) && ve(t.parentNode)) || t))) {
                                    if ((l.splice(i, 1), !(e = o.length && be(l)))) return L.apply(n, o), n;
                                    break;
                                }
                        }
                        return (f || a(e, p))(o, t, !m, n, !t || (ee.test(e) && ve(t.parentNode)) || t), n;
                    }),
                    (n.sortStable = _.split("").sort(T).join("") === _),
                    (n.detectDuplicates = !!d),
                    f(),
                    (n.sortDetached = ue(function (e) {
                        return 1 & e.compareDocumentPosition(p.createElement("fieldset"));
                    })),
                    ue(function (e) {
                        return (e.innerHTML = "<a href='#'></a>"), "#" === e.firstChild.getAttribute("href");
                    }) ||
                        de("type|href|height|width", function (e, t, n) {
                            if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2);
                        }),
                    (n.attributes &&
                        ue(function (e) {
                            return (e.innerHTML = "<input/>"), e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value");
                        })) ||
                        de("value", function (e, t, n) {
                            if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue;
                        }),
                    ue(function (e) {
                        return null == e.getAttribute("disabled");
                    }) ||
                        de(M, function (e, t, n) {
                            var r;
                            if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null;
                        }),
                    ae
                );
            })(n);
            (x.find = k), (x.expr = k.selectors), (x.expr[":"] = x.expr.pseudos), (x.uniqueSort = x.unique = k.uniqueSort), (x.text = k.getText), (x.isXMLDoc = k.isXML), (x.contains = k.contains), (x.escapeSelector = k.escape);
            var A = function (e, t, n) {
                    for (var r = [], o = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; )
                        if (1 === e.nodeType) {
                            if (o && x(e).is(n)) break;
                            r.push(e);
                        }
                    return r;
                },
                S = function (e, t) {
                    for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
                    return n;
                },
                T = x.expr.match.needsContext;
            function N(e, t) {
                return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
            }
            var O = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
            function D(e, t, n) {
                return v(t)
                    ? x.grep(e, function (e, r) {
                          return !!t.call(e, r, e) !== n;
                      })
                    : t.nodeType
                    ? x.grep(e, function (e) {
                          return (e === t) !== n;
                      })
                    : "string" != typeof t
                    ? x.grep(e, function (e) {
                          return u.call(t, e) > -1 !== n;
                      })
                    : x.filter(t, e, n);
            }
            (x.filter = function (e, t, n) {
                var r = t[0];
                return (
                    n && (e = ":not(" + e + ")"),
                    1 === t.length && 1 === r.nodeType
                        ? x.find.matchesSelector(r, e)
                            ? [r]
                            : []
                        : x.find.matches(
                              e,
                              x.grep(t, function (e) {
                                  return 1 === e.nodeType;
                              })
                          )
                );
            }),
                x.fn.extend({
                    find: function (e) {
                        var t,
                            n,
                            r = this.length,
                            o = this;
                        if ("string" != typeof e)
                            return this.pushStack(
                                x(e).filter(function () {
                                    for (t = 0; t < r; t++) if (x.contains(o[t], this)) return !0;
                                })
                            );
                        for (n = this.pushStack([]), t = 0; t < r; t++) x.find(e, o[t], n);
                        return r > 1 ? x.uniqueSort(n) : n;
                    },
                    filter: function (e) {
                        return this.pushStack(D(this, e || [], !1));
                    },
                    not: function (e) {
                        return this.pushStack(D(this, e || [], !0));
                    },
                    is: function (e) {
                        return !!D(this, "string" == typeof e && T.test(e) ? x(e) : e || [], !1).length;
                    },
                });
            var R,
                L = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
            ((x.fn.init = function (e, t, n) {
                var r, o;
                if (!e) return this;
                if (((n = n || R), "string" == typeof e)) {
                    if (!(r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : L.exec(e)) || (!r[1] && t)) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
                    if (r[1]) {
                        if (((t = t instanceof x ? t[0] : t), x.merge(this, x.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : b, !0)), O.test(r[1]) && x.isPlainObject(t)))
                            for (r in t) v(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
                        return this;
                    }
                    return (o = b.getElementById(r[2])) && ((this[0] = o), (this.length = 1)), this;
                }
                return e.nodeType ? ((this[0] = e), (this.length = 1), this) : v(e) ? (void 0 !== n.ready ? n.ready(e) : e(x)) : x.makeArray(e, this);
            }).prototype = x.fn),
                (R = x(b));
            var P = /^(?:parents|prev(?:Until|All))/,
                $ = { children: !0, contents: !0, next: !0, prev: !0 };
            function M(e, t) {
                for (; (e = e[t]) && 1 !== e.nodeType; );
                return e;
            }
            x.fn.extend({
                has: function (e) {
                    var t = x(e, this),
                        n = t.length;
                    return this.filter(function () {
                        for (var e = 0; e < n; e++) if (x.contains(this, t[e])) return !0;
                    });
                },
                closest: function (e, t) {
                    var n,
                        r = 0,
                        o = this.length,
                        i = [],
                        s = "string" != typeof e && x(e);
                    if (!T.test(e))
                        for (; r < o; r++)
                            for (n = this[r]; n && n !== t; n = n.parentNode)
                                if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && x.find.matchesSelector(n, e))) {
                                    i.push(n);
                                    break;
                                }
                    return this.pushStack(i.length > 1 ? x.uniqueSort(i) : i);
                },
                index: function (e) {
                    return e ? ("string" == typeof e ? u.call(x(e), this[0]) : u.call(this, e.jquery ? e[0] : e)) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
                },
                add: function (e, t) {
                    return this.pushStack(x.uniqueSort(x.merge(this.get(), x(e, t))));
                },
                addBack: function (e) {
                    return this.add(null == e ? this.prevObject : this.prevObject.filter(e));
                },
            }),
                x.each(
                    {
                        parent: function (e) {
                            var t = e.parentNode;
                            return t && 11 !== t.nodeType ? t : null;
                        },
                        parents: function (e) {
                            return A(e, "parentNode");
                        },
                        parentsUntil: function (e, t, n) {
                            return A(e, "parentNode", n);
                        },
                        next: function (e) {
                            return M(e, "nextSibling");
                        },
                        prev: function (e) {
                            return M(e, "previousSibling");
                        },
                        nextAll: function (e) {
                            return A(e, "nextSibling");
                        },
                        prevAll: function (e) {
                            return A(e, "previousSibling");
                        },
                        nextUntil: function (e, t, n) {
                            return A(e, "nextSibling", n);
                        },
                        prevUntil: function (e, t, n) {
                            return A(e, "previousSibling", n);
                        },
                        siblings: function (e) {
                            return S((e.parentNode || {}).firstChild, e);
                        },
                        children: function (e) {
                            return S(e.firstChild);
                        },
                        contents: function (e) {
                            return null != e.contentDocument && s(e.contentDocument) ? e.contentDocument : (N(e, "template") && (e = e.content || e), x.merge([], e.childNodes));
                        },
                    },
                    function (e, t) {
                        x.fn[e] = function (n, r) {
                            var o = x.map(this, t, n);
                            return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (o = x.filter(r, o)), this.length > 1 && ($[e] || x.uniqueSort(o), P.test(e) && o.reverse()), this.pushStack(o);
                        };
                    }
                );
            var I = /[^\x20\t\r\n\f]+/g;
            function B(e) {
                return e;
            }
            function j(e) {
                throw e;
            }
            function F(e, t, n, r) {
                var o;
                try {
                    e && v((o = e.promise)) ? o.call(e).done(t).fail(n) : e && v((o = e.then)) ? o.call(e, t, n) : t.apply(void 0, [e].slice(r));
                } catch (e) {
                    n.apply(void 0, [e]);
                }
            }
            (x.Callbacks = function (e) {
                e =
                    "string" == typeof e
                        ? (function (e) {
                              var t = {};
                              return (
                                  x.each(e.match(I) || [], function (e, n) {
                                      t[n] = !0;
                                  }),
                                  t
                              );
                          })(e)
                        : x.extend({}, e);
                var t,
                    n,
                    r,
                    o,
                    i = [],
                    s = [],
                    a = -1,
                    l = function () {
                        for (o = o || e.once, r = t = !0; s.length; a = -1) for (n = s.shift(); ++a < i.length; ) !1 === i[a].apply(n[0], n[1]) && e.stopOnFalse && ((a = i.length), (n = !1));
                        e.memory || (n = !1), (t = !1), o && (i = n ? [] : "");
                    },
                    c = {
                        add: function () {
                            return (
                                i &&
                                    (n && !t && ((a = i.length - 1), s.push(n)),
                                    (function t(n) {
                                        x.each(n, function (n, r) {
                                            v(r) ? (e.unique && c.has(r)) || i.push(r) : r && r.length && "string" !== C(r) && t(r);
                                        });
                                    })(arguments),
                                    n && !t && l()),
                                this
                            );
                        },
                        remove: function () {
                            return (
                                x.each(arguments, function (e, t) {
                                    for (var n; (n = x.inArray(t, i, n)) > -1; ) i.splice(n, 1), n <= a && a--;
                                }),
                                this
                            );
                        },
                        has: function (e) {
                            return e ? x.inArray(e, i) > -1 : i.length > 0;
                        },
                        empty: function () {
                            return i && (i = []), this;
                        },
                        disable: function () {
                            return (o = s = []), (i = n = ""), this;
                        },
                        disabled: function () {
                            return !i;
                        },
                        lock: function () {
                            return (o = s = []), n || t || (i = n = ""), this;
                        },
                        locked: function () {
                            return !!o;
                        },
                        fireWith: function (e, n) {
                            return o || ((n = [e, (n = n || []).slice ? n.slice() : n]), s.push(n), t || l()), this;
                        },
                        fire: function () {
                            return c.fireWith(this, arguments), this;
                        },
                        fired: function () {
                            return !!r;
                        },
                    };
                return c;
            }),
                x.extend({
                    Deferred: function (e) {
                        var t = [
                                ["notify", "progress", x.Callbacks("memory"), x.Callbacks("memory"), 2],
                                ["resolve", "done", x.Callbacks("once memory"), x.Callbacks("once memory"), 0, "resolved"],
                                ["reject", "fail", x.Callbacks("once memory"), x.Callbacks("once memory"), 1, "rejected"],
                            ],
                            r = "pending",
                            o = {
                                state: function () {
                                    return r;
                                },
                                always: function () {
                                    return i.done(arguments).fail(arguments), this;
                                },
                                catch: function (e) {
                                    return o.then(null, e);
                                },
                                pipe: function () {
                                    var e = arguments;
                                    return x
                                        .Deferred(function (n) {
                                            x.each(t, function (t, r) {
                                                var o = v(e[r[4]]) && e[r[4]];
                                                i[r[1]](function () {
                                                    var e = o && o.apply(this, arguments);
                                                    e && v(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[r[0] + "With"](this, o ? [e] : arguments);
                                                });
                                            }),
                                                (e = null);
                                        })
                                        .promise();
                                },
                                then: function (e, r, o) {
                                    var i = 0;
                                    function s(e, t, r, o) {
                                        return function () {
                                            var a = this,
                                                l = arguments,
                                                c = function () {
                                                    var n, c;
                                                    if (!(e < i)) {
                                                        if ((n = r.apply(a, l)) === t.promise()) throw new TypeError("Thenable self-resolution");
                                                        (c = n && ("object" == typeof n || "function" == typeof n) && n.then),
                                                            v(c)
                                                                ? o
                                                                    ? c.call(n, s(i, t, B, o), s(i, t, j, o))
                                                                    : (i++, c.call(n, s(i, t, B, o), s(i, t, j, o), s(i, t, B, t.notifyWith)))
                                                                : (r !== B && ((a = void 0), (l = [n])), (o || t.resolveWith)(a, l));
                                                    }
                                                },
                                                u = o
                                                    ? c
                                                    : function () {
                                                          try {
                                                              c();
                                                          } catch (n) {
                                                              x.Deferred.exceptionHook && x.Deferred.exceptionHook(n, u.stackTrace), e + 1 >= i && (r !== j && ((a = void 0), (l = [n])), t.rejectWith(a, l));
                                                          }
                                                      };
                                            e ? u() : (x.Deferred.getStackHook && (u.stackTrace = x.Deferred.getStackHook()), n.setTimeout(u));
                                        };
                                    }
                                    return x
                                        .Deferred(function (n) {
                                            t[0][3].add(s(0, n, v(o) ? o : B, n.notifyWith)), t[1][3].add(s(0, n, v(e) ? e : B)), t[2][3].add(s(0, n, v(r) ? r : j));
                                        })
                                        .promise();
                                },
                                promise: function (e) {
                                    return null != e ? x.extend(e, o) : o;
                                },
                            },
                            i = {};
                        return (
                            x.each(t, function (e, n) {
                                var s = n[2],
                                    a = n[5];
                                (o[n[1]] = s.add),
                                    a &&
                                        s.add(
                                            function () {
                                                r = a;
                                            },
                                            t[3 - e][2].disable,
                                            t[3 - e][3].disable,
                                            t[0][2].lock,
                                            t[0][3].lock
                                        ),
                                    s.add(n[3].fire),
                                    (i[n[0]] = function () {
                                        return i[n[0] + "With"](this === i ? void 0 : this, arguments), this;
                                    }),
                                    (i[n[0] + "With"] = s.fireWith);
                            }),
                            o.promise(i),
                            e && e.call(i, i),
                            i
                        );
                    },
                    when: function (e) {
                        var t = arguments.length,
                            n = t,
                            r = Array(n),
                            o = a.call(arguments),
                            i = x.Deferred(),
                            s = function (e) {
                                return function (n) {
                                    (r[e] = this), (o[e] = arguments.length > 1 ? a.call(arguments) : n), --t || i.resolveWith(r, o);
                                };
                            };
                        if (t <= 1 && (F(e, i.done(s(n)).resolve, i.reject, !t), "pending" === i.state() || v(o[n] && o[n].then))) return i.then();
                        for (; n--; ) F(o[n], s(n), i.reject);
                        return i.promise();
                    },
                });
            var H = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
            (x.Deferred.exceptionHook = function (e, t) {
                n.console && n.console.warn && e && H.test(e.name) && n.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t);
            }),
                (x.readyException = function (e) {
                    n.setTimeout(function () {
                        throw e;
                    });
                });
            var U = x.Deferred();
            function q() {
                b.removeEventListener("DOMContentLoaded", q), n.removeEventListener("load", q), x.ready();
            }
            (x.fn.ready = function (e) {
                return (
                    U.then(e).catch(function (e) {
                        x.readyException(e);
                    }),
                    this
                );
            }),
                x.extend({
                    isReady: !1,
                    readyWait: 1,
                    ready: function (e) {
                        (!0 === e ? --x.readyWait : x.isReady) || ((x.isReady = !0), (!0 !== e && --x.readyWait > 0) || U.resolveWith(b, [x]));
                    },
                }),
                (x.ready.then = U.then),
                "complete" === b.readyState || ("loading" !== b.readyState && !b.documentElement.doScroll) ? n.setTimeout(x.ready) : (b.addEventListener("DOMContentLoaded", q), n.addEventListener("load", q));
            var z = function (e, t, n, r, o, i, s) {
                    var a = 0,
                        l = e.length,
                        c = null == n;
                    if ("object" === C(n)) for (a in ((o = !0), n)) z(e, t, a, n[a], !0, i, s);
                    else if (
                        void 0 !== r &&
                        ((o = !0),
                        v(r) || (s = !0),
                        c &&
                            (s
                                ? (t.call(e, r), (t = null))
                                : ((c = t),
                                  (t = function (e, t, n) {
                                      return c.call(x(e), n);
                                  }))),
                        t)
                    )
                        for (; a < l; a++) t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n)));
                    return o ? e : c ? t.call(e) : l ? t(e[0], n) : i;
                },
                W = /^-ms-/,
                V = /-([a-z])/g;
            function K(e, t) {
                return t.toUpperCase();
            }
            function G(e) {
                return e.replace(W, "ms-").replace(V, K);
            }
            var Y = function (e) {
                return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;
            };
            function X() {
                this.expando = x.expando + X.uid++;
            }
            (X.uid = 1),
                (X.prototype = {
                    cache: function (e) {
                        var t = e[this.expando];
                        return t || ((t = {}), Y(e) && (e.nodeType ? (e[this.expando] = t) : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t;
                    },
                    set: function (e, t, n) {
                        var r,
                            o = this.cache(e);
                        if ("string" == typeof t) o[G(t)] = n;
                        else for (r in t) o[G(r)] = t[r];
                        return o;
                    },
                    get: function (e, t) {
                        return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][G(t)];
                    },
                    access: function (e, t, n) {
                        return void 0 === t || (t && "string" == typeof t && void 0 === n) ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t);
                    },
                    remove: function (e, t) {
                        var n,
                            r = e[this.expando];
                        if (void 0 !== r) {
                            if (void 0 !== t) {
                                n = (t = Array.isArray(t) ? t.map(G) : (t = G(t)) in r ? [t] : t.match(I) || []).length;
                                for (; n--; ) delete r[t[n]];
                            }
                            (void 0 === t || x.isEmptyObject(r)) && (e.nodeType ? (e[this.expando] = void 0) : delete e[this.expando]);
                        }
                    },
                    hasData: function (e) {
                        var t = e[this.expando];
                        return void 0 !== t && !x.isEmptyObject(t);
                    },
                });
            var J = new X(),
                Q = new X(),
                Z = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
                ee = /[A-Z]/g;
            function te(e, t, n) {
                var r;
                if (void 0 === n && 1 === e.nodeType)
                    if (((r = "data-" + t.replace(ee, "-$&").toLowerCase()), "string" == typeof (n = e.getAttribute(r)))) {
                        try {
                            n = (function (e) {
                                return "true" === e || ("false" !== e && ("null" === e ? null : e === +e + "" ? +e : Z.test(e) ? JSON.parse(e) : e));
                            })(n);
                        } catch (e) {}
                        Q.set(e, t, n);
                    } else n = void 0;
                return n;
            }
            x.extend({
                hasData: function (e) {
                    return Q.hasData(e) || J.hasData(e);
                },
                data: function (e, t, n) {
                    return Q.access(e, t, n);
                },
                removeData: function (e, t) {
                    Q.remove(e, t);
                },
                _data: function (e, t, n) {
                    return J.access(e, t, n);
                },
                _removeData: function (e, t) {
                    J.remove(e, t);
                },
            }),
                x.fn.extend({
                    data: function (e, t) {
                        var n,
                            r,
                            o,
                            i = this[0],
                            s = i && i.attributes;
                        if (void 0 === e) {
                            if (this.length && ((o = Q.get(i)), 1 === i.nodeType && !J.get(i, "hasDataAttrs"))) {
                                for (n = s.length; n--; ) s[n] && 0 === (r = s[n].name).indexOf("data-") && ((r = G(r.slice(5))), te(i, r, o[r]));
                                J.set(i, "hasDataAttrs", !0);
                            }
                            return o;
                        }
                        return "object" == typeof e
                            ? this.each(function () {
                                  Q.set(this, e);
                              })
                            : z(
                                  this,
                                  function (t) {
                                      var n;
                                      if (i && void 0 === t) return void 0 !== (n = Q.get(i, e)) || void 0 !== (n = te(i, e)) ? n : void 0;
                                      this.each(function () {
                                          Q.set(this, e, t);
                                      });
                                  },
                                  null,
                                  t,
                                  arguments.length > 1,
                                  null,
                                  !0
                              );
                    },
                    removeData: function (e) {
                        return this.each(function () {
                            Q.remove(this, e);
                        });
                    },
                }),
                x.extend({
                    queue: function (e, t, n) {
                        var r;
                        if (e) return (t = (t || "fx") + "queue"), (r = J.get(e, t)), n && (!r || Array.isArray(n) ? (r = J.access(e, t, x.makeArray(n))) : r.push(n)), r || [];
                    },
                    dequeue: function (e, t) {
                        t = t || "fx";
                        var n = x.queue(e, t),
                            r = n.length,
                            o = n.shift(),
                            i = x._queueHooks(e, t);
                        "inprogress" === o && ((o = n.shift()), r--),
                            o &&
                                ("fx" === t && n.unshift("inprogress"),
                                delete i.stop,
                                o.call(
                                    e,
                                    function () {
                                        x.dequeue(e, t);
                                    },
                                    i
                                )),
                            !r && i && i.empty.fire();
                    },
                    _queueHooks: function (e, t) {
                        var n = t + "queueHooks";
                        return (
                            J.get(e, n) ||
                            J.access(e, n, {
                                empty: x.Callbacks("once memory").add(function () {
                                    J.remove(e, [t + "queue", n]);
                                }),
                            })
                        );
                    },
                }),
                x.fn.extend({
                    queue: function (e, t) {
                        var n = 2;
                        return (
                            "string" != typeof e && ((t = e), (e = "fx"), n--),
                            arguments.length < n
                                ? x.queue(this[0], e)
                                : void 0 === t
                                ? this
                                : this.each(function () {
                                      var n = x.queue(this, e, t);
                                      x._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && x.dequeue(this, e);
                                  })
                        );
                    },
                    dequeue: function (e) {
                        return this.each(function () {
                            x.dequeue(this, e);
                        });
                    },
                    clearQueue: function (e) {
                        return this.queue(e || "fx", []);
                    },
                    promise: function (e, t) {
                        var n,
                            r = 1,
                            o = x.Deferred(),
                            i = this,
                            s = this.length,
                            a = function () {
                                --r || o.resolveWith(i, [i]);
                            };
                        for ("string" != typeof e && ((t = e), (e = void 0)), e = e || "fx"; s--; ) (n = J.get(i[s], e + "queueHooks")) && n.empty && (r++, n.empty.add(a));
                        return a(), o.promise(t);
                    },
                });
            var ne = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
                re = new RegExp("^(?:([+-])=|)(" + ne + ")([a-z%]*)$", "i"),
                oe = ["Top", "Right", "Bottom", "Left"],
                ie = b.documentElement,
                se = function (e) {
                    return x.contains(e.ownerDocument, e);
                },
                ae = { composed: !0 };
            ie.getRootNode &&
                (se = function (e) {
                    return x.contains(e.ownerDocument, e) || e.getRootNode(ae) === e.ownerDocument;
                });
            var le = function (e, t) {
                return "none" === (e = t || e).style.display || ("" === e.style.display && se(e) && "none" === x.css(e, "display"));
            };
            function ce(e, t, n, r) {
                var o,
                    i,
                    s = 20,
                    a = r
                        ? function () {
                              return r.cur();
                          }
                        : function () {
                              return x.css(e, t, "");
                          },
                    l = a(),
                    c = (n && n[3]) || (x.cssNumber[t] ? "" : "px"),
                    u = e.nodeType && (x.cssNumber[t] || ("px" !== c && +l)) && re.exec(x.css(e, t));
                if (u && u[3] !== c) {
                    for (l /= 2, c = c || u[3], u = +l || 1; s--; ) x.style(e, t, u + c), (1 - i) * (1 - (i = a() / l || 0.5)) <= 0 && (s = 0), (u /= i);
                    (u *= 2), x.style(e, t, u + c), (n = n || []);
                }
                return n && ((u = +u || +l || 0), (o = n[1] ? u + (n[1] + 1) * n[2] : +n[2]), r && ((r.unit = c), (r.start = u), (r.end = o))), o;
            }
            var ue = {};
            function de(e) {
                var t,
                    n = e.ownerDocument,
                    r = e.nodeName,
                    o = ue[r];
                return o || ((t = n.body.appendChild(n.createElement(r))), (o = x.css(t, "display")), t.parentNode.removeChild(t), "none" === o && (o = "block"), (ue[r] = o), o);
            }
            function fe(e, t) {
                for (var n, r, o = [], i = 0, s = e.length; i < s; i++)
                    (r = e[i]).style &&
                        ((n = r.style.display),
                        t ? ("none" === n && ((o[i] = J.get(r, "display") || null), o[i] || (r.style.display = "")), "" === r.style.display && le(r) && (o[i] = de(r))) : "none" !== n && ((o[i] = "none"), J.set(r, "display", n)));
                for (i = 0; i < s; i++) null != o[i] && (e[i].style.display = o[i]);
                return e;
            }
            x.fn.extend({
                show: function () {
                    return fe(this, !0);
                },
                hide: function () {
                    return fe(this);
                },
                toggle: function (e) {
                    return "boolean" == typeof e
                        ? e
                            ? this.show()
                            : this.hide()
                        : this.each(function () {
                              le(this) ? x(this).show() : x(this).hide();
                          });
                },
            });
            var pe,
                he,
                me = /^(?:checkbox|radio)$/i,
                ge = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
                ve = /^$|^module$|\/(?:java|ecma)script/i;
            (pe = b.createDocumentFragment().appendChild(b.createElement("div"))),
                (he = b.createElement("input")).setAttribute("type", "radio"),
                he.setAttribute("checked", "checked"),
                he.setAttribute("name", "t"),
                pe.appendChild(he),
                (g.checkClone = pe.cloneNode(!0).cloneNode(!0).lastChild.checked),
                (pe.innerHTML = "<textarea>x</textarea>"),
                (g.noCloneChecked = !!pe.cloneNode(!0).lastChild.defaultValue),
                (pe.innerHTML = "<option></option>"),
                (g.option = !!pe.lastChild);
            var ye = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] };
            function be(e, t) {
                var n;
                return (n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : []), void 0 === t || (t && N(e, t)) ? x.merge([e], n) : n;
            }
            function _e(e, t) {
                for (var n = 0, r = e.length; n < r; n++) J.set(e[n], "globalEval", !t || J.get(t[n], "globalEval"));
            }
            (ye.tbody = ye.tfoot = ye.colgroup = ye.caption = ye.thead), (ye.th = ye.td), g.option || (ye.optgroup = ye.option = [1, "<select multiple='multiple'>", "</select>"]);
            var we = /<|&#?\w+;/;
            function Ce(e, t, n, r, o) {
                for (var i, s, a, l, c, u, d = t.createDocumentFragment(), f = [], p = 0, h = e.length; p < h; p++)
                    if ((i = e[p]) || 0 === i)
                        if ("object" === C(i)) x.merge(f, i.nodeType ? [i] : i);
                        else if (we.test(i)) {
                            for (s = s || d.appendChild(t.createElement("div")), a = (ge.exec(i) || ["", ""])[1].toLowerCase(), l = ye[a] || ye._default, s.innerHTML = l[1] + x.htmlPrefilter(i) + l[2], u = l[0]; u--; ) s = s.lastChild;
                            x.merge(f, s.childNodes), ((s = d.firstChild).textContent = "");
                        } else f.push(t.createTextNode(i));
                for (d.textContent = "", p = 0; (i = f[p++]); )
                    if (r && x.inArray(i, r) > -1) o && o.push(i);
                    else if (((c = se(i)), (s = be(d.appendChild(i), "script")), c && _e(s), n)) for (u = 0; (i = s[u++]); ) ve.test(i.type || "") && n.push(i);
                return d;
            }
            var xe = /^([^.]*)(?:\.(.+)|)/;
            function Ee() {
                return !0;
            }
            function ke() {
                return !1;
            }
            function Ae(e, t) {
                return (
                    (e ===
                        (function () {
                            try {
                                return b.activeElement;
                            } catch (e) {}
                        })()) ==
                    ("focus" === t)
                );
            }
            function Se(e, t, n, r, o, i) {
                var s, a;
                if ("object" == typeof t) {
                    for (a in ("string" != typeof n && ((r = r || n), (n = void 0)), t)) Se(e, a, n, r, t[a], i);
                    return e;
                }
                if ((null == r && null == o ? ((o = n), (r = n = void 0)) : null == o && ("string" == typeof n ? ((o = r), (r = void 0)) : ((o = r), (r = n), (n = void 0))), !1 === o)) o = ke;
                else if (!o) return e;
                return (
                    1 === i &&
                        ((s = o),
                        ((o = function (e) {
                            return x().off(e), s.apply(this, arguments);
                        }).guid = s.guid || (s.guid = x.guid++))),
                    e.each(function () {
                        x.event.add(this, t, o, r, n);
                    })
                );
            }
            function Te(e, t, n) {
                n
                    ? (J.set(e, t, !1),
                      x.event.add(e, t, {
                          namespace: !1,
                          handler: function (e) {
                              var r,
                                  o,
                                  i = J.get(this, t);
                              if (1 & e.isTrigger && this[t]) {
                                  if (i.length) (x.event.special[t] || {}).delegateType && e.stopPropagation();
                                  else if (((i = a.call(arguments)), J.set(this, t, i), (r = n(this, t)), this[t](), i !== (o = J.get(this, t)) || r ? J.set(this, t, !1) : (o = {}), i !== o))
                                      return e.stopImmediatePropagation(), e.preventDefault(), o && o.value;
                              } else i.length && (J.set(this, t, { value: x.event.trigger(x.extend(i[0], x.Event.prototype), i.slice(1), this) }), e.stopImmediatePropagation());
                          },
                      }))
                    : void 0 === J.get(e, t) && x.event.add(e, t, Ee);
            }
            (x.event = {
                global: {},
                add: function (e, t, n, r, o) {
                    var i,
                        s,
                        a,
                        l,
                        c,
                        u,
                        d,
                        f,
                        p,
                        h,
                        m,
                        g = J.get(e);
                    if (Y(e))
                        for (
                            n.handler && ((n = (i = n).handler), (o = i.selector)),
                                o && x.find.matchesSelector(ie, o),
                                n.guid || (n.guid = x.guid++),
                                (l = g.events) || (l = g.events = Object.create(null)),
                                (s = g.handle) ||
                                    (s = g.handle = function (t) {
                                        return void 0 !== x && x.event.triggered !== t.type ? x.event.dispatch.apply(e, arguments) : void 0;
                                    }),
                                c = (t = (t || "").match(I) || [""]).length;
                            c--;

                        )
                            (p = m = (a = xe.exec(t[c]) || [])[1]),
                                (h = (a[2] || "").split(".").sort()),
                                p &&
                                    ((d = x.event.special[p] || {}),
                                    (p = (o ? d.delegateType : d.bindType) || p),
                                    (d = x.event.special[p] || {}),
                                    (u = x.extend({ type: p, origType: m, data: r, handler: n, guid: n.guid, selector: o, needsContext: o && x.expr.match.needsContext.test(o), namespace: h.join(".") }, i)),
                                    (f = l[p]) || (((f = l[p] = []).delegateCount = 0), (d.setup && !1 !== d.setup.call(e, r, h, s)) || (e.addEventListener && e.addEventListener(p, s))),
                                    d.add && (d.add.call(e, u), u.handler.guid || (u.handler.guid = n.guid)),
                                    o ? f.splice(f.delegateCount++, 0, u) : f.push(u),
                                    (x.event.global[p] = !0));
                },
                remove: function (e, t, n, r, o) {
                    var i,
                        s,
                        a,
                        l,
                        c,
                        u,
                        d,
                        f,
                        p,
                        h,
                        m,
                        g = J.hasData(e) && J.get(e);
                    if (g && (l = g.events)) {
                        for (c = (t = (t || "").match(I) || [""]).length; c--; )
                            if (((p = m = (a = xe.exec(t[c]) || [])[1]), (h = (a[2] || "").split(".").sort()), p)) {
                                for (d = x.event.special[p] || {}, f = l[(p = (r ? d.delegateType : d.bindType) || p)] || [], a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = i = f.length; i--; )
                                    (u = f[i]),
                                        (!o && m !== u.origType) ||
                                            (n && n.guid !== u.guid) ||
                                            (a && !a.test(u.namespace)) ||
                                            (r && r !== u.selector && ("**" !== r || !u.selector)) ||
                                            (f.splice(i, 1), u.selector && f.delegateCount--, d.remove && d.remove.call(e, u));
                                s && !f.length && ((d.teardown && !1 !== d.teardown.call(e, h, g.handle)) || x.removeEvent(e, p, g.handle), delete l[p]);
                            } else for (p in l) x.event.remove(e, p + t[c], n, r, !0);
                        x.isEmptyObject(l) && J.remove(e, "handle events");
                    }
                },
                dispatch: function (e) {
                    var t,
                        n,
                        r,
                        o,
                        i,
                        s,
                        a = new Array(arguments.length),
                        l = x.event.fix(e),
                        c = (J.get(this, "events") || Object.create(null))[l.type] || [],
                        u = x.event.special[l.type] || {};
                    for (a[0] = l, t = 1; t < arguments.length; t++) a[t] = arguments[t];
                    if (((l.delegateTarget = this), !u.preDispatch || !1 !== u.preDispatch.call(this, l))) {
                        for (s = x.event.handlers.call(this, l, c), t = 0; (o = s[t++]) && !l.isPropagationStopped(); )
                            for (l.currentTarget = o.elem, n = 0; (i = o.handlers[n++]) && !l.isImmediatePropagationStopped(); )
                                (l.rnamespace && !1 !== i.namespace && !l.rnamespace.test(i.namespace)) ||
                                    ((l.handleObj = i), (l.data = i.data), void 0 !== (r = ((x.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, a)) && !1 === (l.result = r) && (l.preventDefault(), l.stopPropagation()));
                        return u.postDispatch && u.postDispatch.call(this, l), l.result;
                    }
                },
                handlers: function (e, t) {
                    var n,
                        r,
                        o,
                        i,
                        s,
                        a = [],
                        l = t.delegateCount,
                        c = e.target;
                    if (l && c.nodeType && !("click" === e.type && e.button >= 1))
                        for (; c !== this; c = c.parentNode || this)
                            if (1 === c.nodeType && ("click" !== e.type || !0 !== c.disabled)) {
                                for (i = [], s = {}, n = 0; n < l; n++) void 0 === s[(o = (r = t[n]).selector + " ")] && (s[o] = r.needsContext ? x(o, this).index(c) > -1 : x.find(o, this, null, [c]).length), s[o] && i.push(r);
                                i.length && a.push({ elem: c, handlers: i });
                            }
                    return (c = this), l < t.length && a.push({ elem: c, handlers: t.slice(l) }), a;
                },
                addProp: function (e, t) {
                    Object.defineProperty(x.Event.prototype, e, {
                        enumerable: !0,
                        configurable: !0,
                        get: v(t)
                            ? function () {
                                  if (this.originalEvent) return t(this.originalEvent);
                              }
                            : function () {
                                  if (this.originalEvent) return this.originalEvent[e];
                              },
                        set: function (t) {
                            Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t });
                        },
                    });
                },
                fix: function (e) {
                    return e[x.expando] ? e : new x.Event(e);
                },
                special: {
                    load: { noBubble: !0 },
                    click: {
                        setup: function (e) {
                            var t = this || e;
                            return me.test(t.type) && t.click && N(t, "input") && Te(t, "click", Ee), !1;
                        },
                        trigger: function (e) {
                            var t = this || e;
                            return me.test(t.type) && t.click && N(t, "input") && Te(t, "click"), !0;
                        },
                        _default: function (e) {
                            var t = e.target;
                            return (me.test(t.type) && t.click && N(t, "input") && J.get(t, "click")) || N(t, "a");
                        },
                    },
                    beforeunload: {
                        postDispatch: function (e) {
                            void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result);
                        },
                    },
                },
            }),
                (x.removeEvent = function (e, t, n) {
                    e.removeEventListener && e.removeEventListener(t, n);
                }),
                (x.Event = function (e, t) {
                    if (!(this instanceof x.Event)) return new x.Event(e, t);
                    e && e.type
                        ? ((this.originalEvent = e),
                          (this.type = e.type),
                          (this.isDefaultPrevented = e.defaultPrevented || (void 0 === e.defaultPrevented && !1 === e.returnValue) ? Ee : ke),
                          (this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target),
                          (this.currentTarget = e.currentTarget),
                          (this.relatedTarget = e.relatedTarget))
                        : (this.type = e),
                        t && x.extend(this, t),
                        (this.timeStamp = (e && e.timeStamp) || Date.now()),
                        (this[x.expando] = !0);
                }),
                (x.Event.prototype = {
                    constructor: x.Event,
                    isDefaultPrevented: ke,
                    isPropagationStopped: ke,
                    isImmediatePropagationStopped: ke,
                    isSimulated: !1,
                    preventDefault: function () {
                        var e = this.originalEvent;
                        (this.isDefaultPrevented = Ee), e && !this.isSimulated && e.preventDefault();
                    },
                    stopPropagation: function () {
                        var e = this.originalEvent;
                        (this.isPropagationStopped = Ee), e && !this.isSimulated && e.stopPropagation();
                    },
                    stopImmediatePropagation: function () {
                        var e = this.originalEvent;
                        (this.isImmediatePropagationStopped = Ee), e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation();
                    },
                }),
                x.each(
                    {
                        altKey: !0,
                        bubbles: !0,
                        cancelable: !0,
                        changedTouches: !0,
                        ctrlKey: !0,
                        detail: !0,
                        eventPhase: !0,
                        metaKey: !0,
                        pageX: !0,
                        pageY: !0,
                        shiftKey: !0,
                        view: !0,
                        char: !0,
                        code: !0,
                        charCode: !0,
                        key: !0,
                        keyCode: !0,
                        button: !0,
                        buttons: !0,
                        clientX: !0,
                        clientY: !0,
                        offsetX: !0,
                        offsetY: !0,
                        pointerId: !0,
                        pointerType: !0,
                        screenX: !0,
                        screenY: !0,
                        targetTouches: !0,
                        toElement: !0,
                        touches: !0,
                        which: !0,
                    },
                    x.event.addProp
                ),
                x.each({ focus: "focusin", blur: "focusout" }, function (e, t) {
                    x.event.special[e] = {
                        setup: function () {
                            return Te(this, e, Ae), !1;
                        },
                        trigger: function () {
                            return Te(this, e), !0;
                        },
                        _default: function () {
                            return !0;
                        },
                        delegateType: t,
                    };
                }),
                x.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, t) {
                    x.event.special[e] = {
                        delegateType: t,
                        bindType: t,
                        handle: function (e) {
                            var n,
                                r = this,
                                o = e.relatedTarget,
                                i = e.handleObj;
                            return (o && (o === r || x.contains(r, o))) || ((e.type = i.origType), (n = i.handler.apply(this, arguments)), (e.type = t)), n;
                        },
                    };
                }),
                x.fn.extend({
                    on: function (e, t, n, r) {
                        return Se(this, e, t, n, r);
                    },
                    one: function (e, t, n, r) {
                        return Se(this, e, t, n, r, 1);
                    },
                    off: function (e, t, n) {
                        var r, o;
                        if (e && e.preventDefault && e.handleObj) return (r = e.handleObj), x(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
                        if ("object" == typeof e) {
                            for (o in e) this.off(o, t, e[o]);
                            return this;
                        }
                        return (
                            (!1 !== t && "function" != typeof t) || ((n = t), (t = void 0)),
                            !1 === n && (n = ke),
                            this.each(function () {
                                x.event.remove(this, e, n, t);
                            })
                        );
                    },
                });
            var Ne = /<script|<style|<link/i,
                Oe = /checked\s*(?:[^=]|=\s*.checked.)/i,
                De = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
            function Re(e, t) {
                return (N(e, "table") && N(11 !== t.nodeType ? t : t.firstChild, "tr") && x(e).children("tbody")[0]) || e;
            }
            function Le(e) {
                return (e.type = (null !== e.getAttribute("type")) + "/" + e.type), e;
            }
            function Pe(e) {
                return "true/" === (e.type || "").slice(0, 5) ? (e.type = e.type.slice(5)) : e.removeAttribute("type"), e;
            }
            function $e(e, t) {
                var n, r, o, i, s, a;
                if (1 === t.nodeType) {
                    if (J.hasData(e) && (a = J.get(e).events)) for (o in (J.remove(t, "handle events"), a)) for (n = 0, r = a[o].length; n < r; n++) x.event.add(t, o, a[o][n]);
                    Q.hasData(e) && ((i = Q.access(e)), (s = x.extend({}, i)), Q.set(t, s));
                }
            }
            function Me(e, t) {
                var n = t.nodeName.toLowerCase();
                "input" === n && me.test(e.type) ? (t.checked = e.checked) : ("input" !== n && "textarea" !== n) || (t.defaultValue = e.defaultValue);
            }
            function Ie(e, t, n, r) {
                t = l(t);
                var o,
                    i,
                    s,
                    a,
                    c,
                    u,
                    d = 0,
                    f = e.length,
                    p = f - 1,
                    h = t[0],
                    m = v(h);
                if (m || (f > 1 && "string" == typeof h && !g.checkClone && Oe.test(h)))
                    return e.each(function (o) {
                        var i = e.eq(o);
                        m && (t[0] = h.call(this, o, i.html())), Ie(i, t, n, r);
                    });
                if (f && ((i = (o = Ce(t, e[0].ownerDocument, !1, e, r)).firstChild), 1 === o.childNodes.length && (o = i), i || r)) {
                    for (a = (s = x.map(be(o, "script"), Le)).length; d < f; d++) (c = o), d !== p && ((c = x.clone(c, !0, !0)), a && x.merge(s, be(c, "script"))), n.call(e[d], c, d);
                    if (a)
                        for (u = s[s.length - 1].ownerDocument, x.map(s, Pe), d = 0; d < a; d++)
                            (c = s[d]),
                                ve.test(c.type || "") &&
                                    !J.access(c, "globalEval") &&
                                    x.contains(u, c) &&
                                    (c.src && "module" !== (c.type || "").toLowerCase() ? x._evalUrl && !c.noModule && x._evalUrl(c.src, { nonce: c.nonce || c.getAttribute("nonce") }, u) : w(c.textContent.replace(De, ""), c, u));
                }
                return e;
            }
            function Be(e, t, n) {
                for (var r, o = t ? x.filter(t, e) : e, i = 0; null != (r = o[i]); i++) n || 1 !== r.nodeType || x.cleanData(be(r)), r.parentNode && (n && se(r) && _e(be(r, "script")), r.parentNode.removeChild(r));
                return e;
            }
            x.extend({
                htmlPrefilter: function (e) {
                    return e;
                },
                clone: function (e, t, n) {
                    var r,
                        o,
                        i,
                        s,
                        a = e.cloneNode(!0),
                        l = se(e);
                    if (!(g.noCloneChecked || (1 !== e.nodeType && 11 !== e.nodeType) || x.isXMLDoc(e))) for (s = be(a), r = 0, o = (i = be(e)).length; r < o; r++) Me(i[r], s[r]);
                    if (t)
                        if (n) for (i = i || be(e), s = s || be(a), r = 0, o = i.length; r < o; r++) $e(i[r], s[r]);
                        else $e(e, a);
                    return (s = be(a, "script")).length > 0 && _e(s, !l && be(e, "script")), a;
                },
                cleanData: function (e) {
                    for (var t, n, r, o = x.event.special, i = 0; void 0 !== (n = e[i]); i++)
                        if (Y(n)) {
                            if ((t = n[J.expando])) {
                                if (t.events) for (r in t.events) o[r] ? x.event.remove(n, r) : x.removeEvent(n, r, t.handle);
                                n[J.expando] = void 0;
                            }
                            n[Q.expando] && (n[Q.expando] = void 0);
                        }
                },
            }),
                x.fn.extend({
                    detach: function (e) {
                        return Be(this, e, !0);
                    },
                    remove: function (e) {
                        return Be(this, e);
                    },
                    text: function (e) {
                        return z(
                            this,
                            function (e) {
                                return void 0 === e
                                    ? x.text(this)
                                    : this.empty().each(function () {
                                          (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || (this.textContent = e);
                                      });
                            },
                            null,
                            e,
                            arguments.length
                        );
                    },
                    append: function () {
                        return Ie(this, arguments, function (e) {
                            (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || Re(this, e).appendChild(e);
                        });
                    },
                    prepend: function () {
                        return Ie(this, arguments, function (e) {
                            if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                                var t = Re(this, e);
                                t.insertBefore(e, t.firstChild);
                            }
                        });
                    },
                    before: function () {
                        return Ie(this, arguments, function (e) {
                            this.parentNode && this.parentNode.insertBefore(e, this);
                        });
                    },
                    after: function () {
                        return Ie(this, arguments, function (e) {
                            this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);
                        });
                    },
                    empty: function () {
                        for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (x.cleanData(be(e, !1)), (e.textContent = ""));
                        return this;
                    },
                    clone: function (e, t) {
                        return (
                            (e = null != e && e),
                            (t = null == t ? e : t),
                            this.map(function () {
                                return x.clone(this, e, t);
                            })
                        );
                    },
                    html: function (e) {
                        return z(
                            this,
                            function (e) {
                                var t = this[0] || {},
                                    n = 0,
                                    r = this.length;
                                if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
                                if ("string" == typeof e && !Ne.test(e) && !ye[(ge.exec(e) || ["", ""])[1].toLowerCase()]) {
                                    e = x.htmlPrefilter(e);
                                    try {
                                        for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (x.cleanData(be(t, !1)), (t.innerHTML = e));
                                        t = 0;
                                    } catch (e) {}
                                }
                                t && this.empty().append(e);
                            },
                            null,
                            e,
                            arguments.length
                        );
                    },
                    replaceWith: function () {
                        var e = [];
                        return Ie(
                            this,
                            arguments,
                            function (t) {
                                var n = this.parentNode;
                                x.inArray(this, e) < 0 && (x.cleanData(be(this)), n && n.replaceChild(t, this));
                            },
                            e
                        );
                    },
                }),
                x.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, t) {
                    x.fn[e] = function (e) {
                        for (var n, r = [], o = x(e), i = o.length - 1, s = 0; s <= i; s++) (n = s === i ? this : this.clone(!0)), x(o[s])[t](n), c.apply(r, n.get());
                        return this.pushStack(r);
                    };
                });
            var je = new RegExp("^(" + ne + ")(?!px)[a-z%]+$", "i"),
                Fe = function (e) {
                    var t = e.ownerDocument.defaultView;
                    return (t && t.opener) || (t = n), t.getComputedStyle(e);
                },
                He = function (e, t, n) {
                    var r,
                        o,
                        i = {};
                    for (o in t) (i[o] = e.style[o]), (e.style[o] = t[o]);
                    for (o in ((r = n.call(e)), t)) e.style[o] = i[o];
                    return r;
                },
                Ue = new RegExp(oe.join("|"), "i");
            function qe(e, t, n) {
                var r,
                    o,
                    i,
                    s,
                    a = e.style;
                return (
                    (n = n || Fe(e)) &&
                        ("" !== (s = n.getPropertyValue(t) || n[t]) || se(e) || (s = x.style(e, t)),
                        !g.pixelBoxStyles() && je.test(s) && Ue.test(t) && ((r = a.width), (o = a.minWidth), (i = a.maxWidth), (a.minWidth = a.maxWidth = a.width = s), (s = n.width), (a.width = r), (a.minWidth = o), (a.maxWidth = i))),
                    void 0 !== s ? s + "" : s
                );
            }
            function ze(e, t) {
                return {
                    get: function () {
                        if (!e()) return (this.get = t).apply(this, arguments);
                        delete this.get;
                    },
                };
            }
            !(function () {
                function e() {
                    if (u) {
                        (c.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"),
                            (u.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"),
                            ie.appendChild(c).appendChild(u);
                        var e = n.getComputedStyle(u);
                        (r = "1%" !== e.top),
                            (l = 12 === t(e.marginLeft)),
                            (u.style.right = "60%"),
                            (s = 36 === t(e.right)),
                            (o = 36 === t(e.width)),
                            (u.style.position = "absolute"),
                            (i = 12 === t(u.offsetWidth / 3)),
                            ie.removeChild(c),
                            (u = null);
                    }
                }
                function t(e) {
                    return Math.round(parseFloat(e));
                }
                var r,
                    o,
                    i,
                    s,
                    a,
                    l,
                    c = b.createElement("div"),
                    u = b.createElement("div");
                u.style &&
                    ((u.style.backgroundClip = "content-box"),
                    (u.cloneNode(!0).style.backgroundClip = ""),
                    (g.clearCloneStyle = "content-box" === u.style.backgroundClip),
                    x.extend(g, {
                        boxSizingReliable: function () {
                            return e(), o;
                        },
                        pixelBoxStyles: function () {
                            return e(), s;
                        },
                        pixelPosition: function () {
                            return e(), r;
                        },
                        reliableMarginLeft: function () {
                            return e(), l;
                        },
                        scrollboxSize: function () {
                            return e(), i;
                        },
                        reliableTrDimensions: function () {
                            var e, t, r, o;
                            return (
                                null == a &&
                                    ((e = b.createElement("table")),
                                    (t = b.createElement("tr")),
                                    (r = b.createElement("div")),
                                    (e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"),
                                    (t.style.cssText = "border:1px solid"),
                                    (t.style.height = "1px"),
                                    (r.style.height = "9px"),
                                    (r.style.display = "block"),
                                    ie.appendChild(e).appendChild(t).appendChild(r),
                                    (o = n.getComputedStyle(t)),
                                    (a = parseInt(o.height, 10) + parseInt(o.borderTopWidth, 10) + parseInt(o.borderBottomWidth, 10) === t.offsetHeight),
                                    ie.removeChild(e)),
                                a
                            );
                        },
                    }));
            })();
            var We = ["Webkit", "Moz", "ms"],
                Ve = b.createElement("div").style,
                Ke = {};
            function Ge(e) {
                var t = x.cssProps[e] || Ke[e];
                return (
                    t ||
                    (e in Ve
                        ? e
                        : (Ke[e] =
                              (function (e) {
                                  for (var t = e[0].toUpperCase() + e.slice(1), n = We.length; n--; ) if ((e = We[n] + t) in Ve) return e;
                              })(e) || e))
                );
            }
            var Ye = /^(none|table(?!-c[ea]).+)/,
                Xe = /^--/,
                Je = { position: "absolute", visibility: "hidden", display: "block" },
                Qe = { letterSpacing: "0", fontWeight: "400" };
            function Ze(e, t, n) {
                var r = re.exec(t);
                return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t;
            }
            function et(e, t, n, r, o, i) {
                var s = "width" === t ? 1 : 0,
                    a = 0,
                    l = 0;
                if (n === (r ? "border" : "content")) return 0;
                for (; s < 4; s += 2)
                    "margin" === n && (l += x.css(e, n + oe[s], !0, o)),
                        r
                            ? ("content" === n && (l -= x.css(e, "padding" + oe[s], !0, o)), "margin" !== n && (l -= x.css(e, "border" + oe[s] + "Width", !0, o)))
                            : ((l += x.css(e, "padding" + oe[s], !0, o)), "padding" !== n ? (l += x.css(e, "border" + oe[s] + "Width", !0, o)) : (a += x.css(e, "border" + oe[s] + "Width", !0, o)));
                return !r && i >= 0 && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - i - l - a - 0.5)) || 0), l;
            }
            function tt(e, t, n) {
                var r = Fe(e),
                    o = (!g.boxSizingReliable() || n) && "border-box" === x.css(e, "boxSizing", !1, r),
                    i = o,
                    s = qe(e, t, r),
                    a = "offset" + t[0].toUpperCase() + t.slice(1);
                if (je.test(s)) {
                    if (!n) return s;
                    s = "auto";
                }
                return (
                    ((!g.boxSizingReliable() && o) || (!g.reliableTrDimensions() && N(e, "tr")) || "auto" === s || (!parseFloat(s) && "inline" === x.css(e, "display", !1, r))) &&
                        e.getClientRects().length &&
                        ((o = "border-box" === x.css(e, "boxSizing", !1, r)), (i = a in e) && (s = e[a])),
                    (s = parseFloat(s) || 0) + et(e, t, n || (o ? "border" : "content"), i, r, s) + "px"
                );
            }
            function nt(e, t, n, r, o) {
                return new nt.prototype.init(e, t, n, r, o);
            }
            x.extend({
                cssHooks: {
                    opacity: {
                        get: function (e, t) {
                            if (t) {
                                var n = qe(e, "opacity");
                                return "" === n ? "1" : n;
                            }
                        },
                    },
                },
                cssNumber: {
                    animationIterationCount: !0,
                    columnCount: !0,
                    fillOpacity: !0,
                    flexGrow: !0,
                    flexShrink: !0,
                    fontWeight: !0,
                    gridArea: !0,
                    gridColumn: !0,
                    gridColumnEnd: !0,
                    gridColumnStart: !0,
                    gridRow: !0,
                    gridRowEnd: !0,
                    gridRowStart: !0,
                    lineHeight: !0,
                    opacity: !0,
                    order: !0,
                    orphans: !0,
                    widows: !0,
                    zIndex: !0,
                    zoom: !0,
                },
                cssProps: {},
                style: function (e, t, n, r) {
                    if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
                        var o,
                            i,
                            s,
                            a = G(t),
                            l = Xe.test(t),
                            c = e.style;
                        if ((l || (t = Ge(a)), (s = x.cssHooks[t] || x.cssHooks[a]), void 0 === n)) return s && "get" in s && void 0 !== (o = s.get(e, !1, r)) ? o : c[t];
                        "string" === (i = typeof n) && (o = re.exec(n)) && o[1] && ((n = ce(e, t, o)), (i = "number")),
                            null != n &&
                                n == n &&
                                ("number" !== i || l || (n += (o && o[3]) || (x.cssNumber[a] ? "" : "px")),
                                g.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (c[t] = "inherit"),
                                (s && "set" in s && void 0 === (n = s.set(e, n, r))) || (l ? c.setProperty(t, n) : (c[t] = n)));
                    }
                },
                css: function (e, t, n, r) {
                    var o,
                        i,
                        s,
                        a = G(t);
                    return (
                        Xe.test(t) || (t = Ge(a)),
                        (s = x.cssHooks[t] || x.cssHooks[a]) && "get" in s && (o = s.get(e, !0, n)),
                        void 0 === o && (o = qe(e, t, r)),
                        "normal" === o && t in Qe && (o = Qe[t]),
                        "" === n || n ? ((i = parseFloat(o)), !0 === n || isFinite(i) ? i || 0 : o) : o
                    );
                },
            }),
                x.each(["height", "width"], function (e, t) {
                    x.cssHooks[t] = {
                        get: function (e, n, r) {
                            if (n)
                                return !Ye.test(x.css(e, "display")) || (e.getClientRects().length && e.getBoundingClientRect().width)
                                    ? tt(e, t, r)
                                    : He(e, Je, function () {
                                          return tt(e, t, r);
                                      });
                        },
                        set: function (e, n, r) {
                            var o,
                                i = Fe(e),
                                s = !g.scrollboxSize() && "absolute" === i.position,
                                a = (s || r) && "border-box" === x.css(e, "boxSizing", !1, i),
                                l = r ? et(e, t, r, a, i) : 0;
                            return (
                                a && s && (l -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(i[t]) - et(e, t, "border", !1, i) - 0.5)),
                                l && (o = re.exec(n)) && "px" !== (o[3] || "px") && ((e.style[t] = n), (n = x.css(e, t))),
                                Ze(0, n, l)
                            );
                        },
                    };
                }),
                (x.cssHooks.marginLeft = ze(g.reliableMarginLeft, function (e, t) {
                    if (t)
                        return (
                            (parseFloat(qe(e, "marginLeft")) ||
                                e.getBoundingClientRect().left -
                                    He(e, { marginLeft: 0 }, function () {
                                        return e.getBoundingClientRect().left;
                                    })) + "px"
                        );
                })),
                x.each({ margin: "", padding: "", border: "Width" }, function (e, t) {
                    (x.cssHooks[e + t] = {
                        expand: function (n) {
                            for (var r = 0, o = {}, i = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) o[e + oe[r] + t] = i[r] || i[r - 2] || i[0];
                            return o;
                        },
                    }),
                        "margin" !== e && (x.cssHooks[e + t].set = Ze);
                }),
                x.fn.extend({
                    css: function (e, t) {
                        return z(
                            this,
                            function (e, t, n) {
                                var r,
                                    o,
                                    i = {},
                                    s = 0;
                                if (Array.isArray(t)) {
                                    for (r = Fe(e), o = t.length; s < o; s++) i[t[s]] = x.css(e, t[s], !1, r);
                                    return i;
                                }
                                return void 0 !== n ? x.style(e, t, n) : x.css(e, t);
                            },
                            e,
                            t,
                            arguments.length > 1
                        );
                    },
                }),
                (x.Tween = nt),
                (nt.prototype = {
                    constructor: nt,
                    init: function (e, t, n, r, o, i) {
                        (this.elem = e), (this.prop = n), (this.easing = o || x.easing._default), (this.options = t), (this.start = this.now = this.cur()), (this.end = r), (this.unit = i || (x.cssNumber[n] ? "" : "px"));
                    },
                    cur: function () {
                        var e = nt.propHooks[this.prop];
                        return e && e.get ? e.get(this) : nt.propHooks._default.get(this);
                    },
                    run: function (e) {
                        var t,
                            n = nt.propHooks[this.prop];
                        return (
                            this.options.duration ? (this.pos = t = x.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration)) : (this.pos = t = e),
                            (this.now = (this.end - this.start) * t + this.start),
                            this.options.step && this.options.step.call(this.elem, this.now, this),
                            n && n.set ? n.set(this) : nt.propHooks._default.set(this),
                            this
                        );
                    },
                }),
                (nt.prototype.init.prototype = nt.prototype),
                (nt.propHooks = {
                    _default: {
                        get: function (e) {
                            var t;
                            return 1 !== e.elem.nodeType || (null != e.elem[e.prop] && null == e.elem.style[e.prop]) ? e.elem[e.prop] : (t = x.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0;
                        },
                        set: function (e) {
                            x.fx.step[e.prop] ? x.fx.step[e.prop](e) : 1 !== e.elem.nodeType || (!x.cssHooks[e.prop] && null == e.elem.style[Ge(e.prop)]) ? (e.elem[e.prop] = e.now) : x.style(e.elem, e.prop, e.now + e.unit);
                        },
                    },
                }),
                (nt.propHooks.scrollTop = nt.propHooks.scrollLeft = {
                    set: function (e) {
                        e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now);
                    },
                }),
                (x.easing = {
                    linear: function (e) {
                        return e;
                    },
                    swing: function (e) {
                        return 0.5 - Math.cos(e * Math.PI) / 2;
                    },
                    _default: "swing",
                }),
                (x.fx = nt.prototype.init),
                (x.fx.step = {});
            var rt,
                ot,
                it = /^(?:toggle|show|hide)$/,
                st = /queueHooks$/;
            function at() {
                ot && (!1 === b.hidden && n.requestAnimationFrame ? n.requestAnimationFrame(at) : n.setTimeout(at, x.fx.interval), x.fx.tick());
            }
            function lt() {
                return (
                    n.setTimeout(function () {
                        rt = void 0;
                    }),
                    (rt = Date.now())
                );
            }
            function ct(e, t) {
                var n,
                    r = 0,
                    o = { height: e };
                for (t = t ? 1 : 0; r < 4; r += 2 - t) o["margin" + (n = oe[r])] = o["padding" + n] = e;
                return t && (o.opacity = o.width = e), o;
            }
            function ut(e, t, n) {
                for (var r, o = (dt.tweeners[t] || []).concat(dt.tweeners["*"]), i = 0, s = o.length; i < s; i++) if ((r = o[i].call(n, t, e))) return r;
            }
            function dt(e, t, n) {
                var r,
                    o,
                    i = 0,
                    s = dt.prefilters.length,
                    a = x.Deferred().always(function () {
                        delete l.elem;
                    }),
                    l = function () {
                        if (o) return !1;
                        for (var t = rt || lt(), n = Math.max(0, c.startTime + c.duration - t), r = 1 - (n / c.duration || 0), i = 0, s = c.tweens.length; i < s; i++) c.tweens[i].run(r);
                        return a.notifyWith(e, [c, r, n]), r < 1 && s ? n : (s || a.notifyWith(e, [c, 1, 0]), a.resolveWith(e, [c]), !1);
                    },
                    c = a.promise({
                        elem: e,
                        props: x.extend({}, t),
                        opts: x.extend(!0, { specialEasing: {}, easing: x.easing._default }, n),
                        originalProperties: t,
                        originalOptions: n,
                        startTime: rt || lt(),
                        duration: n.duration,
                        tweens: [],
                        createTween: function (t, n) {
                            var r = x.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing);
                            return c.tweens.push(r), r;
                        },
                        stop: function (t) {
                            var n = 0,
                                r = t ? c.tweens.length : 0;
                            if (o) return this;
                            for (o = !0; n < r; n++) c.tweens[n].run(1);
                            return t ? (a.notifyWith(e, [c, 1, 0]), a.resolveWith(e, [c, t])) : a.rejectWith(e, [c, t]), this;
                        },
                    }),
                    u = c.props;
                for (
                    !(function (e, t) {
                        var n, r, o, i, s;
                        for (n in e)
                            if (((o = t[(r = G(n))]), (i = e[n]), Array.isArray(i) && ((o = i[1]), (i = e[n] = i[0])), n !== r && ((e[r] = i), delete e[n]), (s = x.cssHooks[r]) && ("expand" in s)))
                                for (n in ((i = s.expand(i)), delete e[r], i)) (n in e) || ((e[n] = i[n]), (t[n] = o));
                            else t[r] = o;
                    })(u, c.opts.specialEasing);
                    i < s;
                    i++
                )
                    if ((r = dt.prefilters[i].call(c, e, u, c.opts))) return v(r.stop) && (x._queueHooks(c.elem, c.opts.queue).stop = r.stop.bind(r)), r;
                return (
                    x.map(u, ut, c),
                    v(c.opts.start) && c.opts.start.call(e, c),
                    c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always),
                    x.fx.timer(x.extend(l, { elem: e, anim: c, queue: c.opts.queue })),
                    c
                );
            }
            (x.Animation = x.extend(dt, {
                tweeners: {
                    "*": [
                        function (e, t) {
                            var n = this.createTween(e, t);
                            return ce(n.elem, e, re.exec(t), n), n;
                        },
                    ],
                },
                tweener: function (e, t) {
                    v(e) ? ((t = e), (e = ["*"])) : (e = e.match(I));
                    for (var n, r = 0, o = e.length; r < o; r++) (n = e[r]), (dt.tweeners[n] = dt.tweeners[n] || []), dt.tweeners[n].unshift(t);
                },
                prefilters: [
                    function (e, t, n) {
                        var r,
                            o,
                            i,
                            s,
                            a,
                            l,
                            c,
                            u,
                            d = "width" in t || "height" in t,
                            f = this,
                            p = {},
                            h = e.style,
                            m = e.nodeType && le(e),
                            g = J.get(e, "fxshow");
                        for (r in (n.queue ||
                            (null == (s = x._queueHooks(e, "fx")).unqueued &&
                                ((s.unqueued = 0),
                                (a = s.empty.fire),
                                (s.empty.fire = function () {
                                    s.unqueued || a();
                                })),
                            s.unqueued++,
                            f.always(function () {
                                f.always(function () {
                                    s.unqueued--, x.queue(e, "fx").length || s.empty.fire();
                                });
                            })),
                        t))
                            if (((o = t[r]), it.test(o))) {
                                if ((delete t[r], (i = i || "toggle" === o), o === (m ? "hide" : "show"))) {
                                    if ("show" !== o || !g || void 0 === g[r]) continue;
                                    m = !0;
                                }
                                p[r] = (g && g[r]) || x.style(e, r);
                            }
                        if ((l = !x.isEmptyObject(t)) || !x.isEmptyObject(p))
                            for (r in (d &&
                                1 === e.nodeType &&
                                ((n.overflow = [h.overflow, h.overflowX, h.overflowY]),
                                null == (c = g && g.display) && (c = J.get(e, "display")),
                                "none" === (u = x.css(e, "display")) && (c ? (u = c) : (fe([e], !0), (c = e.style.display || c), (u = x.css(e, "display")), fe([e]))),
                                ("inline" === u || ("inline-block" === u && null != c)) &&
                                    "none" === x.css(e, "float") &&
                                    (l ||
                                        (f.done(function () {
                                            h.display = c;
                                        }),
                                        null == c && ((u = h.display), (c = "none" === u ? "" : u))),
                                    (h.display = "inline-block"))),
                            n.overflow &&
                                ((h.overflow = "hidden"),
                                f.always(function () {
                                    (h.overflow = n.overflow[0]), (h.overflowX = n.overflow[1]), (h.overflowY = n.overflow[2]);
                                })),
                            (l = !1),
                            p))
                                l ||
                                    (g ? "hidden" in g && (m = g.hidden) : (g = J.access(e, "fxshow", { display: c })),
                                    i && (g.hidden = !m),
                                    m && fe([e], !0),
                                    f.done(function () {
                                        for (r in (m || fe([e]), J.remove(e, "fxshow"), p)) x.style(e, r, p[r]);
                                    })),
                                    (l = ut(m ? g[r] : 0, r, f)),
                                    r in g || ((g[r] = l.start), m && ((l.end = l.start), (l.start = 0)));
                    },
                ],
                prefilter: function (e, t) {
                    t ? dt.prefilters.unshift(e) : dt.prefilters.push(e);
                },
            })),
                (x.speed = function (e, t, n) {
                    var r = e && "object" == typeof e ? x.extend({}, e) : { complete: n || (!n && t) || (v(e) && e), duration: e, easing: (n && t) || (t && !v(t) && t) };
                    return (
                        x.fx.off ? (r.duration = 0) : "number" != typeof r.duration && (r.duration in x.fx.speeds ? (r.duration = x.fx.speeds[r.duration]) : (r.duration = x.fx.speeds._default)),
                        (null != r.queue && !0 !== r.queue) || (r.queue = "fx"),
                        (r.old = r.complete),
                        (r.complete = function () {
                            v(r.old) && r.old.call(this), r.queue && x.dequeue(this, r.queue);
                        }),
                        r
                    );
                }),
                x.fn.extend({
                    fadeTo: function (e, t, n, r) {
                        return this.filter(le).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r);
                    },
                    animate: function (e, t, n, r) {
                        var o = x.isEmptyObject(e),
                            i = x.speed(t, n, r),
                            s = function () {
                                var t = dt(this, x.extend({}, e), i);
                                (o || J.get(this, "finish")) && t.stop(!0);
                            };
                        return (s.finish = s), o || !1 === i.queue ? this.each(s) : this.queue(i.queue, s);
                    },
                    stop: function (e, t, n) {
                        var r = function (e) {
                            var t = e.stop;
                            delete e.stop, t(n);
                        };
                        return (
                            "string" != typeof e && ((n = t), (t = e), (e = void 0)),
                            t && this.queue(e || "fx", []),
                            this.each(function () {
                                var t = !0,
                                    o = null != e && e + "queueHooks",
                                    i = x.timers,
                                    s = J.get(this);
                                if (o) s[o] && s[o].stop && r(s[o]);
                                else for (o in s) s[o] && s[o].stop && st.test(o) && r(s[o]);
                                for (o = i.length; o--; ) i[o].elem !== this || (null != e && i[o].queue !== e) || (i[o].anim.stop(n), (t = !1), i.splice(o, 1));
                                (!t && n) || x.dequeue(this, e);
                            })
                        );
                    },
                    finish: function (e) {
                        return (
                            !1 !== e && (e = e || "fx"),
                            this.each(function () {
                                var t,
                                    n = J.get(this),
                                    r = n[e + "queue"],
                                    o = n[e + "queueHooks"],
                                    i = x.timers,
                                    s = r ? r.length : 0;
                                for (n.finish = !0, x.queue(this, e, []), o && o.stop && o.stop.call(this, !0), t = i.length; t--; ) i[t].elem === this && i[t].queue === e && (i[t].anim.stop(!0), i.splice(t, 1));
                                for (t = 0; t < s; t++) r[t] && r[t].finish && r[t].finish.call(this);
                                delete n.finish;
                            })
                        );
                    },
                }),
                x.each(["toggle", "show", "hide"], function (e, t) {
                    var n = x.fn[t];
                    x.fn[t] = function (e, r, o) {
                        return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(ct(t, !0), e, r, o);
                    };
                }),
                x.each({ slideDown: ct("show"), slideUp: ct("hide"), slideToggle: ct("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, t) {
                    x.fn[e] = function (e, n, r) {
                        return this.animate(t, e, n, r);
                    };
                }),
                (x.timers = []),
                (x.fx.tick = function () {
                    var e,
                        t = 0,
                        n = x.timers;
                    for (rt = Date.now(); t < n.length; t++) (e = n[t])() || n[t] !== e || n.splice(t--, 1);
                    n.length || x.fx.stop(), (rt = void 0);
                }),
                (x.fx.timer = function (e) {
                    x.timers.push(e), x.fx.start();
                }),
                (x.fx.interval = 13),
                (x.fx.start = function () {
                    ot || ((ot = !0), at());
                }),
                (x.fx.stop = function () {
                    ot = null;
                }),
                (x.fx.speeds = { slow: 600, fast: 200, _default: 400 }),
                (x.fn.delay = function (e, t) {
                    return (
                        (e = (x.fx && x.fx.speeds[e]) || e),
                        (t = t || "fx"),
                        this.queue(t, function (t, r) {
                            var o = n.setTimeout(t, e);
                            r.stop = function () {
                                n.clearTimeout(o);
                            };
                        })
                    );
                }),
                (function () {
                    var e = b.createElement("input"),
                        t = b.createElement("select").appendChild(b.createElement("option"));
                    (e.type = "checkbox"), (g.checkOn = "" !== e.value), (g.optSelected = t.selected), ((e = b.createElement("input")).value = "t"), (e.type = "radio"), (g.radioValue = "t" === e.value);
                })();
            var ft,
                pt = x.expr.attrHandle;
            x.fn.extend({
                attr: function (e, t) {
                    return z(this, x.attr, e, t, arguments.length > 1);
                },
                removeAttr: function (e) {
                    return this.each(function () {
                        x.removeAttr(this, e);
                    });
                },
            }),
                x.extend({
                    attr: function (e, t, n) {
                        var r,
                            o,
                            i = e.nodeType;
                        if (3 !== i && 8 !== i && 2 !== i)
                            return void 0 === e.getAttribute
                                ? x.prop(e, t, n)
                                : ((1 === i && x.isXMLDoc(e)) || (o = x.attrHooks[t.toLowerCase()] || (x.expr.match.bool.test(t) ? ft : void 0)),
                                  void 0 !== n
                                      ? null === n
                                          ? void x.removeAttr(e, t)
                                          : o && "set" in o && void 0 !== (r = o.set(e, n, t))
                                          ? r
                                          : (e.setAttribute(t, n + ""), n)
                                      : o && "get" in o && null !== (r = o.get(e, t))
                                      ? r
                                      : null == (r = x.find.attr(e, t))
                                      ? void 0
                                      : r);
                    },
                    attrHooks: {
                        type: {
                            set: function (e, t) {
                                if (!g.radioValue && "radio" === t && N(e, "input")) {
                                    var n = e.value;
                                    return e.setAttribute("type", t), n && (e.value = n), t;
                                }
                            },
                        },
                    },
                    removeAttr: function (e, t) {
                        var n,
                            r = 0,
                            o = t && t.match(I);
                        if (o && 1 === e.nodeType) for (; (n = o[r++]); ) e.removeAttribute(n);
                    },
                }),
                (ft = {
                    set: function (e, t, n) {
                        return !1 === t ? x.removeAttr(e, n) : e.setAttribute(n, n), n;
                    },
                }),
                x.each(x.expr.match.bool.source.match(/\w+/g), function (e, t) {
                    var n = pt[t] || x.find.attr;
                    pt[t] = function (e, t, r) {
                        var o,
                            i,
                            s = t.toLowerCase();
                        return r || ((i = pt[s]), (pt[s] = o), (o = null != n(e, t, r) ? s : null), (pt[s] = i)), o;
                    };
                });
            var ht = /^(?:input|select|textarea|button)$/i,
                mt = /^(?:a|area)$/i;
            function gt(e) {
                return (e.match(I) || []).join(" ");
            }
            function vt(e) {
                return (e.getAttribute && e.getAttribute("class")) || "";
            }
            function yt(e) {
                return Array.isArray(e) ? e : ("string" == typeof e && e.match(I)) || [];
            }
            x.fn.extend({
                prop: function (e, t) {
                    return z(this, x.prop, e, t, arguments.length > 1);
                },
                removeProp: function (e) {
                    return this.each(function () {
                        delete this[x.propFix[e] || e];
                    });
                },
            }),
                x.extend({
                    prop: function (e, t, n) {
                        var r,
                            o,
                            i = e.nodeType;
                        if (3 !== i && 8 !== i && 2 !== i)
                            return (
                                (1 === i && x.isXMLDoc(e)) || ((t = x.propFix[t] || t), (o = x.propHooks[t])),
                                void 0 !== n ? (o && "set" in o && void 0 !== (r = o.set(e, n, t)) ? r : (e[t] = n)) : o && "get" in o && null !== (r = o.get(e, t)) ? r : e[t]
                            );
                    },
                    propHooks: {
                        tabIndex: {
                            get: function (e) {
                                var t = x.find.attr(e, "tabindex");
                                return t ? parseInt(t, 10) : ht.test(e.nodeName) || (mt.test(e.nodeName) && e.href) ? 0 : -1;
                            },
                        },
                    },
                    propFix: { for: "htmlFor", class: "className" },
                }),
                g.optSelected ||
                    (x.propHooks.selected = {
                        get: function (e) {
                            var t = e.parentNode;
                            return t && t.parentNode && t.parentNode.selectedIndex, null;
                        },
                        set: function (e) {
                            var t = e.parentNode;
                            t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);
                        },
                    }),
                x.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
                    x.propFix[this.toLowerCase()] = this;
                }),
                x.fn.extend({
                    addClass: function (e) {
                        var t,
                            n,
                            r,
                            o,
                            i,
                            s,
                            a,
                            l = 0;
                        if (v(e))
                            return this.each(function (t) {
                                x(this).addClass(e.call(this, t, vt(this)));
                            });
                        if ((t = yt(e)).length)
                            for (; (n = this[l++]); )
                                if (((o = vt(n)), (r = 1 === n.nodeType && " " + gt(o) + " "))) {
                                    for (s = 0; (i = t[s++]); ) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
                                    o !== (a = gt(r)) && n.setAttribute("class", a);
                                }
                        return this;
                    },
                    removeClass: function (e) {
                        var t,
                            n,
                            r,
                            o,
                            i,
                            s,
                            a,
                            l = 0;
                        if (v(e))
                            return this.each(function (t) {
                                x(this).removeClass(e.call(this, t, vt(this)));
                            });
                        if (!arguments.length) return this.attr("class", "");
                        if ((t = yt(e)).length)
                            for (; (n = this[l++]); )
                                if (((o = vt(n)), (r = 1 === n.nodeType && " " + gt(o) + " "))) {
                                    for (s = 0; (i = t[s++]); ) for (; r.indexOf(" " + i + " ") > -1; ) r = r.replace(" " + i + " ", " ");
                                    o !== (a = gt(r)) && n.setAttribute("class", a);
                                }
                        return this;
                    },
                    toggleClass: function (e, t) {
                        var n = typeof e,
                            r = "string" === n || Array.isArray(e);
                        return "boolean" == typeof t && r
                            ? t
                                ? this.addClass(e)
                                : this.removeClass(e)
                            : v(e)
                            ? this.each(function (n) {
                                  x(this).toggleClass(e.call(this, n, vt(this), t), t);
                              })
                            : this.each(function () {
                                  var t, o, i, s;
                                  if (r) for (o = 0, i = x(this), s = yt(e); (t = s[o++]); ) i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
                                  else (void 0 !== e && "boolean" !== n) || ((t = vt(this)) && J.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : J.get(this, "__className__") || ""));
                              });
                    },
                    hasClass: function (e) {
                        var t,
                            n,
                            r = 0;
                        for (t = " " + e + " "; (n = this[r++]); ) if (1 === n.nodeType && (" " + gt(vt(n)) + " ").indexOf(t) > -1) return !0;
                        return !1;
                    },
                });
            var bt = /\r/g;
            x.fn.extend({
                val: function (e) {
                    var t,
                        n,
                        r,
                        o = this[0];
                    return arguments.length
                        ? ((r = v(e)),
                          this.each(function (n) {
                              var o;
                              1 === this.nodeType &&
                                  (null == (o = r ? e.call(this, n, x(this).val()) : e)
                                      ? (o = "")
                                      : "number" == typeof o
                                      ? (o += "")
                                      : Array.isArray(o) &&
                                        (o = x.map(o, function (e) {
                                            return null == e ? "" : e + "";
                                        })),
                                  ((t = x.valHooks[this.type] || x.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, o, "value")) || (this.value = o));
                          }))
                        : o
                        ? (t = x.valHooks[o.type] || x.valHooks[o.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(o, "value"))
                            ? n
                            : "string" == typeof (n = o.value)
                            ? n.replace(bt, "")
                            : null == n
                            ? ""
                            : n
                        : void 0;
                },
            }),
                x.extend({
                    valHooks: {
                        option: {
                            get: function (e) {
                                var t = x.find.attr(e, "value");
                                return null != t ? t : gt(x.text(e));
                            },
                        },
                        select: {
                            get: function (e) {
                                var t,
                                    n,
                                    r,
                                    o = e.options,
                                    i = e.selectedIndex,
                                    s = "select-one" === e.type,
                                    a = s ? null : [],
                                    l = s ? i + 1 : o.length;
                                for (r = i < 0 ? l : s ? i : 0; r < l; r++)
                                    if (((n = o[r]).selected || r === i) && !n.disabled && (!n.parentNode.disabled || !N(n.parentNode, "optgroup"))) {
                                        if (((t = x(n).val()), s)) return t;
                                        a.push(t);
                                    }
                                return a;
                            },
                            set: function (e, t) {
                                for (var n, r, o = e.options, i = x.makeArray(t), s = o.length; s--; ) ((r = o[s]).selected = x.inArray(x.valHooks.option.get(r), i) > -1) && (n = !0);
                                return n || (e.selectedIndex = -1), i;
                            },
                        },
                    },
                }),
                x.each(["radio", "checkbox"], function () {
                    (x.valHooks[this] = {
                        set: function (e, t) {
                            if (Array.isArray(t)) return (e.checked = x.inArray(x(e).val(), t) > -1);
                        },
                    }),
                        g.checkOn ||
                            (x.valHooks[this].get = function (e) {
                                return null === e.getAttribute("value") ? "on" : e.value;
                            });
                }),
                (g.focusin = "onfocusin" in n);
            var _t = /^(?:focusinfocus|focusoutblur)$/,
                wt = function (e) {
                    e.stopPropagation();
                };
            x.extend(x.event, {
                trigger: function (e, t, r, o) {
                    var i,
                        s,
                        a,
                        l,
                        c,
                        u,
                        d,
                        f,
                        h = [r || b],
                        m = p.call(e, "type") ? e.type : e,
                        g = p.call(e, "namespace") ? e.namespace.split(".") : [];
                    if (
                        ((s = f = a = r = r || b),
                        3 !== r.nodeType &&
                            8 !== r.nodeType &&
                            !_t.test(m + x.event.triggered) &&
                            (m.indexOf(".") > -1 && ((g = m.split(".")), (m = g.shift()), g.sort()),
                            (c = m.indexOf(":") < 0 && "on" + m),
                            ((e = e[x.expando] ? e : new x.Event(m, "object" == typeof e && e)).isTrigger = o ? 2 : 3),
                            (e.namespace = g.join(".")),
                            (e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null),
                            (e.result = void 0),
                            e.target || (e.target = r),
                            (t = null == t ? [e] : x.makeArray(t, [e])),
                            (d = x.event.special[m] || {}),
                            o || !d.trigger || !1 !== d.trigger.apply(r, t)))
                    ) {
                        if (!o && !d.noBubble && !y(r)) {
                            for (l = d.delegateType || m, _t.test(l + m) || (s = s.parentNode); s; s = s.parentNode) h.push(s), (a = s);
                            a === (r.ownerDocument || b) && h.push(a.defaultView || a.parentWindow || n);
                        }
                        for (i = 0; (s = h[i++]) && !e.isPropagationStopped(); )
                            (f = s),
                                (e.type = i > 1 ? l : d.bindType || m),
                                (u = (J.get(s, "events") || Object.create(null))[e.type] && J.get(s, "handle")) && u.apply(s, t),
                                (u = c && s[c]) && u.apply && Y(s) && ((e.result = u.apply(s, t)), !1 === e.result && e.preventDefault());
                        return (
                            (e.type = m),
                            o ||
                                e.isDefaultPrevented() ||
                                (d._default && !1 !== d._default.apply(h.pop(), t)) ||
                                !Y(r) ||
                                (c &&
                                    v(r[m]) &&
                                    !y(r) &&
                                    ((a = r[c]) && (r[c] = null),
                                    (x.event.triggered = m),
                                    e.isPropagationStopped() && f.addEventListener(m, wt),
                                    r[m](),
                                    e.isPropagationStopped() && f.removeEventListener(m, wt),
                                    (x.event.triggered = void 0),
                                    a && (r[c] = a))),
                            e.result
                        );
                    }
                },
                simulate: function (e, t, n) {
                    var r = x.extend(new x.Event(), n, { type: e, isSimulated: !0 });
                    x.event.trigger(r, null, t);
                },
            }),
                x.fn.extend({
                    trigger: function (e, t) {
                        return this.each(function () {
                            x.event.trigger(e, t, this);
                        });
                    },
                    triggerHandler: function (e, t) {
                        var n = this[0];
                        if (n) return x.event.trigger(e, t, n, !0);
                    },
                }),
                g.focusin ||
                    x.each({ focus: "focusin", blur: "focusout" }, function (e, t) {
                        var n = function (e) {
                            x.event.simulate(t, e.target, x.event.fix(e));
                        };
                        x.event.special[t] = {
                            setup: function () {
                                var r = this.ownerDocument || this.document || this,
                                    o = J.access(r, t);
                                o || r.addEventListener(e, n, !0), J.access(r, t, (o || 0) + 1);
                            },
                            teardown: function () {
                                var r = this.ownerDocument || this.document || this,
                                    o = J.access(r, t) - 1;
                                o ? J.access(r, t, o) : (r.removeEventListener(e, n, !0), J.remove(r, t));
                            },
                        };
                    });
            var Ct = n.location,
                xt = { guid: Date.now() },
                Et = /\?/;
            x.parseXML = function (e) {
                var t, r;
                if (!e || "string" != typeof e) return null;
                try {
                    t = new n.DOMParser().parseFromString(e, "text/xml");
                } catch (e) {}
                return (
                    (r = t && t.getElementsByTagName("parsererror")[0]),
                    (t && !r) ||
                        x.error(
                            "Invalid XML: " +
                                (r
                                    ? x
                                          .map(r.childNodes, function (e) {
                                              return e.textContent;
                                          })
                                          .join("\n")
                                    : e)
                        ),
                    t
                );
            };
            var kt = /\[\]$/,
                At = /\r?\n/g,
                St = /^(?:submit|button|image|reset|file)$/i,
                Tt = /^(?:input|select|textarea|keygen)/i;
            function Nt(e, t, n, r) {
                var o;
                if (Array.isArray(t))
                    x.each(t, function (t, o) {
                        n || kt.test(e) ? r(e, o) : Nt(e + "[" + ("object" == typeof o && null != o ? t : "") + "]", o, n, r);
                    });
                else if (n || "object" !== C(t)) r(e, t);
                else for (o in t) Nt(e + "[" + o + "]", t[o], n, r);
            }
            (x.param = function (e, t) {
                var n,
                    r = [],
                    o = function (e, t) {
                        var n = v(t) ? t() : t;
                        r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n);
                    };
                if (null == e) return "";
                if (Array.isArray(e) || (e.jquery && !x.isPlainObject(e)))
                    x.each(e, function () {
                        o(this.name, this.value);
                    });
                else for (n in e) Nt(n, e[n], t, o);
                return r.join("&");
            }),
                x.fn.extend({
                    serialize: function () {
                        return x.param(this.serializeArray());
                    },
                    serializeArray: function () {
                        return this.map(function () {
                            var e = x.prop(this, "elements");
                            return e ? x.makeArray(e) : this;
                        })
                            .filter(function () {
                                var e = this.type;
                                return this.name && !x(this).is(":disabled") && Tt.test(this.nodeName) && !St.test(e) && (this.checked || !me.test(e));
                            })
                            .map(function (e, t) {
                                var n = x(this).val();
                                return null == n
                                    ? null
                                    : Array.isArray(n)
                                    ? x.map(n, function (e) {
                                          return { name: t.name, value: e.replace(At, "\r\n") };
                                      })
                                    : { name: t.name, value: n.replace(At, "\r\n") };
                            })
                            .get();
                    },
                });
            var Ot = /%20/g,
                Dt = /#.*$/,
                Rt = /([?&])_=[^&]*/,
                Lt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
                Pt = /^(?:GET|HEAD)$/,
                $t = /^\/\//,
                Mt = {},
                It = {},
                Bt = "*/".concat("*"),
                jt = b.createElement("a");
            function Ft(e) {
                return function (t, n) {
                    "string" != typeof t && ((n = t), (t = "*"));
                    var r,
                        o = 0,
                        i = t.toLowerCase().match(I) || [];
                    if (v(n)) for (; (r = i[o++]); ) "+" === r[0] ? ((r = r.slice(1) || "*"), (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n);
                };
            }
            function Ht(e, t, n, r) {
                var o = {},
                    i = e === It;
                function s(a) {
                    var l;
                    return (
                        (o[a] = !0),
                        x.each(e[a] || [], function (e, a) {
                            var c = a(t, n, r);
                            return "string" != typeof c || i || o[c] ? (i ? !(l = c) : void 0) : (t.dataTypes.unshift(c), s(c), !1);
                        }),
                        l
                    );
                }
                return s(t.dataTypes[0]) || (!o["*"] && s("*"));
            }
            function Ut(e, t) {
                var n,
                    r,
                    o = x.ajaxSettings.flatOptions || {};
                for (n in t) void 0 !== t[n] && ((o[n] ? e : r || (r = {}))[n] = t[n]);
                return r && x.extend(!0, e, r), e;
            }
            (jt.href = Ct.href),
                x.extend({
                    active: 0,
                    lastModified: {},
                    etag: {},
                    ajaxSettings: {
                        url: Ct.href,
                        type: "GET",
                        isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Ct.protocol),
                        global: !0,
                        processData: !0,
                        async: !0,
                        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                        accepts: { "*": Bt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" },
                        contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ },
                        responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" },
                        converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": x.parseXML },
                        flatOptions: { url: !0, context: !0 },
                    },
                    ajaxSetup: function (e, t) {
                        return t ? Ut(Ut(e, x.ajaxSettings), t) : Ut(x.ajaxSettings, e);
                    },
                    ajaxPrefilter: Ft(Mt),
                    ajaxTransport: Ft(It),
                    ajax: function (e, t) {
                        "object" == typeof e && ((t = e), (e = void 0)), (t = t || {});
                        var r,
                            o,
                            i,
                            s,
                            a,
                            l,
                            c,
                            u,
                            d,
                            f,
                            p = x.ajaxSetup({}, t),
                            h = p.context || p,
                            m = p.context && (h.nodeType || h.jquery) ? x(h) : x.event,
                            g = x.Deferred(),
                            v = x.Callbacks("once memory"),
                            y = p.statusCode || {},
                            _ = {},
                            w = {},
                            C = "canceled",
                            E = {
                                readyState: 0,
                                getResponseHeader: function (e) {
                                    var t;
                                    if (c) {
                                        if (!s) for (s = {}; (t = Lt.exec(i)); ) s[t[1].toLowerCase() + " "] = (s[t[1].toLowerCase() + " "] || []).concat(t[2]);
                                        t = s[e.toLowerCase() + " "];
                                    }
                                    return null == t ? null : t.join(", ");
                                },
                                getAllResponseHeaders: function () {
                                    return c ? i : null;
                                },
                                setRequestHeader: function (e, t) {
                                    return null == c && ((e = w[e.toLowerCase()] = w[e.toLowerCase()] || e), (_[e] = t)), this;
                                },
                                overrideMimeType: function (e) {
                                    return null == c && (p.mimeType = e), this;
                                },
                                statusCode: function (e) {
                                    var t;
                                    if (e)
                                        if (c) E.always(e[E.status]);
                                        else for (t in e) y[t] = [y[t], e[t]];
                                    return this;
                                },
                                abort: function (e) {
                                    var t = e || C;
                                    return r && r.abort(t), k(0, t), this;
                                },
                            };
                        if (
                            (g.promise(E),
                            (p.url = ((e || p.url || Ct.href) + "").replace($t, Ct.protocol + "//")),
                            (p.type = t.method || t.type || p.method || p.type),
                            (p.dataTypes = (p.dataType || "*").toLowerCase().match(I) || [""]),
                            null == p.crossDomain)
                        ) {
                            l = b.createElement("a");
                            try {
                                (l.href = p.url), (l.href = l.href), (p.crossDomain = jt.protocol + "//" + jt.host != l.protocol + "//" + l.host);
                            } catch (e) {
                                p.crossDomain = !0;
                            }
                        }
                        if ((p.data && p.processData && "string" != typeof p.data && (p.data = x.param(p.data, p.traditional)), Ht(Mt, p, t, E), c)) return E;
                        for (d in ((u = x.event && p.global) && 0 == x.active++ && x.event.trigger("ajaxStart"),
                        (p.type = p.type.toUpperCase()),
                        (p.hasContent = !Pt.test(p.type)),
                        (o = p.url.replace(Dt, "")),
                        p.hasContent
                            ? p.data && p.processData && 0 === (p.contentType || "").indexOf("application/x-www-form-urlencoded") && (p.data = p.data.replace(Ot, "+"))
                            : ((f = p.url.slice(o.length)),
                              p.data && (p.processData || "string" == typeof p.data) && ((o += (Et.test(o) ? "&" : "?") + p.data), delete p.data),
                              !1 === p.cache && ((o = o.replace(Rt, "$1")), (f = (Et.test(o) ? "&" : "?") + "_=" + xt.guid++ + f)),
                              (p.url = o + f)),
                        p.ifModified && (x.lastModified[o] && E.setRequestHeader("If-Modified-Since", x.lastModified[o]), x.etag[o] && E.setRequestHeader("If-None-Match", x.etag[o])),
                        ((p.data && p.hasContent && !1 !== p.contentType) || t.contentType) && E.setRequestHeader("Content-Type", p.contentType),
                        E.setRequestHeader("Accept", p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + Bt + "; q=0.01" : "") : p.accepts["*"]),
                        p.headers))
                            E.setRequestHeader(d, p.headers[d]);
                        if (p.beforeSend && (!1 === p.beforeSend.call(h, E, p) || c)) return E.abort();
                        if (((C = "abort"), v.add(p.complete), E.done(p.success), E.fail(p.error), (r = Ht(It, p, t, E)))) {
                            if (((E.readyState = 1), u && m.trigger("ajaxSend", [E, p]), c)) return E;
                            p.async &&
                                p.timeout > 0 &&
                                (a = n.setTimeout(function () {
                                    E.abort("timeout");
                                }, p.timeout));
                            try {
                                (c = !1), r.send(_, k);
                            } catch (e) {
                                if (c) throw e;
                                k(-1, e);
                            }
                        } else k(-1, "No Transport");
                        function k(e, t, s, l) {
                            var d,
                                f,
                                b,
                                _,
                                w,
                                C = t;
                            c ||
                                ((c = !0),
                                a && n.clearTimeout(a),
                                (r = void 0),
                                (i = l || ""),
                                (E.readyState = e > 0 ? 4 : 0),
                                (d = (e >= 200 && e < 300) || 304 === e),
                                s &&
                                    (_ = (function (e, t, n) {
                                        for (var r, o, i, s, a = e.contents, l = e.dataTypes; "*" === l[0]; ) l.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
                                        if (r)
                                            for (o in a)
                                                if (a[o] && a[o].test(r)) {
                                                    l.unshift(o);
                                                    break;
                                                }
                                        if (l[0] in n) i = l[0];
                                        else {
                                            for (o in n) {
                                                if (!l[0] || e.converters[o + " " + l[0]]) {
                                                    i = o;
                                                    break;
                                                }
                                                s || (s = o);
                                            }
                                            i = i || s;
                                        }
                                        if (i) return i !== l[0] && l.unshift(i), n[i];
                                    })(p, E, s)),
                                !d && x.inArray("script", p.dataTypes) > -1 && x.inArray("json", p.dataTypes) < 0 && (p.converters["text script"] = function () {}),
                                (_ = (function (e, t, n, r) {
                                    var o,
                                        i,
                                        s,
                                        a,
                                        l,
                                        c = {},
                                        u = e.dataTypes.slice();
                                    if (u[1]) for (s in e.converters) c[s.toLowerCase()] = e.converters[s];
                                    for (i = u.shift(); i; )
                                        if ((e.responseFields[i] && (n[e.responseFields[i]] = t), !l && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), (l = i), (i = u.shift())))
                                            if ("*" === i) i = l;
                                            else if ("*" !== l && l !== i) {
                                                if (!(s = c[l + " " + i] || c["* " + i]))
                                                    for (o in c)
                                                        if ((a = o.split(" "))[1] === i && (s = c[l + " " + a[0]] || c["* " + a[0]])) {
                                                            !0 === s ? (s = c[o]) : !0 !== c[o] && ((i = a[0]), u.unshift(a[1]));
                                                            break;
                                                        }
                                                if (!0 !== s)
                                                    if (s && e.throws) t = s(t);
                                                    else
                                                        try {
                                                            t = s(t);
                                                        } catch (e) {
                                                            return { state: "parsererror", error: s ? e : "No conversion from " + l + " to " + i };
                                                        }
                                            }
                                    return { state: "success", data: t };
                                })(p, _, E, d)),
                                d
                                    ? (p.ifModified && ((w = E.getResponseHeader("Last-Modified")) && (x.lastModified[o] = w), (w = E.getResponseHeader("etag")) && (x.etag[o] = w)),
                                      204 === e || "HEAD" === p.type ? (C = "nocontent") : 304 === e ? (C = "notmodified") : ((C = _.state), (f = _.data), (d = !(b = _.error))))
                                    : ((b = C), (!e && C) || ((C = "error"), e < 0 && (e = 0))),
                                (E.status = e),
                                (E.statusText = (t || C) + ""),
                                d ? g.resolveWith(h, [f, C, E]) : g.rejectWith(h, [E, C, b]),
                                E.statusCode(y),
                                (y = void 0),
                                u && m.trigger(d ? "ajaxSuccess" : "ajaxError", [E, p, d ? f : b]),
                                v.fireWith(h, [E, C]),
                                u && (m.trigger("ajaxComplete", [E, p]), --x.active || x.event.trigger("ajaxStop")));
                        }
                        return E;
                    },
                    getJSON: function (e, t, n) {
                        return x.get(e, t, n, "json");
                    },
                    getScript: function (e, t) {
                        return x.get(e, void 0, t, "script");
                    },
                }),
                x.each(["get", "post"], function (e, t) {
                    x[t] = function (e, n, r, o) {
                        return v(n) && ((o = o || r), (r = n), (n = void 0)), x.ajax(x.extend({ url: e, type: t, dataType: o, data: n, success: r }, x.isPlainObject(e) && e));
                    };
                }),
                x.ajaxPrefilter(function (e) {
                    var t;
                    for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "");
                }),
                (x._evalUrl = function (e, t, n) {
                    return x.ajax({
                        url: e,
                        type: "GET",
                        dataType: "script",
                        cache: !0,
                        async: !1,
                        global: !1,
                        converters: { "text script": function () {} },
                        dataFilter: function (e) {
                            x.globalEval(e, t, n);
                        },
                    });
                }),
                x.fn.extend({
                    wrapAll: function (e) {
                        var t;
                        return (
                            this[0] &&
                                (v(e) && (e = e.call(this[0])),
                                (t = x(e, this[0].ownerDocument).eq(0).clone(!0)),
                                this[0].parentNode && t.insertBefore(this[0]),
                                t
                                    .map(function () {
                                        for (var e = this; e.firstElementChild; ) e = e.firstElementChild;
                                        return e;
                                    })
                                    .append(this)),
                            this
                        );
                    },
                    wrapInner: function (e) {
                        return v(e)
                            ? this.each(function (t) {
                                  x(this).wrapInner(e.call(this, t));
                              })
                            : this.each(function () {
                                  var t = x(this),
                                      n = t.contents();
                                  n.length ? n.wrapAll(e) : t.append(e);
                              });
                    },
                    wrap: function (e) {
                        var t = v(e);
                        return this.each(function (n) {
                            x(this).wrapAll(t ? e.call(this, n) : e);
                        });
                    },
                    unwrap: function (e) {
                        return (
                            this.parent(e)
                                .not("body")
                                .each(function () {
                                    x(this).replaceWith(this.childNodes);
                                }),
                            this
                        );
                    },
                }),
                (x.expr.pseudos.hidden = function (e) {
                    return !x.expr.pseudos.visible(e);
                }),
                (x.expr.pseudos.visible = function (e) {
                    return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length);
                }),
                (x.ajaxSettings.xhr = function () {
                    try {
                        return new n.XMLHttpRequest();
                    } catch (e) {}
                });
            var qt = { 0: 200, 1223: 204 },
                zt = x.ajaxSettings.xhr();
            (g.cors = !!zt && "withCredentials" in zt),
                (g.ajax = zt = !!zt),
                x.ajaxTransport(function (e) {
                    var t, r;
                    if (g.cors || (zt && !e.crossDomain))
                        return {
                            send: function (o, i) {
                                var s,
                                    a = e.xhr();
                                if ((a.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields)) for (s in e.xhrFields) a[s] = e.xhrFields[s];
                                for (s in (e.mimeType && a.overrideMimeType && a.overrideMimeType(e.mimeType), e.crossDomain || o["X-Requested-With"] || (o["X-Requested-With"] = "XMLHttpRequest"), o)) a.setRequestHeader(s, o[s]);
                                (t = function (e) {
                                    return function () {
                                        t &&
                                            ((t = r = a.onload = a.onerror = a.onabort = a.ontimeout = a.onreadystatechange = null),
                                            "abort" === e
                                                ? a.abort()
                                                : "error" === e
                                                ? "number" != typeof a.status
                                                    ? i(0, "error")
                                                    : i(a.status, a.statusText)
                                                : i(
                                                      qt[a.status] || a.status,
                                                      a.statusText,
                                                      "text" !== (a.responseType || "text") || "string" != typeof a.responseText ? { binary: a.response } : { text: a.responseText },
                                                      a.getAllResponseHeaders()
                                                  ));
                                    };
                                }),
                                    (a.onload = t()),
                                    (r = a.onerror = a.ontimeout = t("error")),
                                    void 0 !== a.onabort
                                        ? (a.onabort = r)
                                        : (a.onreadystatechange = function () {
                                              4 === a.readyState &&
                                                  n.setTimeout(function () {
                                                      t && r();
                                                  });
                                          }),
                                    (t = t("abort"));
                                try {
                                    a.send((e.hasContent && e.data) || null);
                                } catch (e) {
                                    if (t) throw e;
                                }
                            },
                            abort: function () {
                                t && t();
                            },
                        };
                }),
                x.ajaxPrefilter(function (e) {
                    e.crossDomain && (e.contents.script = !1);
                }),
                x.ajaxSetup({
                    accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" },
                    contents: { script: /\b(?:java|ecma)script\b/ },
                    converters: {
                        "text script": function (e) {
                            return x.globalEval(e), e;
                        },
                    },
                }),
                x.ajaxPrefilter("script", function (e) {
                    void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET");
                }),
                x.ajaxTransport("script", function (e) {
                    var t, n;
                    if (e.crossDomain || e.scriptAttrs)
                        return {
                            send: function (r, o) {
                                (t = x("<script>")
                                    .attr(e.scriptAttrs || {})
                                    .prop({ charset: e.scriptCharset, src: e.url })
                                    .on(
                                        "load error",
                                        (n = function (e) {
                                            t.remove(), (n = null), e && o("error" === e.type ? 404 : 200, e.type);
                                        })
                                    )),
                                    b.head.appendChild(t[0]);
                            },
                            abort: function () {
                                n && n();
                            },
                        };
                });
            var Wt,
                Vt = [],
                Kt = /(=)\?(?=&|$)|\?\?/;
            x.ajaxSetup({
                jsonp: "callback",
                jsonpCallback: function () {
                    var e = Vt.pop() || x.expando + "_" + xt.guid++;
                    return (this[e] = !0), e;
                },
            }),
                x.ajaxPrefilter("json jsonp", function (e, t, r) {
                    var o,
                        i,
                        s,
                        a = !1 !== e.jsonp && (Kt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Kt.test(e.data) && "data");
                    if (a || "jsonp" === e.dataTypes[0])
                        return (
                            (o = e.jsonpCallback = v(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback),
                            a ? (e[a] = e[a].replace(Kt, "$1" + o)) : !1 !== e.jsonp && (e.url += (Et.test(e.url) ? "&" : "?") + e.jsonp + "=" + o),
                            (e.converters["script json"] = function () {
                                return s || x.error(o + " was not called"), s[0];
                            }),
                            (e.dataTypes[0] = "json"),
                            (i = n[o]),
                            (n[o] = function () {
                                s = arguments;
                            }),
                            r.always(function () {
                                void 0 === i ? x(n).removeProp(o) : (n[o] = i), e[o] && ((e.jsonpCallback = t.jsonpCallback), Vt.push(o)), s && v(i) && i(s[0]), (s = i = void 0);
                            }),
                            "script"
                        );
                }),
                (g.createHTMLDocument = (((Wt = b.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>"), 2 === Wt.childNodes.length)),
                (x.parseHTML = function (e, t, n) {
                    return "string" != typeof e
                        ? []
                        : ("boolean" == typeof t && ((n = t), (t = !1)),
                          t || (g.createHTMLDocument ? (((r = (t = b.implementation.createHTMLDocument("")).createElement("base")).href = b.location.href), t.head.appendChild(r)) : (t = b)),
                          (i = !n && []),
                          (o = O.exec(e)) ? [t.createElement(o[1])] : ((o = Ce([e], t, i)), i && i.length && x(i).remove(), x.merge([], o.childNodes)));
                    var r, o, i;
                }),
                (x.fn.load = function (e, t, n) {
                    var r,
                        o,
                        i,
                        s = this,
                        a = e.indexOf(" ");
                    return (
                        a > -1 && ((r = gt(e.slice(a))), (e = e.slice(0, a))),
                        v(t) ? ((n = t), (t = void 0)) : t && "object" == typeof t && (o = "POST"),
                        s.length > 0 &&
                            x
                                .ajax({ url: e, type: o || "GET", dataType: "html", data: t })
                                .done(function (e) {
                                    (i = arguments), s.html(r ? x("<div>").append(x.parseHTML(e)).find(r) : e);
                                })
                                .always(
                                    n &&
                                        function (e, t) {
                                            s.each(function () {
                                                n.apply(this, i || [e.responseText, t, e]);
                                            });
                                        }
                                ),
                        this
                    );
                }),
                (x.expr.pseudos.animated = function (e) {
                    return x.grep(x.timers, function (t) {
                        return e === t.elem;
                    }).length;
                }),
                (x.offset = {
                    setOffset: function (e, t, n) {
                        var r,
                            o,
                            i,
                            s,
                            a,
                            l,
                            c = x.css(e, "position"),
                            u = x(e),
                            d = {};
                        "static" === c && (e.style.position = "relative"),
                            (a = u.offset()),
                            (i = x.css(e, "top")),
                            (l = x.css(e, "left")),
                            ("absolute" === c || "fixed" === c) && (i + l).indexOf("auto") > -1 ? ((s = (r = u.position()).top), (o = r.left)) : ((s = parseFloat(i) || 0), (o = parseFloat(l) || 0)),
                            v(t) && (t = t.call(e, n, x.extend({}, a))),
                            null != t.top && (d.top = t.top - a.top + s),
                            null != t.left && (d.left = t.left - a.left + o),
                            "using" in t ? t.using.call(e, d) : u.css(d);
                    },
                }),
                x.fn.extend({
                    offset: function (e) {
                        if (arguments.length)
                            return void 0 === e
                                ? this
                                : this.each(function (t) {
                                      x.offset.setOffset(this, e, t);
                                  });
                        var t,
                            n,
                            r = this[0];
                        return r ? (r.getClientRects().length ? ((t = r.getBoundingClientRect()), (n = r.ownerDocument.defaultView), { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset }) : { top: 0, left: 0 }) : void 0;
                    },
                    position: function () {
                        if (this[0]) {
                            var e,
                                t,
                                n,
                                r = this[0],
                                o = { top: 0, left: 0 };
                            if ("fixed" === x.css(r, "position")) t = r.getBoundingClientRect();
                            else {
                                for (t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === x.css(e, "position"); ) e = e.parentNode;
                                e && e !== r && 1 === e.nodeType && (((o = x(e).offset()).top += x.css(e, "borderTopWidth", !0)), (o.left += x.css(e, "borderLeftWidth", !0)));
                            }
                            return { top: t.top - o.top - x.css(r, "marginTop", !0), left: t.left - o.left - x.css(r, "marginLeft", !0) };
                        }
                    },
                    offsetParent: function () {
                        return this.map(function () {
                            for (var e = this.offsetParent; e && "static" === x.css(e, "position"); ) e = e.offsetParent;
                            return e || ie;
                        });
                    },
                }),
                x.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, t) {
                    var n = "pageYOffset" === t;
                    x.fn[e] = function (r) {
                        return z(
                            this,
                            function (e, r, o) {
                                var i;
                                if ((y(e) ? (i = e) : 9 === e.nodeType && (i = e.defaultView), void 0 === o)) return i ? i[t] : e[r];
                                i ? i.scrollTo(n ? i.pageXOffset : o, n ? o : i.pageYOffset) : (e[r] = o);
                            },
                            e,
                            r,
                            arguments.length
                        );
                    };
                }),
                x.each(["top", "left"], function (e, t) {
                    x.cssHooks[t] = ze(g.pixelPosition, function (e, n) {
                        if (n) return (n = qe(e, t)), je.test(n) ? x(e).position()[t] + "px" : n;
                    });
                }),
                x.each({ Height: "height", Width: "width" }, function (e, t) {
                    x.each({ padding: "inner" + e, content: t, "": "outer" + e }, function (n, r) {
                        x.fn[r] = function (o, i) {
                            var s = arguments.length && (n || "boolean" != typeof o),
                                a = n || (!0 === o || !0 === i ? "margin" : "border");
                            return z(
                                this,
                                function (t, n, o) {
                                    var i;
                                    return y(t)
                                        ? 0 === r.indexOf("outer")
                                            ? t["inner" + e]
                                            : t.document.documentElement["client" + e]
                                        : 9 === t.nodeType
                                        ? ((i = t.documentElement), Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e]))
                                        : void 0 === o
                                        ? x.css(t, n, a)
                                        : x.style(t, n, o, a);
                                },
                                t,
                                s ? o : void 0,
                                s
                            );
                        };
                    });
                }),
                x.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
                    x.fn[t] = function (e) {
                        return this.on(t, e);
                    };
                }),
                x.fn.extend({
                    bind: function (e, t, n) {
                        return this.on(e, null, t, n);
                    },
                    unbind: function (e, t) {
                        return this.off(e, null, t);
                    },
                    delegate: function (e, t, n, r) {
                        return this.on(t, e, n, r);
                    },
                    undelegate: function (e, t, n) {
                        return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n);
                    },
                    hover: function (e, t) {
                        return this.mouseenter(e).mouseleave(t || e);
                    },
                }),
                x.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, t) {
                    x.fn[t] = function (e, n) {
                        return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t);
                    };
                });
            var Gt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
            (x.proxy = function (e, t) {
                var n, r, o;
                if (("string" == typeof t && ((n = e[t]), (t = e), (e = n)), v(e)))
                    return (
                        (r = a.call(arguments, 2)),
                        ((o = function () {
                            return e.apply(t || this, r.concat(a.call(arguments)));
                        }).guid = e.guid = e.guid || x.guid++),
                        o
                    );
            }),
                (x.holdReady = function (e) {
                    e ? x.readyWait++ : x.ready(!0);
                }),
                (x.isArray = Array.isArray),
                (x.parseJSON = JSON.parse),
                (x.nodeName = N),
                (x.isFunction = v),
                (x.isWindow = y),
                (x.camelCase = G),
                (x.type = C),
                (x.now = Date.now),
                (x.isNumeric = function (e) {
                    var t = x.type(e);
                    return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e));
                }),
                (x.trim = function (e) {
                    return null == e ? "" : (e + "").replace(Gt, "");
                }),
                void 0 ===
                    (r = function () {
                        return x;
                    }.apply(t, [])) || (e.exports = r);
            var Yt = n.jQuery,
                Xt = n.$;
            return (
                (x.noConflict = function (e) {
                    return n.$ === x && (n.$ = Xt), e && n.jQuery === x && (n.jQuery = Yt), x;
                }),
                void 0 === o && (n.jQuery = n.$ = x),
                x
            );
        });
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e, t) {
            return function () {
                for (var n = new Array(arguments.length), r = 0; r < n.length; r++) n[r] = arguments[r];
                return e.apply(t, n);
            };
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        function o(e) {
            return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
        }
        e.exports = function (e, t, n) {
            if (!t) return e;
            var i;
            if (n) i = n(t);
            else if (r.isURLSearchParams(t)) i = t.toString();
            else {
                var s = [];
                r.forEach(t, function (e, t) {
                    null != e &&
                        (r.isArray(e) ? (t += "[]") : (e = [e]),
                        r.forEach(e, function (e) {
                            r.isDate(e) ? (e = e.toISOString()) : r.isObject(e) && (e = JSON.stringify(e)), s.push(o(t) + "=" + o(e));
                        }));
                }),
                    (i = s.join("&"));
            }
            if (i) {
                var a = e.indexOf("#");
                -1 !== a && (e = e.slice(0, a)), (e += (-1 === e.indexOf("?") ? "?" : "&") + i);
            }
            return e;
        };
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return !(!e || !e.__CANCEL__);
        };
    },
    function (e, t, n) {
        "use strict";
        (function (t) {
            var r = n(0),
                o = n(25),
                i = { "Content-Type": "application/x-www-form-urlencoded" };
            function s(e, t) {
                !r.isUndefined(e) && r.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t);
            }
            var a,
                l = {
                    adapter: (("undefined" != typeof XMLHttpRequest || (void 0 !== t && "[object process]" === Object.prototype.toString.call(t))) && (a = n(8)), a),
                    transformRequest: [
                        function (e, t) {
                            return (
                                o(t, "Accept"),
                                o(t, "Content-Type"),
                                r.isFormData(e) || r.isArrayBuffer(e) || r.isBuffer(e) || r.isStream(e) || r.isFile(e) || r.isBlob(e)
                                    ? e
                                    : r.isArrayBufferView(e)
                                    ? e.buffer
                                    : r.isURLSearchParams(e)
                                    ? (s(t, "application/x-www-form-urlencoded;charset=utf-8"), e.toString())
                                    : r.isObject(e)
                                    ? (s(t, "application/json;charset=utf-8"), JSON.stringify(e))
                                    : e
                            );
                        },
                    ],
                    transformResponse: [
                        function (e) {
                            if ("string" == typeof e)
                                try {
                                    e = JSON.parse(e);
                                } catch (e) {}
                            return e;
                        },
                    ],
                    timeout: 0,
                    xsrfCookieName: "XSRF-TOKEN",
                    xsrfHeaderName: "X-XSRF-TOKEN",
                    maxContentLength: -1,
                    validateStatus: function (e) {
                        return e >= 200 && e < 300;
                    },
                };
            (l.headers = { common: { Accept: "application/json, text/plain, */*" } }),
                r.forEach(["delete", "get", "head"], function (e) {
                    l.headers[e] = {};
                }),
                r.forEach(["post", "put", "patch"], function (e) {
                    l.headers[e] = r.merge(i);
                }),
                (e.exports = l);
        }.call(this, n(7)));
    },
    function (e, t) {
        var n,
            r,
            o = (e.exports = {});
        function i() {
            throw new Error("setTimeout has not been defined");
        }
        function s() {
            throw new Error("clearTimeout has not been defined");
        }
        function a(e) {
            if (n === setTimeout) return setTimeout(e, 0);
            if ((n === i || !n) && setTimeout) return (n = setTimeout), setTimeout(e, 0);
            try {
                return n(e, 0);
            } catch (t) {
                try {
                    return n.call(null, e, 0);
                } catch (t) {
                    return n.call(this, e, 0);
                }
            }
        }
        !(function () {
            try {
                n = "function" == typeof setTimeout ? setTimeout : i;
            } catch (e) {
                n = i;
            }
            try {
                r = "function" == typeof clearTimeout ? clearTimeout : s;
            } catch (e) {
                r = s;
            }
        })();
        var l,
            c = [],
            u = !1,
            d = -1;
        function f() {
            u && l && ((u = !1), l.length ? (c = l.concat(c)) : (d = -1), c.length && p());
        }
        function p() {
            if (!u) {
                var e = a(f);
                u = !0;
                for (var t = c.length; t; ) {
                    for (l = c, c = []; ++d < t; ) l && l[d].run();
                    (d = -1), (t = c.length);
                }
                (l = null),
                    (u = !1),
                    (function (e) {
                        if (r === clearTimeout) return clearTimeout(e);
                        if ((r === s || !r) && clearTimeout) return (r = clearTimeout), clearTimeout(e);
                        try {
                            r(e);
                        } catch (t) {
                            try {
                                return r.call(null, e);
                            } catch (t) {
                                return r.call(this, e);
                            }
                        }
                    })(e);
            }
        }
        function h(e, t) {
            (this.fun = e), (this.array = t);
        }
        function m() {}
        (o.nextTick = function (e) {
            var t = new Array(arguments.length - 1);
            if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
            c.push(new h(e, t)), 1 !== c.length || u || a(p);
        }),
            (h.prototype.run = function () {
                this.fun.apply(null, this.array);
            }),
            (o.title = "browser"),
            (o.browser = !0),
            (o.env = {}),
            (o.argv = []),
            (o.version = ""),
            (o.versions = {}),
            (o.on = m),
            (o.addListener = m),
            (o.once = m),
            (o.off = m),
            (o.removeListener = m),
            (o.removeAllListeners = m),
            (o.emit = m),
            (o.prependListener = m),
            (o.prependOnceListener = m),
            (o.listeners = function (e) {
                return [];
            }),
            (o.binding = function (e) {
                throw new Error("process.binding is not supported");
            }),
            (o.cwd = function () {
                return "/";
            }),
            (o.chdir = function (e) {
                throw new Error("process.chdir is not supported");
            }),
            (o.umask = function () {
                return 0;
            });
    },
    function (e, t, n) {
        "use strict";
        var r = n(0),
            o = n(26),
            i = n(4),
            s = n(28),
            a = n(31),
            l = n(32),
            c = n(9);
        e.exports = function (e) {
            return new Promise(function (t, u) {
                var d = e.data,
                    f = e.headers;
                r.isFormData(d) && delete f["Content-Type"];
                var p = new XMLHttpRequest();
                if (e.auth) {
                    var h = e.auth.username || "",
                        m = e.auth.password || "";
                    f.Authorization = "Basic " + btoa(h + ":" + m);
                }
                var g = s(e.baseURL, e.url);
                if (
                    (p.open(e.method.toUpperCase(), i(g, e.params, e.paramsSerializer), !0),
                    (p.timeout = e.timeout),
                    (p.onreadystatechange = function () {
                        if (p && 4 === p.readyState && (0 !== p.status || (p.responseURL && 0 === p.responseURL.indexOf("file:")))) {
                            var n = "getAllResponseHeaders" in p ? a(p.getAllResponseHeaders()) : null,
                                r = { data: e.responseType && "text" !== e.responseType ? p.response : p.responseText, status: p.status, statusText: p.statusText, headers: n, config: e, request: p };
                            o(t, u, r), (p = null);
                        }
                    }),
                    (p.onabort = function () {
                        p && (u(c("Request aborted", e, "ECONNABORTED", p)), (p = null));
                    }),
                    (p.onerror = function () {
                        u(c("Network Error", e, null, p)), (p = null);
                    }),
                    (p.ontimeout = function () {
                        var t = "timeout of " + e.timeout + "ms exceeded";
                        e.timeoutErrorMessage && (t = e.timeoutErrorMessage), u(c(t, e, "ECONNABORTED", p)), (p = null);
                    }),
                    r.isStandardBrowserEnv())
                ) {
                    var v = n(33),
                        y = (e.withCredentials || l(g)) && e.xsrfCookieName ? v.read(e.xsrfCookieName) : void 0;
                    y && (f[e.xsrfHeaderName] = y);
                }
                if (
                    ("setRequestHeader" in p &&
                        r.forEach(f, function (e, t) {
                            void 0 === d && "content-type" === t.toLowerCase() ? delete f[t] : p.setRequestHeader(t, e);
                        }),
                    r.isUndefined(e.withCredentials) || (p.withCredentials = !!e.withCredentials),
                    e.responseType)
                )
                    try {
                        p.responseType = e.responseType;
                    } catch (t) {
                        if ("json" !== e.responseType) throw t;
                    }
                "function" == typeof e.onDownloadProgress && p.addEventListener("progress", e.onDownloadProgress),
                    "function" == typeof e.onUploadProgress && p.upload && p.upload.addEventListener("progress", e.onUploadProgress),
                    e.cancelToken &&
                        e.cancelToken.promise.then(function (e) {
                            p && (p.abort(), u(e), (p = null));
                        }),
                    void 0 === d && (d = null),
                    p.send(d);
            });
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(27);
        e.exports = function (e, t, n, o, i) {
            var s = new Error(e);
            return r(s, t, n, o, i);
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        e.exports = function (e, t) {
            t = t || {};
            var n = {},
                o = ["url", "method", "params", "data"],
                i = ["headers", "auth", "proxy"],
                s = [
                    "baseURL",
                    "url",
                    "transformRequest",
                    "transformResponse",
                    "paramsSerializer",
                    "timeout",
                    "withCredentials",
                    "adapter",
                    "responseType",
                    "xsrfCookieName",
                    "xsrfHeaderName",
                    "onUploadProgress",
                    "onDownloadProgress",
                    "maxContentLength",
                    "validateStatus",
                    "maxRedirects",
                    "httpAgent",
                    "httpsAgent",
                    "cancelToken",
                    "socketPath",
                ];
            r.forEach(o, function (e) {
                void 0 !== t[e] && (n[e] = t[e]);
            }),
                r.forEach(i, function (o) {
                    r.isObject(t[o]) ? (n[o] = r.deepMerge(e[o], t[o])) : void 0 !== t[o] ? (n[o] = t[o]) : r.isObject(e[o]) ? (n[o] = r.deepMerge(e[o])) : void 0 !== e[o] && (n[o] = e[o]);
                }),
                r.forEach(s, function (r) {
                    void 0 !== t[r] ? (n[r] = t[r]) : void 0 !== e[r] && (n[r] = e[r]);
                });
            var a = o.concat(i).concat(s),
                l = Object.keys(t).filter(function (e) {
                    return -1 === a.indexOf(e);
                });
            return (
                r.forEach(l, function (r) {
                    void 0 !== t[r] ? (n[r] = t[r]) : void 0 !== e[r] && (n[r] = e[r]);
                }),
                n
            );
        };
    },
    function (e, t, n) {
        "use strict";
        function r(e) {
            this.message = e;
        }
        (r.prototype.toString = function () {
            return "Cancel" + (this.message ? ": " + this.message : "");
        }),
            (r.prototype.__CANCEL__ = !0),
            (e.exports = r);
    },
    function (e, t, n) {
        !(function () {
            "use strict";
            var t = function (e) {
                    if (null === e) return "null";
                    if (void 0 === e) return "undefined";
                    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;
                },
                n = function (e) {
                    return { eq: e };
                },
                r = n(function (e, t) {
                    return e === t;
                }),
                o = function (e) {
                    return n(function (t, n) {
                        if (t.length !== n.length) return !1;
                        for (var r = t.length, o = 0; o < r; o++) if (!e.eq(t[o], n[o])) return !1;
                        return !0;
                    });
                },
                i = function (e, t) {
                    return (function (e, t) {
                        return n(function (n, r) {
                            return e.eq(t(n), t(r));
                        });
                    })(o(e), function (e) {
                        return (function (e, t) {
                            return Array.prototype.slice.call(e).sort(t);
                        })(e, t);
                    });
                },
                s = function (e) {
                    return n(function (t, n) {
                        var o = Object.keys(t),
                            s = Object.keys(n);
                        if (!i(r).eq(o, s)) return !1;
                        for (var a = o.length, l = 0; l < a; l++) {
                            var c = o[l];
                            if (!e.eq(t[c], n[c])) return !1;
                        }
                        return !0;
                    });
                },
                a = n(function (e, n) {
                    if (e === n) return !0;
                    var r = t(e);
                    return (
                        r === t(n) &&
                        ((function (e) {
                            return -1 !== ["undefined", "boolean", "number", "string", "function", "xml", "null"].indexOf(e);
                        })(r)
                            ? e === n
                            : "array" === r
                            ? o(a).eq(e, n)
                            : "object" === r && s(a).eq(e, n))
                    );
                });
            const l = Object.getPrototypeOf,
                c = (e, t, n) => {
                    var r;
                    return !!n(e, t.prototype) || (null === (r = e.constructor) || void 0 === r ? void 0 : r.name) === t.name;
                },
                u = (e) => (t) =>
                    ((e) => {
                        const t = typeof e;
                        return null === e ? "null" : "object" === t && Array.isArray(e) ? "array" : "object" === t && c(e, String, (e, t) => t.isPrototypeOf(e)) ? "string" : t;
                    })(t) === e,
                d = (e) => (t) => typeof t === e,
                f = (e) => (t) => e === t,
                p = (e, t) => m(e) && c(e, t, (e, t) => l(e) === t),
                h = u("string"),
                m = u("object"),
                g = (e) => p(e, Object),
                v = u("array"),
                y = f(null),
                b = d("boolean"),
                _ = f(void 0),
                w = (e) => null == e,
                C = (e) => !w(e),
                x = d("function"),
                E = d("number"),
                k = (e, t) => {
                    if (v(e)) {
                        for (let n = 0, r = e.length; n < r; ++n) if (!t(e[n])) return !1;
                        return !0;
                    }
                    return !1;
                },
                A = () => {},
                S = (e, t) => (...n) => e(t.apply(null, n)),
                T = (e, t) => (n) => e(t(n)),
                N = (e) => () => e,
                O = (e) => e,
                D = (e, t) => e === t;
            function R(e, ...t) {
                return (...n) => {
                    const r = t.concat(n);
                    return e.apply(null, r);
                };
            }
            const L = (e) => (t) => !e(t),
                P = (e) => e(),
                $ = (e) => {
                    e();
                },
                M = N(!1),
                I = N(!0);
            class B {
                constructor(e, t) {
                    (this.tag = e), (this.value = t);
                }
                static some(e) {
                    return new B(!0, e);
                }
                static none() {
                    return B.singletonNone;
                }
                fold(e, t) {
                    return this.tag ? t(this.value) : e();
                }
                isSome() {
                    return this.tag;
                }
                isNone() {
                    return !this.tag;
                }
                map(e) {
                    return this.tag ? B.some(e(this.value)) : B.none();
                }
                bind(e) {
                    return this.tag ? e(this.value) : B.none();
                }
                exists(e) {
                    return this.tag && e(this.value);
                }
                forall(e) {
                    return !this.tag || e(this.value);
                }
                filter(e) {
                    return !this.tag || e(this.value) ? this : B.none();
                }
                getOr(e) {
                    return this.tag ? this.value : e;
                }
                or(e) {
                    return this.tag ? this : e;
                }
                getOrThunk(e) {
                    return this.tag ? this.value : e();
                }
                orThunk(e) {
                    return this.tag ? this : e();
                }
                getOrDie(e) {
                    if (this.tag) return this.value;
                    throw new Error(null != e ? e : "Called getOrDie on None");
                }
                static from(e) {
                    return C(e) ? B.some(e) : B.none();
                }
                getOrNull() {
                    return this.tag ? this.value : null;
                }
                getOrUndefined() {
                    return this.value;
                }
                each(e) {
                    this.tag && e(this.value);
                }
                toArray() {
                    return this.tag ? [this.value] : [];
                }
                toString() {
                    return this.tag ? `some(${this.value})` : "none()";
                }
            }
            B.singletonNone = new B(!1);
            const j = Array.prototype.slice,
                F = Array.prototype.indexOf,
                H = Array.prototype.push,
                U = (e, t) => F.call(e, t),
                q = (e, t) => U(e, t) > -1,
                z = (e, t) => {
                    for (let n = 0, r = e.length; n < r; n++) {
                        if (t(e[n], n)) return !0;
                    }
                    return !1;
                },
                W = (e, t) => {
                    const n = e.length,
                        r = new Array(n);
                    for (let o = 0; o < n; o++) {
                        const n = e[o];
                        r[o] = t(n, o);
                    }
                    return r;
                },
                V = (e, t) => {
                    for (let n = 0, r = e.length; n < r; n++) {
                        t(e[n], n);
                    }
                },
                K = (e, t) => {
                    for (let n = e.length - 1; n >= 0; n--) {
                        t(e[n], n);
                    }
                },
                G = (e, t) => {
                    const n = [],
                        r = [];
                    for (let o = 0, i = e.length; o < i; o++) {
                        const i = e[o];
                        (t(i, o) ? n : r).push(i);
                    }
                    return { pass: n, fail: r };
                },
                Y = (e, t) => {
                    const n = [];
                    for (let r = 0, o = e.length; r < o; r++) {
                        const o = e[r];
                        t(o, r) && n.push(o);
                    }
                    return n;
                },
                X = (e, t, n) => (
                    K(e, (e, r) => {
                        n = t(n, e, r);
                    }),
                    n
                ),
                J = (e, t, n) => (
                    V(e, (e, r) => {
                        n = t(n, e, r);
                    }),
                    n
                ),
                Q = (e, t, n) => {
                    for (let r = 0, o = e.length; r < o; r++) {
                        const o = e[r];
                        if (t(o, r)) return B.some(o);
                        if (n(o, r)) break;
                    }
                    return B.none();
                },
                Z = (e, t) => Q(e, t, M),
                ee = (e, t) => {
                    for (let n = 0, r = e.length; n < r; n++) {
                        if (t(e[n], n)) return B.some(n);
                    }
                    return B.none();
                },
                te = (e) => {
                    const t = [];
                    for (let n = 0, r = e.length; n < r; ++n) {
                        if (!v(e[n])) throw new Error("Arr.flatten item " + n + " was not an array, input: " + e);
                        H.apply(t, e[n]);
                    }
                    return t;
                },
                ne = (e, t) => te(W(e, t)),
                re = (e, t) => {
                    for (let n = 0, r = e.length; n < r; ++n) {
                        if (!0 !== t(e[n], n)) return !1;
                    }
                    return !0;
                },
                oe = (e) => {
                    const t = j.call(e, 0);
                    return t.reverse(), t;
                },
                ie = (e, t) => Y(e, (e) => !q(t, e)),
                se = (e, t) => {
                    const n = {};
                    for (let r = 0, o = e.length; r < o; r++) {
                        const o = e[r];
                        n[String(o)] = t(o, r);
                    }
                    return n;
                },
                ae = (e, t) => {
                    const n = j.call(e, 0);
                    return n.sort(t), n;
                },
                le = (e, t) => (t >= 0 && t < e.length ? B.some(e[t]) : B.none()),
                ce = (e) => le(e, 0),
                ue = (e) => le(e, e.length - 1),
                de = x(Array.from) ? Array.from : (e) => j.call(e),
                fe = (e, t) => {
                    for (let n = 0; n < e.length; n++) {
                        const r = t(e[n], n);
                        if (r.isSome()) return r;
                    }
                    return B.none();
                },
                pe = Object.keys,
                he = Object.hasOwnProperty,
                me = (e, t) => {
                    const n = pe(e);
                    for (let r = 0, o = n.length; r < o; r++) {
                        const o = n[r];
                        t(e[o], o);
                    }
                },
                ge = (e, t) => ve(e, (e, n) => ({ k: n, v: t(e, n) })),
                ve = (e, t) => {
                    const n = {};
                    return (
                        me(e, (e, r) => {
                            const o = t(e, r);
                            n[o.k] = o.v;
                        }),
                        n
                    );
                },
                ye = (e) => (t, n) => {
                    e[n] = t;
                },
                be = (e, t, n, r) => (
                    me(e, (e, o) => {
                        (t(e, o) ? n : r)(e, o);
                    }),
                    {}
                ),
                _e = (e, t) => {
                    const n = {};
                    return be(e, t, ye(n), A), n;
                },
                we = (e, t) => {
                    const n = [];
                    return (
                        me(e, (e, r) => {
                            n.push(t(e, r));
                        }),
                        n
                    );
                },
                Ce = (e) => we(e, O),
                xe = (e, t) => (Ee(e, t) ? B.from(e[t]) : B.none()),
                Ee = (e, t) => he.call(e, t),
                ke = (e, t) => Ee(e, t) && void 0 !== e[t] && null !== e[t],
                Ae = (e) => {
                    const t = {};
                    return (
                        V(e, (e) => {
                            t[e] = {};
                        }),
                        pe(t)
                    );
                },
                Se = Array.isArray,
                Te = (e, t, n) => {
                    let r, o;
                    if (!e) return !1;
                    if (((n = n || e), void 0 !== e.length)) {
                        for (r = 0, o = e.length; r < o; r++) if (!1 === t.call(n, e[r], r, e)) return !1;
                    } else for (r in e) if (Ee(e, r) && !1 === t.call(n, e[r], r, e)) return !1;
                    return !0;
                },
                Ne = (e, t) => {
                    const n = [];
                    return (
                        Te(e, (r, o) => {
                            n.push(t(r, o, e));
                        }),
                        n
                    );
                },
                Oe = (e, t) => {
                    const n = [];
                    return (
                        Te(e, (r, o) => {
                            (t && !t(r, o, e)) || n.push(r);
                        }),
                        n
                    );
                },
                De = (e, t) => {
                    if (e) for (let n = 0, r = e.length; n < r; n++) if (e[n] === t) return n;
                    return -1;
                },
                Re = (e, t, n, r) => {
                    let o = _(n) ? e[0] : n;
                    for (let n = 0; n < e.length; n++) o = t.call(r, o, e[n], n);
                    return o;
                },
                Le = (e, t, n) => {
                    let r, o;
                    for (r = 0, o = e.length; r < o; r++) if (t.call(n, e[r], r, e)) return r;
                    return -1;
                },
                Pe = (e) => e[e.length - 1],
                $e = (e) => {
                    let t,
                        n = !1;
                    return (...r) => (n || ((n = !0), (t = e.apply(null, r))), t);
                },
                Me = () => Ie(0, 0),
                Ie = (e, t) => ({ major: e, minor: t }),
                Be = {
                    nu: Ie,
                    detect: (e, t) => {
                        const n = String(t).toLowerCase();
                        return 0 === e.length
                            ? Me()
                            : ((e, t) => {
                                  const n = ((e, t) => {
                                      for (let n = 0; n < e.length; n++) {
                                          const r = e[n];
                                          if (r.test(t)) return r;
                                      }
                                  })(e, t);
                                  if (!n) return { major: 0, minor: 0 };
                                  const r = (e) => Number(t.replace(n, "$" + e));
                                  return Ie(r(1), r(2));
                              })(e, n);
                    },
                    unknown: Me,
                },
                je = (e, t) => {
                    const n = String(t).toLowerCase();
                    return Z(e, (e) => e.search(n));
                },
                Fe = (e, t, n) => "" === t || (e.length >= t.length && e.substr(n, n + t.length) === t),
                He = (e, t) => -1 !== e.indexOf(t),
                Ue = (e, t) => Fe(e, t, 0),
                qe = (e, t) => Fe(e, t, e.length - t.length),
                ze = (e) => (t) => t.replace(e, ""),
                We = ze(/^\s+|\s+$/g),
                Ve = ze(/^\s+/g),
                Ke = ze(/\s+$/g),
                Ge = (e) => e.length > 0,
                Ye = (e) => !Ge(e),
                Xe = (e, t = 10) => {
                    const n = parseInt(e, t);
                    return isNaN(n) ? B.none() : B.some(n);
                },
                Je = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
                Qe = (e) => (t) => He(t, e),
                Ze = [
                    { name: "Edge", versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], search: (e) => He(e, "edge/") && He(e, "chrome") && He(e, "safari") && He(e, "applewebkit") },
                    { name: "Chromium", brand: "Chromium", versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, Je], search: (e) => He(e, "chrome") && !He(e, "chromeframe") },
                    { name: "IE", versionRegexes: [/.*?msie\ ?([0-9]+)\.([0-9]+).*/, /.*?rv:([0-9]+)\.([0-9]+).*/], search: (e) => He(e, "msie") || He(e, "trident") },
                    { name: "Opera", versionRegexes: [Je, /.*?opera\/([0-9]+)\.([0-9]+).*/], search: Qe("opera") },
                    { name: "Firefox", versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], search: Qe("firefox") },
                    { name: "Safari", versionRegexes: [Je, /.*?cpu os ([0-9]+)_([0-9]+).*/], search: (e) => (He(e, "safari") || He(e, "mobile/")) && He(e, "applewebkit") },
                ],
                et = [
                    { name: "Windows", search: Qe("win"), versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] },
                    { name: "iOS", search: (e) => He(e, "iphone") || He(e, "ipad"), versionRegexes: [/.*?version\/\ ?([0-9]+)\.([0-9]+).*/, /.*cpu os ([0-9]+)_([0-9]+).*/, /.*cpu iphone os ([0-9]+)_([0-9]+).*/] },
                    { name: "Android", search: Qe("android"), versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] },
                    { name: "macOS", search: Qe("mac os x"), versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/] },
                    { name: "Linux", search: Qe("linux"), versionRegexes: [] },
                    { name: "Solaris", search: Qe("sunos"), versionRegexes: [] },
                    { name: "FreeBSD", search: Qe("freebsd"), versionRegexes: [] },
                    { name: "ChromeOS", search: Qe("cros"), versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/] },
                ],
                tt = { browsers: N(Ze), oses: N(et) },
                nt = (e) => {
                    const t = e.current,
                        n = e.version,
                        r = (e) => () => t === e;
                    return { current: t, version: n, isEdge: r("Edge"), isChromium: r("Chromium"), isIE: r("IE"), isOpera: r("Opera"), isFirefox: r("Firefox"), isSafari: r("Safari") };
                },
                rt = { unknown: () => nt({ current: void 0, version: Be.unknown() }), nu: nt, edge: N("Edge"), chromium: N("Chromium"), ie: N("IE"), opera: N("Opera"), firefox: N("Firefox"), safari: N("Safari") },
                ot = (e) => {
                    const t = e.current,
                        n = e.version,
                        r = (e) => () => t === e;
                    return { current: t, version: n, isWindows: r("Windows"), isiOS: r("iOS"), isAndroid: r("Android"), isMacOS: r("macOS"), isLinux: r("Linux"), isSolaris: r("Solaris"), isFreeBSD: r("FreeBSD"), isChromeOS: r("ChromeOS") };
                },
                it = {
                    unknown: () => ot({ current: void 0, version: Be.unknown() }),
                    nu: ot,
                    windows: N("Windows"),
                    ios: N("iOS"),
                    android: N("Android"),
                    linux: N("Linux"),
                    macos: N("macOS"),
                    solaris: N("Solaris"),
                    freebsd: N("FreeBSD"),
                    chromeos: N("ChromeOS"),
                },
                st = (e, t, n) => {
                    const r = tt.browsers(),
                        o = tt.oses(),
                        i = t
                            .bind((e) =>
                                ((e, t) =>
                                    fe(t.brands, (t) => {
                                        const n = t.brand.toLowerCase();
                                        return Z(e, (e) => {
                                            var t;
                                            return n === (null === (t = e.brand) || void 0 === t ? void 0 : t.toLowerCase());
                                        }).map((e) => ({ current: e.name, version: Be.nu(parseInt(t.version, 10), 0) }));
                                    }))(r, e)
                            )
                            .orThunk(() =>
                                ((e, t) =>
                                    je(e, t).map((e) => {
                                        const n = Be.detect(e.versionRegexes, t);
                                        return { current: e.name, version: n };
                                    }))(r, e)
                            )
                            .fold(rt.unknown, rt.nu),
                        s = ((e, t) =>
                            je(e, t).map((e) => {
                                const n = Be.detect(e.versionRegexes, t);
                                return { current: e.name, version: n };
                            }))(o, e).fold(it.unknown, it.nu),
                        a = ((e, t, n, r) => {
                            const o = e.isiOS() && !0 === /ipad/i.test(n),
                                i = e.isiOS() && !o,
                                s = e.isiOS() || e.isAndroid(),
                                a = s || r("(pointer:coarse)"),
                                l = o || (!i && s && r("(min-device-width:768px)")),
                                c = i || (s && !l),
                                u = t.isSafari() && e.isiOS() && !1 === /safari/i.test(n),
                                d = !c && !l && !u;
                            return { isiPad: N(o), isiPhone: N(i), isTablet: N(l), isPhone: N(c), isTouch: N(a), isAndroid: e.isAndroid, isiOS: e.isiOS, isWebView: N(u), isDesktop: N(d) };
                        })(s, i, e, n);
                    return { browser: i, os: s, deviceType: a };
                },
                at = (e) => window.matchMedia(e).matches;
            let lt = $e(() => st(navigator.userAgent, B.from(navigator.userAgentData), at));
            const ct = () => lt(),
                ut = navigator.userAgent,
                dt = ct(),
                ft = dt.browser,
                pt = dt.os,
                ht = dt.deviceType,
                mt = -1 !== ut.indexOf("Windows Phone"),
                gt = {
                    transparentSrc: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
                    documentMode: ft.isIE() ? document.documentMode || 7 : 10,
                    cacheSuffix: null,
                    container: null,
                    canHaveCSP: !ft.isIE(),
                    windowsPhone: mt,
                    browser: { current: ft.current, version: ft.version, isChromium: ft.isChromium, isEdge: ft.isEdge, isFirefox: ft.isFirefox, isIE: ft.isIE, isOpera: ft.isOpera, isSafari: ft.isSafari },
                    os: {
                        current: pt.current,
                        version: pt.version,
                        isAndroid: pt.isAndroid,
                        isChromeOS: pt.isChromeOS,
                        isFreeBSD: pt.isFreeBSD,
                        isiOS: pt.isiOS,
                        isLinux: pt.isLinux,
                        isMacOS: pt.isMacOS,
                        isSolaris: pt.isSolaris,
                        isWindows: pt.isWindows,
                    },
                    deviceType: { isDesktop: ht.isDesktop, isiPad: ht.isiPad, isiPhone: ht.isiPhone, isPhone: ht.isPhone, isTablet: ht.isTablet, isTouch: ht.isTouch, isWebView: ht.isWebView },
                },
                vt = /^\s*|\s*$/g,
                yt = (e) => (null == e ? "" : ("" + e).replace(vt, "")),
                bt = (e, t) => (t ? !("array" !== t || !Se(e)) || typeof e === t : void 0 !== e),
                _t = function (e, t, n, r) {
                    (r = r || this),
                        e &&
                            (n && (e = e[n]),
                            Te(e, (e, o) => {
                                if (!1 === t.call(r, e, o, n)) return !1;
                                _t(e, t, n, r);
                            }));
                },
                wt = {
                    trim: yt,
                    isArray: Se,
                    is: bt,
                    toArray: (e) => {
                        if (Se(e)) return e;
                        {
                            const t = [];
                            for (let n = 0, r = e.length; n < r; n++) t[n] = e[n];
                            return t;
                        }
                    },
                    makeMap: (e, t, n) => {
                        let r;
                        for (t = t || ",", "string" == typeof (e = e || []) && (e = e.split(t)), n = n || {}, r = e.length; r--; ) n[e[r]] = {};
                        return n;
                    },
                    each: Te,
                    map: Ne,
                    grep: Oe,
                    inArray: De,
                    hasOwn: Ee,
                    extend: (e, ...t) => {
                        for (let n = 0; n < t.length; n++) {
                            const r = t[n];
                            for (const t in r)
                                if (Ee(r, t)) {
                                    const n = r[t];
                                    void 0 !== n && (e[t] = n);
                                }
                        }
                        return e;
                    },
                    walk: _t,
                    resolve: (e, t) => {
                        let n, r;
                        for (t = t || window, n = 0, r = (e = e.split(".")).length; n < r && (t = t[e[n]]); n++);
                        return t;
                    },
                    explode: (e, t) => (!e || bt(e, "array") ? e : Ne(e.split(t || ","), yt)),
                    _addCacheSuffix: (e) => {
                        const t = gt.cacheSuffix;
                        return t && (e += (-1 === e.indexOf("?") ? "?" : "&") + t), e;
                    },
                },
                Ct = (e, t, n = D) => e.exists((e) => n(e, t)),
                xt = (e, t, n) => (e.isSome() && t.isSome() ? B.some(n(e.getOrDie(), t.getOrDie())) : B.none()),
                Et = (e, t) => (e ? B.some(t) : B.none());
            "undefined" != typeof window ? window : Function("return this;")();
            const kt = (e) => e.dom.nodeName.toLowerCase(),
                At = (e) => e.dom.nodeType,
                St = (e) => (t) => At(t) === e,
                Tt = St(1),
                Nt = St(3),
                Ot = St(9),
                Dt = St(11),
                Rt = (e, t, n) => {
                    if (!(h(n) || b(n) || E(n))) throw (console.error("Invalid call to Attribute.set. Key ", t, ":: Value ", n, ":: Element ", e), new Error("Attribute value was not simple"));
                    e.setAttribute(t, n + "");
                },
                Lt = (e, t, n) => {
                    Rt(e.dom, t, n);
                },
                Pt = (e, t) => {
                    const n = e.dom;
                    me(t, (e, t) => {
                        Rt(n, t, e);
                    });
                },
                $t = (e, t) => {
                    const n = e.dom.getAttribute(t);
                    return null === n ? void 0 : n;
                },
                Mt = (e, t) => B.from($t(e, t)),
                It = (e, t) => {
                    const n = e.dom;
                    return !(!n || !n.hasAttribute) && n.hasAttribute(t);
                },
                Bt = (e, t) => {
                    e.dom.removeAttribute(t);
                },
                jt = (e) => J(e.dom.attributes, (e, t) => ((e[t.name] = t.value), e), {}),
                Ft = (e, t) => {
                    const n = $t(e, t);
                    return void 0 === n || "" === n ? [] : n.split(" ");
                },
                Ht = (e) => void 0 !== e.dom.classList,
                Ut = (e) => Ft(e, "class"),
                qt = (e, t) =>
                    ((e, t, n) => {
                        const r = Ft(e, t).concat([n]);
                        return Lt(e, t, r.join(" ")), !0;
                    })(e, "class", t),
                zt = (e, t) =>
                    ((e, t, n) => {
                        const r = Y(Ft(e, t), (e) => e !== n);
                        return r.length > 0 ? Lt(e, t, r.join(" ")) : Bt(e, t), !1;
                    })(e, "class", t),
                Wt = (e, t) => {
                    Ht(e) ? e.dom.classList.add(t) : qt(e, t);
                },
                Vt = (e) => {
                    0 === (Ht(e) ? e.dom.classList : Ut(e)).length && Bt(e, "class");
                },
                Kt = (e, t) => {
                    if (Ht(e)) {
                        e.dom.classList.remove(t);
                    } else zt(e, t);
                    Vt(e);
                },
                Gt = (e, t) => {
                    const n = Ht(e) ? e.dom.classList.toggle(t) : ((e, t) => (q(Ut(e), t) ? zt(e, t) : qt(e, t)))(e, t);
                    return Vt(e), n;
                },
                Yt = (e, t) => Ht(e) && e.dom.classList.contains(t),
                Xt = (e) => void 0 !== e.style && x(e.style.getPropertyValue),
                Jt = (e) => {
                    if (null == e) throw new Error("Node cannot be null or undefined");
                    return { dom: e };
                },
                Qt = {
                    fromHtml: (e, t) => {
                        const n = (t || document).createElement("div");
                        if (((n.innerHTML = e), !n.hasChildNodes() || n.childNodes.length > 1)) {
                            const t = "HTML does not have a single root node";
                            throw (console.error(t, e), new Error(t));
                        }
                        return Jt(n.childNodes[0]);
                    },
                    fromTag: (e, t) => {
                        const n = (t || document).createElement(e);
                        return Jt(n);
                    },
                    fromText: (e, t) => {
                        const n = (t || document).createTextNode(e);
                        return Jt(n);
                    },
                    fromDom: Jt,
                    fromPoint: (e, t, n) => B.from(e.dom.elementFromPoint(t, n)).map(Jt),
                },
                Zt = (e, t) => {
                    const n = [],
                        r = (e) => (n.push(e), t(e));
                    let o = t(e);
                    do {
                        o = o.bind(r);
                    } while (o.isSome());
                    return n;
                },
                en = (e, t) => {
                    const n = e.dom;
                    if (1 !== n.nodeType) return !1;
                    {
                        const e = n;
                        if (void 0 !== e.matches) return e.matches(t);
                        if (void 0 !== e.msMatchesSelector) return e.msMatchesSelector(t);
                        if (void 0 !== e.webkitMatchesSelector) return e.webkitMatchesSelector(t);
                        if (void 0 !== e.mozMatchesSelector) return e.mozMatchesSelector(t);
                        throw new Error("Browser lacks native selectors");
                    }
                },
                tn = (e) => (1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType) || 0 === e.childElementCount,
                nn = (e, t) => e.dom === t.dom,
                rn = (e, t) => {
                    const n = e.dom,
                        r = t.dom;
                    return n !== r && n.contains(r);
                },
                on = (e) => Qt.fromDom(e.dom.ownerDocument),
                sn = (e) => (Ot(e) ? e : on(e)),
                an = (e) => Qt.fromDom(sn(e).dom.defaultView),
                ln = (e) => B.from(e.dom.parentNode).map(Qt.fromDom),
                cn = (e) => B.from(e.dom.previousSibling).map(Qt.fromDom),
                un = (e) => B.from(e.dom.nextSibling).map(Qt.fromDom),
                dn = (e) => oe(Zt(e, cn)),
                fn = (e) => Zt(e, un),
                pn = (e) => W(e.dom.childNodes, Qt.fromDom),
                hn = (e, t) => {
                    const n = e.dom.childNodes;
                    return B.from(n[t]).map(Qt.fromDom);
                },
                mn = (e) => hn(e, 0),
                gn = (e) => hn(e, e.dom.childNodes.length - 1),
                vn = (e) => e.dom.childNodes.length,
                yn = (e) => Dt(e) && C(e.dom.host),
                bn = x(Element.prototype.attachShadow) && x(Node.prototype.getRootNode),
                _n = N(bn),
                wn = bn ? (e) => Qt.fromDom(e.dom.getRootNode()) : sn,
                Cn = (e) =>
                    yn(e)
                        ? e
                        : ((e) => {
                              const t = e.dom.head;
                              if (null == t) throw new Error("Head is not available yet");
                              return Qt.fromDom(t);
                          })(sn(e)),
                xn = (e) => Qt.fromDom(e.dom.host),
                En = (e) => {
                    if (_n() && C(e.target)) {
                        const t = Qt.fromDom(e.target);
                        if (Tt(t) && kn(t) && e.composed && e.composedPath) {
                            const t = e.composedPath();
                            if (t) return ce(t);
                        }
                    }
                    return B.from(e.target);
                },
                kn = (e) => C(e.dom.shadowRoot),
                An = (e) => {
                    const t = Nt(e) ? e.dom.parentNode : e.dom;
                    if (null == t || null === t.ownerDocument) return !1;
                    const n = t.ownerDocument;
                    return ((e) => {
                        const t = wn(e);
                        return yn(t) ? B.some(t) : B.none();
                    })(Qt.fromDom(t)).fold(() => n.body.contains(t), T(An, xn));
                },
                Sn = (e, t, n) => {
                    if (!h(n)) throw (console.error("Invalid call to CSS.set. Property ", t, ":: Value ", n, ":: Element ", e), new Error("CSS value must be a string: " + n));
                    Xt(e) && e.style.setProperty(t, n);
                },
                Tn = (e, t, n) => {
                    const r = e.dom;
                    Sn(r, t, n);
                },
                Nn = (e, t) => {
                    const n = e.dom;
                    me(t, (e, t) => {
                        Sn(n, t, e);
                    });
                },
                On = (e, t) => {
                    const n = e.dom,
                        r = window.getComputedStyle(n).getPropertyValue(t);
                    return "" !== r || An(e) ? r : Dn(n, t);
                },
                Dn = (e, t) => (Xt(e) ? e.style.getPropertyValue(t) : ""),
                Rn = (e, t) => {
                    const n = e.dom,
                        r = Dn(n, t);
                    return B.from(r).filter((e) => e.length > 0);
                },
                Ln = (e) => {
                    const t = {},
                        n = e.dom;
                    if (Xt(n))
                        for (let e = 0; e < n.style.length; e++) {
                            const r = n.style.item(e);
                            t[r] = n.style[r];
                        }
                    return t;
                },
                Pn = (e, t) => {
                    ((e, t) => {
                        Xt(e) && e.style.removeProperty(t);
                    })(e.dom, t),
                        Ct(Mt(e, "style").map(We), "") && Bt(e, "style");
                },
                $n = (e, t) => {
                    ln(e).each((n) => {
                        n.dom.insertBefore(t.dom, e.dom);
                    });
                },
                Mn = (e, t) => {
                    un(e).fold(
                        () => {
                            ln(e).each((e) => {
                                Bn(e, t);
                            });
                        },
                        (e) => {
                            $n(e, t);
                        }
                    );
                },
                In = (e, t) => {
                    mn(e).fold(
                        () => {
                            Bn(e, t);
                        },
                        (n) => {
                            e.dom.insertBefore(t.dom, n.dom);
                        }
                    );
                },
                Bn = (e, t) => {
                    e.dom.appendChild(t.dom);
                },
                jn = (e, t) => {
                    V(t, (t) => {
                        Bn(e, t);
                    });
                },
                Fn = (e) => {
                    (e.dom.textContent = ""),
                        V(pn(e), (e) => {
                            Hn(e);
                        });
                },
                Hn = (e) => {
                    const t = e.dom;
                    null !== t.parentNode && t.parentNode.removeChild(t);
                },
                Un = (e) => {
                    const t = pn(e);
                    var n, r;
                    t.length > 0 &&
                        ((n = e),
                        V((r = t), (e, t) => {
                            const o = 0 === t ? n : r[t - 1];
                            Mn(o, e);
                        })),
                        Hn(e);
                },
                qn = (e) => e.dom.innerHTML,
                zn = (e, t) => {
                    const n = on(e).dom,
                        r = Qt.fromDom(n.createDocumentFragment()),
                        o = ((e, t) => {
                            const n = (t || document).createElement("div");
                            return (n.innerHTML = e), pn(Qt.fromDom(n));
                        })(t, n);
                    jn(r, o), Fn(e), Bn(e, r);
                },
                Wn = (e, t) => (n) => {
                    e(n) &&
                        t(
                            ((e) => {
                                const t = Qt.fromDom(En(e).getOr(e.target)),
                                    n = () => e.stopPropagation(),
                                    r = () => e.preventDefault(),
                                    o = S(r, n);
                                return ((e, t, n, r, o, i, s) => ({ target: e, x: t, y: n, stop: r, prevent: o, kill: i, raw: s }))(t, e.clientX, e.clientY, n, r, o, e);
                            })(n)
                        );
                },
                Vn = (e, t, n, r) =>
                    ((e, t, n, r, o) => {
                        const i = Wn(n, r);
                        return e.dom.addEventListener(t, i, o), { unbind: R(Kn, e, t, i, o) };
                    })(e, t, n, r, !1),
                Kn = (e, t, n, r) => {
                    e.dom.removeEventListener(t, n, r);
                },
                Gn = (e, t) => ({ left: e, top: t, translate: (n, r) => Gn(e + n, t + r) }),
                Yn = Gn,
                Xn = (e, t) => (void 0 !== e ? e : void 0 !== t ? t : 0),
                Jn = (e) => {
                    const t = e.dom,
                        n = t.ownerDocument.body;
                    return n === t
                        ? Yn(n.offsetLeft, n.offsetTop)
                        : An(e)
                        ? ((e) => {
                              const t = e.getBoundingClientRect();
                              return Yn(t.left, t.top);
                          })(t)
                        : Yn(0, 0);
                },
                Qn = (e) => {
                    const t = void 0 !== e ? e.dom : document,
                        n = t.body.scrollLeft || t.documentElement.scrollLeft,
                        r = t.body.scrollTop || t.documentElement.scrollTop;
                    return Yn(n, r);
                },
                Zn = (e, t, n) => {
                    const r = (void 0 !== n ? n.dom : document).defaultView;
                    r && r.scrollTo(e, t);
                },
                er = (e, t) => {
                    ct().browser.isSafari() && x(e.dom.scrollIntoViewIfNeeded) ? e.dom.scrollIntoViewIfNeeded(!1) : e.dom.scrollIntoView(t);
                },
                tr = (e, t, n, r) => ({ x: e, y: t, width: n, height: r, right: e + n, bottom: t + r }),
                nr = (e) => {
                    const t = void 0 === e ? window : e,
                        n = t.document,
                        r = Qn(Qt.fromDom(n));
                    return ((e) => {
                        const t = void 0 === e ? window : e;
                        return ct().browser.isFirefox() ? B.none() : B.from(t.visualViewport);
                    })(t).fold(
                        () => {
                            const e = t.document.documentElement,
                                n = e.clientWidth,
                                o = e.clientHeight;
                            return tr(r.left, r.top, n, o);
                        },
                        (e) => tr(Math.max(e.pageLeft, r.left), Math.max(e.pageTop, r.top), e.width, e.height)
                    );
                },
                rr = (e) => (t) => !!t && t.nodeType === e,
                or = (e) => !!e && !Object.getPrototypeOf(e),
                ir = rr(1),
                sr = (e) => {
                    const t = e.map((e) => e.toLowerCase());
                    return (e) => {
                        if (e && e.nodeName) {
                            const n = e.nodeName.toLowerCase();
                            return q(t, n);
                        }
                        return !1;
                    };
                },
                ar = (e, t) => {
                    const n = t.toLowerCase().split(" ");
                    return (t) => {
                        if (ir(t))
                            for (let r = 0; r < n.length; r++) {
                                const o = t.ownerDocument.defaultView.getComputedStyle(t, null);
                                if ((o ? o.getPropertyValue(e) : null) === n[r]) return !0;
                            }
                        return !1;
                    };
                },
                lr = (e) => (t) => ir(t) && t.hasAttribute(e),
                cr = (e) => ir(e) && e.hasAttribute("data-mce-bogus"),
                ur = (e) => ir(e) && "TABLE" === e.tagName,
                dr = (e) => (t) => {
                    if (ir(t)) {
                        if (t.contentEditable === e) return !0;
                        if (t.getAttribute("data-mce-contenteditable") === e) return !0;
                    }
                    return !1;
                },
                fr = sr(["textarea", "input"]),
                pr = rr(3),
                hr = rr(4),
                mr = rr(7),
                gr = rr(8),
                vr = rr(9),
                yr = rr(11),
                br = sr(["br"]),
                _r = sr(["img"]),
                wr = dr("true"),
                Cr = dr("false"),
                xr = sr(["td", "th"]),
                Er = sr(["video", "audio", "object", "embed"]),
                kr = ct().browser,
                Ar = (e) => Z(e, Tt),
                Sr = (e, t) => e.children && q(e.children, t),
                Tr = (e, t, n) => {
                    let r = 0,
                        o = 0;
                    const i = e.ownerDocument;
                    if (((n = n || e), t)) {
                        if (n === e && t.getBoundingClientRect && "static" === On(Qt.fromDom(e), "position")) {
                            const n = t.getBoundingClientRect();
                            return (r = n.left + (i.documentElement.scrollLeft || e.scrollLeft) - i.documentElement.clientLeft), (o = n.top + (i.documentElement.scrollTop || e.scrollTop) - i.documentElement.clientTop), { x: r, y: o };
                        }
                        let s = t;
                        for (; s && s !== n && s.nodeType && !Sr(s, n); ) {
                            const e = s;
                            (r += e.offsetLeft || 0), (o += e.offsetTop || 0), (s = e.offsetParent);
                        }
                        for (s = t.parentNode; s && s !== n && s.nodeType && !Sr(s, n); ) (r -= s.scrollLeft || 0), (o -= s.scrollTop || 0), (s = s.parentNode);
                        o += ((e) =>
                            kr.isFirefox() && "table" === kt(e)
                                ? Ar(pn(e))
                                      .filter((e) => "caption" === kt(e))
                                      .bind((e) =>
                                          Ar(fn(e)).map((t) => {
                                              const n = t.dom.offsetTop,
                                                  r = e.dom.offsetTop,
                                                  o = e.dom.offsetHeight;
                                              return n <= r ? -o : 0;
                                          })
                                      )
                                      .getOr(0)
                                : 0)(Qt.fromDom(t));
                    }
                    return { x: r, y: o };
                };
            var Nr = (e, t, n, r, o) => (e(n, r) ? B.some(n) : x(o) && o(n) ? B.none() : t(n, r, o));
            const Or = (e, t, n) => {
                    let r = e.dom;
                    const o = x(n) ? n : M;
                    for (; r.parentNode; ) {
                        r = r.parentNode;
                        const e = Qt.fromDom(r);
                        if (t(e)) return B.some(e);
                        if (o(e)) break;
                    }
                    return B.none();
                },
                Dr = (e, t, n) => Nr((e, t) => t(e), Or, e, t, n),
                Rr = (e, t) => Z(e.dom.childNodes, (e) => t(Qt.fromDom(e))).map(Qt.fromDom),
                Lr = (e, t, n) => Or(e, (e) => en(e, t), n),
                Pr = (e, t) =>
                    ((e, t) => {
                        const n = void 0 === t ? document : t.dom;
                        return tn(n) ? B.none() : B.from(n.querySelector(e)).map(Qt.fromDom);
                    })(t, e),
                $r = (e, t, n) => Nr((e, t) => en(e, t), Lr, e, t, n),
                Mr = (e, t = {}) => {
                    let n = 0;
                    const r = {},
                        o = Qt.fromDom(e),
                        i = sn(o),
                        s = t.maxLoadTime || 5e3,
                        a = (a) =>
                            new Promise((l, c) => {
                                let u;
                                const d = wt._addCacheSuffix(a),
                                    f = ((e) => xe(r, e).getOrThunk(() => ({ id: "mce-u" + n++, passed: [], failed: [], count: 0 })))(d);
                                (r[d] = f), f.count++;
                                const p = (e, t) => {
                                        V(e, $), (f.status = t), (f.passed = []), (f.failed = []), u && ((u.onload = null), (u.onerror = null), (u = null));
                                    },
                                    h = () => p(f.passed, 2),
                                    m = () => p(f.failed, 3),
                                    g = () => {
                                        var t;
                                        (t = g),
                                            (() => {
                                                const t = e.styleSheets;
                                                let n = t.length;
                                                for (; n--; ) {
                                                    const e = t[n].ownerNode;
                                                    if (e && e.id === u.id) return h(), !0;
                                                }
                                                return !1;
                                            })() || (Date.now() - y < s ? setTimeout(t) : m());
                                    };
                                if ((l && f.passed.push(l), c && f.failed.push(c), 1 === f.status)) return;
                                if (2 === f.status) return void h();
                                if (3 === f.status) return void m();
                                f.status = 1;
                                const v = Qt.fromTag("link", i.dom);
                                Pt(v, { rel: "stylesheet", type: "text/css", id: f.id });
                                const y = Date.now();
                                var b;
                                t.contentCssCors && Lt(v, "crossOrigin", "anonymous"), t.referrerPolicy && Lt(v, "referrerpolicy", t.referrerPolicy), (u = v.dom), (u.onload = g), (u.onerror = m), (b = v), Bn(Cn(o), b), Lt(v, "href", d);
                            }),
                        l = (e) => {
                            const t = wt._addCacheSuffix(e);
                            xe(r, t).each((e) => {
                                0 === --e.count &&
                                    (delete r[t],
                                    ((e) => {
                                        const t = Cn(o);
                                        Pr(t, "#" + e).each(Hn);
                                    })(e.id));
                            });
                        };
                    return {
                        load: a,
                        loadAll: (e) =>
                            Promise.allSettled(W(e, (e) => a(e).then(N(e)))).then((e) => {
                                const t = G(e, (e) => "fulfilled" === e.status);
                                return t.fail.length > 0 ? Promise.reject(W(t.fail, (e) => e.reason)) : W(t.pass, (e) => e.value);
                            }),
                        unload: l,
                        unloadAll: (e) => {
                            V(e, (e) => {
                                l(e);
                            });
                        },
                        _setReferrerPolicy: (e) => {
                            t.referrerPolicy = e;
                        },
                    };
                },
                Ir = (() => {
                    const e = new WeakMap();
                    return {
                        forElement: (t, n) => {
                            const r = wn(t).dom;
                            return B.from(e.get(r)).getOrThunk(() => {
                                const t = Mr(r, n);
                                return e.set(r, t), t;
                            });
                        },
                    };
                })();
            class Br {
                constructor(e, t) {
                    (this.node = e), (this.rootNode = t), (this.current = this.current.bind(this)), (this.next = this.next.bind(this)), (this.prev = this.prev.bind(this)), (this.prev2 = this.prev2.bind(this));
                }
                current() {
                    return this.node;
                }
                next(e) {
                    return (this.node = this.findSibling(this.node, "firstChild", "nextSibling", e)), this.node;
                }
                prev(e) {
                    return (this.node = this.findSibling(this.node, "lastChild", "previousSibling", e)), this.node;
                }
                prev2(e) {
                    return (this.node = this.findPreviousNode(this.node, "lastChild", "previousSibling", e)), this.node;
                }
                findSibling(e, t, n, r) {
                    let o, i;
                    if (e) {
                        if (!r && e[t]) return e[t];
                        if (e !== this.rootNode) {
                            if (((o = e[n]), o)) return o;
                            for (i = e.parentNode; i && i !== this.rootNode; i = i.parentNode) if (((o = i[n]), o)) return o;
                        }
                    }
                }
                findPreviousNode(e, t, n, r) {
                    let o, i, s;
                    if (e) {
                        if (((o = e[n]), this.rootNode && o === this.rootNode)) return;
                        if (o) {
                            if (!r) for (s = o[t]; s; s = s[t]) if (!s[t]) return s;
                            return o;
                        }
                        if (((i = e.parentNode), i && i !== this.rootNode)) return i;
                    }
                }
            }
            const jr = (e) => {
                    let t;
                    return (n) => ((t = t || se(e, I)), Ee(t, kt(n)));
                },
                Fr = jr(["h1", "h2", "h3", "h4", "h5", "h6"]),
                Hr = jr([
                    "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",
                ]),
                Ur = (e) => Tt(e) && !Hr(e),
                qr = (e) => Tt(e) && "br" === kt(e),
                zr = jr(["h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "pre", "form", "blockquote", "center", "dir", "fieldset", "header", "footer", "article", "section", "hgroup", "aside", "nav", "figure"]),
                Wr = jr(["ul", "ol", "dl"]),
                Vr = jr(["li", "dd", "dt"]),
                Kr = jr(["thead", "tbody", "tfoot"]),
                Gr = jr(["td", "th"]),
                Yr = jr(["pre", "script", "textarea", "style"]),
                Xr = (e) => "\ufeff" === e,
                Jr = Xr,
                Qr = (e) => e.replace(/\uFEFF/g, ""),
                Zr = ir,
                eo = pr,
                to = (e) => (eo(e) && (e = e.parentNode), Zr(e) && e.hasAttribute("data-mce-caret")),
                no = (e) => eo(e) && Jr(e.data),
                ro = (e) => to(e) || no(e),
                oo = (e) => e.firstChild !== e.lastChild || !br(e.firstChild),
                io = (e) => {
                    const t = e.container();
                    return !!pr(t) && ("\ufeff" === t.data.charAt(e.offset()) || (e.isAtStart() && no(t.previousSibling)));
                },
                so = (e) => {
                    const t = e.container();
                    return !!pr(t) && ("\ufeff" === t.data.charAt(e.offset() - 1) || (e.isAtEnd() && no(t.nextSibling)));
                },
                ao = (e, t, n) => {
                    const r = t.ownerDocument.createElement(e);
                    r.setAttribute("data-mce-caret", n ? "before" : "after"),
                        r.setAttribute("data-mce-bogus", "all"),
                        r.appendChild(
                            (() => {
                                const e = document.createElement("br");
                                return e.setAttribute("data-mce-bogus", "1"), e;
                            })()
                        );
                    const o = t.parentNode;
                    return n ? o.insertBefore(r, t) : t.nextSibling ? o.insertBefore(r, t.nextSibling) : o.appendChild(r), r;
                },
                lo = (e) => eo(e) && "\ufeff" === e.data[0],
                co = (e) => eo(e) && "\ufeff" === e.data[e.data.length - 1],
                uo = (e) =>
                    e && e.hasAttribute("data-mce-caret")
                        ? (((e) => {
                              const t = e.getElementsByTagName("br"),
                                  n = t[t.length - 1];
                              cr(n) && n.parentNode.removeChild(n);
                          })(e),
                          e.removeAttribute("data-mce-caret"),
                          e.removeAttribute("data-mce-bogus"),
                          e.removeAttribute("style"),
                          e.removeAttribute("data-mce-style"),
                          e.removeAttribute("_moz_abspos"),
                          e)
                        : null,
                fo = (e) => to(e.startContainer),
                po = wr,
                ho = Cr,
                mo = br,
                go = pr,
                vo = sr(["script", "style", "textarea"]),
                yo = sr(["img", "input", "textarea", "hr", "iframe", "video", "audio", "object", "embed"]),
                bo = sr(["table"]),
                _o = ro,
                wo = (e) => !_o(e) && (go(e) ? !vo(e.parentNode) : yo(e) || mo(e) || bo(e) || Co(e)),
                Co = (e) => !1 === ((e) => ir(e) && "true" === e.getAttribute("unselectable"))(e) && ho(e),
                xo = (e, t) =>
                    wo(e) &&
                    ((e, t) => {
                        for (e = e.parentNode; e && e !== t; e = e.parentNode) {
                            if (Co(e)) return !1;
                            if (po(e)) return !0;
                        }
                        return !0;
                    })(e, t),
                Eo = /^[ \t\r\n]*$/,
                ko = (e) => Eo.test(e),
                Ao = (e) => "\n" === e || "\r" === e,
                So = (e, t = 4, n = !0, r = !0) => {
                    const o = ((e, t) => (t <= 0 ? "" : new Array(t + 1).join(e)))(" ", t),
                        i = e.replace(/\t/g, o);
                    return J(
                        i,
                        (e, t) =>
                            ((e) => -1 !== " \f\t\v".indexOf(e))(t) || " " === t
                                ? e.pcIsSpace || ("" === e.str && n) || (e.str.length === i.length - 1 && r) || ((e, t) => t < e.length && t >= 0 && Ao(e[t]))(i, e.str.length + 1)
                                    ? { pcIsSpace: !1, str: e.str + " " }
                                    : { pcIsSpace: !0, str: e.str + " " }
                                : { pcIsSpace: Ao(t), str: e.str + t },
                        { pcIsSpace: !1, str: "" }
                    ).str;
                },
                To = (e, t) => {
                    const n = Qt.fromDom(t),
                        r = Qt.fromDom(e);
                    return (o = r), (i = "pre,code"), (s = R(nn, n)), Lr(o, i, s).isSome();
                    var o, i, s;
                },
                No = (e, t) => (wo(e) && !1 === ((e, t) => pr(e) && ko(e.data) && !1 === To(e, t))(e, t)) || ((e) => ir(e) && "A" === e.nodeName && !e.hasAttribute("href") && (e.hasAttribute("name") || e.hasAttribute("id")))(e) || Oo(e),
                Oo = lr("data-mce-bookmark"),
                Do = lr("data-mce-bogus"),
                Ro = ((Lo = "data-mce-bogus"), (Po = "all"), (e) => ir(e) && e.getAttribute(Lo) === Po);
            var Lo, Po;
            const $o = (e, t = !0) =>
                    ((e, t) => {
                        let n = 0;
                        if (No(e, e)) return !1;
                        {
                            let r = e.firstChild;
                            if (!r) return !0;
                            const o = new Br(r, e);
                            do {
                                if (t) {
                                    if (Ro(r)) {
                                        r = o.next(!0);
                                        continue;
                                    }
                                    if (Do(r)) {
                                        r = o.next();
                                        continue;
                                    }
                                }
                                if (br(r)) n++, (r = o.next());
                                else {
                                    if (No(r, e)) return !1;
                                    r = o.next();
                                }
                            } while (r);
                            return n <= 1;
                        }
                    })(e.dom, t),
                Mo = (e, t) => C(e) && (No(e, t) || Ur(Qt.fromDom(e))),
                Io = (e) => ((e) => "span" === e.nodeName.toLowerCase())(e) && "bookmark" === e.getAttribute("data-mce-type"),
                Bo = (e, t) =>
                    pr(e) &&
                    e.data.length > 0 &&
                    ((e, t) => {
                        const n = new Br(e, t).prev(!1),
                            r = new Br(e, t).next(!1),
                            o = _(n) || Mo(n, t),
                            i = _(r) || Mo(r, t);
                        return o && i;
                    })(e, t),
                jo = (e, t, n) => {
                    const r = n || t;
                    if (ir(t) && Io(t)) return t;
                    const o = t.childNodes;
                    for (let t = o.length - 1; t >= 0; t--) jo(e, o[t], r);
                    if (ir(t)) {
                        const e = t.childNodes;
                        1 === e.length && Io(e[0]) && t.parentNode.insertBefore(e[0], t);
                    }
                    return ((e) => yr(e) || vr(e))(t) || No(t, r) || ((e) => !!ir(e) && e.childNodes.length > 0)(t) || Bo(t, r) || e.remove(t), t;
                },
                Fo = wt.makeMap,
                Ho = /[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
                Uo = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
                qo = /[<>&\"\']/g,
                zo = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi,
                Wo = {
                    128: "€",
                    130: "‚",
                    131: "ƒ",
                    132: "„",
                    133: "…",
                    134: "†",
                    135: "‡",
                    136: "ˆ",
                    137: "‰",
                    138: "Š",
                    139: "‹",
                    140: "Œ",
                    142: "Ž",
                    145: "‘",
                    146: "’",
                    147: "“",
                    148: "”",
                    149: "•",
                    150: "–",
                    151: "—",
                    152: "˜",
                    153: "™",
                    154: "š",
                    155: "›",
                    156: "œ",
                    158: "ž",
                    159: "Ÿ",
                },
                Vo = { '"': "&quot;", "'": "&#39;", "<": "&lt;", ">": "&gt;", "&": "&amp;", "`": "&#96;" },
                Ko = { "&lt;": "<", "&gt;": ">", "&amp;": "&", "&quot;": '"', "&apos;": "'" },
                Go = (e, t) => {
                    let n, r, o;
                    const i = {};
                    if (e) {
                        for (e = e.split(","), t = t || 10, n = 0; n < e.length; n += 2) (r = String.fromCharCode(parseInt(e[n], t))), Vo[r] || ((o = "&" + e[n + 1] + ";"), (i[r] = o), (i[o] = r));
                        return i;
                    }
                },
                Yo = Go(
                    "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
                ),
                Xo = (e, t) => e.replace(t ? Ho : Uo, (e) => Vo[e] || e),
                Jo = (e, t) => e.replace(t ? Ho : Uo, (e) => (e.length > 1 ? "&#" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : Vo[e] || "&#" + e.charCodeAt(0) + ";")),
                Qo = (e, t, n) => ((n = n || Yo), e.replace(t ? Ho : Uo, (e) => Vo[e] || n[e] || e)),
                Zo = {
                    encodeRaw: Xo,
                    encodeAllRaw: (e) => ("" + e).replace(qo, (e) => Vo[e] || e),
                    encodeNumeric: Jo,
                    encodeNamed: Qo,
                    getEncodeFunc: (e, t) => {
                        const n = Go(t) || Yo,
                            r = (e, t) =>
                                e.replace(t ? Ho : Uo, (e) =>
                                    void 0 !== Vo[e] ? Vo[e] : void 0 !== n[e] ? n[e] : e.length > 1 ? "&#" + (1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536) + ";" : "&#" + e.charCodeAt(0) + ";"
                                ),
                            o = (e, t) => Qo(e, t, n),
                            i = Fo(e.replace(/\+/g, ","));
                        return i.named && i.numeric ? r : i.named ? (t ? o : Qo) : i.numeric ? Jo : Xo;
                    },
                    decode: (e) =>
                        e.replace(zo, (e, t) =>
                            t
                                ? (t = "x" === t.charAt(0).toLowerCase() ? parseInt(t.substr(1), 16) : parseInt(t, 10)) > 65535
                                    ? ((t -= 65536), String.fromCharCode(55296 + (t >> 10), 56320 + (1023 & t)))
                                    : Wo[t] || String.fromCharCode(t)
                                : Ko[e] ||
                                  Yo[e] ||
                                  ((e) => {
                                      const t = Qt.fromTag("div").dom;
                                      return (t.innerHTML = e), t.textContent || t.innerText || e;
                                  })(e)
                        ),
                },
                ei = {},
                ti = {},
                ni = wt.makeMap,
                ri = wt.each,
                oi = wt.extend,
                ii = wt.explode,
                si = wt.inArray,
                ai = (e, t) => ((e = wt.trim(e)) ? e.split(t || " ") : []),
                li = (e, t) => {
                    const n = ni(e, " ", ni(e.toUpperCase(), " "));
                    return oi(n, t);
                },
                ci = (e) => li("td th li dt dd figcaption caption details summary", e.getTextBlockElements()),
                ui = (e, t) => {
                    let n;
                    return (
                        e &&
                            ((n = {}),
                            "string" == typeof e && (e = { "*": e }),
                            ri(e, (e, r) => {
                                n[r] = n[r.toUpperCase()] = "map" === t ? ni(e, /[, ]/) : ii(e, /[, ]/);
                            })),
                        n
                    );
                },
                di = (e) => {
                    var t;
                    const n = {},
                        r = {};
                    let o = [];
                    const i = {},
                        s = {},
                        a = (t, n, r) => {
                            let o = e[t];
                            return o ? (o = ni(o, /[, ]/, ni(o.toUpperCase(), /[, ]/))) : ((o = ei[t]), o || ((o = li(n, r)), (ei[t] = o))), o;
                        },
                        l = null !== (t = (e = e || {}).schema) && void 0 !== t ? t : "html5",
                        c = ((e) => {
                            const t = {};
                            let n, r, o, i, s, a;
                            const l = (e, r = "", o = "") => {
                                    const i = ai(o),
                                        s = ai(e);
                                    let a = s.length;
                                    for (; a--; ) {
                                        const e = ai([n, r].join(" "));
                                        t[s[a]] = { attributes: se(e, () => ({})), attributesOrder: e, children: se(i, N(ti)) };
                                    }
                                },
                                c = (e, n) => {
                                    const r = ai(e),
                                        o = ai(n);
                                    let i = r.length;
                                    for (; i--; ) {
                                        const e = t[r[i]];
                                        for (let t = 0, n = o.length; t < n; t++) (e.attributes[o[t]] = {}), e.attributesOrder.push(o[t]);
                                    }
                                };
                            return ei[e]
                                ? ei[e]
                                : ((n = "id accesskey class dir lang style tabindex title role"),
                                  (r = "address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),
                                  (o = "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 &&
                                      ((n += " contenteditable contextmenu draggable dropzone hidden spellcheck translate"),
                                      (r += " article aside details dialog figure main header footer hgroup section nav"),
                                      (o += " audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen")),
                                  "html5-strict" !== e &&
                                      ((n += " xml:lang"),
                                      (a = "acronym applet basefont big font strike tt"),
                                      (o = [o, a].join(" ")),
                                      ri(ai(a), (e) => {
                                          l(e, "", o);
                                      }),
                                      (s = "center dir isindex noframes"),
                                      (r = [r, s].join(" ")),
                                      (i = [r, o].join(" ")),
                                      ri(ai(s), (e) => {
                                          l(e, "", i);
                                      })),
                                  (i = i || [r, o].join(" ")),
                                  l("html", "manifest", "head body"),
                                  l("head", "", "base command link meta noscript script style title"),
                                  l("title hr noscript br"),
                                  l("base", "href target"),
                                  l("link", "href rel media hreflang type sizes hreflang"),
                                  l("meta", "name http-equiv content charset"),
                                  l("style", "media type scoped"),
                                  l("script", "src async defer type charset"),
                                  l("body", "onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload", i),
                                  l("address dt dd div caption", "", i),
                                  l("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", "", o),
                                  l("blockquote", "cite", i),
                                  l("ol", "reversed start type", "li"),
                                  l("ul", "", "li"),
                                  l("li", "value", i),
                                  l("dl", "", "dt dd"),
                                  l("a", "href target rel media hreflang type", o),
                                  l("q", "cite", o),
                                  l("ins del", "cite datetime", i),
                                  l("img", "src sizes srcset alt usemap ismap width height"),
                                  l("iframe", "src name width height", i),
                                  l("embed", "src type width height"),
                                  l("object", "data type typemustmatch name usemap form width height", [i, "param"].join(" ")),
                                  l("param", "name value"),
                                  l("map", "name", [i, "area"].join(" ")),
                                  l("area", "alt coords shape href target rel media hreflang type"),
                                  l("table", "border", "caption colgroup thead tfoot tbody tr" + ("html4" === e ? " col" : "")),
                                  l("colgroup", "span", "col"),
                                  l("col", "span"),
                                  l("tbody thead tfoot", "", "tr"),
                                  l("tr", "", "td th"),
                                  l("td", "colspan rowspan headers", i),
                                  l("th", "colspan rowspan headers scope abbr", i),
                                  l("form", "accept-charset action autocomplete enctype method name novalidate target", i),
                                  l("fieldset", "disabled form name", [i, "legend"].join(" ")),
                                  l("label", "form for", o),
                                  l(
                                      "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"
                                  ),
                                  l("button", "disabled form formaction formenctype formmethod formnovalidate formtarget name type value", "html4" === e ? i : o),
                                  l("select", "disabled form multiple name required size", "option optgroup"),
                                  l("optgroup", "disabled label", "option"),
                                  l("option", "disabled label selected value"),
                                  l("textarea", "cols dirname disabled form maxlength name readonly required rows wrap"),
                                  l("menu", "type label", [i, "li"].join(" ")),
                                  l("noscript", "", i),
                                  "html4" !== e &&
                                      (l("wbr"),
                                      l("ruby", "", [o, "rt rp"].join(" ")),
                                      l("figcaption", "", i),
                                      l("mark rt rp summary bdi", "", o),
                                      l("canvas", "width height", i),
                                      l("video", "src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered", [i, "track source"].join(" ")),
                                      l("audio", "src crossorigin preload autoplay mediagroup loop muted controls buffered volume", [i, "track source"].join(" ")),
                                      l("picture", "", "img source"),
                                      l("source", "src srcset type media sizes"),
                                      l("track", "kind src srclang label default"),
                                      l("datalist", "", [o, "option"].join(" ")),
                                      l("article section nav aside main header footer", "", i),
                                      l("hgroup", "", "h1 h2 h3 h4 h5 h6"),
                                      l("figure", "", [i, "figcaption"].join(" ")),
                                      l("time", "datetime", o),
                                      l("dialog", "open", i),
                                      l("command", "type label icon disabled checked radiogroup command"),
                                      l("output", "for form name", o),
                                      l("progress", "value max", o),
                                      l("meter", "value min max low high optimum", o),
                                      l("details", "open", [i, "summary"].join(" ")),
                                      l("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"),
                                      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("img", "loading"),
                                      c("iframe", "sandbox seamless allowfullscreen loading")),
                                  "html4" !== e &&
                                      V([t.video, t.audio], (e) => {
                                          delete e.children.audio, delete e.children.video;
                                      }),
                                  ri(ai("a form meter progress dfn"), (e) => {
                                      t[e] && delete t[e].children[e];
                                  }),
                                  delete t.caption.children.table,
                                  delete t.script,
                                  (ei[e] = t),
                                  t);
                        })(l);
                    !1 === e.verify_html && (e.valid_elements = "*[*]");
                    const u = ui(e.valid_styles),
                        d = ui(e.invalid_styles, "map"),
                        f = ui(e.valid_classes, "map"),
                        p = a("whitespace_elements", "pre script noscript style textarea video audio iframe object code"),
                        h = a("self_closing_elements", "colgroup dd dt li option p td tfoot th thead tr"),
                        m = a("void_elements", "area base basefont br col frame hr img input isindex link meta param embed source wbr track"),
                        g = a("boolean_attributes", "checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls allowfullscreen"),
                        v = a("non_empty_elements", "td th iframe video audio object script code pre", m),
                        y = a("move_caret_before_on_enter_elements", "td th iframe video audio object script code table", m),
                        b = a("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"),
                        _ = a("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", b),
                        w = a("text_inline_elements", "span strong b em i font s strike u var cite dfn code mark q sup sub samp");
                    ri("script noscript iframe noframes noembed title style textarea xmp plaintext".split(" "), (e) => {
                        s[e] = new RegExp("</" + e + "[^>]*>", "gi");
                    });
                    const C = (e) => new RegExp("^" + e.replace(/([?+*])/g, ".$1") + "$"),
                        x = (e) => {
                            let t, r, i, s, a, l, c, u, d, f, p, h, m, g, v, y, b, _;
                            const w = /^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)])?$/,
                                x = /^([!\-])?(\w+[\\:]:\w+|[^=~<]+)?(?:([=~<])(.*))?$/,
                                E = /[*?+]/;
                            if (e) {
                                const k = ai(e, ",");
                                for (n["@"] && ((y = n["@"].attributes), (b = n["@"].attributesOrder)), t = 0, r = k.length; t < r; t++)
                                    if (((a = w.exec(k[t])), a)) {
                                        if (
                                            ((g = a[1]),
                                            (d = a[2]),
                                            (v = a[3]),
                                            (u = a[5]),
                                            (h = {}),
                                            (m = []),
                                            (l = { attributes: h, attributesOrder: m }),
                                            "#" === g && (l.paddEmpty = !0),
                                            "-" === g && (l.removeEmpty = !0),
                                            "!" === a[4] && (l.removeEmptyAttrs = !0),
                                            y &&
                                                (me(y, (e, t) => {
                                                    h[t] = e;
                                                }),
                                                m.push.apply(m, b)),
                                            u)
                                        )
                                            for (u = ai(u, "|"), i = 0, s = u.length; i < s; i++)
                                                if (((a = x.exec(u[i])), a)) {
                                                    if (
                                                        ((c = {}),
                                                        (p = a[1]),
                                                        (f = a[2].replace(/[\\:]:/g, ":")),
                                                        (g = a[3]),
                                                        (_ = a[4]),
                                                        "!" === p && ((l.attributesRequired = l.attributesRequired || []), l.attributesRequired.push(f), (c.required = !0)),
                                                        "-" === p)
                                                    ) {
                                                        delete h[f], m.splice(si(m, f), 1);
                                                        continue;
                                                    }
                                                    g &&
                                                        ("=" === g && ((l.attributesDefault = l.attributesDefault || []), l.attributesDefault.push({ name: f, value: _ }), (c.defaultValue = _)),
                                                        "~" === g && ((l.attributesForced = l.attributesForced || []), l.attributesForced.push({ name: f, value: _ }), (c.forcedValue = _)),
                                                        "<" === g && (c.validValues = ni(_, "?"))),
                                                        E.test(f) ? ((l.attributePatterns = l.attributePatterns || []), (c.pattern = C(f)), l.attributePatterns.push(c)) : (h[f] || m.push(f), (h[f] = c));
                                                }
                                        y || "@" !== d || ((y = h), (b = m)), v && ((l.outputName = d), (n[v] = l)), E.test(d) ? ((l.pattern = C(d)), o.push(l)) : (n[d] = l);
                                    }
                            }
                        },
                        E = (e) => {
                            (o = []),
                                V(pe(n), (e) => {
                                    delete n[e];
                                }),
                                x(e),
                                ri(c, (e, t) => {
                                    r[t] = e.children;
                                });
                        },
                        k = (e) => {
                            const t = /^(~)?(.+)$/;
                            e &&
                                ((ei.text_block_elements = ei.block_elements = null),
                                ri(ai(e, ","), (e) => {
                                    const o = t.exec(e),
                                        s = "~" === o[1],
                                        a = s ? "span" : "div",
                                        l = o[2];
                                    if (((r[l] = r[a]), (i[l] = a), s || ((_[l.toUpperCase()] = {}), (_[l] = {})), !n[l])) {
                                        let e = n[a];
                                        (e = oi({}, e)), delete e.removeEmptyAttrs, delete e.removeEmpty, (n[l] = e);
                                    }
                                    ri(r, (e, t) => {
                                        e[a] && ((r[t] = e = oi({}, r[t])), (e[l] = e[a]));
                                    });
                                }));
                        },
                        A = (e) => {
                            const t = /^([+\-]?)([A-Za-z0-9_\-.\u00b7\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u037d\u037f-\u1fff\u200c-\u200d\u203f-\u2040\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd]+)\[([^\]]+)]$/;
                            (ei[l] = null),
                                e &&
                                    ri(ai(e, ","), (e) => {
                                        const n = t.exec(e);
                                        let o, i;
                                        n &&
                                            ((i = n[1]),
                                            (o = i ? r[n[2]] : (r[n[2]] = { "#comment": {} })),
                                            (o = r[n[2]]),
                                            ri(ai(n[3], "|"), (e) => {
                                                "-" === i ? delete o[e] : (o[e] = {});
                                            }));
                                    });
                        },
                        S = (e) => {
                            let t,
                                r = n[e];
                            if (r) return r;
                            for (t = o.length; t--; ) if (((r = o[t]), r.pattern.test(e))) return r;
                        };
                    e.valid_elements
                        ? E(e.valid_elements)
                        : (ri(c, (e, t) => {
                              (n[t] = { attributes: e.attributes, attributesOrder: e.attributesOrder }), (r[t] = e.children);
                          }),
                          ri(ai("strong/b em/i"), (e) => {
                              const t = ai(e, "/");
                              n[t[1]].outputName = t[0];
                          }),
                          ri(w, (t, r) => {
                              n[r] && (e.padd_empty_block_inline_children && (n[r].paddInEmptyBlock = !0), (n[r].removeEmpty = !0));
                          }),
                          ri(ai("ol ul blockquote a table tbody"), (e) => {
                              n[e] && (n[e].removeEmpty = !0);
                          }),
                          ri(ai("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"), (e) => {
                              n[e].paddEmpty = !0;
                          }),
                          ri(ai("span"), (e) => {
                              n[e].removeEmptyAttrs = !0;
                          })),
                        k(e.custom_elements),
                        A(e.valid_children),
                        x(e.extended_valid_elements),
                        A("+ol[ul|ol],+ul[ul|ol]"),
                        ri({ 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" }, (e, t) => {
                            n[t] && (n[t].parentsRequired = ai(e));
                        }),
                        e.invalid_elements &&
                            ri(ii(e.invalid_elements), (e) => {
                                n[e] && delete n[e];
                            }),
                        S("span") || x("span[!data-mce-type|*]");
                    const T = N(u),
                        O = N(d),
                        D = N(f),
                        R = N(g),
                        L = N(_),
                        P = N(b),
                        $ = N(w),
                        M = N(Object.seal(m)),
                        I = N(h),
                        B = N(v),
                        j = N(y),
                        F = N(p),
                        H = N(Object.seal(s)),
                        U = N(i);
                    return {
                        type: l,
                        children: r,
                        elements: n,
                        getValidStyles: T,
                        getValidClasses: D,
                        getBlockElements: L,
                        getInvalidStyles: O,
                        getVoidElements: M,
                        getTextBlockElements: P,
                        getTextInlineElements: $,
                        getBoolAttrs: R,
                        getElementRule: S,
                        getSelfClosingElements: I,
                        getNonEmptyElements: B,
                        getMoveCaretBeforeOnEnterElements: j,
                        getWhitespaceElements: F,
                        getSpecialElements: H,
                        isValidChild: (e, t) => {
                            const n = r[e.toLowerCase()];
                            return !(!n || !n[t.toLowerCase()]);
                        },
                        isValid: (e, t) => {
                            let n, r;
                            const o = S(e);
                            if (o) {
                                if (!t) return !0;
                                if (o.attributes[t]) return !0;
                                if (((n = o.attributePatterns), n)) for (r = n.length; r--; ) if (n[r].pattern.test(t)) return !0;
                            }
                            return !1;
                        },
                        getCustomElements: U,
                        addValidElements: x,
                        setValidElements: E,
                        addCustomElements: k,
                        addValidChildren: A,
                    };
                },
                fi = (e, t) => {
                    const n = /(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,
                        r = /\s*([^:]+):\s*([^;]+);?/g,
                        o = /\s+$/;
                    let i;
                    const s = {};
                    let a, l;
                    (e = e || {}), t && ((a = t.getValidStyles()), (l = t.getInvalidStyles()));
                    const c = "\\\" \\' \\; \\: ; : \ufeff".split(" ");
                    for (i = 0; i < c.length; i++) (s[c[i]] = "\ufeff" + i), (s["\ufeff" + i] = c[i]);
                    const u = {
                        parse: (t) => {
                            const a = {};
                            let l, c, d, f;
                            const p = e.url_converter,
                                h = e.url_converter_scope || u,
                                m = (e, t, n) => {
                                    const r = a[e + "-top" + t];
                                    if (!r) return;
                                    const o = a[e + "-right" + t];
                                    if (!o) return;
                                    const s = a[e + "-bottom" + t];
                                    if (!s) return;
                                    const l = a[e + "-left" + t];
                                    if (!l) return;
                                    const c = [r, o, s, l];
                                    for (i = c.length - 1; i-- && c[i] === c[i + 1]; );
                                    (i > -1 && n) || ((a[e + t] = -1 === i ? c[0] : c.join(" ")), delete a[e + "-top" + t], delete a[e + "-right" + t], delete a[e + "-bottom" + t], delete a[e + "-left" + t]);
                                },
                                g = (e) => {
                                    let t,
                                        n = a[e];
                                    if (n) {
                                        for (n = n.split(" "), t = n.length; t--; ) if (n[t] !== n[0]) return !1;
                                        return (a[e] = n[0]), !0;
                                    }
                                },
                                v = (e) => ((f = !0), s[e]),
                                y = (e, t) => (f && (e = e.replace(/\uFEFF[0-9]/g, (e) => s[e])), t || (e = e.replace(/\\([\'\";:])/g, "$1")), e),
                                b = (e) => String.fromCharCode(parseInt(e.slice(1), 16)),
                                _ = (e) => e.replace(/\\[0-9a-f]+/gi, b),
                                w = (t, n, r, o, i, s) => {
                                    if ((i = i || s)) return "'" + (i = y(i)).replace(/\'/g, "\\'") + "'";
                                    if (((n = y(n || r || o)), !e.allow_script_urls)) {
                                        const t = n.replace(/[\s\r\n]+/g, "");
                                        if (/(java|vb)script:/i.test(t)) return "";
                                        if (!e.allow_svg_data_urls && /^data:image\/svg/i.test(t)) return "";
                                    }
                                    return p && (n = p.call(h, n, "style")), "url('" + n.replace(/\'/g, "\\'") + "')";
                                };
                            if (t) {
                                for (t = (t = t.replace(/[\u0000-\u001F]/g, "")).replace(/\\[\"\';:\uFEFF]/g, v).replace(/\"[^\"]+\"|\'[^\']+\'/g, (e) => e.replace(/[;:]/g, v)); (l = r.exec(t)); )
                                    if (((r.lastIndex = l.index + l[0].length), (c = l[1].replace(o, "").toLowerCase()), (d = l[2].replace(o, "")), c && d)) {
                                        if (((c = _(c)), (d = _(d)), -1 !== c.indexOf("\ufeff") || -1 !== c.indexOf('"'))) continue;
                                        if (!e.allow_script_urls && ("behavior" === c || /expression\s*\(|\/\*|\*\//.test(d))) continue;
                                        "font-weight" === c && "700" === d ? (d = "bold") : ("color" !== c && "background-color" !== c) || (d = d.toLowerCase()), (d = d.replace(n, w)), (a[c] = f ? y(d, !0) : d);
                                    }
                                m("border", "", !0),
                                    m("border", "-width"),
                                    m("border", "-color"),
                                    m("border", "-style"),
                                    m("padding", ""),
                                    m("margin", ""),
                                    (C = "border"),
                                    (E = "border-style"),
                                    (k = "border-color"),
                                    g((x = "border-width")) && g(E) && g(k) && ((a[C] = a[x] + " " + a[E] + " " + a[k]), delete a[x], delete a[E], delete a[k]),
                                    "medium none" === a.border && delete a.border,
                                    "none" === a["border-image"] && delete a["border-image"];
                            }
                            var C, x, E, k;
                            return a;
                        },
                        serialize: (e, t) => {
                            let n = "";
                            const r = (t) => {
                                let r;
                                const o = a[t];
                                if (o) for (let i = 0, s = o.length; i < s; i++) (t = o[i]), (r = e[t]), r && (n += (n.length > 0 ? " " : "") + t + ": " + r + ";");
                            };
                            return (
                                t && a
                                    ? (r("*"), r(t))
                                    : me(e, (e, r) => {
                                          !e ||
                                              (l &&
                                                  !((e, t) => {
                                                      let n = l["*"];
                                                      return (!n || !n[e]) && ((n = l[t]), !(n && n[e]));
                                                  })(r, t)) ||
                                              (n += (n.length > 0 ? " " : "") + r + ": " + e + ";");
                                      }),
                                n
                            );
                        },
                    };
                    return u;
                },
                pi = { keyLocation: !0, layerX: !0, layerY: !0, returnValue: !0, webkitMovementX: !0, webkitMovementY: !0, keyIdentifier: !0, mozPressure: !0 },
                hi = (e) => w(e.preventDefault) || ((e) => e instanceof Event || x(e.initEvent))(e),
                mi = (e, t) => {
                    const n = null != t ? t : {};
                    for (const t in e) Ee(pi, t) || (n[t] = e[t]);
                    return C(n.composedPath) && (n.composedPath = () => e.composedPath()), n;
                },
                gi = (e, t, n, r) => {
                    var o;
                    const i = mi(t, r);
                    return (
                        (i.type = e),
                        w(i.target) && (i.target = null !== (o = i.srcElement) && void 0 !== o ? o : n),
                        hi(t) &&
                            ((i.preventDefault = () => {
                                (i.defaultPrevented = !0), (i.isDefaultPrevented = I), x(t.preventDefault) && t.preventDefault();
                            }),
                            (i.stopPropagation = () => {
                                (i.cancelBubble = !0), (i.isPropagationStopped = I), x(t.stopPropagation) && t.stopPropagation();
                            }),
                            (i.stopImmediatePropagation = () => {
                                (i.isImmediatePropagationStopped = I), i.stopPropagation();
                            }),
                            ((e) => e.isDefaultPrevented === I || e.isDefaultPrevented === M)(i) ||
                                ((i.isDefaultPrevented = !0 === i.defaultPrevented ? I : M), (i.isPropagationStopped = !0 === i.cancelBubble ? I : M), (i.isImmediatePropagationStopped = M))),
                        i
                    );
                },
                vi = /^(?:mouse|contextmenu)|click/,
                yi = (e, t, n, r) => {
                    e.addEventListener ? e.addEventListener(t, n, r || !1) : e.attachEvent && e.attachEvent("on" + t, n);
                },
                bi = (e, t, n, r) => {
                    e.removeEventListener ? e.removeEventListener(t, n, r || !1) : e.detachEvent && e.detachEvent("on" + t, n);
                },
                _i = (e, t) => {
                    const n = gi(e.type, e, document, t);
                    if (((e) => C(e) && vi.test(e.type))(e) && _(e.pageX) && !_(e.clientX)) {
                        const t = n.target.ownerDocument || document,
                            r = t.documentElement,
                            o = t.body,
                            i = n;
                        (i.pageX = e.clientX + ((r && r.scrollLeft) || (o && o.scrollLeft) || 0) - ((r && r.clientLeft) || (o && o.clientLeft) || 0)),
                            (i.pageY = e.clientY + ((r && r.scrollTop) || (o && o.scrollTop) || 0) - ((r && r.clientTop) || (o && o.clientTop) || 0));
                    }
                    return n;
                },
                wi = (e, t, n) => {
                    const r = e.document,
                        o = { type: "ready" };
                    if (n.domLoaded) return void t(o);
                    const i = () => {
                        bi(e, "DOMContentLoaded", i), bi(e, "load", i), n.domLoaded || ((n.domLoaded = !0), t(o)), (e = null);
                    };
                    "complete" === r.readyState || ("interactive" === r.readyState && r.body) ? i() : yi(e, "DOMContentLoaded", i), n.domLoaded || yi(e, "load", i);
                };
            class Ci {
                constructor() {
                    (this.domLoaded = !1),
                        (this.events = {}),
                        (this.count = 1),
                        (this.expando = "mce-data-" + (+new Date()).toString(32)),
                        (this.hasMouseEnterLeave = "onmouseenter" in document.documentElement),
                        (this.hasFocusIn = "onfocusin" in document.documentElement),
                        (this.count = 1);
                }
                bind(e, t, n, r) {
                    const o = this;
                    let i, s, a, l, c, u, d;
                    const f = window,
                        p = (e) => {
                            o.executeHandlers(_i(e || f.event), i);
                        };
                    if (!e || 3 === e.nodeType || 8 === e.nodeType) return;
                    e[o.expando] ? (i = e[o.expando]) : ((i = o.count++), (e[o.expando] = i), (o.events[i] = {})), (r = r || e);
                    const h = t.split(" ");
                    for (a = h.length; a--; )
                        (l = h[a]),
                            (u = p),
                            (c = d = !1),
                            "DOMContentLoaded" === l && (l = "ready"),
                            o.domLoaded && "ready" === l && "complete" === e.readyState
                                ? n.call(r, _i({ type: l }))
                                : (o.hasMouseEnterLeave ||
                                      ((c = o.mouseEnterLeave[l]),
                                      c &&
                                          (u = (e) => {
                                              const t = e.currentTarget;
                                              let n = e.relatedTarget;
                                              if (n && t.contains) n = t.contains(n);
                                              else for (; n && n !== t; ) n = n.parentNode;
                                              n || (((e = _i(e || f.event)).type = "mouseout" === e.type ? "mouseleave" : "mouseenter"), (e.target = t), o.executeHandlers(e, i));
                                          })),
                                  o.hasFocusIn ||
                                      ("focusin" !== l && "focusout" !== l) ||
                                      ((d = !0),
                                      (c = "focusin" === l ? "focus" : "blur"),
                                      (u = (e) => {
                                          ((e = _i(e || f.event)).type = "focus" === e.type ? "focusin" : "focusout"), o.executeHandlers(e, i);
                                      })),
                                  (s = o.events[i][l]),
                                  s
                                      ? "ready" === l && o.domLoaded
                                          ? n(_i({ type: l }))
                                          : s.push({ func: n, scope: r })
                                      : ((o.events[i][l] = s = [{ func: n, scope: r }]), (s.fakeName = c), (s.capture = d), (s.nativeHandler = u), "ready" === l ? wi(e, u, o) : yi(e, c || l, u, d)));
                    return (e = s = null), n;
                }
                unbind(e, t, n) {
                    let r, o, i, s, a;
                    if (!e || 3 === e.nodeType || 8 === e.nodeType) return this;
                    const l = e[this.expando];
                    if (l) {
                        if (((a = this.events[l]), t)) {
                            const l = t.split(" ");
                            for (o = l.length; o--; )
                                if (((s = l[o]), (r = a[s]), r)) {
                                    if (n)
                                        for (i = r.length; i--; )
                                            if (r[i].func === n) {
                                                const e = r.nativeHandler,
                                                    t = r.fakeName,
                                                    n = r.capture;
                                                (r = r.slice(0, i).concat(r.slice(i + 1))), (r.nativeHandler = e), (r.fakeName = t), (r.capture = n), (a[s] = r);
                                            }
                                    (n && 0 !== r.length) || (delete a[s], bi(e, r.fakeName || s, r.nativeHandler, r.capture));
                                }
                        } else
                            me(a, (t, n) => {
                                bi(e, t.fakeName || n, t.nativeHandler, t.capture);
                            }),
                                (a = {});
                        for (s in a) if (Ee(a, s)) return this;
                        delete this.events[l];
                        try {
                            delete e[this.expando];
                        } catch (t) {
                            e[this.expando] = null;
                        }
                    }
                    return this;
                }
                fire(e, t, n) {
                    return this.dispatch(e, t, n);
                }
                dispatch(e, t, n) {
                    let r;
                    if (!e || 3 === e.nodeType || 8 === e.nodeType) return this;
                    const o = _i({ type: t, target: e }, n);
                    do {
                        (r = e[this.expando]), r && this.executeHandlers(o, r), (e = e.parentNode || e.ownerDocument || e.defaultView || e.parentWindow);
                    } while (e && !o.isPropagationStopped());
                    return this;
                }
                clean(e) {
                    let t, n;
                    if (!e || 3 === e.nodeType || 8 === e.nodeType) return this;
                    if ((e[this.expando] && this.unbind(e), e.getElementsByTagName || (e = e.document), e && e.getElementsByTagName))
                        for (this.unbind(e), n = e.getElementsByTagName("*"), t = n.length; t--; ) (e = n[t])[this.expando] && this.unbind(e);
                    return this;
                }
                destroy() {
                    this.events = {};
                }
                cancel(e) {
                    return e && (e.preventDefault(), e.stopImmediatePropagation()), !1;
                }
                executeHandlers(e, t) {
                    const n = this.events[t],
                        r = n && n[e.type];
                    if (r)
                        for (let t = 0, n = r.length; t < n; t++) {
                            const n = r[t];
                            if ((n && !1 === n.func.call(n.scope, e) && e.preventDefault(), e.isImmediatePropagationStopped())) return;
                        }
                }
            }
            Ci.Event = new Ci();
            const xi = wt.each,
                Ei = wt.grep,
                ki = (e, t, n) => {
                    w(n) || "" === n ? Bt(e, t) : Lt(e, t, n);
                },
                Ai = (e, t) => {
                    const n = $t(t, "style"),
                        r = e.serialize(e.parse(n), kt(t));
                    ki(t, "data-mce-style", r);
                },
                Si = (e, t) => {
                    let 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;
                },
                Ti = wt.makeMap("fill-opacity font-weight line-height opacity orphans widows z-index zoom", " "),
                Ni = (e) => e.replace(/[A-Z]/g, (e) => "-" + e.toLowerCase()),
                Oi = (e, t = {}) => {
                    const n = {},
                        r = window,
                        o = {};
                    let i = 0;
                    const s = Ir.forElement(Qt.fromDom(e), { contentCssCors: t.contentCssCors, referrerPolicy: t.referrerPolicy }),
                        a = [],
                        l = t.schema ? t.schema : di({}),
                        c = fi({ url_converter: t.url_converter, url_converter_scope: t.url_converter_scope }, t.schema),
                        u = t.ownEvents ? new Ci() : Ci.Event,
                        d = l.getBlockElements(),
                        f = (t) => (t && e && h(t) ? e.getElementById(t) : t),
                        p = (e) => {
                            const t = f(e);
                            return C(t) ? Qt.fromDom(t) : null;
                        },
                        g = (e, t, n) => {
                            let r;
                            const o = p(e);
                            if (C(o) && Tt(o)) {
                                const e = J[t];
                                r = e && e.get ? e.get(o.dom, t) : $t(o, t);
                            }
                            return C(r) ? r : null != n ? n : "";
                        },
                        y = (e) => {
                            const t = f(e);
                            return w(t) ? [] : t.attributes;
                        },
                        b = (e, n, r) => {
                            P(e, (e) => {
                                if (ir(e)) {
                                    const o = Qt.fromDom(e);
                                    "" === r && (r = null);
                                    const i = $t(o, n),
                                        s = J[n];
                                    s && s.set ? s.set(o.dom, r, n) : ki(o, n, r), i !== r && t.onSetAttrib && t.onSetAttrib({ attrElm: o, attrName: n, attrValue: r });
                                }
                            });
                        },
                        _ = () => t.root_element || e.body,
                        k = (t, n) => Tr(e.body, f(t), n),
                        S = (e, n, r) => {
                            const o = (e, t) => (h(e) ? e : E(e) ? (Ee(Ti, t) ? e + "" : e + "px") : ge(e, o)),
                                i = (e, t, n) => {
                                    const r = Ni(t);
                                    w(n) || "" === n ? Pn(e, r) : Tn(e, r, o(n, r));
                                };
                            P(e, (e) => {
                                const o = Qt.fromDom(e);
                                h(n)
                                    ? i(o, n, r)
                                    : me(n, (e, t) => {
                                          i(o, t, e);
                                      }),
                                    t.update_styles && Ai(c, o);
                            });
                        },
                        T = (e, t, n) => {
                            const r = f(e);
                            if (!w(r) && ir(r)) return n ? On(Qt.fromDom(r), Ni(t)) : ("float" === (t = t.replace(/-(\D)/g, (e, t) => t.toUpperCase())) && (t = "cssFloat"), r.style ? r.style[t] : void 0);
                        },
                        O = (e) => {
                            let t, n;
                            const r = f(e);
                            return (
                                (t = T(r, "width")),
                                (n = T(r, "height")),
                                -1 === t.indexOf("px") && (t = 0),
                                -1 === n.indexOf("px") && (n = 0),
                                { w: parseInt(t, 10) || r.offsetWidth || r.clientWidth, h: parseInt(n, 10) || r.offsetHeight || r.clientHeight }
                            );
                        },
                        D = (e, t) => {
                            if (!e) return !1;
                            const n = v(e) ? e : [e];
                            return z(n, (e) => en(Qt.fromDom(e), t));
                        },
                        R = (e, t, n, r) => {
                            const o = [];
                            let i,
                                s = f(e);
                            for (r = void 0 === r, n = n || ("BODY" !== _().nodeName ? _().parentNode : null), h(t) && ((i = t), (t = "*" === t ? ir : (e) => D(e, i))); s && !(s === n || w(s.nodeType) || vr(s) || yr(s)); ) {
                                if (!t || t(s)) {
                                    if (!r) return [s];
                                    o.push(s);
                                }
                                s = s.parentNode;
                            }
                            return r ? o : null;
                        },
                        L = (e, t, n) => {
                            let r = t;
                            if (e) for (h(t) && (r = (e) => D(e, t)), e = e[n]; e; e = e[n]) if (x(r) && r(e)) return e;
                            return null;
                        },
                        P = function (e, t, n) {
                            const r = null != n ? n : this,
                                o = h(e) ? f(e) : e;
                            if (!o) return !1;
                            if (v(o) && (o.length || 0 === o.length)) {
                                const e = [];
                                return (
                                    xi(o, (n, o) => {
                                        n && e.push(t.call(r, h(n) ? f(n) : n, o));
                                    }),
                                    e
                                );
                            }
                            return t.call(r, o);
                        },
                        $ = (e, t) => {
                            P(e, (e) => {
                                me(t, (t, n) => {
                                    b(e, n, t);
                                });
                            });
                        },
                        M = (e, t) => {
                            P(e, (e) => {
                                const n = Qt.fromDom(e);
                                zn(n, t);
                            });
                        },
                        I = (t, n, r, o, i) =>
                            P(t, (t) => {
                                const s = h(n) ? e.createElement(n) : n;
                                return C(r) && $(s, r), o && (!h(o) && o.nodeType ? s.appendChild(o) : h(o) && M(s, o)), i ? s : t.appendChild(s);
                            }),
                        B = (t, n, r) => I(e.createElement(t), t, n, r, !0),
                        j = Zo.encodeAllRaw,
                        F = (e, t) =>
                            P(e, (e) => {
                                const n = Qt.fromDom(e);
                                return (
                                    t &&
                                        V(pn(n), (e) => {
                                            Nt(e) && 0 === e.dom.length ? Hn(e) : $n(n, e);
                                        }),
                                    Hn(n),
                                    n.dom
                                );
                            }),
                        H = (e, t, n) => {
                            P(e, (e) => {
                                if (ir(e)) {
                                    const r = Qt.fromDom(e),
                                        o = t.split(" ");
                                    V(o, (e) => {
                                        if (C(n)) {
                                            (n ? Wt : Kt)(r, e);
                                        } else Gt(r, e);
                                    });
                                }
                            });
                        },
                        U = (e, t, n) =>
                            P(
                                t,
                                (t) => (
                                    v(t) && (e = e.cloneNode(!0)),
                                    n &&
                                        xi(Ei(t.childNodes), (t) => {
                                            e.appendChild(t);
                                        }),
                                    t.parentNode.replaceChild(e, t)
                                )
                            ),
                        q = (e) => {
                            if (ir(e)) {
                                const t = "a" === e.nodeName.toLowerCase() && !g(e, "href") && g(e, "id");
                                if (g(e, "name") || g(e, "data-mce-bookmark") || t) return !0;
                            }
                            return !1;
                        },
                        W = () => e.createRange(),
                        K = (n, o, i, s) => {
                            if (v(n)) {
                                let e = n.length;
                                const t = [];
                                for (; e--; ) t[e] = K(n[e], o, i, s);
                                return t;
                            }
                            return !t.collect || (n !== e && n !== r) || a.push([n, o, i, s]), u.bind(n, o, i, s || X);
                        },
                        G = (t, n, o) => {
                            if (v(t)) {
                                let e = t.length;
                                const r = [];
                                for (; e--; ) r[e] = G(t[e], n, o);
                                return r;
                            }
                            if (a.length > 0 && (t === e || t === r)) {
                                let e = a.length;
                                for (; e--; ) {
                                    const r = a[e];
                                    t !== r[0] || (n && n !== r[1]) || (o && o !== r[2]) || u.unbind(r[0], r[1], r[2]);
                                }
                            }
                            return u.unbind(t, n, o);
                        },
                        Y = (e) => {
                            if (e && ir(e)) {
                                const t = e.getAttribute("data-mce-contenteditable");
                                return t && "inherit" !== t ? t : "inherit" !== e.contentEditable ? e.contentEditable : null;
                            }
                            return null;
                        },
                        X = {
                            doc: e,
                            settings: t,
                            win: r,
                            files: o,
                            stdMode: !0,
                            boxModel: !0,
                            styleSheetLoader: s,
                            boundEvents: a,
                            styles: c,
                            schema: l,
                            events: u,
                            isBlock: (e) => (h(e) ? Ee(d, e) : ir(e) && Ee(d, e.nodeName)),
                            root: null,
                            clone: (e, t) => e.cloneNode(t),
                            getRoot: _,
                            getViewPort: (e) => {
                                const t = nr(e);
                                return { x: t.x, y: t.y, w: t.width, h: t.height };
                            },
                            getRect: (e) => {
                                const t = f(e),
                                    n = k(t),
                                    r = O(t);
                                return { x: n.x, y: n.y, w: r.w, h: r.h };
                            },
                            getSize: O,
                            getParent: (e, t, n) => {
                                const r = R(e, t, n, !1);
                                return r && r.length > 0 ? r[0] : null;
                            },
                            getParents: R,
                            get: f,
                            getNext: (e, t) => L(e, t, "nextSibling"),
                            getPrev: (e, t) => L(e, t, "previousSibling"),
                            select: (n, r) => {
                                var o, i;
                                const s = null !== (i = null !== (o = f(r)) && void 0 !== o ? o : t.root_element) && void 0 !== i ? i : e;
                                return de(s.querySelectorAll(n));
                            },
                            is: D,
                            add: I,
                            create: B,
                            createHTML: (e, t, n = "") => {
                                let r,
                                    o = "";
                                for (r in ((o += "<" + e), t)) ke(t, r) && (o += " " + r + '="' + j(t[r]) + '"');
                                return Ye(n) && Ee(l.getVoidElements(), e) ? o + " />" : o + ">" + n + "</" + e + ">";
                            },
                            createFragment: (t) => {
                                let n;
                                const r = e.createElement("div"),
                                    o = e.createDocumentFragment();
                                for (o.appendChild(r), t && (r.innerHTML = t); (n = r.firstChild); ) o.appendChild(n);
                                return o.removeChild(r), o;
                            },
                            remove: F,
                            setStyle: S,
                            getStyle: T,
                            setStyles: (e, t) => {
                                S(e, t);
                            },
                            removeAllAttribs: (e) =>
                                P(e, (e) => {
                                    const t = e.attributes;
                                    for (let n = t.length - 1; n >= 0; n--) e.removeAttributeNode(t.item(n));
                                }),
                            setAttrib: b,
                            setAttribs: $,
                            getAttrib: g,
                            getPos: k,
                            parseStyle: (e) => c.parse(e),
                            serializeStyle: (e, t) => c.serialize(e, t),
                            addStyle: (t) => {
                                let r, o;
                                if (X !== Oi.DOM && e === document) {
                                    if (n[t]) return;
                                    n[t] = !0;
                                }
                                (o = e.getElementById("mceDefaultStyles")),
                                    o || ((o = e.createElement("style")), (o.id = "mceDefaultStyles"), (o.type = "text/css"), (r = e.getElementsByTagName("head")[0]), r.firstChild ? r.insertBefore(o, r.firstChild) : r.appendChild(o)),
                                    o.styleSheet ? (o.styleSheet.cssText += t) : o.appendChild(e.createTextNode(t));
                            },
                            loadCSS: (e) => {
                                e || (e = ""),
                                    V(e.split(","), (e) => {
                                        (o[e] = !0), s.load(e).catch(A);
                                    });
                            },
                            addClass: (e, t) => {
                                H(e, t, !0);
                            },
                            removeClass: (e, t) => {
                                H(e, t, !1);
                            },
                            hasClass: (e, t) => {
                                const n = p(e),
                                    r = t.split(" ");
                                return re(r, (e) => Yt(n, e));
                            },
                            toggleClass: H,
                            show: (e) => {
                                P(e, (e) => Pn(Qt.fromDom(e), "display"));
                            },
                            hide: (e) => {
                                P(e, (e) => Tn(Qt.fromDom(e), "display", "none"));
                            },
                            isHidden: (e) => {
                                const t = p(e);
                                return Ct(Rn(t, "display"), "none");
                            },
                            uniqueId: (e) => (e || "mce_") + i++,
                            setHTML: M,
                            getOuterHTML: (e) => {
                                const t = p(e);
                                return ir(t.dom)
                                    ? t.dom.outerHTML
                                    : ((e) => {
                                          const t = Qt.fromTag("div"),
                                              n = Qt.fromDom(e.dom.cloneNode(!0));
                                          return Bn(t, n), qn(t);
                                      })(t);
                            },
                            setOuterHTML: (e, t) => {
                                P(e, (e) => {
                                    ir(e) && (e.outerHTML = t);
                                });
                            },
                            decode: Zo.decode,
                            encode: j,
                            insertAfter: (e, t) => {
                                const n = f(t);
                                return P(e, (e) => {
                                    const t = n.parentNode,
                                        r = n.nextSibling;
                                    return r ? t.insertBefore(e, r) : t.appendChild(e), e;
                                });
                            },
                            replace: U,
                            rename: (e, t) => {
                                let n;
                                return (
                                    e.nodeName !== t.toUpperCase() &&
                                        ((n = B(t)),
                                        xi(y(e), (t) => {
                                            b(n, t.nodeName, g(e, t.nodeName));
                                        }),
                                        U(n, e, !0)),
                                    n || e
                                );
                            },
                            findCommonAncestor: (e, t) => {
                                let n,
                                    r = e;
                                for (; 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;
                            },
                            run: P,
                            getAttribs: y,
                            isEmpty: (e, t) => {
                                let n,
                                    r,
                                    o = 0;
                                if (q(e)) return !1;
                                if ((e = e.firstChild)) {
                                    const i = new Br(e, e.parentNode),
                                        s = l ? l.getWhitespaceElements() : {};
                                    t = t || (l ? l.getNonEmptyElements() : null);
                                    do {
                                        if (((n = e.nodeType), ir(e))) {
                                            const n = e.getAttribute("data-mce-bogus");
                                            if (n) {
                                                e = i.next("all" === n);
                                                continue;
                                            }
                                            if (((r = e.nodeName.toLowerCase()), t && t[r])) {
                                                if ("br" === r) {
                                                    o++, (e = i.next());
                                                    continue;
                                                }
                                                return !1;
                                            }
                                            if (q(e)) return !1;
                                        }
                                        if (8 === n) return !1;
                                        if (3 === n && !ko(e.nodeValue)) return !1;
                                        if (3 === n && e.parentNode && s[e.parentNode.nodeName] && ko(e.nodeValue)) return !1;
                                        e = i.next();
                                    } while (e);
                                }
                                return o <= 1;
                            },
                            createRng: W,
                            nodeIndex: Si,
                            split: (e, t, n) => {
                                let r,
                                    o,
                                    i,
                                    s = W();
                                if (e && t)
                                    return (
                                        s.setStart(e.parentNode, Si(e)),
                                        s.setEnd(t.parentNode, Si(t)),
                                        (r = s.extractContents()),
                                        (s = W()),
                                        s.setStart(t.parentNode, Si(t) + 1),
                                        s.setEnd(e.parentNode, Si(e) + 1),
                                        (o = s.extractContents()),
                                        (i = e.parentNode),
                                        i.insertBefore(jo(X, r), e),
                                        n ? i.insertBefore(n, e) : i.insertBefore(t, e),
                                        i.insertBefore(jo(X, o), e),
                                        F(e),
                                        n || t
                                    );
                            },
                            bind: K,
                            unbind: G,
                            fire: (e, t, n) => u.dispatch(e, t, n),
                            dispatch: (e, t, n) => u.dispatch(e, t, n),
                            getContentEditable: Y,
                            getContentEditableParent: (e) => {
                                const t = _();
                                let n = null;
                                for (; e && e !== t && ((n = Y(e)), null === n); e = e.parentNode);
                                return n;
                            },
                            destroy: () => {
                                if (a.length > 0) {
                                    let e = a.length;
                                    for (; e--; ) {
                                        const t = a[e];
                                        u.unbind(t[0], t[1], t[2]);
                                    }
                                }
                                me(o, (e, t) => {
                                    s.unload(t), delete o[t];
                                });
                            },
                            isChildOf: (e, t) => e === t || t.contains(e),
                            dumpRng: (e) => "startContainer: " + e.startContainer.nodeName + ", startOffset: " + e.startOffset + ", endContainer: " + e.endContainer.nodeName + ", endOffset: " + e.endOffset,
                        },
                        J = ((e, t, n) => {
                            const r = t.keep_values,
                                o = {
                                    set: (e, r, o) => {
                                        const i = Qt.fromDom(e);
                                        x(t.url_converter) && C(r) && (r = t.url_converter.call(t.url_converter_scope || n(), r, o, e[0]));
                                        ki(i, "data-mce-" + o, r), ki(i, o, r);
                                    },
                                    get: (e, t) => {
                                        const n = Qt.fromDom(e);
                                        return $t(n, "data-mce-" + t) || $t(n, t);
                                    },
                                },
                                i = {
                                    style: {
                                        set: (t, n) => {
                                            const o = Qt.fromDom(t);
                                            m(n) ? Nn(o, n) : (r && ki(o, "data-mce-style", n), Bt(o, "style"), h(n) && Nn(o, e.parse(n)));
                                        },
                                        get: (t) => {
                                            const n = Qt.fromDom(t),
                                                r = $t(n, "data-mce-style") || $t(n, "style");
                                            return e.serialize(e.parse(r), kt(n));
                                        },
                                    },
                                };
                            return r && (i.href = i.src = o), i;
                        })(c, t, N(X));
                    return X;
                };
            (Oi.DOM = Oi(document)), (Oi.nodeIndex = Si);
            const Di = Oi.DOM;
            class Ri {
                constructor(e = {}) {
                    (this.states = {}), (this.queue = []), (this.scriptLoadedCallbacks = {}), (this.queueLoadedCallbacks = []), (this.loading = !1), (this.settings = e);
                }
                _setReferrerPolicy(e) {
                    this.settings.referrerPolicy = e;
                }
                loadScript(e) {
                    return new Promise((t, n) => {
                        const r = Di;
                        let o;
                        const i = () => {
                                r.remove(s), o && (o.onerror = o.onload = o = null);
                            },
                            s = r.uniqueId();
                        (o = document.createElement("script")),
                            (o.id = s),
                            (o.type = "text/javascript"),
                            (o.src = wt._addCacheSuffix(e)),
                            this.settings.referrerPolicy && r.setAttrib(o, "referrerpolicy", this.settings.referrerPolicy),
                            (o.onload = () => {
                                i(), t();
                            }),
                            (o.onerror = () => {
                                i(), n("Failed to load script: " + e);
                            }),
                            (document.getElementsByTagName("head")[0] || document.body).appendChild(o);
                    });
                }
                isDone(e) {
                    return 2 === this.states[e];
                }
                markDone(e) {
                    this.states[e] = 2;
                }
                add(e) {
                    const t = this;
                    t.queue.push(e);
                    return (
                        void 0 === t.states[e] && (t.states[e] = 0),
                        new Promise((n, r) => {
                            t.scriptLoadedCallbacks[e] || (t.scriptLoadedCallbacks[e] = []), t.scriptLoadedCallbacks[e].push({ resolve: n, reject: r });
                        })
                    );
                }
                load(e) {
                    return this.add(e);
                }
                remove(e) {
                    delete this.states[e], delete this.scriptLoadedCallbacks[e];
                }
                loadQueue() {
                    const e = this.queue;
                    return (this.queue = []), this.loadScripts(e);
                }
                loadScripts(e) {
                    const t = this,
                        n = (e, n) => {
                            xe(t.scriptLoadedCallbacks, n).each((t) => {
                                V(t, (t) => t[e](n));
                            }),
                                delete t.scriptLoadedCallbacks[n];
                        },
                        r = (e) => {
                            const t = Y(e, (e) => "rejected" === e.status);
                            return t.length > 0 ? Promise.reject(ne(t, ({ reason: e }) => (v(e) ? e : [e]))) : Promise.resolve();
                        },
                        o = (e) =>
                            Promise.allSettled(
                                W(e, (e) =>
                                    2 === t.states[e]
                                        ? (n("resolve", e), Promise.resolve())
                                        : 3 === t.states[e]
                                        ? (n("reject", e), Promise.reject(e))
                                        : ((t.states[e] = 1),
                                          t.loadScript(e).then(
                                              () => {
                                                  (t.states[e] = 2), n("resolve", e);
                                                  const i = t.queue;
                                                  if (i.length > 0) return (t.queue = []), o(i).then(r);
                                              },
                                              () => ((t.states[e] = 3), n("reject", e), Promise.reject(e))
                                          ))
                                )
                            ),
                        i = (e) => (
                            (t.loading = !0),
                            o(e).then((e) => {
                                t.loading = !1;
                                const n = t.queueLoadedCallbacks.shift();
                                return B.from(n).each($), r(e);
                            })
                        ),
                        s = Ae(e);
                    return t.loading
                        ? new Promise((e, n) => {
                              t.queueLoadedCallbacks.push(() => i(s).then(e, n));
                          })
                        : i(s);
                }
            }
            Ri.ScriptLoader = new Ri();
            const Li = (e) => {
                    let t = e;
                    return {
                        get: () => t,
                        set: (e) => {
                            t = e;
                        },
                    };
                },
                Pi = {},
                $i = Li("en"),
                Mi = () => xe(Pi, $i.get()),
                Ii = {
                    getData: () => ge(Pi, (e) => ({ ...e })),
                    setCode: (e) => {
                        e && $i.set(e);
                    },
                    getCode: () => $i.get(),
                    add: (e, t) => {
                        let n = Pi[e];
                        n || (Pi[e] = n = {}),
                            me(t, (e, t) => {
                                n[t.toLowerCase()] = e;
                            });
                    },
                    translate: (e) => {
                        const t = Mi().getOr({}),
                            n = (e) => (x(e) ? Object.prototype.toString.call(e) : r(e) ? "" : "" + e),
                            r = (e) => "" === e || null == e,
                            o = (e) => {
                                const r = n(e);
                                return xe(t, r.toLowerCase()).map(n).getOr(r);
                            },
                            i = (e) => e.replace(/{context:\w+}$/, "");
                        if (r(e)) return "";
                        if (m((s = e)) && Ee(s, "raw")) return n(e.raw);
                        var s;
                        if (((e) => v(e) && e.length > 1)(e)) {
                            const t = e.slice(1);
                            return i(o(e[0]).replace(/\{([0-9]+)\}/g, (e, r) => (Ee(t, r) ? n(t[r]) : e)));
                        }
                        return i(o(e));
                    },
                    isRtl: () =>
                        Mi()
                            .bind((e) => xe(e, "_dir"))
                            .exists((e) => "rtl" === e),
                    hasCode: (e) => Ee(Pi, e),
                },
                Bi = () => {
                    const e = [],
                        t = {},
                        n = {},
                        r = [],
                        o = (e, t) => {
                            const n = Y(r, (n) => n.name === e && n.state === t);
                            V(n, (e) => e.resolve());
                        },
                        i = (e) => Ee(t, e),
                        s = (e, n) => {
                            const r = Ii.getCode();
                            !r || (n && -1 === ("," + (n || "") + ",").indexOf("," + r + ",")) || Ri.ScriptLoader.add(t[e] + "/langs/" + r + ".js");
                        },
                        a = (e, t = "added") =>
                            ("added" === t && ((e) => Ee(n, e))(e)) || ("loaded" === t && i(e))
                                ? Promise.resolve()
                                : new Promise((n) => {
                                      r.push({ name: e, state: t, resolve: n });
                                  });
                    return {
                        items: e,
                        urls: t,
                        lookup: n,
                        get: (e) => {
                            if (n[e]) return n[e].instance;
                        },
                        requireLangPack: (e, t) => {
                            !1 !== Bi.languageLoad && (i(e) ? s(e, t) : a(e, "loaded").then(() => s(e, t)));
                        },
                        add: (t, r) => (e.push(r), (n[t] = { instance: r }), o(t, "added"), r),
                        remove: (e) => {
                            delete t[e], delete n[e];
                        },
                        createUrl: (e, t) => (h(t) ? (h(e) ? { prefix: "", resource: t, suffix: "" } : { prefix: e.prefix, resource: t, suffix: e.suffix }) : t),
                        load: (e, r) => {
                            if (t[e]) return Promise.resolve();
                            let i = h(r) ? r : r.prefix + r.resource + r.suffix;
                            0 !== i.indexOf("/") && -1 === i.indexOf("://") && (i = Bi.baseURL + "/" + i), (t[e] = i.substring(0, i.lastIndexOf("/")));
                            const s = () => (o(e, "loaded"), Promise.resolve());
                            return n[e] ? s() : Ri.ScriptLoader.add(i).then(s);
                        },
                        waitFor: a,
                    };
                };
            (Bi.languageLoad = !0), (Bi.baseURL = ""), (Bi.PluginManager = Bi()), (Bi.ThemeManager = Bi()), (Bi.ModelManager = Bi());
            const ji = () => {
                    const e = ((e) => {
                        const t = Li(B.none()),
                            n = () => t.get().each(e);
                        return {
                            clear: () => {
                                n(), t.set(B.none());
                            },
                            isSet: () => t.get().isSome(),
                            get: () => t.get(),
                            set: (e) => {
                                n(), t.set(B.some(e));
                            },
                        };
                    })(A);
                    return { ...e, on: (t) => e.get().each(t) };
                },
                Fi = (e, t) => {
                    let n = null;
                    return {
                        cancel: () => {
                            y(n) || (clearTimeout(n), (n = null));
                        },
                        throttle: (...r) => {
                            y(n) &&
                                (n = setTimeout(() => {
                                    (n = null), e.apply(null, r);
                                }, t));
                        },
                    };
                },
                Hi = (e, t) => {
                    let n = null;
                    const r = () => {
                        y(n) || (clearTimeout(n), (n = null));
                    };
                    return {
                        cancel: r,
                        throttle: (...o) => {
                            r(),
                                (n = setTimeout(() => {
                                    (n = null), e.apply(null, o);
                                }, t));
                        },
                    };
                },
                Ui = (e, t) => {
                    let n = [];
                    return (
                        V(pn(e), (e) => {
                            t(e) && (n = n.concat([e])), (n = n.concat(Ui(e, t)));
                        }),
                        n
                    );
                },
                qi = (e, t) =>
                    ((e, t) => {
                        const n = void 0 === t ? document : t.dom;
                        return tn(n) ? [] : W(n.querySelectorAll(e), Qt.fromDom);
                    })(t, e),
                zi = N("mce-annotation"),
                Wi = N("data-mce-annotation"),
                Vi = N("data-mce-annotation-uid"),
                Ki = N("data-mce-annotation-active"),
                Gi = (e, t) => {
                    const n = e.selection.getRng(),
                        r = Qt.fromDom(n.startContainer),
                        o = Qt.fromDom(e.getBody()),
                        i = t.fold(
                            () => "." + zi(),
                            (e) => `[${Wi()}="${e}"]`
                        ),
                        s = hn(r, n.startOffset).getOr(r),
                        a = $r(s, i, (e) => nn(e, o)),
                        l = (e, t) => (It(e, t) ? B.some($t(e, t)) : B.none());
                    return a.bind((t) =>
                        l(t, "" + Vi()).bind((n) =>
                            l(t, "" + Wi()).map((t) => {
                                const r = Yi(e, n);
                                return { uid: n, name: t, elements: r };
                            })
                        )
                    );
                },
                Yi = (e, t) => {
                    const n = Qt.fromDom(e.getBody());
                    return qi(n, `[${Vi()}="${t}"]`);
                },
                Xi = (e, t) => {
                    const n = Qt.fromDom(e.getBody()),
                        r = qi(n, `[${Wi()}="${t}"]`),
                        o = {};
                    return (
                        V(r, (e) => {
                            const t = $t(e, Vi()),
                                n = xe(o, t).getOr([]);
                            o[t] = n.concat([e]);
                        }),
                        o
                    );
                },
                Ji = (e, t) => {
                    const n = Li({}),
                        r = () => ({ listeners: [], previous: ji() }),
                        o = (e, t) => {
                            i(e, (e) => (t(e), e));
                        },
                        i = (e, t) => {
                            const o = n.get(),
                                i = t(xe(o, e).getOrThunk(r));
                            (o[e] = i), n.set(o);
                        },
                        s = (t, n) => {
                            V(Yi(e, t), (e) => {
                                n ? Lt(e, Ki(), "true") : Bt(e, Ki());
                            });
                        },
                        a = Hi(() => {
                            const n = ae(t.getNames());
                            V(n, (t) => {
                                i(t, (n) => {
                                    const r = n.previous.get();
                                    return (
                                        Gi(e, B.some(t)).fold(
                                            () => {
                                                r.each((e) => {
                                                    ((e) => {
                                                        o(e, (t) => {
                                                            V(t.listeners, (t) => t(!1, e));
                                                        });
                                                    })(t),
                                                        n.previous.clear(),
                                                        s(e, !1);
                                                });
                                            },
                                            ({ uid: e, name: t, elements: i }) => {
                                                Ct(r, e) ||
                                                    (r.each((e) => s(e, !1)),
                                                    ((e, t, n) => {
                                                        o(e, (r) => {
                                                            V(r.listeners, (r) => r(!0, e, { uid: t, nodes: W(n, (e) => e.dom) }));
                                                        });
                                                    })(t, e, i),
                                                    n.previous.set(e),
                                                    s(e, !0));
                                            }
                                        ),
                                        { previous: n.previous, listeners: n.listeners }
                                    );
                                });
                            });
                        }, 30);
                    e.on("remove", () => {
                        a.cancel();
                    }),
                        e.on("NodeChange", () => {
                            a.throttle();
                        });
                    return {
                        addListener: (e, t) => {
                            i(e, (e) => ({ previous: e.previous, listeners: e.listeners.concat([t]) }));
                        },
                    };
                },
                Qi = (e, t) => {
                    e.serializer.addTempAttr(Ki()),
                        e.serializer.addNodeFilter("span", (e) => {
                            V(e, (e) => {
                                ((e) => B.from(e.attr(Wi())).bind(t.lookup))(e).each((t) => {
                                    !1 === t.persistent && e.unwrap();
                                });
                            });
                        });
                };
            let Zi = 0;
            const es = (e) => {
                    const t = new Date().getTime(),
                        n = Math.floor(1e9 * Math.random());
                    return Zi++, e + "_" + n + Zi + String(t);
                },
                ts = (e, t) => Qt.fromDom(e.dom.cloneNode(t)),
                ns = (e) => ts(e, !1),
                rs = (e) => ts(e, !0),
                os = (e, t) => {
                    const n = ((e, t) => {
                        const n = Qt.fromTag(t),
                            r = jt(e);
                        return Pt(n, r), n;
                    })(e, t);
                    Mn(e, n);
                    const r = pn(e);
                    return jn(n, r), Hn(e), n;
                },
                is = (e, t, n = M) => {
                    const r = new Br(e, t),
                        o = (e) => {
                            let t;
                            do {
                                t = r[e]();
                            } while (t && !pr(t) && !n(t));
                            return B.from(t).filter(pr);
                        };
                    return { current: () => B.from(r.current()).filter(pr), next: () => o("next"), prev: () => o("prev"), prev2: () => o("prev2") };
                },
                ss = (e, t) => {
                    const n = t || ((t) => e.isBlock(t) || br(t) || Cr(t)),
                        r = (e, t, n, o) => {
                            if (pr(e)) {
                                const n = o(e, t, e.data);
                                if (-1 !== n) return B.some({ container: e, offset: n });
                            }
                            return n().bind((e) => r(e.container, e.offset, n, o));
                        };
                    return {
                        backwards: (e, t, o, i) => {
                            const s = is(e, i, n);
                            return r(e, t, () => s.prev().map((e) => ({ container: e, offset: e.length })), o).getOrNull();
                        },
                        forwards: (e, t, o, i) => {
                            const s = is(e, i, n);
                            return r(e, t, () => s.next().map((e) => ({ container: e, offset: 0 })), o).getOrNull();
                        },
                    };
                },
                as = Math.round,
                ls = (e) => (e ? { left: as(e.left), top: as(e.top), bottom: as(e.bottom), right: as(e.right), width: as(e.width), height: as(e.height) } : { left: 0, top: 0, bottom: 0, right: 0, width: 0, height: 0 }),
                cs = (e, t) => ((e = ls(e)), t || (e.left = e.left + e.width), (e.right = e.left), (e.width = 0), e),
                us = (e, t, n) => e >= 0 && e <= Math.min(t.height, n.height) / 2,
                ds = (e, t) => {
                    const n = Math.min(t.height / 2, e.height / 2);
                    return e.bottom - n < t.top || (!(e.top > t.bottom) && us(t.top - e.bottom, e, t));
                },
                fs = (e, t) => e.top > t.bottom || (!(e.bottom < t.top) && us(t.bottom - e.top, e, t)),
                ps = (e, t, n) => {
                    const r = Math.max(Math.min(t, e.left + e.width), e.left),
                        o = Math.max(Math.min(n, e.top + e.height), e.top);
                    return Math.sqrt((t - r) * (t - r) + (n - o) * (n - o));
                },
                hs = (e) => {
                    const t = e.startContainer,
                        n = e.startOffset;
                    return t.hasChildNodes() && e.endOffset === n + 1 ? t.childNodes[n] : null;
                },
                ms = (e, t) => {
                    if (ir(e) && e.hasChildNodes()) {
                        const n = e.childNodes;
                        return n[((e, t, n) => Math.min(Math.max(e, t), n))(t, 0, n.length - 1)];
                    }
                    return e;
                },
                gs = new RegExp(
                    "[̀-ͯ҃-҇҈-҉֑-ֽֿׁ-ׂׄ-ׇׅؐ-ًؚ-ٰٟۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣣ-ंऺ़ु-ै्॑-ॗॢ-ॣঁ়াু-ৄ্ৗৢ-ৣਁ-ਂ਼ੁ-ੂੇ-ੈੋ-੍ੑੰ-ੱੵઁ-ં઼ુ-ૅે-ૈ્ૢ-ૣଁ଼ାିୁ-ୄ୍ୖୗୢ-ୣஂாீ்ௗఀా-ీె-ైొ-్ౕ-ౖౢ-ౣಁ಼ಿೂೆೌ-್ೕ-ೖೢ-ೣഁാു-ൄ്ൗൢ-ൣ්ාි-ුූෟัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-ཱ༹༙༵༷-ཾྀ-྄྆-྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္-်ွ-ှၘ-ၙၞ-ၠၱ-ၴႂႅ-ႆႍႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳ឴-឵ិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧ-ᤨᤲ᤹-᤻ᨗ-ᨘᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽᪾ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀ-ᮁᮢ-ᮥᮨ-ᮩ᮫-ᮭ᯦ᯨ-ᯩᯭᯯ-ᯱᰬ-ᰳᰶ-᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸-᳹᷀-᷵᷼-᷿‌-‍⃐-⃜⃝-⃠⃡⃢-⃤⃥-⃰⳯-⵿⳱ⷠ-〪ⷿ-〭〮-゙〯-゚꙯꙰-꙲ꙴ-꙽ꚞ-ꚟ꛰-꛱ꠂ꠆ꠋꠥ-ꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꧥꨩ-ꨮꨱ-ꨲꨵ-ꨶꩃꩌꩼꪰꪲ-ꪴꪷ-ꪸꪾ-꪿꫁ꫬ-ꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯ﾞ-ﾟ]"
                ),
                vs = (e) => "string" == typeof e && e.charCodeAt(0) >= 768 && gs.test(e),
                ys = ir,
                bs = wo,
                _s = ar("display", "block table"),
                ws = ar("float", "left right"),
                Cs = ((...e) => (t) => {
                    for (let n = 0; n < e.length; n++) if (!e[n](t)) return !1;
                    return !0;
                })(ys, bs, L(ws)),
                xs = L(ar("white-space", "pre pre-line pre-wrap")),
                Es = pr,
                ks = br,
                As = Oi.nodeIndex,
                Ss = (e, t) => (t < 0 && ir(e) && e.hasChildNodes() ? void 0 : ms(e, t)),
                Ts = (e) => ("createRange" in e ? e.createRange() : Oi.DOM.createRng()),
                Ns = (e) => e && /[\r\n\t ]/.test(e),
                Os = (e) => !!e.setStart && !!e.setEnd,
                Ds = (e) => {
                    const t = e.startContainer,
                        n = e.startOffset;
                    if (Ns(e.toString()) && xs(t.parentNode) && pr(t)) {
                        const e = t.data;
                        if (Ns(e[n - 1]) || Ns(e[n + 1])) return !0;
                    }
                    return !1;
                },
                Rs = (e) => 0 === e.left && 0 === e.right && 0 === e.top && 0 === e.bottom,
                Ls = (e) => {
                    let t;
                    const n = e.getClientRects();
                    return (
                        (t = n.length > 0 ? ls(n[0]) : ls(e.getBoundingClientRect())),
                        !Os(e) && ks(e) && Rs(t)
                            ? ((e) => {
                                  const t = e.ownerDocument,
                                      n = Ts(t),
                                      r = t.createTextNode(" "),
                                      o = e.parentNode;
                                  o.insertBefore(r, e), n.setStart(r, 0), n.setEnd(r, 1);
                                  const i = ls(n.getBoundingClientRect());
                                  return o.removeChild(r), i;
                              })(e)
                            : Rs(t) && Os(e)
                            ? ((e) => {
                                  const t = e.startContainer,
                                      n = e.endContainer,
                                      r = e.startOffset,
                                      o = e.endOffset;
                                  if (t === n && pr(n) && 0 === r && 1 === o) {
                                      const t = e.cloneRange();
                                      return t.setEndAfter(n), Ls(t);
                                  }
                                  return null;
                              })(e)
                            : t
                    );
                },
                Ps = (e, t) => {
                    const n = cs(e, t);
                    return (n.width = 1), (n.right = n.left + 1), n;
                },
                $s = (e) => {
                    const t = [],
                        n = (e) => {
                            var n, r;
                            0 !== e.height && ((t.length > 0 && ((n = e), (r = t[t.length - 1]), n.left === r.left && n.top === r.top && n.bottom === r.bottom && n.right === r.right)) || t.push(e));
                        },
                        r = (e, r) => {
                            const o = Ts(e.ownerDocument);
                            if (r < e.data.length) {
                                if (vs(e.data[r])) return t;
                                if (vs(e.data[r - 1]) && (o.setStart(e, r), o.setEnd(e, r + 1), !Ds(o))) return n(Ps(Ls(o), !1)), t;
                            }
                            r > 0 && (o.setStart(e, r - 1), o.setEnd(e, r), Ds(o) || n(Ps(Ls(o), !1))), r < e.data.length && (o.setStart(e, r), o.setEnd(e, r + 1), Ds(o) || n(Ps(Ls(o), !0)));
                        },
                        o = e.container(),
                        i = e.offset();
                    if (Es(o)) return r(o, i), t;
                    if (ys(o))
                        if (e.isAtEnd()) {
                            const e = Ss(o, i);
                            Es(e) && r(e, e.data.length), Cs(e) && !ks(e) && n(Ps(Ls(e), !1));
                        } else {
                            const s = Ss(o, i);
                            if ((Es(s) && r(s, 0), Cs(s) && e.isAtEnd())) return n(Ps(Ls(s), !1)), t;
                            const a = Ss(e.container(), e.offset() - 1);
                            Cs(a) && !ks(a) && (_s(a) || _s(s) || !Cs(s)) && n(Ps(Ls(a), !1)), Cs(s) && n(Ps(Ls(s), !0));
                        }
                    return t;
                },
                Ms = (e, t, n) => {
                    const r = () => (n || (n = $s(Ms(e, t))), n);
                    return {
                        container: N(e),
                        offset: N(t),
                        toRange: () => {
                            const n = Ts(e.ownerDocument);
                            return n.setStart(e, t), n.setEnd(e, t), n;
                        },
                        getClientRects: r,
                        isVisible: () => r().length > 0,
                        isAtStart: () => (Es(e), 0 === t),
                        isAtEnd: () => (Es(e) ? t >= e.data.length : t >= e.childNodes.length),
                        isEqual: (n) => n && e === n.container() && t === n.offset(),
                        getNode: (n) => Ss(e, n ? t - 1 : t),
                    };
                };
            (Ms.fromRangeStart = (e) => Ms(e.startContainer, e.startOffset)),
                (Ms.fromRangeEnd = (e) => Ms(e.endContainer, e.endOffset)),
                (Ms.after = (e) => Ms(e.parentNode, As(e) + 1)),
                (Ms.before = (e) => Ms(e.parentNode, As(e))),
                (Ms.isAbove = (e, t) => xt(ce(t.getClientRects()), ue(e.getClientRects()), ds).getOr(!1)),
                (Ms.isBelow = (e, t) => xt(ue(t.getClientRects()), ce(e.getClientRects()), fs).getOr(!1)),
                (Ms.isAtStart = (e) => !!e && e.isAtStart()),
                (Ms.isAtEnd = (e) => !!e && e.isAtEnd()),
                (Ms.isTextPosition = (e) => !!e && pr(e.container())),
                (Ms.isElementPosition = (e) => !1 === Ms.isTextPosition(e));
            const Is = (e, t) => {
                    pr(t) && 0 === t.data.length && e.remove(t);
                },
                Bs = (e, t, n) => {
                    yr(n)
                        ? ((e, t, n) => {
                              const r = B.from(n.firstChild),
                                  o = B.from(n.lastChild);
                              t.insertNode(n), r.each((t) => Is(e, t.previousSibling)), o.each((t) => Is(e, t.nextSibling));
                          })(e, t, n)
                        : ((e, t, n) => {
                              t.insertNode(n), Is(e, n.previousSibling), Is(e, n.nextSibling);
                          })(e, t, n);
                },
                js = pr,
                Fs = cr,
                Hs = Oi.nodeIndex,
                Us = (e) => {
                    const t = e.parentNode;
                    return Fs(t) ? Us(t) : t;
                },
                qs = (e) => (e ? Re(e.childNodes, (e, t) => (Fs(t) && "BR" !== t.nodeName ? (e = e.concat(qs(t))) : e.push(t), e), []) : []),
                zs = (e) => (t) => e === t,
                Ws = (e) => {
                    let t;
                    return (
                        (t = js(e) ? "text()" : e.nodeName.toLowerCase()),
                        t +
                            "[" +
                            ((e) => {
                                let t, n;
                                (t = qs(Us(e))), (n = Le(t, zs(e), e)), (t = t.slice(0, n + 1));
                                const r = Re(t, (e, n, r) => (js(n) && js(t[r - 1]) && e++, e), 0);
                                return (t = Oe(t, sr([e.nodeName]))), (n = Le(t, zs(e), e)), n - r;
                            })(e) +
                            "]"
                    );
                },
                Vs = (e, t) => {
                    let n,
                        r,
                        o,
                        i,
                        s,
                        a = [];
                    return (
                        (n = t.container()),
                        (r = t.offset()),
                        js(n)
                            ? (o = ((e, t) => {
                                  for (; (e = e.previousSibling) && js(e); ) t += e.data.length;
                                  return t;
                              })(n, r))
                            : ((i = n.childNodes), r >= i.length ? ((o = "after"), (r = i.length - 1)) : (o = "before"), (n = i[r])),
                        a.push(Ws(n)),
                        (s = ((e, t, n) => {
                            const r = [];
                            for (t = t.parentNode; t !== e && (!n || !n(t)); t = t.parentNode) r.push(t);
                            return r;
                        })(e, n)),
                        (s = Oe(s, L(cr))),
                        (a = a.concat(Ne(s, (e) => Ws(e)))),
                        a.reverse().join("/") + "," + o
                    );
                },
                Ks = (e, t) => {
                    let n;
                    if (!t) return null;
                    const r = t.split(","),
                        o = r[0].split("/");
                    n = r.length > 1 ? r[1] : "before";
                    const i = Re(
                        o,
                        (e, t) => {
                            const n = /([\w\-\(\)]+)\[([0-9]+)\]/.exec(t);
                            return n
                                ? ("text()" === n[1] && (n[1] = "#text"),
                                  ((e, t, n) => {
                                      let r = qs(e);
                                      return (r = Oe(r, (e, t) => !js(e) || !js(r[t - 1]))), (r = Oe(r, sr([t]))), r[n];
                                  })(e, n[1], parseInt(n[2], 10)))
                                : null;
                        },
                        e
                    );
                    return i
                        ? js(i)
                            ? ((e, t) => {
                                  let n,
                                      r = e,
                                      o = 0;
                                  for (; js(r); ) {
                                      if (((n = r.data.length), t >= o && t <= o + n)) {
                                          (e = r), (t -= o);
                                          break;
                                      }
                                      if (!js(r.nextSibling)) {
                                          (e = r), (t = n);
                                          break;
                                      }
                                      (o += n), (r = r.nextSibling);
                                  }
                                  return js(e) && t > e.data.length && (t = e.data.length), Ms(e, t);
                              })(i, parseInt(n, 10))
                            : ((n = "after" === n ? Hs(i) + 1 : Hs(i)), Ms(i.parentNode, n))
                        : null;
                },
                Gs = Cr,
                Ys = (e, t, n, r, o) => {
                    let i = r[o ? "startContainer" : "endContainer"],
                        s = r[o ? "startOffset" : "endOffset"];
                    const a = [];
                    let l,
                        c = 0;
                    const u = e.getRoot();
                    for (
                        pr(i)
                            ? a.push(
                                  n
                                      ? ((e, t, n) => {
                                            let r, o;
                                            for (o = e(t.data.slice(0, n)).length, r = t.previousSibling; r && pr(r); r = r.previousSibling) o += e(r.data).length;
                                            return o;
                                        })(t, i, s)
                                      : s
                              )
                            : ((l = i.childNodes), s >= l.length && l.length && ((c = 1), (s = Math.max(0, l.length - 1))), a.push(e.nodeIndex(l[s], n) + c));
                        i && i !== u;
                        i = i.parentNode
                    )
                        a.push(e.nodeIndex(i, n));
                    return a;
                },
                Xs = (e, t, n) => {
                    let r = 0;
                    return (
                        wt.each(e.select(t), (e) => {
                            if ("all" !== e.getAttribute("data-mce-bogus")) return e !== n && void r++;
                        }),
                        r
                    );
                },
                Js = (e, t) => {
                    let n, r, o;
                    const i = t ? "start" : "end";
                    (n = e[i + "Container"]),
                        (r = e[i + "Offset"]),
                        ir(n) && "TR" === n.nodeName && ((o = n.childNodes), (n = o[Math.min(t ? r : r - 1, o.length - 1)]), n && ((r = t ? 0 : n.childNodes.length), e["set" + (t ? "Start" : "End")](n, r)));
                },
                Qs = (e) => (Js(e, !0), Js(e, !1), e),
                Zs = (e, t) => {
                    let n;
                    if (ir(e) && ((e = ms(e, t)), Gs(e))) return e;
                    if (ro(e)) {
                        if ((pr(e) && to(e) && (e = e.parentNode), (n = e.previousSibling), Gs(n))) return n;
                        if (((n = e.nextSibling), Gs(n))) return n;
                    }
                },
                ea = (e, t, n) => {
                    const r = n.getNode();
                    let o = r ? r.nodeName : null;
                    const i = n.getRng();
                    if (Gs(r) || "IMG" === o) return { name: o, index: Xs(n.dom, o, r) };
                    const s = ((e) => Zs(e.startContainer, e.startOffset) || Zs(e.endContainer, e.endOffset))(i);
                    return s
                        ? ((o = s.tagName), { name: o, index: Xs(n.dom, o, s) })
                        : ((e, t, n, r) => {
                              const o = t.dom,
                                  i = {};
                              return (i.start = Ys(o, e, n, r, !0)), t.isCollapsed() || (i.end = Ys(o, e, n, r, !1)), fo(r) && (i.isFakeCaret = !0), i;
                          })(e, n, t, i);
                },
                ta = (e, t, n) => {
                    const r = { "data-mce-type": "bookmark", id: t, style: "overflow:hidden;line-height:0px" };
                    return n ? e.create("span", r, "&#xFEFF;") : e.create("span", r);
                },
                na = (e, t) => {
                    const n = e.dom;
                    let r = e.getRng();
                    const o = n.uniqueId(),
                        i = e.isCollapsed(),
                        s = e.getNode(),
                        a = s.nodeName;
                    if ("IMG" === a) return { name: a, index: Xs(n, a, s) };
                    const l = Qs(r.cloneRange());
                    if (!i) {
                        l.collapse(!1);
                        const e = ta(n, o + "_end", t);
                        Bs(n, l, e);
                    }
                    (r = Qs(r)), r.collapse(!0);
                    const c = ta(n, o + "_start", t);
                    return Bs(n, r, c), e.moveToBookmark({ id: o, keep: !0 }), { id: o };
                },
                ra = (e, t, n) =>
                    2 === t
                        ? ea(Qr, n, e)
                        : 3 === t
                        ? ((e) => {
                              const t = e.getRng();
                              return { start: Vs(e.dom.getRoot(), Ms.fromRangeStart(t)), end: Vs(e.dom.getRoot(), Ms.fromRangeEnd(t)) };
                          })(e)
                        : t
                        ? ((e) => ({ rng: e.getRng() }))(e)
                        : na(e, !1),
                oa = R(ea, O, !0),
                ia = (e) => {
                    const t = (t) => t(e),
                        n = N(e),
                        r = () => o,
                        o = {
                            tag: !0,
                            inner: e,
                            fold: (t, n) => n(e),
                            isValue: I,
                            isError: M,
                            map: (t) => aa.value(t(e)),
                            mapError: r,
                            bind: t,
                            exists: t,
                            forall: t,
                            getOr: n,
                            or: r,
                            getOrThunk: n,
                            orThunk: r,
                            getOrDie: n,
                            each: (t) => {
                                t(e);
                            },
                            toOptional: () => B.some(e),
                        };
                    return o;
                },
                sa = (e) => {
                    const t = () => n,
                        n = {
                            tag: !1,
                            inner: e,
                            fold: (t, n) => t(e),
                            isValue: M,
                            isError: I,
                            map: t,
                            mapError: (t) => aa.error(t(e)),
                            bind: t,
                            exists: M,
                            forall: I,
                            getOr: O,
                            or: O,
                            getOrThunk: P,
                            orThunk: P,
                            getOrDie:
                                ((r = String(e)),
                                () => {
                                    throw new Error(r);
                                }),
                            each: A,
                            toOptional: B.none,
                        };
                    var r;
                    return n;
                },
                aa = { value: ia, error: sa, fromOption: (e, t) => e.fold(() => sa(t), ia) },
                la = (e) => {
                    if (!v(e)) throw new Error("cases must be an array");
                    if (0 === e.length) throw new Error("there must be at least one case");
                    const t = [],
                        n = {};
                    return (
                        V(e, (r, o) => {
                            const i = pe(r);
                            if (1 !== i.length) throw new Error("one and only one name per case");
                            const s = i[0],
                                a = r[s];
                            if (void 0 !== n[s]) throw new Error("duplicate key detected:" + s);
                            if ("cata" === s) throw new Error("cannot have a case named cata (sorry)");
                            if (!v(a)) throw new Error("case arguments must be an array");
                            t.push(s),
                                (n[s] = (...n) => {
                                    const r = n.length;
                                    if (r !== a.length) throw new Error("Wrong number of arguments to case " + s + ". Expected " + a.length + " (" + a + "), got " + r);
                                    return {
                                        fold: (...t) => {
                                            if (t.length !== e.length) throw new Error("Wrong number of arguments to fold. Expected " + e.length + ", got " + t.length);
                                            return t[o].apply(null, n);
                                        },
                                        match: (e) => {
                                            const r = pe(e);
                                            if (t.length !== r.length) throw new Error("Wrong number of arguments to match. Expected: " + t.join(",") + "\nActual: " + r.join(","));
                                            if (!re(t, (e) => q(r, e))) throw new Error("Not all branches were specified when using match. Specified: " + r.join(", ") + "\nRequired: " + t.join(", "));
                                            return e[s].apply(null, n);
                                        },
                                        log: (e) => {
                                            console.log(e, { constructors: t, constructor: s, params: n });
                                        },
                                    };
                                });
                        }),
                        n
                    );
                };
            la([{ bothErrors: ["error1", "error2"] }, { firstError: ["error1", "value2"] }, { secondError: ["value1", "error2"] }, { bothValues: ["value1", "value2"] }]);
            const ca = (e) => "inline-command" === e.type || "inline-format" === e.type,
                ua = (e) => "block-command" === e.type || "block-format" === e.type,
                da = (e) => {
                    const t = (t) => aa.error({ message: t, pattern: e }),
                        n = (n, r, o) => {
                            if (void 0 !== e.format) {
                                let o;
                                if (v(e.format)) {
                                    if (!re(e.format, h)) return t(n + " pattern has non-string items in the `format` array");
                                    o = e.format;
                                } else {
                                    if (!h(e.format)) return t(n + " pattern has non-string `format` parameter");
                                    o = [e.format];
                                }
                                return aa.value(r(o));
                            }
                            return void 0 !== e.cmd ? (h(e.cmd) ? aa.value(o(e.cmd, e.value)) : t(n + " pattern has non-string `cmd` parameter")) : t(n + " pattern is missing both `format` and `cmd` parameters");
                        };
                    if (!m(e)) return t("Raw pattern is not an object");
                    if (!h(e.start)) return t("Raw pattern is missing `start` parameter");
                    if (void 0 !== e.end) {
                        if (!h(e.end)) return t("Inline pattern has non-string `end` parameter");
                        if (0 === e.start.length && 0 === e.end.length) return t("Inline pattern has empty `start` and `end` parameters");
                        let r = e.start,
                            o = e.end;
                        return (
                            0 === o.length && ((o = r), (r = "")),
                            n(
                                "Inline",
                                (e) => ({ type: "inline-format", start: r, end: o, format: e }),
                                (e, t) => ({ type: "inline-command", start: r, end: o, cmd: e, value: t })
                            )
                        );
                    }
                    return void 0 !== e.replacement
                        ? h(e.replacement)
                            ? 0 === e.start.length
                                ? t("Replacement pattern has empty `start` parameter")
                                : aa.value({ type: "inline-command", start: "", end: e.start, cmd: "mceInsertContent", value: e.replacement })
                            : t("Replacement pattern has non-string `replacement` parameter")
                        : 0 === e.start.length
                        ? t("Block pattern has empty `start` parameter")
                        : n(
                              "Block",
                              (t) => ({ type: "block-format", start: e.start, format: t[0] }),
                              (t, n) => ({ type: "block-command", start: e.start, cmd: t, value: n })
                          );
                },
                fa = (e) => ((e) => ae(e, (e, t) => (e.start.length === t.start.length ? 0 : e.start.length > t.start.length ? -1 : 1)))(Y(e, ua)),
                pa = (e) => Y(e, ca),
                ha = (e) => {
                    const t = ((e) => {
                        const t = [],
                            n = [];
                        return (
                            V(e, (e) => {
                                e.fold(
                                    (e) => {
                                        t.push(e);
                                    },
                                    (e) => {
                                        n.push(e);
                                    }
                                );
                            }),
                            { errors: t, values: n }
                        );
                    })(W(e, da));
                    return V(t.errors, (e) => console.error(e.message, e.pattern)), t.values;
                },
                ma = ct().deviceType,
                ga = ma.isTouch(),
                va = Oi.DOM,
                ya = (e) => p(e, RegExp),
                ba = (e) => (t) => t.options.get(e),
                _a = (e) => h(e) || m(e),
                wa = (e, t = "") => (n) => {
                    const r = h(n);
                    if (r) {
                        if (-1 !== n.indexOf("=")) {
                            const o = ((e) => {
                                const t = e.indexOf("=") > 0 ? e.split(/[;,](?![^=;,]*(?:[;,]|$))/) : e.split(",");
                                return J(
                                    t,
                                    (e, t) => {
                                        const n = t.split("="),
                                            r = n[0],
                                            o = n.length > 1 ? n[1] : r;
                                        return (e[We(r)] = We(o)), e;
                                    },
                                    {}
                                );
                            })(n);
                            return { value: xe(o, e.id).getOr(t), valid: r };
                        }
                        return { value: n, valid: r };
                    }
                    return { valid: !1, message: "Must be a string." };
                },
                Ca = ba("iframe_attrs"),
                xa = ba("doctype"),
                Ea = ba("document_base_url"),
                ka = ba("body_id"),
                Aa = ba("body_class"),
                Sa = ba("content_security_policy"),
                Ta = ba("br_in_pre"),
                Na = ba("forced_root_block"),
                Oa = ba("forced_root_block_attrs"),
                Da = ba("br_newline_selector"),
                Ra = ba("no_newline_selector"),
                La = ba("keep_styles"),
                Pa = ba("end_container_on_empty_block"),
                $a = ba("automatic_uploads"),
                Ma = ba("images_reuse_filename"),
                Ia = ba("images_replace_blob_uris"),
                Ba = ba("icons"),
                ja = ba("icons_url"),
                Fa = ba("images_upload_url"),
                Ha = ba("images_upload_base_path"),
                Ua = ba("images_upload_credentials"),
                qa = ba("images_upload_handler"),
                za = ba("content_css_cors"),
                Wa = ba("referrer_policy"),
                Va = ba("language"),
                Ka = ba("language_url"),
                Ga = ba("indent_use_margin"),
                Ya = ba("indentation"),
                Xa = ba("content_css"),
                Ja = ba("content_style"),
                Qa = ba("font_css"),
                Za = ba("directionality"),
                el = ba("inline_boundaries_selector"),
                tl = ba("object_resizing"),
                nl = ba("resize_img_proportional"),
                rl = ba("placeholder"),
                ol = ba("event_root"),
                il = ba("service_message"),
                sl = ba("theme"),
                al = ba("theme_url"),
                ll = ba("model"),
                cl = ba("model_url"),
                ul = ba("inline_boundaries"),
                dl = ba("formats"),
                fl = ba("preview_styles"),
                pl = ba("format_empty_lines"),
                hl = ba("custom_ui_selector"),
                ml = ba("inline"),
                gl = ba("hidden_input"),
                vl = ba("submit_patch"),
                yl = ba("add_form_submit_trigger"),
                bl = ba("add_unload_trigger"),
                _l = ba("custom_undo_redo_levels"),
                wl = ba("disable_nodechange"),
                Cl = ba("readonly"),
                xl = ba("content_css_cors"),
                El = ba("plugins"),
                kl = ba("external_plugins"),
                Al = ba("block_unsupported_drop"),
                Sl = ba("visual"),
                Tl = ba("visual_table_class"),
                Nl = ba("visual_anchor_class"),
                Ol = ba("iframe_aria_text"),
                Dl = ba("setup"),
                Rl = ba("init_instance_callback"),
                Ll = ba("urlconverter_callback"),
                Pl = ba("auto_focus"),
                $l = ba("browser_spellcheck"),
                Ml = ba("protect"),
                Il = ba("paste_block_drop"),
                Bl = ba("paste_data_images"),
                jl = ba("paste_preprocess"),
                Fl = ba("paste_postprocess"),
                Hl = ba("paste_webkit_styles"),
                Ul = ba("paste_remove_styles_if_webkit"),
                ql = ba("paste_merge_formats"),
                zl = ba("smart_paste"),
                Wl = ba("paste_as_text"),
                Vl = ba("paste_tab_spaces"),
                Kl = ba("allow_html_data_urls"),
                Gl = ba("text_patterns"),
                Yl = ba("noneditable_class"),
                Xl = ba("editable_class"),
                Jl = ba("noneditable_regexp"),
                Ql = (e) => wt.explode(e.options.get("images_file_types")),
                Zl = ba("table_tab_navigation"),
                ec = ir,
                tc = pr,
                nc = (e) => {
                    const t = e.parentNode;
                    t && t.removeChild(e);
                },
                rc = (e) => {
                    const t = Qr(e);
                    return { count: e.length - t.length, text: t };
                },
                oc = (e) => {
                    let t;
                    for (; -1 !== (t = e.data.lastIndexOf("\ufeff")); ) e.deleteData(t, 1);
                },
                ic = (e, t) => (cc(e), t),
                sc = (e, t) => {
                    const n = t.container(),
                        r = ((e, t) => {
                            const n = U(e, t);
                            return -1 === n ? B.none() : B.some(n);
                        })(de(n.childNodes), e)
                            .map((e) => (e < t.offset() ? Ms(n, t.offset() - 1) : t))
                            .getOr(t);
                    return cc(e), r;
                },
                ac = (e, t) =>
                    tc(e) && t.container() === e
                        ? ((e, t) => {
                              const n = rc(e.data.substr(0, t.offset())),
                                  r = rc(e.data.substr(t.offset()));
                              return (n.text + r.text).length > 0 ? (oc(e), Ms(e, t.offset() - n.count)) : t;
                          })(e, t)
                        : ic(e, t),
                lc = (e, t) => (Ms.isTextPosition(t) ? ac(e, t) : ((e, t) => (t.container() === e.parentNode ? sc(e, t) : ic(e, t)))(e, t)),
                cc = (e) => {
                    ec(e) && ro(e) && (oo(e) ? e.removeAttribute("data-mce-caret") : nc(e)), tc(e) && (oc(e), 0 === e.data.length && nc(e));
                },
                uc = Cr,
                dc = Er,
                fc = xr,
                pc = (e, t, n) => {
                    const r = cs(t.getBoundingClientRect(), n);
                    let o, i;
                    if ("BODY" === e.tagName) {
                        const t = e.ownerDocument.documentElement;
                        (o = e.scrollLeft || t.scrollLeft), (i = e.scrollTop || t.scrollTop);
                    } else {
                        const t = e.getBoundingClientRect();
                        (o = e.scrollLeft - t.left), (i = e.scrollTop - t.top);
                    }
                    (r.left += o), (r.right += o), (r.top += i), (r.bottom += i), (r.width = 1);
                    let s = t.offsetWidth - t.clientWidth;
                    return s > 0 && (n && (s *= -1), (r.left += s), (r.right += s)), r;
                },
                hc = (e, t, n, r) => {
                    const o = ji();
                    let i, s;
                    const a = Na(e),
                        l = e.dom,
                        c = () => {
                            ((e) => {
                                const t = qi(Qt.fromDom(e), "*[contentEditable=false],video,audio,embed,object");
                                for (let e = 0; e < t.length; e++) {
                                    const n = t[e].dom;
                                    let r = n.previousSibling;
                                    if (co(r)) {
                                        const e = r.data;
                                        1 === e.length ? r.parentNode.removeChild(r) : r.deleteData(e.length - 1, 1);
                                    }
                                    if (((r = n.nextSibling), lo(r))) {
                                        1 === r.data.length ? r.parentNode.removeChild(r) : r.deleteData(0, 1);
                                    }
                                }
                            })(t),
                                s && (cc(s), (s = null)),
                                o.on((e) => {
                                    l.remove(e.caret), o.clear();
                                }),
                                i && (clearInterval(i), (i = void 0));
                        },
                        u = () => {
                            i = setInterval(() => {
                                o.on((e) => {
                                    r() ? l.toggleClass(e.caret, "mce-visual-caret-hidden") : l.addClass(e.caret, "mce-visual-caret-hidden");
                                });
                            }, 500);
                        };
                    return {
                        show: (e, r) => {
                            let i;
                            if ((c(), fc(r))) return null;
                            if (!n(r))
                                return (
                                    (s = ((e, t) => {
                                        const n = e.ownerDocument.createTextNode("\ufeff"),
                                            r = e.parentNode;
                                        if (t) {
                                            const t = e.previousSibling;
                                            if (eo(t)) {
                                                if (ro(t)) return t;
                                                if (co(t)) return t.splitText(t.data.length - 1);
                                            }
                                            r.insertBefore(n, e);
                                        } else {
                                            const t = e.nextSibling;
                                            if (eo(t)) {
                                                if (ro(t)) return t;
                                                if (lo(t)) return t.splitText(1), t;
                                            }
                                            e.nextSibling ? r.insertBefore(n, e.nextSibling) : r.appendChild(n);
                                        }
                                        return n;
                                    })(r, e)),
                                    (i = r.ownerDocument.createRange()),
                                    gc(s.nextSibling) ? (i.setStart(s, 0), i.setEnd(s, 0)) : (i.setStart(s, 1), i.setEnd(s, 1)),
                                    i
                                );
                            {
                                s = ao(a, r, e);
                                const n = pc(t, r, e);
                                l.setStyle(s, "top", n.top);
                                const c = l.create("div", { class: "mce-visual-caret", "data-mce-bogus": "all" });
                                l.setStyles(c, { ...n }), l.add(t, c), o.set({ caret: c, element: r, before: e }), e && l.addClass(c, "mce-visual-caret-before"), u(), (i = r.ownerDocument.createRange()), i.setStart(s, 0), i.setEnd(s, 0);
                            }
                            return i;
                        },
                        hide: c,
                        getCss: () =>
                            ".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: () => {
                            o.on((e) => {
                                const n = pc(t, e.element, e.before);
                                l.setStyles(e.caret, { ...n });
                            });
                        },
                        destroy: () => clearInterval(i),
                    };
                },
                mc = () => gt.browser.isFirefox(),
                gc = (e) => uc(e) || dc(e),
                vc = (e) => gc(e) || (ur(e) && mc()),
                yc = wr,
                bc = Cr,
                _c = Er,
                wc = ar("display", "block table table-cell table-caption list-item"),
                Cc = ro,
                xc = to,
                Ec = ir,
                kc = wo,
                Ac = (e) => e > 0,
                Sc = (e) => e < 0,
                Tc = (e, t) => {
                    let n;
                    for (; (n = e(t)); ) if (!xc(n)) return n;
                    return null;
                },
                Nc = (e, t, n, r, o) => {
                    const i = new Br(e, r),
                        s = bc(e) || xc(e);
                    if (Sc(t)) {
                        if (s && n((e = Tc(i.prev.bind(i), !0)))) return e;
                        for (; (e = Tc(i.prev.bind(i), o)); ) if (n(e)) return e;
                    }
                    if (Ac(t)) {
                        if (s && n((e = Tc(i.next.bind(i), !0)))) return e;
                        for (; (e = Tc(i.next.bind(i), o)); ) if (n(e)) return e;
                    }
                    return null;
                },
                Oc = (e, t) => {
                    for (; e && e !== t; ) {
                        if (wc(e)) return e;
                        e = e.parentNode;
                    }
                    return null;
                },
                Dc = (e, t, n) => Oc(e.container(), n) === Oc(t.container(), n),
                Rc = (e, t) => {
                    if (!t) return null;
                    const n = t.container(),
                        r = t.offset();
                    return Ec(n) ? n.childNodes[r + e] : null;
                },
                Lc = (e, t) => {
                    const n = t.ownerDocument.createRange();
                    return e ? (n.setStartBefore(t), n.setEndBefore(t)) : (n.setStartAfter(t), n.setEndAfter(t)), n;
                },
                Pc = (e, t, n) => Oc(t, e) === Oc(n, e),
                $c = (e, t, n) => {
                    const r = e ? "previousSibling" : "nextSibling";
                    for (; n && n !== t; ) {
                        let e = n[r];
                        if ((Cc(e) && (e = e[r]), bc(e) || _c(e))) {
                            if (Pc(t, e, n)) return e;
                            break;
                        }
                        if (kc(e)) break;
                        n = n.parentNode;
                    }
                    return null;
                },
                Mc = R(Lc, !0),
                Ic = R(Lc, !1),
                Bc = (e, t, n) => {
                    let r;
                    const o = R($c, !0, t),
                        i = R($c, !1, t);
                    let s = n.startContainer;
                    const a = n.startOffset;
                    if (to(s)) {
                        Ec(s) || (s = s.parentNode);
                        const e = s.getAttribute("data-mce-caret");
                        if ("before" === e && ((r = s.nextSibling), vc(r))) return Mc(r);
                        if ("after" === e && ((r = s.previousSibling), vc(r))) return Ic(r);
                    }
                    if (!n.collapsed) return n;
                    if (pr(s)) {
                        if (Cc(s)) {
                            if (1 === e) {
                                if (((r = i(s)), r)) return Mc(r);
                                if (((r = o(s)), r)) return Ic(r);
                            }
                            if (-1 === e) {
                                if (((r = o(s)), r)) return Ic(r);
                                if (((r = i(s)), r)) return Mc(r);
                            }
                            return n;
                        }
                        if (co(s) && a >= s.data.length - 1) return 1 === e && ((r = i(s)), r) ? Mc(r) : n;
                        if (lo(s) && a <= 1) return -1 === e && ((r = o(s)), r) ? Ic(r) : n;
                        if (a === s.data.length) return (r = i(s)), r ? Mc(r) : n;
                        if (0 === a) return (r = o(s)), r ? Ic(r) : n;
                    }
                    return n;
                },
                jc = (e, t) => B.from(Rc(e ? 0 : -1, t)).filter(bc),
                Fc = (e, t, n) => {
                    const r = Bc(e, t, n);
                    return -1 === e ? Ms.fromRangeStart(r) : Ms.fromRangeEnd(r);
                },
                Hc = (e) => B.from(e.getNode()).map(Qt.fromDom),
                Uc = (e, t) => {
                    for (; (t = e(t)); ) if (t.isVisible()) return t;
                    return t;
                },
                qc = (e, t) => {
                    const n = Dc(e, t);
                    return !(n || !br(e.getNode())) || n;
                };
            var zc;
            !(function (e) {
                (e[(e.Backwards = -1)] = "Backwards"), (e[(e.Forwards = 1)] = "Forwards");
            })(zc || (zc = {}));
            const Wc = Cr,
                Vc = pr,
                Kc = ir,
                Gc = br,
                Yc = wo,
                Xc = (e) => yo(e) || ((e) => !!Co(e) && !0 !== J(de(e.getElementsByTagName("*")), (e, t) => e || po(t), !1))(e),
                Jc = xo,
                Qc = (e, t) => (e.hasChildNodes() && t < e.childNodes.length ? e.childNodes[t] : null),
                Zc = (e, t) => {
                    if (Ac(e)) {
                        if (Yc(t.previousSibling) && !Vc(t.previousSibling)) return Ms.before(t);
                        if (Vc(t)) return Ms(t, 0);
                    }
                    if (Sc(e)) {
                        if (Yc(t.nextSibling) && !Vc(t.nextSibling)) return Ms.after(t);
                        if (Vc(t)) return Ms(t, t.data.length);
                    }
                    return Sc(e) ? (Gc(t) ? Ms.before(t) : Ms.after(t)) : Ms.before(t);
                },
                eu = (e, t, n) => {
                    let r, o, i, s;
                    if (!Kc(n) || !t) return null;
                    if (t.isEqual(Ms.after(n)) && n.lastChild) {
                        if (((s = Ms.after(n.lastChild)), Sc(e) && Yc(n.lastChild) && Kc(n.lastChild))) return Gc(n.lastChild) ? Ms.before(n.lastChild) : s;
                    } else s = t;
                    const a = s.container();
                    let l = s.offset();
                    if (Vc(a)) {
                        if (Sc(e) && l > 0) return Ms(a, --l);
                        if (Ac(e) && l < a.length) return Ms(a, ++l);
                        r = a;
                    } else {
                        if (Sc(e) && l > 0 && ((o = Qc(a, l - 1)), Yc(o))) return !Xc(o) && ((i = Nc(o, e, Jc, o)), i) ? (Vc(i) ? Ms(i, i.data.length) : Ms.after(i)) : Vc(o) ? Ms(o, o.data.length) : Ms.before(o);
                        if (Ac(e) && l < a.childNodes.length && ((o = Qc(a, l)), Yc(o)))
                            return Gc(o)
                                ? ((e, t) => {
                                      const n = t.nextSibling;
                                      return n && Yc(n) ? (Vc(n) ? Ms(n, 0) : Ms.before(n)) : eu(zc.Forwards, Ms.after(t), e);
                                  })(n, o)
                                : !Xc(o) && ((i = Nc(o, e, Jc, o)), i)
                                ? Vc(i)
                                    ? Ms(i, 0)
                                    : Ms.before(i)
                                : Vc(o)
                                ? Ms(o, 0)
                                : Ms.after(o);
                        r = o || s.getNode();
                    }
                    if (((Ac(e) && s.isAtEnd()) || (Sc(e) && s.isAtStart())) && ((r = Nc(r, e, I, n, !0)), Jc(r, n))) return Zc(e, r);
                    o = Nc(r, e, Jc, n);
                    const c = Pe(
                        Y(
                            ((e, t) => {
                                const n = [];
                                for (; e && e !== t; ) n.push(e), (e = e.parentNode);
                                return n;
                            })(a, n),
                            Wc
                        )
                    );
                    return !c || (o && c.contains(o)) ? (o ? Zc(e, o) : null) : ((s = Ac(e) ? Ms.after(c) : Ms.before(c)), s);
                },
                tu = (e) => ({ next: (t) => eu(zc.Forwards, t, e), prev: (t) => eu(zc.Backwards, t, e) }),
                nu = (e) => (Ms.isTextPosition(e) ? 0 === e.offset() : wo(e.getNode())),
                ru = (e) => {
                    if (Ms.isTextPosition(e)) {
                        const t = e.container();
                        return e.offset() === t.data.length;
                    }
                    return wo(e.getNode(!0));
                },
                ou = (e, t) => !Ms.isTextPosition(e) && !Ms.isTextPosition(t) && e.getNode() === t.getNode(!0),
                iu = (e, t, n) => {
                    return e ? !ou(t, n) && ((r = t), !(!Ms.isTextPosition(r) && br(r.getNode()))) && ru(t) && nu(n) : !ou(n, t) && nu(t) && ru(n);
                    var r;
                },
                su = (e, t, n) => {
                    const r = tu(t);
                    return B.from(e ? r.next(n) : r.prev(n));
                },
                au = (e, t, n) => su(e, t, n).bind((r) => (Dc(n, r, t) && iu(e, n, r) ? su(e, t, r) : B.some(r))),
                lu = (e, t, n, r) => au(e, t, n).bind((n) => (r(n) ? lu(e, t, n, r) : B.some(n))),
                cu = (e, t) => {
                    const n = e ? t.firstChild : t.lastChild;
                    return pr(n)
                        ? B.some(Ms(n, e ? 0 : n.data.length))
                        : n
                        ? wo(n)
                            ? B.some(e ? Ms.before(n) : br((r = n)) ? Ms.before(r) : Ms.after(r))
                            : ((e, t, n) => {
                                  const r = e ? Ms.before(n) : Ms.after(n);
                                  return su(e, t, r);
                              })(e, t, n)
                        : B.none();
                    var r;
                },
                uu = R(su, !0),
                du = R(su, !1),
                fu = R(cu, !0),
                pu = R(cu, !1),
                hu = (e) => ir(e) && "_mce_caret" === e.id,
                mu = (e, t) => {
                    for (; t && t !== e; ) {
                        if ("_mce_caret" === t.id) return t;
                        t = t.parentNode;
                    }
                    return null;
                },
                gu = (e) => wt.isArray(e.start),
                vu = (e, t) => (ir(t) && e.isBlock(t) && !t.innerHTML && (t.innerHTML = '<br data-mce-bogus="1" />'), t),
                yu = (e, t) => pu(e).fold(M, (e) => (t.setStart(e.container(), e.offset()), t.setEnd(e.container(), e.offset()), !0)),
                bu = (e, t, n) =>
                    !(!((e) => !1 === e.hasChildNodes())(t) || !mu(e, t)) &&
                    (((e, t) => {
                        const n = e.ownerDocument.createTextNode("\ufeff");
                        e.appendChild(n), t.setStart(n, 0), t.setEnd(n, 0);
                    })(t, n),
                    !0),
                _u = (e, t, n, r) => {
                    const o = n[t ? "start" : "end"];
                    let i, s, a, l;
                    const c = e.getRoot();
                    if (o) {
                        for (a = o[0], s = c, i = o.length - 1; i >= 1; i--) {
                            if (((l = s.childNodes), bu(c, s, r))) return !0;
                            if (o[i] > l.length - 1) return !!bu(c, s, r) || yu(s, r);
                            s = l[o[i]];
                        }
                        3 === s.nodeType && (a = Math.min(o[0], s.nodeValue.length)), 1 === s.nodeType && (a = Math.min(o[0], s.childNodes.length)), t ? r.setStart(s, a) : r.setEnd(s, a);
                    }
                    return !0;
                },
                wu = (e) => pr(e) && e.data.length > 0,
                Cu = (e, t, n) => {
                    let r,
                        o,
                        i,
                        s,
                        a = e.get(n.id + "_" + t);
                    const l = n.keep;
                    let c, u;
                    if (a) {
                        if (
                            ((r = a.parentNode),
                            "start" === t
                                ? (l
                                      ? a.hasChildNodes()
                                          ? ((r = a.firstChild), (o = 1))
                                          : wu(a.nextSibling)
                                          ? ((r = a.nextSibling), (o = 0))
                                          : wu(a.previousSibling)
                                          ? ((r = a.previousSibling), (o = a.previousSibling.data.length))
                                          : ((r = a.parentNode), (o = e.nodeIndex(a) + 1))
                                      : (o = e.nodeIndex(a)),
                                  (c = r),
                                  (u = o))
                                : (l
                                      ? a.hasChildNodes()
                                          ? ((r = a.firstChild), (o = 1))
                                          : wu(a.previousSibling)
                                          ? ((r = a.previousSibling), (o = a.previousSibling.data.length))
                                          : ((r = a.parentNode), (o = e.nodeIndex(a)))
                                      : (o = e.nodeIndex(a)),
                                  (c = r),
                                  (u = o)),
                            !l)
                        ) {
                            for (
                                s = a.previousSibling,
                                    i = a.nextSibling,
                                    wt.each(wt.grep(a.childNodes), (e) => {
                                        pr(e) && (e.nodeValue = e.nodeValue.replace(/\uFEFF/g, ""));
                                    });
                                (a = e.get(n.id + "_" + t));

                            )
                                e.remove(a, !0);
                            s && i && s.nodeType === i.nodeType && pr(s) && !gt.browser.isOpera() && ((o = s.nodeValue.length), s.appendData(i.nodeValue), e.remove(i), (c = s), (u = o));
                        }
                        return B.some(Ms(c, u));
                    }
                    return B.none();
                },
                xu = (e, t) => {
                    const n = e.dom;
                    if (t) {
                        if (gu(t))
                            return ((e, t) => {
                                const n = e.createRng();
                                return _u(e, !0, t, n) && _u(e, !1, t, n) ? B.some(n) : B.none();
                            })(n, t);
                        if (((e) => h(e.start))(t))
                            return B.some(
                                ((e, t) => {
                                    let n;
                                    const r = e.createRng();
                                    return (n = Ks(e.getRoot(), t.start)), r.setStart(n.container(), n.offset()), (n = Ks(e.getRoot(), t.end)), r.setEnd(n.container(), n.offset()), r;
                                })(n, t)
                            );
                        if (((e) => Ee(e, "id"))(t))
                            return ((e, t) => {
                                const n = Cu(e, "start", t),
                                    r = Cu(e, "end", t);
                                return xt(n, r.or(n), (t, n) => {
                                    const r = e.createRng();
                                    return r.setStart(vu(e, t.container()), t.offset()), r.setEnd(vu(e, n.container()), n.offset()), r;
                                });
                            })(n, t);
                        if (((e) => Ee(e, "name"))(t))
                            return ((e, t) =>
                                B.from(e.select(t.name)[t.index]).map((t) => {
                                    const n = e.createRng();
                                    return n.selectNode(t), n;
                                }))(n, t);
                        if (((e) => Ee(e, "rng"))(t)) return B.some(t.rng);
                    }
                    return B.none();
                },
                Eu = (e, t, n) => ra(e, t, n),
                ku = (e, t) => {
                    xu(e, t).each((t) => {
                        e.setRng(t);
                    });
                },
                Au = (e) => ir(e) && "SPAN" === e.tagName && "bookmark" === e.getAttribute("data-mce-type"),
                Su = ((Tu = " "), (e) => Tu === e);
            var Tu;
            const Nu = (e) => "" !== e && -1 !== " \f\n\r\t\v".indexOf(e),
                Ou = (e) => !Nu(e) && !Su(e) && !Xr(e),
                Du = (e) => {
                    const t = e.toString(16);
                    return (1 === t.length ? "0" + t : t).toUpperCase();
                },
                Ru = (e) => ((e) => ({ value: e }))(Du(e.red) + Du(e.green) + Du(e.blue)),
                Lu = /^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)\s*$/i,
                Pu = /^\s*rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?(?:\.\d+)?)\s*\)\s*$/i,
                $u = (e, t, n, r) => ({ red: e, green: t, blue: n, alpha: r }),
                Mu = (e, t, n, r) => {
                    const o = parseInt(e, 10),
                        i = parseInt(t, 10),
                        s = parseInt(n, 10),
                        a = parseFloat(r);
                    return $u(o, i, s, a);
                },
                Iu = (e) =>
                    ((e) => {
                        if ("transparent" === e) return B.some($u(0, 0, 0, 0));
                        const t = Lu.exec(e);
                        if (null !== t) return B.some(Mu(t[1], t[2], t[3], "1"));
                        const n = Pu.exec(e);
                        return null !== n ? B.some(Mu(n[1], n[2], n[3], n[4])) : B.none();
                    })(e)
                        .map(Ru)
                        .map((e) => "#" + e.value)
                        .getOr(e),
                Bu = (e) => !!e.nodeType,
                ju = (e, t, n) => {
                    const r = n.startOffset;
                    let o = n.startContainer;
                    var i;
                    if ((o !== n.endContainer || !(i = o.childNodes[r]) || !/^(IMG)$/.test(i.nodeName)) && ir(o)) {
                        const i = o.childNodes;
                        let s;
                        r < i.length ? ((o = i[r]), (s = new Br(o, e.getParent(o, e.isBlock)))) : ((o = i[i.length - 1]), (s = new Br(o, e.getParent(o, e.isBlock))), s.next(!0));
                        for (let e = s.current(); e; e = s.next()) if (pr(e) && !qu(e)) return n.setStart(e, 0), void t.setRng(n);
                    }
                },
                Fu = (e, t, n) => {
                    if (e) {
                        const r = t ? "nextSibling" : "previousSibling";
                        for (e = n ? e : e[r]; e; e = e[r]) if (ir(e) || !qu(e)) return e;
                    }
                },
                Hu = (e, t) => (Bu(t) && (t = t.nodeName), !!e.schema.getTextBlockElements()[t.toLowerCase()]),
                Uu = (e, t, n) => e.schema.isValidChild(t, n),
                qu = (e, t = !1) => {
                    if (C(e) && pr(e)) {
                        const n = t ? e.data.replace(/ /g, " ") : e.data;
                        return ko(n);
                    }
                    return !1;
                },
                zu = (e, t) => (x(e) ? (e = e(t)) : C(t) && (e = e.replace(/%(\w+)/g, (e, n) => t[n] || e)), e),
                Wu = (e, t) => ((t = t || ""), (e = "" + ((e = e || "").nodeName || e)), (t = "" + (t.nodeName || t)), e.toLowerCase() === t.toLowerCase()),
                Vu = (e, t) => (("color" !== t && "backgroundColor" !== t) || (e = Iu(e)), "fontWeight" === t && 700 === e && (e = "bold"), "fontFamily" === t && (e = e.replace(/[\'\"]/g, "").replace(/,\s+/g, ",")), "" + e),
                Ku = (e, t, n) => Vu(e.getStyle(t, n), n),
                Gu = (e, t) => {
                    let n;
                    return e.getParent(t, (t) => ((n = e.getStyle(t, "text-decoration")), n && "none" !== n)), n;
                },
                Yu = (e, t, n) => e.getParents(t, n, e.getRoot()),
                Xu = (e, t, n) => {
                    const r = ["inline", "block", "selector", "attributes", "styles", "classes"],
                        o = (e) => _e(e, (e, t) => z(r, (e) => e === t));
                    return z(e.formatter.get(t), (t) => {
                        const r = o(t);
                        return z(e.formatter.get(n), (e) => {
                            const t = o(e);
                            return ((e, t, n = a) => s(n).eq(e, t))(r, t);
                        });
                    });
                },
                Ju = (e) => ke(e, "block"),
                Qu = (e) => ke(e, "selector"),
                Zu = (e) => ke(e, "inline"),
                ed = (e) => Qu(e) && !1 !== e.expand && !Zu(e),
                td = Au,
                nd = Yu,
                rd = qu,
                od = Hu,
                id = (e, t) => {
                    let n = t;
                    for (; n; ) {
                        if (ir(n) && e.getContentEditable(n)) return "false" === e.getContentEditable(n) ? n : t;
                        n = n.parentNode;
                    }
                    return t;
                },
                sd = (e, t, n, r) => {
                    const o = t.data;
                    for (let t = n; e ? t >= 0 : t < o.length; e ? t-- : t++) if (r(o.charAt(t))) return e ? t + 1 : t;
                    return -1;
                },
                ad = (e, t, n) => sd(e, t, n, (e) => Su(e) || Nu(e)),
                ld = (e, t, n) => sd(e, t, n, Ou),
                cd = (e, t, n, r, o, i) => {
                    let s;
                    const a = e.getParent(n, e.isBlock) || t,
                        l = (t, n, r) => {
                            const i = ss(e),
                                l = o ? i.backwards : i.forwards;
                            return B.from(l(t, n, (e, t) => (td(e.parentNode) ? -1 : ((s = e), r(o, e, t))), a));
                        };
                    return l(n, r, ad)
                        .bind((e) => (i ? l(e.container, e.offset + (o ? -1 : 0), ld) : B.some(e)))
                        .orThunk(() => (s ? B.some({ container: s, offset: o ? 0 : s.length }) : B.none()));
                },
                ud = (e, t, n, r, o) => {
                    pr(r) && Ye(r.data) && r[o] && (r = r[o]);
                    const i = nd(e, r);
                    for (let r = 0; r < i.length; r++)
                        for (let o = 0; o < t.length; o++) {
                            const s = t[o];
                            if ((!C(s.collapsed) || s.collapsed === n.collapsed) && Qu(s) && e.is(i[r], s.selector)) return i[r];
                        }
                    return r;
                },
                dd = (e, t, n, r) => {
                    let o = n;
                    const i = e.dom,
                        s = i.getRoot(),
                        a = t[0];
                    if ((Ju(a) && (o = a.wrapper ? null : i.getParent(n, a.block, s)), !o)) {
                        const t = i.getParent(n, "LI,TD,TH");
                        o = i.getParent(pr(n) ? n.parentNode : n, (t) => t !== s && od(e, t), t);
                    }
                    if ((o && Ju(a) && a.wrapper && (o = nd(i, o, "ul,ol").reverse()[0] || o), !o)) for (o = n; o[r] && !i.isBlock(o[r]) && ((o = o[r]), !Wu(o, "br")); );
                    return o || n;
                },
                fd = (e, t, n, r) => {
                    const o = n.parentNode;
                    return !C(n[r]) && (!(o !== t && !w(o) && !e.isBlock(o)) || fd(e, t, o, r));
                },
                pd = (e, t, n, r, o) => {
                    let i = n;
                    const s = o ? "previousSibling" : "nextSibling",
                        a = e.getRoot();
                    if (pr(n) && !rd(n) && (o ? r > 0 : r < n.data.length)) return n;
                    for (;;) {
                        if (!t[0].block_expand && e.isBlock(i)) return i;
                        for (let t = i[s]; t; t = t[s]) {
                            const n = pr(t) && !fd(e, a, t, s);
                            if (!td(t) && (!br((l = t)) || !l.getAttribute("data-mce-bogus") || l.nextSibling) && !rd(t, n)) return i;
                        }
                        if (i === a || i.parentNode === a) {
                            n = i;
                            break;
                        }
                        i = i.parentNode;
                    }
                    var l;
                    return n;
                },
                hd = (e) => td(e.parentNode) || td(e),
                md = (e, t, n, r = !1) => {
                    let { startContainer: o, startOffset: i, endContainer: s, endOffset: a } = t;
                    const l = e.dom,
                        c = n[0];
                    if (
                        (ir(o) && o.hasChildNodes() && ((o = ms(o, i)), pr(o) && (i = 0)),
                        ir(s) && s.hasChildNodes() && ((s = ms(s, t.collapsed ? a : a - 1)), pr(s) && (a = s.nodeValue.length)),
                        (o = id(l, o)),
                        (s = id(l, s)),
                        hd(o) && ((o = td(o) ? o : o.parentNode), (o = t.collapsed ? o.previousSibling || o : o.nextSibling || o), pr(o) && (i = t.collapsed ? o.length : 0)),
                        hd(s) && ((s = td(s) ? s : s.parentNode), (s = t.collapsed ? s.nextSibling || s : s.previousSibling || s), pr(s) && (a = t.collapsed ? 0 : s.length)),
                        t.collapsed)
                    ) {
                        cd(l, e.getBody(), o, i, !0, r).each(({ container: e, offset: t }) => {
                            (o = e), (i = t);
                        });
                        cd(l, e.getBody(), s, a, !1, r).each(({ container: e, offset: t }) => {
                            (s = e), (a = t);
                        });
                    }
                    return (
                        (Zu(c) || c.block_expand) && ((Zu(c) && pr(o) && 0 !== i) || (o = pd(l, n, o, i, !0)), (Zu(c) && pr(s) && a !== s.nodeValue.length) || (s = pd(l, n, s, a, !1))),
                        ed(c) && ((o = ud(l, n, t, o, "previousSibling")), (s = ud(l, n, t, s, "nextSibling"))),
                        (Ju(c) || Qu(c)) && ((o = dd(e, n, o, "previousSibling")), (s = dd(e, n, s, "nextSibling")), Ju(c) && (l.isBlock(o) || (o = pd(l, n, o, i, !0)), l.isBlock(s) || (s = pd(l, n, s, a, !1)))),
                        ir(o) && ((i = l.nodeIndex(o)), (o = o.parentNode)),
                        ir(s) && ((a = l.nodeIndex(s) + 1), (s = s.parentNode)),
                        { startContainer: o, startOffset: i, endContainer: s, endOffset: a }
                    );
                },
                gd = (e, t, n) => {
                    const r = t.startOffset,
                        o = ms(t.startContainer, r),
                        i = t.endOffset,
                        s = ms(t.endContainer, i - 1),
                        a = (e) => {
                            const t = e[0];
                            pr(t) && t === o && r >= t.data.length && e.splice(0, 1);
                            const n = e[e.length - 1];
                            return 0 === i && e.length > 0 && n === s && pr(n) && e.splice(e.length - 1, 1), e;
                        },
                        l = (e, t, n) => {
                            const r = [];
                            for (; e && e !== n; e = e[t]) r.push(e);
                            return r;
                        },
                        c = (t, n) => e.getParent(t, (e) => e.parentNode === n, n),
                        u = (e, t, r) => {
                            const o = r ? "nextSibling" : "previousSibling";
                            for (let i = e, s = i.parentNode; i && i !== t; i = s) {
                                s = i.parentNode;
                                const t = l(i === e ? i : i[o], o);
                                t.length && (r || t.reverse(), n(a(t)));
                            }
                        };
                    if (o === s) return n(a([o]));
                    const d = e.findCommonAncestor(o, s);
                    if (e.isChildOf(o, s)) return u(o, d, !0);
                    if (e.isChildOf(s, o)) return u(s, d);
                    const f = c(o, d) || o,
                        p = c(s, d) || s;
                    u(o, f, !0);
                    const h = l(f === o ? f : f.nextSibling, "nextSibling", p === s ? p.nextSibling : p);
                    h.length && n(a(h)), u(s, p);
                },
                vd = (e) => {
                    const t = [];
                    if (e) for (let n = 0; n < e.rangeCount; n++) t.push(e.getRangeAt(n));
                    return t;
                },
                yd = (e) =>
                    Y(
                        ((e) =>
                            ne(e, (e) => {
                                const t = hs(e);
                                return t ? [Qt.fromDom(t)] : [];
                            }))(e),
                        Gr
                    ),
                bd = (e, t) => {
                    const n = qi(t, "td[data-mce-selected],th[data-mce-selected]");
                    return n.length > 0 ? n : yd(e);
                },
                _d = (e) => bd(vd(e.selection.getSel()), Qt.fromDom(e.getBody())),
                wd = (e, t) => Lr(e, "table", t),
                Cd = (e) => mn(e).fold(N([e]), (t) => [e].concat(Cd(t))),
                xd = (e) =>
                    gn(e).fold(N([e]), (t) =>
                        "br" === kt(t)
                            ? cn(t)
                                  .map((t) => [e].concat(xd(t)))
                                  .getOr([])
                            : [e].concat(xd(t))
                    ),
                Ed = (e, t) =>
                    xt(
                        ((e) => {
                            const t = e.startContainer,
                                n = e.startOffset;
                            return pr(t) ? (0 === n ? B.some(Qt.fromDom(t)) : B.none()) : B.from(t.childNodes[n]).map(Qt.fromDom);
                        })(t),
                        ((e) => {
                            const t = e.endContainer,
                                n = e.endOffset;
                            return pr(t) ? (n === t.data.length ? B.some(Qt.fromDom(t)) : B.none()) : B.from(t.childNodes[n - 1]).map(Qt.fromDom);
                        })(t),
                        (t, n) => {
                            const r = Z(Cd(e), R(nn, t)),
                                o = Z(xd(e), R(nn, n));
                            return r.isSome() && o.isSome();
                        }
                    ).getOr(!1),
                kd = (e, t, n, r) => {
                    const o = n,
                        i = new Br(n, o),
                        s = _e(e.schema.getMoveCaretBeforeOnEnterElements(), (e, t) => !q(["td", "th", "table"], t.toLowerCase()));
                    do {
                        if (pr(n) && 0 !== wt.trim(n.nodeValue).length) return void (r ? t.setStart(n, 0) : t.setEnd(n, n.nodeValue.length));
                        if (s[n.nodeName]) return void (r ? t.setStartBefore(n) : "BR" === n.nodeName ? t.setEndBefore(n) : t.setEndAfter(n));
                    } while ((n = r ? i.next() : i.prev()));
                    "BODY" === o.nodeName && (r ? t.setStart(o, 0) : t.setEnd(o, o.childNodes.length));
                },
                Ad = (e) => {
                    const t = e.selection.getSel();
                    return t && t.rangeCount > 0;
                },
                Sd = (e, t) => {
                    const n = _d(e);
                    n.length > 0
                        ? V(n, (n) => {
                              const r = n.dom,
                                  o = e.dom.createRng();
                              o.setStartBefore(r), o.setEndAfter(r), t(o, !0);
                          })
                        : t(e.selection.getRng(), !1);
                },
                Td = (e, t, n) => {
                    const r = na(e, t);
                    n(r), e.moveToBookmark(r);
                },
                Nd = ((e, t) => {
                    const n = (t) => (e(t) ? B.from(t.dom.nodeValue) : B.none());
                    return {
                        get: (r) => {
                            if (!e(r)) throw new Error("Can only get " + t + " value of a " + t + " node");
                            return n(r).getOr("");
                        },
                        getOption: n,
                        set: (n, r) => {
                            if (!e(n)) throw new Error("Can only set raw " + t + " value of a " + t + " node");
                            n.dom.nodeValue = r;
                        },
                    };
                })(Nt, "text"),
                Od = (e) => Nd.get(e),
                Dd = (e) => Nd.getOption(e),
                Rd = (e, t, n, r) =>
                    ln(t).fold(
                        () => "skipping",
                        (o) => ("br" === r || ((e) => Nt(e) && "\ufeff" === Od(e))(t) ? "valid" : ((e) => Tt(e) && Yt(e, zi()))(t) ? "existing" : hu(t.dom) ? "caret" : Uu(e, n, r) && Uu(e, kt(o), n) ? "valid" : "invalid-child")
                    ),
                Ld = (e, { uid: t = es("mce-annotation"), ...n }, r, o) => {
                    const i = Qt.fromTag("span", e);
                    Wt(i, zi()), Lt(i, "" + Vi(), t), Lt(i, "" + Wi(), r);
                    const { attributes: s = {}, classes: a = [] } = o(t, n);
                    return (
                        Pt(i, s),
                        ((e, t) => {
                            V(t, (t) => {
                                Wt(e, t);
                            });
                        })(i, a),
                        i
                    );
                },
                Pd = (e, t, n, r, o) => {
                    const i = [],
                        s = Ld(e.getDoc(), o, n, r),
                        a = ji(),
                        l = () => {
                            a.clear();
                        },
                        c = (e) => {
                            V(e, u);
                        },
                        u = (t) => {
                            switch (Rd(e, t, "span", kt(t))) {
                                case "invalid-child": {
                                    l();
                                    const e = pn(t);
                                    c(e), l();
                                    break;
                                }
                                case "valid":
                                    ((e, t) => {
                                        $n(e, t), Bn(t, e);
                                    })(
                                        t,
                                        a.get().getOrThunk(() => {
                                            const e = ns(s);
                                            return i.push(e), a.set(e), e;
                                        })
                                    );
                                    break;
                            }
                        };
                    return (
                        gd(e.dom, t, (e) => {
                            l(),
                                ((e) => {
                                    const t = W(e, Qt.fromDom);
                                    c(t);
                                })(e);
                        }),
                        i
                    );
                },
                $d = (e, t, n, r) => {
                    e.undoManager.transact(() => {
                        const o = e.selection,
                            i = o.getRng(),
                            s = _d(e).length > 0;
                        if (
                            (i.collapsed &&
                                !s &&
                                ((e, t) => {
                                    const n = md(e, t, [{ inline: "span" }]);
                                    t.setStart(n.startContainer, n.startOffset), t.setEnd(n.endContainer, n.endOffset), e.selection.setRng(t);
                                })(e, i),
                            o.getRng().collapsed && !s)
                        ) {
                            const i = Ld(e.getDoc(), r, t, n.decorate);
                            zn(i, " "), o.getRng().insertNode(i.dom), o.select(i.dom);
                        } else
                            Td(o, !1, () => {
                                Sd(e, (o) => {
                                    Pd(e, o, t, n.decorate, r);
                                });
                            });
                    });
                },
                Md = (e) => {
                    const t = (() => {
                        const e = {};
                        return {
                            register: (t, n) => {
                                e[t] = { name: t, settings: n };
                            },
                            lookup: (t) => xe(e, t).map((e) => e.settings),
                            getNames: () => pe(e),
                        };
                    })();
                    Qi(e, t);
                    const n = Ji(e, t);
                    return {
                        register: (e, n) => {
                            t.register(e, n);
                        },
                        annotate: (n, r) => {
                            t.lookup(n).each((t) => {
                                $d(e, n, t, r);
                            });
                        },
                        annotationChanged: (e, t) => {
                            n.addListener(e, t);
                        },
                        remove: (t) => {
                            const n = e.selection.getBookmark();
                            Gi(e, B.some(t)).each(({ elements: e }) => {
                                V(e, Un);
                            }),
                                e.selection.moveToBookmark(n);
                        },
                        removeAll: (t) => {
                            const n = e.selection.getBookmark();
                            me(Xi(e, t), (e, t) => V(e, Un)), e.selection.moveToBookmark(n);
                        },
                        getAll: (t) => {
                            const n = Xi(e, t);
                            return ge(n, (e) => W(e, (e) => e.dom));
                        },
                    };
                },
                Id = (e) => ({ getBookmark: R(Eu, e), moveToBookmark: R(ku, e) });
            Id.isBookmarkNode = Au;
            const Bd = (e, t, n) => !n.collapsed && z(n.getClientRects(), (n) => ((e, t, n) => t >= e.left && t <= e.right && n >= e.top && n <= e.bottom)(n, e, t)),
                jd = (e, t, n) => e.dispatch(t, n),
                Fd = (e, t, n, r) => e.dispatch("FormatApply", { format: t, node: n, vars: r }),
                Hd = (e, t, n, r) => e.dispatch("FormatRemove", { format: t, node: n, vars: r }),
                Ud = (e, t) => e.dispatch("SetContent", t),
                qd = (e, t) => e.dispatch("GetContent", t),
                zd = (e, t) => e.dispatch("PastePlainTextToggle", { state: t }),
                Wd = {
                    BACKSPACE: 8,
                    DELETE: 46,
                    DOWN: 40,
                    ENTER: 13,
                    ESC: 27,
                    LEFT: 37,
                    RIGHT: 39,
                    SPACEBAR: 32,
                    TAB: 9,
                    UP: 38,
                    PAGE_UP: 33,
                    PAGE_DOWN: 34,
                    END: 35,
                    HOME: 36,
                    modifierPressed: (e) => e.shiftKey || e.ctrlKey || e.altKey || Wd.metaKeyPressed(e),
                    metaKeyPressed: (e) => (gt.os.isMacOS() || gt.os.isiOS() ? e.metaKey : e.ctrlKey && !e.altKey),
                },
                Vd = (e, t) => {
                    const n = t.dom,
                        r = wt.each;
                    let o, i, s, a, l, c, u, d, f, p, h, m, g;
                    const v = t.getDoc(),
                        y = document,
                        b = Math.abs,
                        _ = Math.round,
                        w = t.getBody();
                    let x, E;
                    const k = { nw: [0, 0, -1, -1], ne: [1, 0, 1, -1], se: [1, 1, 1, 1], sw: [0, 1, -1, 1] },
                        A = (e) => C(e) && (_r(e) || t.dom.is(e, "figure.image")),
                        S = (e) => Er(e) || n.hasClass(e, "mce-preview-object"),
                        T = (e) => {
                            const n = e.target;
                            ((e, t) => {
                                if ("longpress" === e.type || 0 === e.type.indexOf("touch")) {
                                    const n = e.touches[0];
                                    return A(e.target) && !Bd(n.clientX, n.clientY, t);
                                }
                                return A(e.target) && !Bd(e.clientX, e.clientY, t);
                            })(e, t.selection.getRng()) &&
                                !e.isDefaultPrevented() &&
                                t.selection.select(n);
                        },
                        N = (e) => (n.is(e, "figure.image") ? [e.querySelector("img")] : n.hasClass(e, "mce-preview-object") && C(e.firstElementChild) ? [e, e.firstElementChild] : [e]),
                        O = (e) => {
                            const r = tl(t);
                            return !!r && "false" !== e.getAttribute("data-mce-resize") && e !== t.getBody() && (n.hasClass(e, "mce-preview-object") ? en(Qt.fromDom(e.firstElementChild), r) : en(Qt.fromDom(e), r));
                        },
                        D = (e, r, o) => {
                            if (C(o)) {
                                const i = N(e);
                                V(i, (e) => {
                                    e.style[r] || !t.schema.isValid(e.nodeName.toLowerCase(), r) ? n.setStyle(e, r, o) : n.setAttrib(e, r, "" + o);
                                });
                            }
                        },
                        R = (e, t, n) => {
                            D(e, "width", t), D(e, "height", n);
                        },
                        L = (e) => {
                            let r, l, v, y, C;
                            (r = e.screenX - c),
                                (l = e.screenY - u),
                                (m = r * a[2] + d),
                                (g = l * a[3] + f),
                                (m = m < 5 ? 5 : m),
                                (g = g < 5 ? 5 : g),
                                (v = (A(o) || S(o)) && !1 !== nl(t) ? !Wd.modifierPressed(e) : Wd.modifierPressed(e)),
                                v && (b(r) > b(l) ? ((g = _(m * p)), (m = _(g / p))) : ((m = _(g / p)), (g = _(m * p)))),
                                R(i, m, g),
                                (y = a.startPos.x + r),
                                (C = a.startPos.y + l),
                                (y = y > 0 ? y : 0),
                                (C = C > 0 ? C : 0),
                                n.setStyles(s, { left: y, top: C, display: "block" }),
                                (s.innerHTML = m + " &times; " + g),
                                a[2] < 0 && i.clientWidth <= m && n.setStyle(i, "left", void 0 + (d - m)),
                                a[3] < 0 && i.clientHeight <= g && n.setStyle(i, "top", void 0 + (f - g)),
                                (r = w.scrollWidth - x),
                                (l = w.scrollHeight - E),
                                r + l !== 0 && n.setStyles(s, { left: y - r, top: C - l }),
                                h ||
                                    (((e, t, n, r, o) => {
                                        e.dispatch("ObjectResizeStart", { target: t, width: n, height: r, origin: o });
                                    })(t, o, d, f, "corner-" + a.name),
                                    (h = !0));
                        },
                        P = () => {
                            const e = h;
                            (h = !1),
                                e && (D(o, "width", m), D(o, "height", g)),
                                n.unbind(v, "mousemove", L),
                                n.unbind(v, "mouseup", P),
                                y !== v && (n.unbind(y, "mousemove", L), n.unbind(y, "mouseup", P)),
                                n.remove(i),
                                n.remove(s),
                                n.remove(l),
                                $(o),
                                e &&
                                    (((e, t, n, r, o) => {
                                        e.dispatch("ObjectResized", { target: t, width: n, height: r, origin: o });
                                    })(t, o, m, g, "corner-" + a.name),
                                    n.setAttrib(o, "style", n.getAttrib(o, "style"))),
                                t.nodeChanged();
                        },
                        $ = (e) => {
                            B();
                            const h = n.getPos(e, w),
                                b = h.x,
                                _ = h.y,
                                C = e.getBoundingClientRect(),
                                A = C.width || C.right - C.left,
                                T = C.height || C.bottom - C.top;
                            o !== e && (M(), (o = e), (m = g = 0));
                            const D = t.dispatch("ObjectSelected", { target: e }),
                                $ = n.getAttrib(o, "data-mce-selected", "1");
                            O(e) && !D.isDefaultPrevented()
                                ? r(k, (e, t) => {
                                      let r;
                                      const h = (r) => {
                                          const h = N(o)[0];
                                          var m;
                                          (c = r.screenX),
                                              (u = r.screenY),
                                              (d = h.clientWidth),
                                              (f = h.clientHeight),
                                              (p = f / d),
                                              (a = e),
                                              (a.name = t),
                                              (a.startPos = { x: A * e[0] + b, y: T * e[1] + _ }),
                                              (x = w.scrollWidth),
                                              (E = w.scrollHeight),
                                              (l = n.add(w, "div", { class: "mce-resize-backdrop", "data-mce-bogus": "all" })),
                                              n.setStyles(l, { position: "fixed", left: "0", top: "0", width: "100%", height: "100%" }),
                                              (i = S((m = o)) ? n.create("img", { src: gt.transparentSrc }) : m.cloneNode(!0)),
                                              n.addClass(i, "mce-clonedresizable"),
                                              n.setAttrib(i, "data-mce-bogus", "all"),
                                              (i.contentEditable = "false"),
                                              n.setStyles(i, { left: b, top: _, margin: 0 }),
                                              R(i, A, T),
                                              i.removeAttribute("data-mce-selected"),
                                              w.appendChild(i),
                                              n.bind(v, "mousemove", L),
                                              n.bind(v, "mouseup", P),
                                              y !== v && (n.bind(y, "mousemove", L), n.bind(y, "mouseup", P)),
                                              (s = n.add(w, "div", { class: "mce-resize-helper", "data-mce-bogus": "all" }, d + " &times; " + f));
                                      };
                                      (r = n.get("mceResizeHandle" + t)),
                                          r && n.remove(r),
                                          (r = n.add(w, "div", { id: "mceResizeHandle" + t, "data-mce-bogus": "all", class: "mce-resizehandle", unselectable: !0, style: "cursor:" + t + "-resize; margin:0; padding:0" })),
                                          n.bind(r, "mousedown", (e) => {
                                              e.stopImmediatePropagation(), e.preventDefault(), h(e);
                                          }),
                                          (e.elm = r),
                                          n.setStyles(r, { left: A * e[0] + b - r.offsetWidth / 2, top: T * e[1] + _ - r.offsetHeight / 2 });
                                  })
                                : M(),
                                n.getAttrib(o, "data-mce-selected") || o.setAttribute("data-mce-selected", $);
                        },
                        M = () => {
                            B(),
                                o && o.removeAttribute("data-mce-selected"),
                                me(k, (e, t) => {
                                    const r = n.get("mceResizeHandle" + t);
                                    r && (n.unbind(r), n.remove(r));
                                });
                        },
                        I = (o) => {
                            var i;
                            let s, a;
                            const l = (e, t) => {
                                if (e)
                                    do {
                                        if (e === t) return !0;
                                    } while ((e = e.parentNode));
                            };
                            h ||
                                t.removed ||
                                (r(n.select("img[data-mce-selected],hr[data-mce-selected]"), (e) => {
                                    e.removeAttribute("data-mce-selected");
                                }),
                                (a = "mousedown" === o.type ? o.target : e.getNode()),
                                (a = null === (i = $r(Qt.fromDom(a), "table,img,figure.image,hr,video,span.mce-preview-object").getOrUndefined()) || void 0 === i ? void 0 : i.dom),
                                l(a, w) && (j(), (s = e.getStart(!0)), l(s, a) && l(e.getEnd(!0), a)) ? $(a) : M());
                        },
                        B = () => {
                            me(k, (e) => {
                                e.elm && (n.unbind(e.elm), delete e.elm);
                            });
                        },
                        j = () => {
                            try {
                                t.getDoc().execCommand("enableObjectResizing", !1, "false");
                            } catch (e) {}
                        };
                    t.on("init", () => {
                        j();
                        const e = Fi((e) => {
                            t.composing || I(e);
                        }, 0);
                        t.on("nodechange ResizeEditor ResizeWindow ResizeContent drop FullscreenStateChanged", e.throttle),
                            t.on("keyup compositionend", (t) => {
                                o && "TABLE" === o.nodeName && e.throttle(t);
                            }),
                            t.on("hide blur", M),
                            t.on("contextmenu longpress", T, !0);
                    }),
                        t.on("remove", B);
                    return {
                        isResizable: O,
                        showResizeRect: $,
                        hideResizeRect: M,
                        updateResizeRect: I,
                        destroy: () => {
                            o = i = l = null;
                        },
                    };
                },
                Kd = (e, t, n) => {
                    const r = e.document.createRange();
                    var o;
                    return (
                        (o = r),
                        t.fold(
                            (e) => {
                                o.setStartBefore(e.dom);
                            },
                            (e, t) => {
                                o.setStart(e.dom, t);
                            },
                            (e) => {
                                o.setStartAfter(e.dom);
                            }
                        ),
                        ((e, t) => {
                            t.fold(
                                (t) => {
                                    e.setEndBefore(t.dom);
                                },
                                (t, n) => {
                                    e.setEnd(t.dom, n);
                                },
                                (t) => {
                                    e.setEndAfter(t.dom);
                                }
                            );
                        })(r, n),
                        r
                    );
                },
                Gd = (e, t, n, r, o) => {
                    const i = e.document.createRange();
                    return i.setStart(t.dom, n), i.setEnd(r.dom, o), i;
                },
                Yd = la([{ ltr: ["start", "soffset", "finish", "foffset"] }, { rtl: ["start", "soffset", "finish", "foffset"] }]),
                Xd = (e, t, n) => t(Qt.fromDom(n.startContainer), n.startOffset, Qt.fromDom(n.endContainer), n.endOffset),
                Jd = (e, t) =>
                    ((e, t) => {
                        const n = t.ltr();
                        if (n.collapsed) {
                            return t
                                .rtl()
                                .filter((e) => !1 === e.collapsed)
                                .map((e) => Yd.rtl(Qt.fromDom(e.endContainer), e.endOffset, Qt.fromDom(e.startContainer), e.startOffset))
                                .getOrThunk(() => Xd(0, Yd.ltr, n));
                        }
                        return Xd(0, Yd.ltr, n);
                    })(
                        0,
                        ((e, t) =>
                            t.match({
                                domRange: (e) => ({ ltr: N(e), rtl: B.none }),
                                relative: (t, n) => ({ ltr: $e(() => Kd(e, t, n)), rtl: $e(() => B.some(Kd(e, n, t))) }),
                                exact: (t, n, r, o) => ({ ltr: $e(() => Gd(e, t, n, r, o)), rtl: $e(() => B.some(Gd(e, r, o, t, n))) }),
                            }))(e, t)
                    );
            Yd.ltr, Yd.rtl;
            const Qd = (e, t, n, r) => ({ start: e, soffset: t, finish: n, foffset: r }),
                Zd = (e, t, n) => {
                    var r, o;
                    return B.from(null === (o = (r = e.dom).caretPositionFromPoint) || void 0 === o ? void 0 : o.call(r, t, n)).bind((t) => {
                        if (null === t.offsetNode) return B.none();
                        const n = e.dom.createRange();
                        return n.setStart(t.offsetNode, t.offset), n.collapse(), B.some(n);
                    });
                },
                ef = (e, t, n) => {
                    var r, o;
                    return B.from(null === (o = (r = e.dom).caretRangeFromPoint) || void 0 === o ? void 0 : o.call(r, t, n));
                },
                tf = document.caretPositionFromPoint ? Zd : document.caretRangeFromPoint ? ef : B.none,
                nf = la([{ before: ["element"] }, { on: ["element", "offset"] }, { after: ["element"] }]),
                rf = { before: nf.before, on: nf.on, after: nf.after, cata: (e, t, n, r) => e.fold(t, n, r), getStart: (e) => e.fold(O, O, O) },
                of = la([{ domRange: ["rng"] }, { relative: ["startSitu", "finishSitu"] }, { exact: ["start", "soffset", "finish", "foffset"] }]),
                sf = {
                    domRange: of.domRange,
                    relative: of.relative,
                    exact: of.exact,
                    exactFromRange: (e) => of.exact(e.start, e.soffset, e.finish, e.foffset),
                    getWin: (e) => {
                        const t = ((e) => e.match({ domRange: (e) => Qt.fromDom(e.startContainer), relative: (e, t) => rf.getStart(e), exact: (e, t, n, r) => e }))(e);
                        return an(t);
                    },
                    range: Qd,
                },
                af = (e, t) => {
                    const n = kt(e);
                    return "input" === n ? rf.after(e) : q(["br", "img"], n) ? (0 === t ? rf.before(e) : rf.after(e)) : rf.on(e, t);
                },
                lf = (e, t) => {
                    const n = e.fold(rf.before, af, rf.after),
                        r = t.fold(rf.before, af, rf.after);
                    return sf.relative(n, r);
                },
                cf = (e, t, n, r) => {
                    const o = af(e, t),
                        i = af(n, r);
                    return sf.relative(o, i);
                },
                uf = (e, t) => {
                    const n = (t || document).createDocumentFragment();
                    return (
                        V(e, (e) => {
                            n.appendChild(e.dom);
                        }),
                        Qt.fromDom(n)
                    );
                },
                df = (e) => {
                    const t = sf.getWin(e).dom,
                        n = (e, n, r, o) => Gd(t, e, n, r, o),
                        r = ((e) =>
                            e.match({
                                domRange: (e) => {
                                    const t = Qt.fromDom(e.startContainer),
                                        n = Qt.fromDom(e.endContainer);
                                    return cf(t, e.startOffset, n, e.endOffset);
                                },
                                relative: lf,
                                exact: cf,
                            }))(e);
                    return Jd(t, r).match({ ltr: n, rtl: n });
                },
                ff = (e, t, n) =>
                    ((e, t, n) => {
                        const r = Qt.fromDom(e.document);
                        return tf(r, t, n).map((e) => Qd(Qt.fromDom(e.startContainer), e.startOffset, Qt.fromDom(e.endContainer), e.endOffset));
                    })(e, t, n),
                pf = (e, t, n) =>
                    ff(n.defaultView, e, t)
                        .map((e) => {
                            const t = n.createRange();
                            return t.setStart(e.start.dom, e.soffset), t.setEnd(e.finish.dom, e.foffset), t;
                        })
                        .getOrUndefined(),
                hf = (e, t) => e && t && e.startContainer === t.startContainer && e.startOffset === t.startOffset && e.endContainer === t.endContainer && e.endOffset === t.endOffset,
                mf = (e, t, n) =>
                    null !==
                    ((e, t, n) => {
                        for (; e && e !== t; ) {
                            if (n(e)) return e;
                            e = e.parentNode;
                        }
                        return null;
                    })(e, t, n),
                gf = (e, t, n) => mf(e, t, (e) => e.nodeName === n),
                vf = (e) => e && "TABLE" === e.nodeName,
                yf = (e) => e && /^(TD|TH|CAPTION)$/.test(e.nodeName),
                bf = (e, t) => ro(e) && !1 === mf(e, t, hu),
                _f = (e, t, n) => {
                    const r = new Br(t, e.getParent(t.parentNode, e.isBlock) || e.getRoot());
                    for (; (t = r[n ? "prev" : "next"]()); ) if (br(t)) return !0;
                },
                wf = (e, t, n, r, o) => {
                    let i;
                    const s = e.getRoot();
                    let a;
                    const l = e.schema.getNonEmptyElements(),
                        c = e.getParent(o.parentNode, e.isBlock) || s;
                    if (r && br(o) && t && e.isEmpty(c)) return B.some(Ms(o.parentNode, e.nodeIndex(o)));
                    const u = new Br(o, c);
                    for (; (a = u[r ? "prev" : "next"]()); ) {
                        if ("false" === e.getContentEditableParent(a) || bf(a, s)) return B.none();
                        if (pr(a) && a.nodeValue.length > 0) return !1 === gf(a, s, "A") ? B.some(Ms(a, r ? a.nodeValue.length : 0)) : B.none();
                        if (e.isBlock(a) || l[a.nodeName.toLowerCase()]) return B.none();
                        i = a;
                    }
                    return n && i ? B.some(Ms(i, 0)) : B.none();
                },
                Cf = (e, t, n, r) => {
                    let o, i;
                    const s = e.getRoot();
                    let a,
                        l,
                        c = !1;
                    (o = r[(n ? "start" : "end") + "Container"]), (i = r[(n ? "start" : "end") + "Offset"]);
                    const u = ir(o) && i === o.childNodes.length,
                        d = e.schema.getNonEmptyElements();
                    if (((l = n), ro(o))) return B.none();
                    if ((ir(o) && i > o.childNodes.length - 1 && (l = !1), vr(o) && ((o = s), (i = 0)), o === s)) {
                        if (l && ((a = o.childNodes[i > 0 ? i - 1 : 0]), a)) {
                            if (ro(a)) return B.none();
                            if (d[a.nodeName] || vf(a)) return B.none();
                        }
                        if (o.hasChildNodes()) {
                            if (((i = Math.min(!l && i > 0 ? i - 1 : i, o.childNodes.length - 1)), (o = o.childNodes[i]), (i = pr(o) && u ? o.data.length : 0), !t && o === s.lastChild && vf(o))) return B.none();
                            if (
                                ((e, t) => {
                                    for (; t && t !== e; ) {
                                        if (Cr(t)) return !0;
                                        t = t.parentNode;
                                    }
                                    return !1;
                                })(s, o) ||
                                ro(o)
                            )
                                return B.none();
                            if (o.hasChildNodes() && !1 === vf(o)) {
                                a = o;
                                const t = new Br(o, s);
                                do {
                                    if (Cr(a) || ro(a)) {
                                        c = !1;
                                        break;
                                    }
                                    if (pr(a) && a.nodeValue.length > 0) {
                                        (i = l ? 0 : a.nodeValue.length), (o = a), (c = !0);
                                        break;
                                    }
                                    if (d[a.nodeName.toLowerCase()] && !yf(a)) {
                                        (i = e.nodeIndex(a)), (o = a.parentNode), l || i++, (c = !0);
                                        break;
                                    }
                                } while ((a = l ? t.next() : t.prev()));
                            }
                        }
                    }
                    return (
                        t &&
                            (pr(o) &&
                                0 === i &&
                                wf(e, u, t, !0, o).each((e) => {
                                    (o = e.container()), (i = e.offset()), (c = !0);
                                }),
                            ir(o) &&
                                ((a = o.childNodes[i]),
                                a || (a = o.childNodes[i - 1]),
                                !a ||
                                    !br(a) ||
                                    ((e, t) => e.previousSibling && e.previousSibling.nodeName === t)(a, "A") ||
                                    _f(e, a, !1) ||
                                    _f(e, a, !0) ||
                                    wf(e, u, t, !0, a).each((e) => {
                                        (o = e.container()), (i = e.offset()), (c = !0);
                                    }))),
                        l &&
                            !t &&
                            pr(o) &&
                            i === o.nodeValue.length &&
                            wf(e, u, t, !1, o).each((e) => {
                                (o = e.container()), (i = e.offset()), (c = !0);
                            }),
                        c ? B.some(Ms(o, i)) : B.none()
                    );
                },
                xf = (e, t) => {
                    const n = t.collapsed,
                        r = t.cloneRange(),
                        o = Ms.fromRangeStart(t);
                    return (
                        Cf(e, n, !0, r).each((e) => {
                            (n && Ms.isAbove(o, e)) || r.setStart(e.container(), e.offset());
                        }),
                        n ||
                            Cf(e, n, !1, r).each((e) => {
                                r.setEnd(e.container(), e.offset());
                            }),
                        n && r.collapse(!0),
                        hf(t, r) ? B.none() : B.some(r)
                    );
                },
                Ef = (e, t) => e.splitText(t),
                kf = (e) => {
                    let t = e.startContainer,
                        n = e.startOffset,
                        r = e.endContainer,
                        o = e.endOffset;
                    return (
                        t === r && pr(t)
                            ? n > 0 && n < t.nodeValue.length && ((r = Ef(t, n)), (t = r.previousSibling), o > n ? ((o -= n), (t = r = Ef(r, o).previousSibling), (o = r.nodeValue.length), (n = 0)) : (o = 0))
                            : (pr(t) && n > 0 && n < t.nodeValue.length && ((t = Ef(t, n)), (n = 0)), pr(r) && o > 0 && o < r.nodeValue.length && ((r = Ef(r, o).previousSibling), (o = r.nodeValue.length))),
                        { startContainer: t, startOffset: n, endContainer: r, endOffset: o }
                    );
                },
                Af = (e) => ({ walk: (t, n) => gd(e, t, n), split: kf, normalize: (t) => xf(e, t).fold(M, (e) => (t.setStart(e.startContainer, e.startOffset), t.setEnd(e.endContainer, e.endOffset), !0)) });
            (Af.compareRanges = hf), (Af.getCaretRangeFromPoint = pf), (Af.getSelectedNode = hs), (Af.getNode = ms);
            const Sf = ((e, t) => {
                    const n = (n) => {
                            const r = t(n);
                            if (r <= 0 || null === r) {
                                const t = On(n, e);
                                return parseFloat(t) || 0;
                            }
                            return r;
                        },
                        r = (e, t) =>
                            J(
                                t,
                                (t, n) => {
                                    const r = On(e, n),
                                        o = void 0 === r ? 0 : parseInt(r, 10);
                                    return isNaN(o) ? t : t + o;
                                },
                                0
                            );
                    return {
                        set: (t, n) => {
                            if (!E(n) && !n.match(/^[0-9]+$/)) throw new Error(e + ".set accepts only positive integer values. Value was " + n);
                            const r = t.dom;
                            Xt(r) && (r.style[e] = n + "px");
                        },
                        get: n,
                        getOuter: n,
                        aggregate: r,
                        max: (e, t, n) => {
                            const o = r(e, n);
                            return t > o ? t - o : 0;
                        },
                    };
                })("height", (e) => {
                    const t = e.dom;
                    return An(e) ? t.getBoundingClientRect().height : t.offsetHeight;
                }),
                Tf = () => Qt.fromDom(document),
                Nf = (e, t) =>
                    e.view(t).fold(N([]), (t) => {
                        const n = e.owner(t),
                            r = Nf(e, n);
                        return [t].concat(r);
                    });
            var Of = Object.freeze({
                __proto__: null,
                view: (e) => {
                    var t;
                    return (e.dom === document ? B.none() : B.from(null === (t = e.dom.defaultView) || void 0 === t ? void 0 : t.frameElement)).map(Qt.fromDom);
                },
                owner: (e) => sn(e),
            });
            const Df = (e) => {
                    const t = Tf(),
                        n = Qn(t),
                        r = ((e, t) => {
                            const n = t.owner(e);
                            return Nf(t, n);
                        })(e, Of),
                        o = Jn(e),
                        i = X(
                            r,
                            (e, t) => {
                                const n = Jn(t);
                                return { left: e.left + n.left, top: e.top + n.top };
                            },
                            { left: 0, top: 0 }
                        );
                    return Yn(i.left + o.left + n.left, i.top + o.top + n.top);
                },
                Rf = (e) => "textarea" === kt(e),
                Lf = (e, t) => {
                    const n = ((e) => {
                            const t = e.dom.ownerDocument,
                                n = t.body,
                                r = t.defaultView,
                                o = t.documentElement;
                            if (n === e.dom) return Yn(n.offsetLeft, n.offsetTop);
                            const i = Xn(null == r ? void 0 : r.pageYOffset, o.scrollTop),
                                s = Xn(null == r ? void 0 : r.pageXOffset, o.scrollLeft),
                                a = Xn(o.clientTop, n.clientTop),
                                l = Xn(o.clientLeft, n.clientLeft);
                            return Jn(e).translate(s - l, i - a);
                        })(e),
                        r = ((e) => Sf.get(e))(e);
                    return { element: e, bottom: n.top + r, height: r, pos: n, cleanup: t };
                },
                Pf = (e, t) => {
                    const n = ((e, t) => {
                            const n = pn(e);
                            if (0 === n.length || Rf(e)) return { element: e, offset: t };
                            if (t < n.length && !Rf(n[t])) return { element: n[t], offset: 0 };
                            {
                                const r = n[n.length - 1];
                                return Rf(r) ? { element: e, offset: t } : "img" === kt(r) ? { element: r, offset: 1 } : Nt(r) ? { element: r, offset: Od(r).length } : { element: r, offset: pn(r).length };
                            }
                        })(e, t),
                        r = Qt.fromHtml('<span data-mce-bogus="all" style="display: inline-block;">\ufeff</span>');
                    return $n(n.element, r), Lf(r, () => Hn(r));
                },
                $f = (e, t, n, r) => {
                    jf(e, (o, i) => If(e, t, n, r), n);
                },
                Mf = (e, t, n, r, o) => {
                    const i = { elm: r.element.dom, alignToTop: o };
                    if (((e, t) => e.dispatch("ScrollIntoView", t).isDefaultPrevented())(e, i)) return;
                    n(t, Qn(t).top, r, o),
                        ((e, t) => {
                            e.dispatch("AfterScrollIntoView", t);
                        })(e, i);
                },
                If = (e, t, n, r) => {
                    const o = Qt.fromDom(e.getBody()),
                        i = Qt.fromDom(e.getDoc());
                    o.dom.offsetWidth;
                    const s = Pf(Qt.fromDom(n.startContainer), n.startOffset);
                    Mf(e, i, t, s, r), s.cleanup();
                },
                Bf = (e, t, n, r) => {
                    const o = Qt.fromDom(e.getDoc());
                    Mf(e, o, n, ((e) => Lf(Qt.fromDom(e), A))(t), r);
                },
                jf = (e, t, n) => {
                    const r = n.startContainer,
                        o = n.startOffset,
                        i = n.endContainer,
                        s = n.endOffset;
                    t(Qt.fromDom(r), Qt.fromDom(i));
                    const a = e.dom.createRng();
                    a.setStart(r, o), a.setEnd(i, s), e.selection.setRng(n);
                },
                Ff = (e, t, n, r) => {
                    const o = e.pos;
                    if (n) Zn(o.left, o.top, r);
                    else {
                        const n = o.top - t + e.height;
                        Zn(o.left, n, r);
                    }
                },
                Hf = (e, t, n, r, o) => {
                    const i = n + t,
                        s = r.pos.top,
                        a = r.bottom,
                        l = a - s >= n;
                    if (s < t) Ff(r, n, !1 !== o, e);
                    else if (s > i) {
                        Ff(r, n, l ? !1 !== o : !0 === o, e);
                    } else a > i && !l && Ff(r, n, !0 === o, e);
                },
                Uf = (e, t, n, r) => {
                    const o = e.dom.defaultView.innerHeight;
                    Hf(e, t, o, n, r);
                },
                qf = (e, t, n, r) => {
                    const o = e.dom.defaultView.innerHeight;
                    Hf(e, t, o, n, r);
                    const i = Df(n.element),
                        s = nr(window);
                    i.top < s.y ? er(n.element, !1 !== r) : i.top > s.bottom && er(n.element, !0 === r);
                },
                zf = (e, t, n) => $f(e, Uf, t, n),
                Wf = (e, t, n) => Bf(e, t, Uf, n),
                Vf = (e, t, n) => $f(e, qf, t, n),
                Kf = (e, t, n) => Bf(e, t, qf, n),
                Gf = (e, t, n) => {
                    (e.inline ? zf : Vf)(e, t, n);
                },
                Yf = (e) => e.dom.focus(),
                Xf = (e) => {
                    const t = wn(e).dom;
                    return e.dom === t.activeElement;
                },
                Jf = (e = Tf()) => B.from(e.dom.activeElement).map(Qt.fromDom),
                Qf = (e, t) => {
                    const n = Nt(t) ? Od(t).length : pn(t).length + 1;
                    return e > n ? n : e < 0 ? 0 : e;
                },
                Zf = (e) => sf.range(e.start, Qf(e.soffset, e.start), e.finish, Qf(e.foffset, e.finish)),
                ep = (e, t) => !or(t.dom) && (rn(e, t) || nn(e, t)),
                tp = (e) => (t) => ep(e, t.start) && ep(e, t.finish),
                np = (e) => sf.range(Qt.fromDom(e.startContainer), e.startOffset, Qt.fromDom(e.endContainer), e.endOffset),
                rp = (e) =>
                    ((e) => {
                        const t = e.getSelection();
                        return (t && 0 !== t.rangeCount ? B.from(t.getRangeAt(0)) : B.none()).map(np);
                    })(an(e).dom).filter(tp(e)),
                op = (e) => {
                    const t = document.createRange();
                    try {
                        return t.setStart(e.start.dom, e.soffset), t.setEnd(e.finish.dom, e.foffset), B.some(t);
                    } catch (e) {
                        return B.none();
                    }
                },
                ip = (e) => {
                    const t = ((e) => e.inline)(e) ? rp(Qt.fromDom(e.getBody())) : B.none();
                    e.bookmark = t.isSome() ? t : e.bookmark;
                },
                sp = (e) => (e.bookmark ? e.bookmark : B.none()).bind((t) => ((e, t) => B.from(t).filter(tp(e)).map(Zf))(Qt.fromDom(e.getBody()), t)).bind(op),
                ap = {
                    isEditorUIElement: (e) => {
                        const t = e.className.toString();
                        return -1 !== t.indexOf("tox-") || -1 !== t.indexOf("mce-");
                    },
                },
                lp = {
                    setEditorTimeout: (e, t, n) =>
                        ((e, t) => (E(t) || (t = 0), setTimeout(e, t)))(() => {
                            e.removed || t();
                        }, n),
                    setEditorInterval: (e, t, n) => {
                        const r = ((e, t) => (E(t) || (t = 0), setInterval(e, t)))(() => {
                            e.removed ? clearInterval(r) : t();
                        }, n);
                        return r;
                    },
                },
                cp = (e) => {
                    const t = Fi(() => {
                        ip(e);
                    }, 0);
                    e.on("init", () => {
                        e.inline &&
                            ((e, t) => {
                                const n = () => {
                                    t.throttle();
                                };
                                Oi.DOM.bind(document, "mouseup", n),
                                    e.on("remove", () => {
                                        Oi.DOM.unbind(document, "mouseup", n);
                                    });
                            })(e, t),
                            ((e, t) => {
                                ((e, t) => {
                                    e.on("mouseup touchend", (e) => {
                                        t.throttle();
                                    });
                                })(e, t),
                                    e.on("keyup NodeChange AfterSetSelectionRange", (t) => {
                                        ((e) => "nodechange" === e.type && e.selectionChange)(t) || ip(e);
                                    });
                            })(e, t);
                    }),
                        e.on("remove", () => {
                            t.cancel();
                        });
                };
            let up;
            const dp = Oi.DOM,
                fp = (e, t) => {
                    const n = hl(e);
                    return null !== dp.getParent(t, (t) => ((e) => ap.isEditorUIElement(e))(t) || (!!n && e.dom.is(t, n)));
                },
                pp = (e, t) => {
                    const n = t.editor;
                    cp(n),
                        n.on("focusin", () => {
                            const t = e.focusedEditor;
                            t !== n && (t && t.dispatch("blur", { focusedEditor: n }), e.setActive(n), (e.focusedEditor = n), n.dispatch("focus", { blurredEditor: t }), n.focus(!0));
                        }),
                        n.on("focusout", () => {
                            lp.setEditorTimeout(n, () => {
                                const t = e.focusedEditor;
                                fp(
                                    n,
                                    ((e) => {
                                        try {
                                            const t = wn(Qt.fromDom(e.getElement()));
                                            return Jf(t).fold(
                                                () => document.body,
                                                (e) => e.dom
                                            );
                                        } catch (e) {
                                            return document.body;
                                        }
                                    })(n)
                                ) ||
                                    t !== n ||
                                    (n.dispatch("blur", { focusedEditor: null }), (e.focusedEditor = null));
                            });
                        }),
                        up ||
                            ((up = (t) => {
                                const n = e.activeEditor;
                                n &&
                                    En(t).each((t) => {
                                        t.ownerDocument === document && (t === document.body || fp(n, t) || e.focusedEditor !== n || (n.dispatch("blur", { focusedEditor: null }), (e.focusedEditor = null)));
                                    });
                            }),
                            dp.bind(document, "focusin", up));
                },
                hp = (e, t) => {
                    e.focusedEditor === t.editor && (e.focusedEditor = null), e.activeEditor || (dp.unbind(document, "focusin", up), (up = null));
                },
                mp = (e, t) => ((e) => (e.collapsed ? B.from(ms(e.startContainer, e.startOffset)).map(Qt.fromDom) : B.none()))(t).bind((t) => (Kr(t) ? B.some(t) : !1 === rn(e, t) ? B.some(e) : B.none())),
                gp = (e, t) => {
                    mp(Qt.fromDom(e.getBody()), t)
                        .bind((e) => fu(e.dom))
                        .fold(
                            () => {
                                e.selection.normalize();
                            },
                            (t) => e.selection.setRng(t.toRange())
                        );
                },
                vp = (e) => {
                    if (e.setActive)
                        try {
                            e.setActive();
                        } catch (t) {
                            e.focus();
                        }
                    else e.focus();
                },
                yp = (e) => {
                    return Xf(e) || ((t = e), Jf(wn(t)).filter((e) => t.dom.contains(e.dom))).isSome();
                    var t;
                },
                bp = (e) =>
                    e.inline
                        ? ((e) => {
                              const t = e.getBody();
                              return t && yp(Qt.fromDom(t));
                          })(e)
                        : ((e) => e.iframeElement && Xf(Qt.fromDom(e.iframeElement)))(e),
                _p = (e) =>
                    bp(e) ||
                    ((e) => {
                        const t = wn(Qt.fromDom(e.getElement()));
                        return Jf(t)
                            .filter(
                                (t) =>
                                    !((e) => {
                                        const t = e.classList;
                                        return void 0 !== t && (t.contains("tox-edit-area") || t.contains("tox-edit-area__iframe") || t.contains("mce-content-body"));
                                    })(t.dom) && fp(e, t.dom)
                            )
                            .isSome();
                    })(e),
                wp = (e) => e.editorManager.setActive(e),
                Cp = (e, t) => {
                    e.removed ||
                        (t
                            ? wp(e)
                            : ((e) => {
                                  const t = e.selection,
                                      n = e.getBody();
                                  let r = t.getRng();
                                  e.quirks.refreshContentEditable(),
                                      void 0 !== e.bookmark &&
                                          !1 === bp(e) &&
                                          sp(e).each((t) => {
                                              e.selection.setRng(t), (r = t);
                                          });
                                  const o = ((e, t) => e.dom.getParent(t, (t) => "true" === e.dom.getContentEditable(t)))(e, t.getNode());
                                  if (e.dom.isChildOf(o, n)) return vp(o), gp(e, r), void wp(e);
                                  e.inline || (gt.browser.isOpera() || vp(n), e.getWin().focus()), (gt.browser.isFirefox() || e.inline) && (vp(n), gp(e, r)), wp(e);
                              })(e));
                },
                xp = (e, t, n, r, o) => {
                    const i = n ? t.startContainer : t.endContainer,
                        s = n ? t.startOffset : t.endOffset;
                    return B.from(i)
                        .map(Qt.fromDom)
                        .map((e) => (r && t.collapsed ? e : hn(e, o(e, s)).getOr(e)))
                        .bind((e) => (Tt(e) ? B.some(e) : ln(e).filter(Tt)))
                        .map((e) => e.dom)
                        .getOr(e);
                },
                Ep = (e, t, n) => xp(e, t, !0, n, (e, t) => Math.min(vn(e), t)),
                kp = (e, t, n) => xp(e, t, !1, n, (e, t) => (t > 0 ? t - 1 : t)),
                Ap = (e, t) => {
                    const n = e;
                    for (; e && pr(e) && 0 === e.length; ) e = t ? e.nextSibling : e.previousSibling;
                    return e || n;
                },
                Sp = (e, t) =>
                    W(t, (t) => {
                        const n = e.dispatch("GetSelectionRange", { range: t });
                        return n.range !== t ? n.range : t;
                    }),
                Tp = ["img", "br"],
                Np = (e) =>
                    Dd(e)
                        .filter((e) => 0 !== e.trim().length || e.indexOf(" ") > -1)
                        .isSome() || q(Tp, kt(e)),
                Op = (e) =>
                    ((e, t) => {
                        const n = (e) => {
                            for (let r = 0; r < e.childNodes.length; r++) {
                                const o = Qt.fromDom(e.childNodes[r]);
                                if (t(o)) return B.some(o);
                                const i = n(e.childNodes[r]);
                                if (i.isSome()) return i;
                            }
                            return B.none();
                        };
                        return n(e.dom);
                    })(e, Np),
                Dp = (e, t) => {
                    const n = (e) => {
                        const r = pn(e);
                        for (let e = r.length - 1; e >= 0; e--) {
                            const o = r[e];
                            if (t(o)) return B.some(o);
                            const i = n(o);
                            if (i.isSome()) return i;
                        }
                        return B.none();
                    };
                    return n(e);
                },
                Rp = (e, t) => {
                    if (Lp(Qt.fromDom(e.getBody())).isNone()) {
                        const r = Qt.fromHtml('<span data-mce-autocompleter="1" data-mce-bogus="1"></span>', e.getDoc());
                        Bn(r, Qt.fromDom(t.extractContents())),
                            t.insertNode(r.dom),
                            ln(r).each((e) => e.dom.normalize()),
                            ((n = r), Dp(n, Np)).map((t) => {
                                e.selection.setCursorLocation(
                                    t.dom,
                                    ((e) =>
                                        "img" === kt(e)
                                            ? 1
                                            : Dd(e).fold(
                                                  () => pn(e).length,
                                                  (e) => e.length
                                              ))(t)
                                );
                            });
                    }
                    var n;
                },
                Lp = (e) => Pr(e, "[data-mce-autocompleter]"),
                Pp = { "#text": 3, "#comment": 8, "#cdata": 4, "#pi": 7, "#doctype": 10, "#document-fragment": 11 },
                $p = (e, t, n) => {
                    const r = n ? "lastChild" : "firstChild",
                        o = n ? "prev" : "next";
                    if (e[r]) return e[r];
                    if (e !== t) {
                        let n = e[o];
                        if (n) return n;
                        for (let r = e.parent; r && r !== t; r = r.parent) if (((n = r[o]), n)) return n;
                    }
                },
                Mp = (e) => {
                    if (!ko(e.value)) return !1;
                    const t = e.parent;
                    return !t || ("span" === t.name && !t.attr("style")) || !/^[ ]+$/.test(e.value);
                },
                Ip = (e) => {
                    const t = "a" === e.name && !e.attr("href") && e.attr("id");
                    return e.attr("name") || (e.attr("id") && !e.firstChild) || e.attr("data-mce-bookmark") || t;
                };
            class Bp {
                constructor(e, t) {
                    (this.name = e), (this.type = t), 1 === t && ((this.attributes = []), (this.attributes.map = {}));
                }
                static create(e, t) {
                    const n = new Bp(e, Pp[e] || 1);
                    return (
                        t &&
                            me(t, (e, t) => {
                                n.attr(t, e);
                            }),
                        n
                    );
                }
                replace(e) {
                    return e.parent && e.remove(), this.insert(e, this), this.remove(), this;
                }
                attr(e, t) {
                    const n = this;
                    let r;
                    if ("string" != typeof e)
                        return (
                            null != e &&
                                me(e, (e, t) => {
                                    n.attr(t, e);
                                }),
                            n
                        );
                    if ((r = n.attributes)) {
                        if (void 0 !== t) {
                            if (null === t) {
                                if (e in r.map) {
                                    delete r.map[e];
                                    let t = r.length;
                                    for (; t--; ) if (r[t].name === e) return r.splice(t, 1), n;
                                }
                                return n;
                            }
                            if (e in r.map) {
                                let n = r.length;
                                for (; n--; )
                                    if (r[n].name === e) {
                                        r[n].value = t;
                                        break;
                                    }
                            } else r.push({ name: e, value: t });
                            return (r.map[e] = t), n;
                        }
                        return r.map[e];
                    }
                }
                clone() {
                    const e = new Bp(this.name, this.type);
                    let t;
                    if ((t = this.attributes)) {
                        const n = [];
                        n.map = {};
                        for (let e = 0, r = t.length; e < r; e++) {
                            const r = t[e];
                            "id" !== r.name && ((n[n.length] = { name: r.name, value: r.value }), (n.map[r.name] = r.value));
                        }
                        e.attributes = n;
                    }
                    return (e.value = this.value), e;
                }
                wrap(e) {
                    return this.parent.insert(e, this), e.append(this), this;
                }
                unwrap() {
                    const e = this;
                    for (let t = e.firstChild; t; ) {
                        const n = t.next;
                        e.insert(t, e, !0), (t = n);
                    }
                    e.remove();
                }
                remove() {
                    const e = this,
                        t = e.parent,
                        n = e.next,
                        r = e.prev;
                    return t && (t.firstChild === e ? ((t.firstChild = n), n && (n.prev = null)) : (r.next = n), t.lastChild === e ? ((t.lastChild = r), r && (r.next = null)) : (n.prev = r), (e.parent = e.next = e.prev = null)), e;
                }
                append(e) {
                    const t = this;
                    e.parent && e.remove();
                    const n = t.lastChild;
                    return n ? ((n.next = e), (e.prev = n), (t.lastChild = e)) : (t.lastChild = t.firstChild = e), (e.parent = t), e;
                }
                insert(e, t, n) {
                    e.parent && e.remove();
                    const r = t.parent || this;
                    return (
                        n
                            ? (t === r.firstChild ? (r.firstChild = e) : (t.prev.next = e), (e.prev = t.prev), (e.next = t), (t.prev = e))
                            : (t === r.lastChild ? (r.lastChild = e) : (t.next.prev = e), (e.next = t.next), (e.prev = t), (t.next = e)),
                        (e.parent = r),
                        e
                    );
                }
                getAll(e) {
                    const t = this,
                        n = [];
                    for (let r = t.firstChild; r; r = $p(r, t)) r.name === e && n.push(r);
                    return n;
                }
                children() {
                    const e = [];
                    for (let t = this.firstChild; t; t = t.next) e.push(t);
                    return e;
                }
                empty() {
                    const e = this;
                    if (e.firstChild) {
                        const t = [];
                        for (let n = e.firstChild; n; n = $p(n, e)) t.push(n);
                        let n = t.length;
                        for (; n--; ) {
                            const e = t[n];
                            e.parent = e.firstChild = e.lastChild = e.next = e.prev = null;
                        }
                    }
                    return (e.firstChild = e.lastChild = null), e;
                }
                isEmpty(e, t = {}, n) {
                    const r = this;
                    let o = r.firstChild;
                    if (Ip(r)) return !1;
                    if (o)
                        do {
                            if (1 === o.type) {
                                if (o.attr("data-mce-bogus")) continue;
                                if (e[o.name]) return !1;
                                if (Ip(o)) return !1;
                            }
                            if (8 === o.type) return !1;
                            if (3 === o.type && !Mp(o)) return !1;
                            if (3 === o.type && o.parent && t[o.parent.name] && ko(o.value)) return !1;
                            if (n && n(o)) return !1;
                        } while ((o = $p(o, r)));
                    return !0;
                }
                walk(e) {
                    return $p(this, null, e);
                }
            }
            const jp = (e, t, n = 0) => {
                    const r = e.toLowerCase();
                    if (-1 !== r.indexOf("[if ", n) && ((e, t) => /^\s*\[if [\w\W]+\]>.*<!\[endif\](--!?)?>/.test(e.substr(t)))(r, n)) {
                        const e = r.indexOf("[endif]", n);
                        return r.indexOf(">", e);
                    }
                    if (t) {
                        const e = r.indexOf(">", n);
                        return -1 !== e ? e : r.length;
                    }
                    {
                        const t = /--!?>/g;
                        t.lastIndex = n;
                        const o = t.exec(e);
                        return o ? o.index + o[0].length : r.length;
                    }
                },
                Fp = (e, t, n) => {
                    const r = /<([!?\/])?([A-Za-z0-9\-_:.]+)/g,
                        o = /(?:\s(?:[^'">]+(?:"[^"]*"|'[^']*'))*[^"'>]*(?:"[^">]*|'[^'>]*)?|\s*|\/)>/g,
                        i = e.getVoidElements();
                    let s = 1,
                        a = n;
                    for (; 0 !== s; )
                        for (r.lastIndex = a; ; ) {
                            const e = r.exec(t);
                            if (null === e) return a;
                            if ("!" === e[1]) {
                                a = Ue(e[2], "--") ? jp(t, !1, e.index + "!--".length) : jp(t, !0, e.index + 1);
                                break;
                            }
                            {
                                o.lastIndex = r.lastIndex;
                                const n = o.exec(t);
                                if (y(n) || n.index !== r.lastIndex) continue;
                                "/" === e[1] ? (s -= 1) : Ee(i, e[2]) || (s += 1), (a = r.lastIndex + n[0].length);
                                break;
                            }
                        }
                    return a;
                },
                Hp = (e, t) => {
                    const n = /<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,
                        r = e.schema;
                    let o = ((e, t) => {
                        const n = new RegExp(["\\s?(" + e.join("|") + ')="[^"]+"'].join("|"), "gi");
                        return t.replace(n, "");
                    })(e.getTempAttrs(), t);
                    const i = r.getVoidElements();
                    let s;
                    for (; (s = n.exec(o)); ) {
                        const e = n.lastIndex,
                            t = s[0].length;
                        let a;
                        (a = i[s[1]] ? e : Fp(r, o, e)), (o = o.substring(0, e - t) + o.substring(a)), (n.lastIndex = e - t);
                    }
                    return Qr(o);
                },
                Up = Hp,
                qp = (e, t, n) => {
                    let r;
                    r =
                        "raw" === t.format
                            ? wt.trim(Up(e.serializer, n.innerHTML))
                            : "text" === t.format
                            ? e.dom.isEmpty(n)
                                ? ""
                                : Qr(n.innerText || n.textContent)
                            : "tree" === t.format
                            ? e.serializer.serialize(n, t)
                            : ((e, t) => {
                                  const n = Na(e),
                                      r = new RegExp(`^(<${n}[^>]*>(&nbsp;|&#160;|\\s| |<br \\/>|)<\\/${n}>[\r\n]*|<br \\/>[\r\n]*)$`);
                                  return t.replace(r, "");
                              })(e, e.serializer.serialize(n, t));
                    return "text" !== t.format && !Yr(Qt.fromDom(n)) && h(r) ? wt.trim(r) : r;
                },
                zp = wt.each,
                Wp = (e) => ({
                    compare: (t, n) => {
                        if (t.nodeName !== n.nodeName) return !1;
                        const r = (t) => {
                                const n = {};
                                return (
                                    zp(e.getAttribs(t), (r) => {
                                        const o = r.nodeName.toLowerCase();
                                        0 !== o.indexOf("_") && "style" !== o && 0 !== o.indexOf("data-") && (n[o] = e.getAttrib(t, o));
                                    }),
                                    n
                                );
                            },
                            o = (e, t) => {
                                let n, r;
                                for (r in e)
                                    if (Ee(e, r)) {
                                        if (((n = t[r]), void 0 === n)) return !1;
                                        if (e[r] !== n) return !1;
                                        delete t[r];
                                    }
                                for (r in t) if (Ee(t, r)) return !1;
                                return !0;
                            };
                        return !!o(r(t), r(n)) && !!o(e.parseStyle(e.getAttrib(t, "style")), e.parseStyle(e.getAttrib(n, "style"))) && !Au(t) && !Au(n);
                    },
                }),
                Vp = wt.makeMap,
                Kp = (e) => {
                    const t = [],
                        n = (e = e || {}).indent,
                        r = Vp(e.indent_before || ""),
                        o = Vp(e.indent_after || ""),
                        i = Zo.getEncodeFunc(e.entity_encoding || "raw", e.entities),
                        s = "xhtml" !== e.element_format;
                    return {
                        start: (e, a, l) => {
                            let c, u, d, f;
                            if ((n && r[e] && t.length > 0 && ((f = t[t.length - 1]), f.length > 0 && "\n" !== f && t.push("\n")), t.push("<", e), a))
                                for (c = 0, u = a.length; c < u; c++) (d = a[c]), t.push(" ", d.name, '="', i(d.value, !0), '"');
                            (t[t.length] = !l || s ? ">" : " />"), l && n && o[e] && t.length > 0 && ((f = t[t.length - 1]), f.length > 0 && "\n" !== f && t.push("\n"));
                        },
                        end: (e) => {
                            let r;
                            t.push("</", e, ">"), n && o[e] && t.length > 0 && ((r = t[t.length - 1]), r.length > 0 && "\n" !== r && t.push("\n"));
                        },
                        text: (e, n) => {
                            e.length > 0 && (t[t.length] = n ? e : i(e));
                        },
                        cdata: (e) => {
                            t.push("<![CDATA[", e, "]]>");
                        },
                        comment: (e) => {
                            t.push("\x3c!--", e, "--\x3e");
                        },
                        pi: (e, r) => {
                            r ? t.push("<?", e, " ", i(r), "?>") : t.push("<?", e, "?>"), n && t.push("\n");
                        },
                        doctype: (e) => {
                            t.push("<!DOCTYPE", e, ">", n ? "\n" : "");
                        },
                        reset: () => {
                            t.length = 0;
                        },
                        getContent: () => t.join("").replace(/\n$/, ""),
                    };
                },
                Gp = (e, t = di()) => {
                    const n = Kp(e);
                    (e = e || {}).validate = !("validate" in e) || e.validate;
                    return {
                        serialize: (r) => {
                            const o = e.validate,
                                i = {
                                    3: (e) => {
                                        n.text(e.value, e.raw);
                                    },
                                    8: (e) => {
                                        n.comment(e.value);
                                    },
                                    7: (e) => {
                                        n.pi(e.name, e.value);
                                    },
                                    10: (e) => {
                                        n.doctype(e.value);
                                    },
                                    4: (e) => {
                                        n.cdata(e.value);
                                    },
                                    11: (e) => {
                                        if ((e = e.firstChild))
                                            do {
                                                s(e);
                                            } while ((e = e.next));
                                    },
                                };
                            n.reset();
                            const s = (e) => {
                                const r = i[e.type];
                                if (r) r(e);
                                else {
                                    const r = e.name,
                                        i = r in t.getVoidElements();
                                    let a = e.attributes;
                                    if (o && a && a.length > 1) {
                                        const n = [];
                                        n.map = {};
                                        const r = t.getElementRule(e.name);
                                        if (r) {
                                            for (let e = 0, t = r.attributesOrder.length; e < t; e++) {
                                                const t = r.attributesOrder[e];
                                                if (t in a.map) {
                                                    const e = a.map[t];
                                                    (n.map[t] = e), n.push({ name: t, value: e });
                                                }
                                            }
                                            for (let e = 0, t = a.length; e < t; e++) {
                                                const t = a[e].name;
                                                if (!(t in n.map)) {
                                                    const e = a.map[t];
                                                    (n.map[t] = e), n.push({ name: t, value: e });
                                                }
                                            }
                                            a = n;
                                        }
                                    }
                                    if ((n.start(r, a, i), !i)) {
                                        let t = e.firstChild;
                                        if (t) {
                                            ("pre" !== r && "textarea" !== r) || 3 !== t.type || "\n" !== t.value[0] || n.text("\n", !0);
                                            do {
                                                s(t);
                                            } while ((t = t.next));
                                        }
                                        n.end(r);
                                    }
                                }
                            };
                            return 1 !== r.type || e.inner ? (3 === r.type ? i[3](r) : i[11](r)) : s(r), n.getContent();
                        },
                    };
                },
                Yp = new Set();
            V(
                [
                    "margin",
                    "margin-left",
                    "margin-right",
                    "margin-top",
                    "margin-bottom",
                    "padding",
                    "padding-left",
                    "padding-right",
                    "padding-top",
                    "padding-bottom",
                    "border",
                    "border-width",
                    "border-style",
                    "border-color",
                    "background",
                    "background-attachment",
                    "background-clip",
                    "background-color",
                    "background-image",
                    "background-origin",
                    "background-position",
                    "background-repeat",
                    "background-size",
                    "float",
                    "position",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "z-index",
                    "display",
                    "transform",
                    "width",
                    "max-width",
                    "min-width",
                    "height",
                    "max-height",
                    "min-height",
                    "overflow",
                    "overflow-x",
                    "overflow-y",
                    "text-overflow",
                    "vertical-align",
                    "transition",
                    "transition-delay",
                    "transition-duration",
                    "transition-property",
                    "transition-timing-function",
                ],
                (e) => {
                    Yp.add(e);
                }
            );
            const Xp = ["font", "text-decoration", "text-emphasis"],
                Jp = (e, t) => pe(e.parseStyle(e.getAttrib(t, "style"))),
                Qp = (e, t) => re(Jp(e, t), (e) => !((e) => Yp.has(e))(e)),
                Zp = (e, t, n) => {
                    const r = Jp(e, t),
                        o = Jp(e, n),
                        i = (r) => {
                            var o, i;
                            const s = null !== (o = e.getStyle(t, r)) && void 0 !== o ? o : "",
                                a = null !== (i = e.getStyle(n, r)) && void 0 !== i ? i : "";
                            return Ge(s) && Ge(a) && s !== a;
                        };
                    return z(r, (e) => {
                        const t = (t) => z(t, (t) => t === e);
                        if (!t(o) && t(Xp)) {
                            const e = Y(o, (e) => z(Xp, (t) => Ue(e, t)));
                            return z(e, i);
                        }
                        return i(e);
                    });
                },
                eh = (e, t, n) =>
                    B.from(n.container())
                        .filter(pr)
                        .exists((r) => {
                            const o = e ? 0 : -1;
                            return t(r.data.charAt(n.offset() + o));
                        }),
                th = R(eh, !0, Nu),
                nh = R(eh, !1, Nu),
                rh = (e) => {
                    const t = e.container();
                    return pr(t) && (0 === t.data.length || (Jr(t.data) && Id.isBookmarkNode(t.parentNode)));
                },
                oh = (e, t) => (n) =>
                    B.from(Rc(e ? 0 : -1, n))
                        .filter(t)
                        .isSome(),
                ih = (e) => _r(e) && "block" === On(Qt.fromDom(e), "display"),
                sh = (e) => Cr(e) && !((e) => ir(e) && "all" === e.getAttribute("data-mce-bogus"))(e),
                ah = oh(!0, ih),
                lh = oh(!1, ih),
                ch = oh(!0, Er),
                uh = oh(!1, Er),
                dh = oh(!0, ur),
                fh = oh(!1, ur),
                ph = oh(!0, sh),
                hh = oh(!1, sh),
                mh = (e) => {
                    const t = qi(e, "br"),
                        n = Y(
                            ((e) => {
                                const t = [];
                                let n = e.dom;
                                for (; n; ) t.push(Qt.fromDom(n)), (n = n.lastChild);
                                return t;
                            })(e).slice(-1),
                            qr
                        );
                    t.length === n.length && V(n, Hn);
                },
                gh = (e) => {
                    Fn(e), Bn(e, Qt.fromHtml('<br data-mce-bogus="1">'));
                },
                vh = (e) => {
                    gn(e).each((t) => {
                        cn(t).each((n) => {
                            Hr(e) && qr(t) && Hr(n) && Hn(t);
                        });
                    });
                },
                yh = (e, t, n) =>
                    rn(t, e)
                        ? ((e, t) => {
                              const n = x(t) ? t : M;
                              let r = e.dom;
                              const o = [];
                              for (; null !== r.parentNode && void 0 !== r.parentNode; ) {
                                  const e = r.parentNode,
                                      t = Qt.fromDom(e);
                                  if ((o.push(t), !0 === n(t))) break;
                                  r = e;
                              }
                              return o;
                          })(e, (e) => n(e) || nn(e, t)).slice(0, -1)
                        : [],
                bh = (e, t) => yh(e, t, M),
                _h = (e, t) => [e].concat(bh(e, t)),
                wh = (e, t, n) => lu(e, t, n, rh),
                Ch = (e, t) => Z(_h(Qt.fromDom(t.container()), e), Hr),
                xh = (e, t, n) =>
                    wh(e, t.dom, n).forall((e) =>
                        Ch(t, n).fold(
                            () => !1 === Dc(e, n, t.dom),
                            (r) => !1 === Dc(e, n, t.dom) && rn(r, Qt.fromDom(e.container()))
                        )
                    ),
                Eh = (e, t, n) =>
                    Ch(t, n).fold(
                        () => wh(e, t.dom, n).forall((e) => !1 === Dc(e, n, t.dom)),
                        (t) => wh(e, t.dom, n).isNone()
                    ),
                kh = R(Eh, !1),
                Ah = R(Eh, !0),
                Sh = R(xh, !1),
                Th = R(xh, !0),
                Nh = (e) => Hc(e).exists(qr),
                Oh = (e, t, n) => {
                    const r = Y(_h(Qt.fromDom(n.container()), t), Hr),
                        o = ce(r).getOr(t);
                    return su(e, o.dom, n).filter(Nh);
                },
                Dh = (e, t) => Hc(t).exists(qr) || Oh(!0, e, t).isSome(),
                Rh = (e, t) => ((e) => B.from(e.getNode(!0)).map(Qt.fromDom))(t).exists(qr) || Oh(!1, e, t).isSome(),
                Lh = R(Oh, !1),
                Ph = R(Oh, !0),
                $h = (e) => Ms.isTextPosition(e) && !e.isAtStart() && !e.isAtEnd(),
                Mh = (e, t) => {
                    const n = Y(_h(Qt.fromDom(t.container()), e), Hr);
                    return ce(n).getOr(e);
                },
                Ih = (e, t) => ($h(t) ? nh(t) : nh(t) || du(Mh(e, t).dom, t).exists(nh)),
                Bh = (e, t) => ($h(t) ? th(t) : th(t) || uu(Mh(e, t).dom, t).exists(th)),
                jh = (e) =>
                    Hc(e)
                        .bind((e) => Dr(e, Tt))
                        .exists((e) => ((e) => q(["pre", "pre-wrap"], e))(On(e, "white-space"))),
                Fh = (e, t) => ((e, t) => du(e.dom, t).isNone())(e, t) || ((e, t) => uu(e.dom, t).isNone())(e, t) || kh(e, t) || Ah(e, t) || Rh(e, t) || Dh(e, t),
                Hh = (e, t) => !jh(t) && (kh(e, t) || Sh(e, t) || Rh(e, t) || Ih(e, t)),
                Uh = (e, t) => !jh(t) && (Ah(e, t) || Th(e, t) || Dh(e, t) || Bh(e, t)),
                qh = (e, t) =>
                    Hh(e, t) ||
                    Uh(
                        e,
                        ((e) => {
                            const t = e.container(),
                                n = e.offset();
                            return pr(t) && n < t.data.length ? Ms(t, n + 1) : e;
                        })(t)
                    ),
                zh = (e, t) => Su(e.charAt(t)),
                Wh = (e) => {
                    const t = e.container();
                    return pr(t) && He(t.data, " ");
                },
                Vh = (e) => {
                    const t = e.data,
                        n = ((e) => {
                            const t = e.split("");
                            return W(t, (e, n) => (Su(e) && n > 0 && n < t.length - 1 && Ou(t[n - 1]) && Ou(t[n + 1]) ? " " : e)).join("");
                        })(t);
                    return n !== t && ((e.data = n), !0);
                },
                Kh = (e, t) =>
                    B.some(t)
                        .filter(Wh)
                        .bind((t) => {
                            const n = t.container();
                            return ((e, t) => {
                                const n = t.data,
                                    r = Ms(t, 0);
                                return !(!zh(n, 0) || qh(e, r)) && ((t.data = " " + n.slice(1)), !0);
                            })(e, n) ||
                                Vh(n) ||
                                ((e, t) => {
                                    const n = t.data,
                                        r = Ms(t, n.length - 1);
                                    return !(!zh(n, n.length - 1) || qh(e, r)) && ((t.data = n.slice(0, -1) + " "), !0);
                                })(e, n)
                                ? B.some(t)
                                : B.none();
                        }),
                Gh = (e, t, n) => {
                    if (0 === n) return;
                    const r = Qt.fromDom(e),
                        o = Or(r, Hr).getOr(r),
                        i = e.data.slice(t, t + n),
                        s = t + n >= e.data.length && Uh(o, Ms(e, e.data.length)),
                        a = 0 === t && Hh(o, Ms(e, 0));
                    e.replaceData(t, n, So(i, 4, a, s));
                },
                Yh = (e, t) => {
                    const n = e.data.slice(t),
                        r = n.length - Ve(n).length;
                    Gh(e, t, r);
                },
                Xh = (e, t) => {
                    const n = e.data.slice(0, t),
                        r = n.length - Ke(n).length;
                    Gh(e, t - r, r);
                },
                Jh = (e, t, n, r = !0) => {
                    const o = Ke(e.data).length,
                        i = r ? e : t,
                        s = r ? t : e;
                    return r ? i.appendData(s.data) : i.insertData(0, s.data), Hn(Qt.fromDom(s)), n && Yh(i, o), i;
                },
                Qh = (e, t) =>
                    ((e, t) => {
                        const n = e.container(),
                            r = e.offset();
                        return !1 === Ms.isTextPosition(e) && n === t.parentNode && r > Ms.before(t).offset();
                    })(t, e)
                        ? Ms(t.container(), t.offset() - 1)
                        : t,
                Zh = (e) => {
                    return wo(e.previousSibling) ? B.some(((t = e.previousSibling), pr(t) ? Ms(t, t.data.length) : Ms.after(t))) : e.previousSibling ? pu(e.previousSibling) : B.none();
                    var t;
                },
                em = (e) => {
                    return wo(e.nextSibling) ? B.some(((t = e.nextSibling), pr(t) ? Ms(t, 0) : Ms.before(t))) : e.nextSibling ? fu(e.nextSibling) : B.none();
                    var t;
                },
                tm = (e, t) =>
                    Zh(t)
                        .orThunk(() => em(t))
                        .orThunk(() =>
                            ((e, t) => {
                                const n = Ms.before(t.previousSibling ? t.previousSibling : t.parentNode);
                                return du(e, n).fold(() => uu(e, Ms.after(t)), B.some);
                            })(e, t)
                        ),
                nm = (e, t) =>
                    em(t)
                        .orThunk(() => Zh(t))
                        .orThunk(() => ((e, t) => uu(e, Ms.after(t)).fold(() => du(e, Ms.before(t)), B.some))(e, t)),
                rm = (e, t, n) => ((e, t, n) => (e ? nm(t, n) : tm(t, n)))(e, t, n).map(R(Qh, n)),
                om = (e, t, n) => {
                    n.fold(
                        () => {
                            e.focus();
                        },
                        (n) => {
                            e.selection.setRng(n.toRange(), t);
                        }
                    );
                },
                im = (e, t) => t && Ee(e.schema.getBlockElements(), kt(t)),
                sm = (e) => {
                    if ($o(e)) {
                        const t = Qt.fromHtml('<br data-mce-bogus="1">');
                        return Fn(e), Bn(e, t), B.some(Ms.before(t.dom));
                    }
                    return B.none();
                },
                am = (e, t, n) => {
                    const r = cn(e).filter(Nt),
                        o = un(e).filter(Nt);
                    return (
                        Hn(e),
                        ((i = r),
                        (s = o),
                        (a = t),
                        (l = (e, t, r) => {
                            const o = e.dom,
                                i = t.dom,
                                s = o.data.length;
                            return Jh(o, i, n), r.container() === i ? Ms(o, s) : r;
                        }),
                        i.isSome() && s.isSome() && a.isSome() ? B.some(l(i.getOrDie(), s.getOrDie(), a.getOrDie())) : B.none()).orThunk(() => (n && (r.each((e) => Xh(e.dom, e.dom.length)), o.each((e) => Yh(e.dom, 0))), t))
                    );
                    var i, s, a, l;
                },
                lm = (e, t, n, r = !0) => {
                    const o = rm(t, e.getBody(), n.dom),
                        i = Or(n, R(im, e), ((s = e.getBody()), (e) => e.dom === s));
                    var s;
                    const a = am(n, o, ((e, t) => Ee(e.schema.getTextInlineElements(), kt(t)))(e, n));
                    e.dom.isEmpty(e.getBody())
                        ? (e.setContent(""), e.selection.setCursorLocation())
                        : i.bind(sm).fold(
                              () => {
                                  r && om(e, t, a);
                              },
                              (n) => {
                                  r && om(e, t, B.some(n));
                              }
                          );
                },
                cm = (e) => qi(e, "td,th"),
                um = (e, t) => ({ start: e, end: t }),
                dm = la([{ singleCellTable: ["rng", "cell"] }, { fullTable: ["table"] }, { partialTable: ["cells", "outsideDetails"] }, { multiTable: ["startTableCells", "endTableCells", "betweenRng"] }]),
                fm = (e, t) => $r(Qt.fromDom(e), "td,th", t),
                pm = (e) => !nn(e.start, e.end),
                hm = (e, t) => wd(e.start, t).bind((n) => wd(e.end, t).bind((e) => Et(nn(n, e), n))),
                mm = (e) => (t) => hm(t, e).map((e) => ((e, t, n) => ({ rng: e, table: t, cells: n }))(t, e, cm(e))),
                gm = (e, t, n, r) => {
                    if (n.collapsed || !e.forall(pm)) return B.none();
                    if (t.isSameTable) {
                        const t = e.bind(mm(r));
                        return B.some({ start: t, end: t });
                    }
                    {
                        const e = fm(n.startContainer, r),
                            t = fm(n.endContainer, r),
                            o = e.bind(((e) => (t) => wd(t, e).bind((e) => ue(cm(e)).map((e) => um(t, e))))(r)).bind(mm(r)),
                            i = t.bind(((e) => (t) => wd(t, e).bind((e) => ce(cm(e)).map((e) => um(e, t))))(r)).bind(mm(r));
                        return B.some({ start: o, end: i });
                    }
                },
                vm = (e, t) => ee(e, (e) => nn(e, t)),
                ym = (e) => xt(vm(e.cells, e.rng.start), vm(e.cells, e.rng.end), (t, n) => e.cells.slice(t, n + 1)),
                bm = (e, t, n) =>
                    e.exists(
                        (e) =>
                            ((e, t) =>
                                !pm(e) &&
                                hm(e, t).exists((e) => {
                                    const t = e.dom.rows;
                                    return 1 === t.length && 1 === t[0].cells.length;
                                }))(e, n) && Ed(e.start, t)
                    ),
                _m = (e, t) => {
                    const { startTable: n, endTable: r } = t,
                        o = e.cloneRange();
                    return n.each((e) => o.setStartAfter(e.dom)), r.each((e) => o.setEndBefore(e.dom)), o;
                },
                wm = (e, t) => {
                    const n = ((e) => (t) => nn(e, t))(e),
                        r = ((e, t) => {
                            const n = fm(e.startContainer, t),
                                r = fm(e.endContainer, t);
                            return xt(n, r, um);
                        })(t, n),
                        o = ((e, t) => {
                            const n = (e) => wd(Qt.fromDom(e), t),
                                r = n(e.startContainer),
                                o = n(e.endContainer),
                                i = r.isSome(),
                                s = o.isSome(),
                                a = xt(r, o, nn).getOr(!1);
                            return { startTable: r, endTable: o, isStartInTable: i, isEndInTable: s, isSameTable: a, isMultiTable: !a && i && s };
                        })(t, n);
                    return bm(r, t, n)
                        ? r.map((e) => dm.singleCellTable(t, e.start))
                        : o.isMultiTable
                        ? ((e, t, n, r) =>
                              gm(e, t, n, r).bind(({ start: e, end: r }) => {
                                  const o = e.bind(ym).getOr([]),
                                      i = r.bind(ym).getOr([]);
                                  if (o.length > 0 && i.length > 0) {
                                      const e = _m(n, t);
                                      return B.some(dm.multiTable(o, i, e));
                                  }
                                  return B.none();
                              }))(r, o, t, n)
                        : ((e, t, n, r) =>
                              gm(e, t, n, r)
                                  .bind(({ start: e, end: t }) => e.or(t))
                                  .bind((e) => {
                                      const { isSameTable: r } = t,
                                          o = ym(e).getOr([]);
                                      if (r && e.cells.length === o.length) return B.some(dm.fullTable(e.table));
                                      if (o.length > 0) {
                                          if (r) return B.some(dm.partialTable(o, B.none()));
                                          {
                                              const e = _m(n, t);
                                              return B.some(dm.partialTable(o, B.some({ ...t, rng: e })));
                                          }
                                      }
                                      return B.none();
                                  }))(r, o, t, n);
                },
                Cm = (e) => {
                    var t;
                    return (8 === At((t = e)) || "#comment" === kt(t) ? cn(e) : gn(e)).bind(Cm).orThunk(() => B.some(e));
                },
                xm = (e) =>
                    V(e, (e) => {
                        Bt(e, "contenteditable"), gh(e);
                    }),
                Em = (e, t, n, r) => {
                    const o = n.cloneRange();
                    r ? (o.setStart(n.startContainer, n.startOffset), o.setEndAfter(t.dom.lastChild)) : (o.setStartBefore(t.dom.firstChild), o.setEnd(n.endContainer, n.endOffset)), Tm(e, o, t, !1).each((e) => e());
                },
                km = (e) => {
                    const t = _d(e),
                        n = Qt.fromDom(e.selection.getNode());
                    xr(n.dom) && $o(n) ? e.selection.setCursorLocation(n.dom, 0) : e.selection.collapse(!0), t.length > 1 && z(t, (e) => nn(e, n)) && Lt(n, "data-mce-selected", "1");
                },
                Am = (e, t, n) =>
                    B.some(() => {
                        const r = e.selection.getRng(),
                            o = n
                                .bind(({ rng: n, isStartInTable: o }) => {
                                    const i = ((e, t) => B.from(e.dom.getParent(t, e.dom.isBlock)).map(Qt.fromDom))(e, o ? n.endContainer : n.startContainer);
                                    n.deleteContents(),
                                        ((e, t, n) => {
                                            n.each((n) => {
                                                t ? Hn(n) : (gh(n), e.selection.setCursorLocation(n.dom, 0));
                                            });
                                        })(e, o, i.filter($o));
                                    const s = o ? t[0] : t[t.length - 1];
                                    return Em(e, s, r, o), $o(s) ? B.none() : B.some(o ? t.slice(1) : t.slice(0, -1));
                                })
                                .getOr(t);
                        xm(o), km(e);
                    }),
                Sm = (e, t, n, r) =>
                    B.some(() => {
                        const o = e.selection.getRng(),
                            i = t[0],
                            s = n[n.length - 1];
                        Em(e, i, o, !0), Em(e, s, o, !1);
                        const a = $o(i) ? t : t.slice(1),
                            l = $o(s) ? n : n.slice(0, -1);
                        xm(a.concat(l)), r.deleteContents(), km(e);
                    }),
                Tm = (e, t, n, r = !0) =>
                    B.some(() => {
                        t.deleteContents();
                        const o = Cm(n).getOr(n),
                            i = Qt.fromDom(e.dom.getParent(o.dom, e.dom.isBlock));
                        if (($o(i) && (gh(i), r && e.selection.setCursorLocation(i.dom, 0)), !nn(n, i))) {
                            const e = Ct(ln(i), n)
                                ? []
                                : ln((s = i))
                                      .map(pn)
                                      .map((e) => Y(e, (e) => !nn(s, e)))
                                      .getOr([]);
                            V(e.concat(pn(n)), (e) => {
                                nn(e, i) || rn(e, i) || !$o(e) || Hn(e);
                            });
                        }
                        var s;
                    }),
                Nm = (e, t) => B.some(() => lm(e, !1, t)),
                Om = (e, t, n, r) =>
                    Rm(t, r).fold(
                        () => ((e, t, n) => wm(t, n).bind((t) => t.fold(R(Tm, e), R(Nm, e), R(Am, e), R(Sm, e))))(e, t, n),
                        (t) => ((e, t) => Lm(e, t))(e, t)
                    ),
                Dm = (e, t) => Z(_h(t, e), Gr),
                Rm = (e, t) => {
                    return Z(_h(t, e), ((n = "caption"), (e) => Tt(e) && kt(e) === n));
                    var n;
                },
                Lm = (e, t) =>
                    B.some(() => {
                        gh(t), e.selection.setCursorLocation(t.dom, 0);
                    }),
                Pm = (e, t, n, r, o) =>
                    au(n, e.getBody(), o).fold(
                        () => B.some(A),
                        (i) =>
                            ((e, t, n, r) =>
                                fu(e.dom)
                                    .bind((o) => pu(e.dom).map((e) => (t ? n.isEqual(o) && r.isEqual(e) : n.isEqual(e) && r.isEqual(o))))
                                    .getOr(!0))(r, n, o, i)
                                ? ((e, t) => Lm(e, t))(e, r)
                                : ((e, t, n) =>
                                      Rm(e, Qt.fromDom(n.getNode())).fold(
                                          () => B.some(A),
                                          (e) => Et(!nn(e, t), A)
                                      ))(t, r, i)
                    ),
                $m = (e, t, n, r) => {
                    const o = Ms.fromRangeStart(e.selection.getRng());
                    return Dm(n, r).bind((r) => ($o(r) ? Lm(e, r) : ((e, t, n, r, o) => au(n, e.getBody(), o).bind((e) => Dm(t, Qt.fromDom(e.getNode())).bind((e) => (nn(e, r) ? B.none() : B.some(A)))))(e, n, t, r, o)));
                },
                Mm = (e, t) => (e ? dh(t) : fh(t)),
                Im = (e, t, n) => {
                    const r = Qt.fromDom(e.getBody());
                    return Rm(r, n).fold(
                        () =>
                            $m(e, t, r, n).orThunk(() =>
                                Et(
                                    ((e, t) => {
                                        const n = Ms.fromRangeStart(e.selection.getRng());
                                        return Mm(t, n) || su(t, e.getBody(), n).exists((e) => Mm(t, e));
                                    })(e, t),
                                    A
                                )
                            ),
                        (n) =>
                            ((e, t, n, r) => {
                                const o = Ms.fromRangeStart(e.selection.getRng());
                                return $o(r) ? Lm(e, r) : Pm(e, n, t, r, o);
                            })(e, t, r, n)
                    );
                },
                Bm = (e, t) => {
                    const n = Qt.fromDom(e.selection.getStart(!0)),
                        r = _d(e);
                    return e.selection.isCollapsed() && 0 === r.length
                        ? Im(e, t, n)
                        : ((e, t, n) => {
                              const r = Qt.fromDom(e.getBody()),
                                  o = e.selection.getRng();
                              return 0 !== n.length ? Am(e, n, B.none()) : Om(e, r, o, t);
                          })(e, n, r);
                },
                jm = (e, t) => {
                    for (; t && t !== e; ) {
                        if (wr(t) || Cr(t)) return t;
                        t = t.parentNode;
                    }
                    return null;
                },
                Fm = (e, t) => {
                    t(e), e.firstChild && Fm(e.firstChild, t), e.next && Fm(e.next, t);
                },
                Hm = (e, t, n, r) => {
                    const o = n.name;
                    for (let t = 0, i = e.length; t < i; t++) {
                        const i = e[t];
                        if (i.name === o) {
                            const e = r.nodes[o];
                            e ? e.nodes.push(n) : (r.nodes[o] = { filter: i, nodes: [n] });
                        }
                    }
                    if (n.attributes)
                        for (let e = 0, o = t.length; e < o; e++) {
                            const o = t[e],
                                i = o.name;
                            if (i in n.attributes.map) {
                                const e = r.attributes[i];
                                e ? e.nodes.push(n) : (r.attributes[i] = { filter: o, nodes: [n] });
                            }
                        }
                },
                Um = (e, t) => {
                    const n = (e) => {
                        me(e, (e) => {
                            const n = Y(e.nodes, (e) => C(e.parent));
                            V(e.filter.callbacks, (r) => {
                                r(n, e.filter.name, t);
                            });
                        });
                    };
                    n(e.nodes), n(e.attributes);
                },
                qm = (e, t, n, r = {}) => {
                    const o = ((e, t, n) => {
                        const r = { nodes: {}, attributes: {} };
                        return (
                            n.firstChild &&
                                Fm(n.firstChild, (n) => {
                                    Hm(e, t, n, r);
                                }),
                            r
                        );
                    })(e, t, n);
                    Um(o, r);
                },
                zm = (e, t, n, r) => {
                    t.insert && n[r.name] ? r.empty().append(new Bp("br", 1)) : (r.empty().append(new Bp("#text", 3)).value = " ");
                },
                Wm = (e, t) => e && e.firstChild && e.firstChild === e.lastChild && e.firstChild.name === t,
                Vm = (e, t, n, r) =>
                    r.isEmpty(t, n, (t) =>
                        ((e, t) => {
                            const n = e.getElementRule(t.name);
                            return n && n.paddEmpty;
                        })(e, t)
                    ),
                Km = (e, t, n = e.parent) => {
                    if (t.getSpecialElements()[e.name]) e.empty().remove();
                    else {
                        const r = e.children();
                        for (const e of r) t.isValidChild(n.name, e.name) || Km(e, t, n);
                        e.unwrap();
                    }
                },
                Gm = (e, t, n = A) => {
                    const r = t.getTextBlockElements(),
                        o = t.getNonEmptyElements(),
                        i = t.getWhitespaceElements(),
                        s = wt.makeMap("tr,td,th,tbody,thead,tfoot,table"),
                        a = new Set();
                    for (let l = 0; l < e.length; l++) {
                        const c = e[l];
                        let u, d, f;
                        if (!c.parent || a.has(c)) continue;
                        if (r[c.name] && "li" === c.parent.name) {
                            let e = c.next;
                            for (; e && r[e.name]; ) (e.name = "li"), a.add(e), c.parent.insert(e, c.parent), (e = e.next);
                            c.unwrap();
                            continue;
                        }
                        const p = [c];
                        for (u = c.parent; u && !t.isValidChild(u.name, c.name) && !s[u.name]; u = u.parent) p.push(u);
                        if (u && p.length > 1)
                            if (t.isValidChild(u.name, c.name)) {
                                p.reverse(), (d = p[0].clone()), n(d);
                                let e = d;
                                for (let r = 0; r < p.length - 1; r++) {
                                    t.isValidChild(e.name, p[r].name) ? ((f = p[r].clone()), n(f), e.append(f)) : (f = e);
                                    for (let e = p[r].firstChild; e && e !== p[r + 1]; ) {
                                        const t = e.next;
                                        f.append(e), (e = t);
                                    }
                                    e = f;
                                }
                                Vm(t, o, i, d) ? u.insert(c, p[0], !0) : (u.insert(d, p[0], !0), u.insert(c, d)), (u = p[0]), (Vm(t, o, i, u) || Wm(u, "br")) && u.empty().remove();
                            } else Km(c, t);
                        else if (c.parent) {
                            if ("li" === c.name) {
                                let e = c.prev;
                                if (e && ("ul" === e.name || "ol" === e.name)) {
                                    e.append(c);
                                    continue;
                                }
                                if (((e = c.next), e && ("ul" === e.name || "ol" === e.name))) {
                                    e.insert(c, e.firstChild, !0);
                                    continue;
                                }
                                const t = new Bp("ul", 1);
                                n(t), c.wrap(t);
                                continue;
                            }
                            if (t.isValidChild(c.parent.name, "div") && t.isValidChild("div", c.name)) {
                                const e = new Bp("div", 1);
                                n(e), c.wrap(e);
                            } else Km(c, t);
                        }
                    }
                },
                Ym = (e) => {
                    const t = Ms.fromRangeStart(e),
                        n = Ms.fromRangeEnd(e),
                        r = e.commonAncestorContainer;
                    return su(!1, r, n)
                        .map((o) =>
                            !Dc(t, n, r) && Dc(t, o, r)
                                ? ((e, t, n, r) => {
                                      const o = document.createRange();
                                      return o.setStart(e, t), o.setEnd(n, r), o;
                                  })(t.container(), t.offset(), o.container(), o.offset())
                                : e
                        )
                        .getOr(e);
                },
                Xm = (e) => (e.collapsed ? e : Ym(e)),
                Jm = (e) => e && e.firstChild && e.firstChild === e.lastChild && ((e) => " " === e.data || br(e))(e.firstChild),
                Qm = (e) => {
                    return e.length > 0 && (!(t = e[e.length - 1]).firstChild || Jm(t)) ? e.slice(0, -1) : e;
                    var t;
                },
                Zm = (e, t) => {
                    const n = e.getParent(t, e.isBlock);
                    return n && "LI" === n.nodeName ? n : null;
                },
                eg = (e, t) => {
                    const n = Ms.after(e),
                        r = tu(t).prev(n);
                    return r ? r.toRange() : null;
                },
                tg = (e, t, n) => {
                    const r = e.parentNode;
                    return (
                        wt.each(t, (t) => {
                            r.insertBefore(t, e);
                        }),
                        ((e, t) => {
                            const n = Ms.before(e),
                                r = tu(t).next(n);
                            return r ? r.toRange() : null;
                        })(e, n)
                    );
                },
                ng = (e, t, n, r) => {
                    const o = ((e, t, n) => {
                            const r = t.serialize(n);
                            return ((e) => {
                                const t = e.firstChild,
                                    n = e.lastChild;
                                return t && "META" === t.nodeName && t.parentNode.removeChild(t), n && "mce_marker" === n.id && n.parentNode.removeChild(n), e;
                            })(e.createFragment(r));
                        })(t, e, r),
                        i = Zm(t, n.startContainer),
                        s = Qm(((a = o.firstChild), Y(a.childNodes, (e) => "LI" === e.nodeName)));
                    var a;
                    const l = t.getRoot(),
                        c = (e) => {
                            const r = Ms.fromRangeStart(n),
                                o = tu(t.getRoot()),
                                s = 1 === e ? o.prev(r) : o.next(r);
                            return !s || Zm(t, s.getNode()) !== i;
                        };
                    return c(1)
                        ? tg(i, s, l)
                        : c(2)
                        ? ((e, t, n, r) => (r.insertAfter(t.reverse(), e), eg(t[0], n)))(i, s, l, t)
                        : ((e, t, n, r) => {
                              const o = ((e, t) => {
                                      const n = t.cloneRange(),
                                          r = t.cloneRange();
                                      return n.setStartBefore(e), r.setEndAfter(e), [n.cloneContents(), r.cloneContents()];
                                  })(e, r),
                                  i = e.parentNode;
                              return (
                                  i.insertBefore(o[0], e),
                                  wt.each(t, (t) => {
                                      i.insertBefore(t, e);
                                  }),
                                  i.insertBefore(o[1], e),
                                  i.removeChild(e),
                                  eg(t[t.length - 1], n)
                              );
                          })(i, s, l, n);
                },
                rg = xr,
                og = (e, t) => {
                    let n;
                    const r = e.dom,
                        o = e.selection;
                    if (!t) return;
                    o.scrollIntoView(t);
                    const i = jm(e.getBody(), t);
                    if ("false" === r.getContentEditable(i)) return r.remove(t), void o.select(i);
                    let s = r.createRng();
                    const a = t.previousSibling;
                    if (pr(a)) {
                        s.setStart(a, a.nodeValue.length);
                        const e = t.nextSibling;
                        pr(e) && (a.appendData(e.data), e.parentNode.removeChild(e));
                    } else s.setStartBefore(t), s.setEndBefore(t);
                    const l = r.getParent(t, r.isBlock);
                    r.remove(t),
                        l &&
                            r.isEmpty(l) &&
                            (Fn(Qt.fromDom(l)),
                            s.setStart(l, 0),
                            s.setEnd(l, 0),
                            rg(l) ||
                            ((e) => !!e.getAttribute("data-mce-fragment"))(l) ||
                            !(n = ((t) => {
                                let n = Ms.fromRangeStart(t);
                                if (((n = tu(e.getBody()).next(n)), n)) return n.toRange();
                            })(s))
                                ? r.add(l, r.create("br", { "data-mce-bogus": "1" }))
                                : ((s = n), r.remove(l))),
                        o.setRng(s);
                },
                ig = (e) => {
                    const t = e.dom,
                        n = Xm(e.selection.getRng());
                    e.selection.setRng(n);
                    const r = t.getParent(n.startContainer, rg);
                    ((e, t, n) => {
                        if (null !== n) {
                            return n === e.getParent(t.endContainer, rg) && Ed(Qt.fromDom(n), t);
                        }
                        return !1;
                    })(t, n, r)
                        ? Tm(e, n, Qt.fromDom(r))
                        : e.getDoc().execCommand("Delete", !1, null);
                },
                sg = (e, t, n) => {
                    let r, o, i;
                    const s = e.selection,
                        a = e.dom,
                        l = e.parser,
                        c = n.merge,
                        u = Gp({ validate: !0 }, e.schema),
                        d = '<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;</span>';
                    -1 === t.indexOf("{$caret}") && (t += "{$caret}"), (t = t.replace(/\{\$caret\}/, d)), (o = s.getRng());
                    const f = o.startContainer || (o.parentElement ? o.parentElement() : null),
                        p = e.getBody();
                    f === p &&
                        s.isCollapsed() &&
                        a.isBlock(p.firstChild) &&
                        ((e, t) => t && !e.schema.getVoidElements()[t.nodeName])(e, p.firstChild) &&
                        a.isEmpty(p.firstChild) &&
                        ((o = a.createRng()), o.setStart(p.firstChild, 0), o.setEnd(p.firstChild, 0), s.setRng(o)),
                        s.isCollapsed() || ig(e),
                        (r = s.getNode());
                    const h = { context: r.nodeName.toLowerCase(), data: n.data, insert: !0 },
                        m = l.parse(t, h);
                    if (
                        !0 === n.paste &&
                        ((e, t) => {
                            let n = t.firstChild,
                                r = t.lastChild;
                            return (
                                n && "meta" === n.name && (n = n.next),
                                r && "mce_marker" === r.attr("id") && (r = r.prev),
                                ((e, t) => {
                                    const n = e.getNonEmptyElements();
                                    return t && (t.isEmpty(n) || ((e, t) => e.getBlockElements()[t.name] && ((e) => e.firstChild && e.firstChild === e.lastChild)(t) && ((e) => "br" === e.name || " " === e.value)(t.firstChild))(e, t));
                                })(e, r) && (r = r.prev),
                                !(!n || n !== r) && ("ul" === n.name || "ol" === n.name)
                            );
                        })(e.schema, m) &&
                        ((e, t) => !!Zm(e, t))(a, r)
                    )
                        return (o = ng(u, a, s.getRng(), m)), s.setRng(o), t;
                    if (
                        (((e) => {
                            let t = e;
                            for (; (t = t.walk()); ) 1 === t.type && t.attr("data-mce-fragment", "1");
                        })(m),
                        (i = m.lastChild),
                        "mce_marker" === i.attr("id"))
                    ) {
                        const t = i;
                        for (i = i.prev; i; i = i.walk(!0))
                            if (3 === i.type || !a.isBlock(i.name)) {
                                e.schema.isValidChild(i.parent.name, "span") && i.parent.insert(t, i, "br" === i.name);
                                break;
                            }
                    }
                    if ((e._selectionOverrides.showBlockCaretContainer(r), h.invalid)) {
                        e.selection.setContent(d), (r = s.getNode());
                        const n = e.getBody();
                        for (9 === r.nodeType ? (r = i = n) : (i = r); i !== n; ) (r = i), (i = i.parentNode);
                        t = r === n ? n.innerHTML : a.getOuterHTML(r);
                        const o = l.parse(t);
                        for (let e = o; e; e = e.walk())
                            if ("mce_marker" === e.attr("id")) {
                                e.replace(m);
                                break;
                            }
                        const c = m.children(),
                            f = m.parent.name;
                        m.unwrap();
                        const p = Y(c, (t) => !e.schema.isValidChild(f, t.name));
                        Gm(p, e.schema), qm(l.getNodeFilters(), l.getAttributeFilters(), o), (t = u.serialize(o)), r === n ? a.setHTML(n, t) : a.setOuterHTML(r, t);
                    } else
                        (t = u.serialize(m)),
                            ((e, t, n) => {
                                if ("all" === n.getAttribute("data-mce-bogus")) n.parentNode.insertBefore(e.dom.createFragment(t), n);
                                else {
                                    const r = n.firstChild,
                                        o = n.lastChild;
                                    !r || (r === o && "BR" === r.nodeName) ? e.dom.setHTML(n, t) : e.selection.setContent(t, { no_events: !0 });
                                }
                            })(e, t, r);
                    var g;
                    return (
                        ((e, t) => {
                            const n = e.schema.getTextInlineElements(),
                                r = e.dom;
                            if (t) {
                                const t = e.getBody(),
                                    o = Wp(r);
                                wt.each(r.select("*[data-mce-fragment]"), (e) => {
                                    if (C(n[e.nodeName.toLowerCase()]) && Qp(r, e))
                                        for (let n = e.parentNode; C(n) && n !== t; n = n.parentNode) {
                                            if (Zp(r, e, n)) break;
                                            if (o.compare(n, e)) {
                                                r.remove(e, !0);
                                                break;
                                            }
                                        }
                                });
                            }
                        })(e, c),
                        og(e, a.get("mce_marker")),
                        (g = e.getBody()),
                        wt.each(g.getElementsByTagName("*"), (e) => {
                            e.removeAttribute("data-mce-fragment");
                        }),
                        ((e, t) => {
                            B.from(e.getParent(t, "td,th")).map(Qt.fromDom).each(vh);
                        })(a, s.getStart()),
                        t
                    );
                },
                ag = (e) => e instanceof Bp,
                lg = (e, t, n) => {
                    e.dom.setHTML(e.getBody(), t),
                        !0 !== n &&
                            ((e) => {
                                bp(e) &&
                                    fu(e.getBody()).each((t) => {
                                        const n = t.getNode(),
                                            r = ur(n) ? fu(n).getOr(t) : t;
                                        e.selection.setRng(r.toRange());
                                    });
                            })(e);
                },
                cg = (e, t, n) =>
                    B.from(e.getBody())
                        .map((r) =>
                            ag(t)
                                ? ((e, t, n, r) => {
                                      qm(e.parser.getNodeFilters(), e.parser.getAttributeFilters(), n);
                                      const o = Gp({ validate: !1 }, e.schema).serialize(n),
                                          i = Yr(Qt.fromDom(t)) ? o : wt.trim(o);
                                      return lg(e, i, r.no_selection), { content: n, html: i };
                                  })(e, r, t, n)
                                : ((e, t, n, r) => {
                                      if (0 === n.length || /^\s+$/.test(n)) {
                                          const o = '<br data-mce-bogus="1">';
                                          "TABLE" === t.nodeName ? (n = "<tr><td>" + o + "</td></tr>") : /^(UL|OL)$/.test(t.nodeName) && (n = "<li>" + o + "</li>");
                                          const i = Na(e);
                                          return e.schema.isValidChild(t.nodeName.toLowerCase(), i.toLowerCase()) ? ((n = o), (n = e.dom.createHTML(i, Oa(e), n))) : n || (n = o), lg(e, n, r.no_selection), { content: n, html: n };
                                      }
                                      {
                                          "raw" !== r.format && (n = Gp({ validate: !1 }, e.schema).serialize(e.parser.parse(n, { isRootContent: !0, insert: !0 })));
                                          const o = Yr(Qt.fromDom(t)) ? n : wt.trim(n);
                                          return lg(e, o, r.no_selection), { content: o, html: o };
                                      }
                                  })(e, r, t, n)
                        )
                        .getOr({ content: t, html: ag(n.content) ? "" : n.content }),
                ug = (e, t) =>
                    ((e, t) => {
                        const n = e.dom;
                        return n.parentNode ? Rr(Qt.fromDom(n.parentNode), (n) => !nn(e, n) && t(n)) : B.none();
                    })(e, t).isSome(),
                dg = (e) => (x(e) ? e : M),
                fg = (e, t, n) => {
                    const r = t(e),
                        o = dg(n);
                    return r.orThunk(() =>
                        o(e)
                            ? B.none()
                            : ((e, t, n) => {
                                  let r = e.dom;
                                  const o = dg(n);
                                  for (; r.parentNode; ) {
                                      r = r.parentNode;
                                      const e = Qt.fromDom(r),
                                          n = t(e);
                                      if (n.isSome()) return n;
                                      if (o(e)) break;
                                  }
                                  return B.none();
                              })(e, t, o)
                    );
                },
                pg = Wu,
                hg = (e, t, n) => {
                    const r = e.formatter.get(n);
                    if (r)
                        for (let n = 0; n < r.length; n++) {
                            const o = r[n];
                            if (Qu(o) && !1 === o.inherit && e.dom.is(t, o.selector)) return !0;
                        }
                    return !1;
                },
                mg = (e, t, n, r, o) => {
                    const i = e.dom.getRoot();
                    return t !== i && ((t = e.dom.getParent(t, (t) => !!hg(e, t, n) || t.parentNode === i || !!yg(e, t, n, r, !0))), !!yg(e, t, n, r, o));
                },
                gg = (e, t, n) => !(!Zu(n) || !pg(t, n.inline)) || !(!Ju(n) || !pg(t, n.block)) || (!!Qu(n) && ir(t) && e.is(t, n.selector)),
                vg = (e, t, n, r, o, i) => {
                    const s = n[r];
                    if (x(n.onmatch)) return n.onmatch(t, n, r);
                    if (s)
                        if (_(s.length)) {
                            for (const a in s)
                                if (Ee(s, a)) {
                                    const l = "attributes" === r ? e.getAttrib(t, a) : Ku(e, t, a),
                                        c = zu(s[a], i),
                                        u = w(l) || Ye(l);
                                    if (u && w(c)) continue;
                                    if (o && u && !n.exact) return !1;
                                    if ((!o || n.exact) && !pg(l, Vu(c, a))) return !1;
                                }
                        } else for (let n = 0; n < s.length; n++) if ("attributes" === r ? e.getAttrib(t, s[n]) : Ku(e, t, s[n])) return !0;
                    return !0;
                },
                yg = (e, t, n, r, o) => {
                    const i = e.formatter.get(n),
                        s = e.dom;
                    if (i && t)
                        for (let n = 0; n < i.length; n++) {
                            const a = i[n];
                            if (gg(e.dom, t, a) && vg(s, t, a, "attributes", o, r) && vg(s, t, a, "styles", o, r)) {
                                const n = a.classes;
                                if (n) for (let o = 0; o < n.length; o++) if (!e.dom.hasClass(t, zu(n[o], r))) return;
                                return a;
                            }
                        }
                },
                bg = (e, t, n, r, o) => {
                    if (r) return mg(e, r, t, n, o);
                    if (((r = e.selection.getNode()), mg(e, r, t, n, o))) return !0;
                    const i = e.selection.getStart();
                    return !(i === r || !mg(e, i, t, n, o));
                },
                _g = (e, t) => {
                    const n = (t) => nn(t, Qt.fromDom(e.getBody()));
                    return B.from(e.selection.getStart(!0))
                        .bind((r) => fg(Qt.fromDom(r), (n) => fe(t, (t) => ((t, n) => (yg(e, t.dom, n) ? B.some(n) : B.none()))(n, t)), n))
                        .getOrNull();
                },
                wg = (e, t, n) =>
                    J(
                        n,
                        (n, r) => {
                            const o = ((e, t) =>
                                z(e.formatter.get(t), (e) => {
                                    const t = (e) => e.length > 1 && "%" === e.charAt(0);
                                    return z(["styles", "attributes"], (n) =>
                                        xe(e, n).exists((e) => {
                                            const n = v(e) ? e : Ce(e);
                                            return z(n, t);
                                        })
                                    );
                                }))(e, r);
                            return e.formatter.matchNode(t, r, {}, o) ? n.concat([r]) : n;
                        },
                        []
                    ),
                Cg = (e) =>
                    ((e) => {
                        const t = [];
                        for (; e; ) {
                            if ((3 === e.nodeType && "\ufeff" !== e.nodeValue) || e.childNodes.length > 1) return [];
                            1 === e.nodeType && t.push(e), (e = e.firstChild);
                        }
                        return t;
                    })(e).length > 0,
                xg = (e) => {
                    if (e) {
                        const t = new Br(e, e);
                        for (e = t.current(); e; e = t.next()) if (pr(e)) return e;
                    }
                    return null;
                },
                Eg = (e) => {
                    const t = Qt.fromTag("span");
                    return Pt(t, { id: "_mce_caret", "data-mce-bogus": "1", "data-mce-type": "format-caret" }), e && Bn(t, Qt.fromText("\ufeff")), t;
                },
                kg = (e, t, n = !0) => {
                    const r = e.dom,
                        o = e.selection;
                    if (Cg(t)) lm(e, !1, Qt.fromDom(t), n);
                    else {
                        const e = o.getRng(),
                            n = r.getParent(t, r.isBlock),
                            i = e.startContainer,
                            s = e.startOffset,
                            a = e.endContainer,
                            l = e.endOffset,
                            c = ((e) => {
                                const t = xg(e);
                                return t && "\ufeff" === t.nodeValue.charAt(0) && t.deleteData(0, 1), t;
                            })(t);
                        r.remove(t, !0), i === c && s > 0 && e.setStart(c, s - 1), a === c && l > 0 && e.setEnd(c, l - 1), n && r.isEmpty(n) && gh(Qt.fromDom(n)), o.setRng(e);
                    }
                },
                Ag = (e, t, n = !0) => {
                    const r = e.dom,
                        o = e.selection;
                    if (t) kg(e, t, n);
                    else if (!(t = mu(e.getBody(), o.getStart()))) for (; (t = r.get("_mce_caret")); ) kg(e, t, !1);
                },
                Sg = (e, t) => (e.appendChild(t), t),
                Tg = (e, t) => {
                    const n = X(e, (e, t) => Sg(e, t.cloneNode(!1)), t);
                    return Sg(n, n.ownerDocument.createTextNode("\ufeff"));
                },
                Ng = (e, t, n, r) => {
                    const o = e.dom,
                        i = e.selection;
                    let s, a, l;
                    const c = [],
                        u = i.getRng(),
                        d = u.startContainer,
                        f = u.startOffset;
                    for (a = d, 3 === d.nodeType && (f !== d.nodeValue.length && (s = !0), (a = a.parentNode)); a; ) {
                        if (yg(e, a, t, n, r)) {
                            l = a;
                            break;
                        }
                        a.nextSibling && (s = !0), c.push(a), (a = a.parentNode);
                    }
                    if (l)
                        if (s) {
                            const o = i.getBookmark();
                            u.collapse(!0);
                            let s = md(e, u, e.formatter.get(t), !0);
                            (s = kf(s)), e.formatter.remove(t, n, s, r), i.moveToBookmark(o);
                        } else {
                            const s = mu(e.getBody(), l),
                                a = Eg(!1).dom;
                            ((e, t, n) => {
                                const r = e.dom,
                                    o = r.getParent(n, R(Hu, e));
                                o && r.isEmpty(o) ? n.parentNode.replaceChild(t, n) : (mh(Qt.fromDom(n)), r.isEmpty(n) ? n.parentNode.replaceChild(t, n) : r.insertAfter(t, n));
                            })(e, a, null !== s ? s : l);
                            const u = ((e, t, n, r, o, i) => {
                                    const s = e.formatter,
                                        a = e.dom,
                                        l = Y(pe(s.get()), (e) => e !== r && !He(e, "removeformat")),
                                        c = wg(e, n, l);
                                    if (Y(c, (t) => !Xu(e, t, r)).length > 0) {
                                        const e = n.cloneNode(!1);
                                        return a.add(t, e), s.remove(r, o, e, i), a.remove(e), B.some(e);
                                    }
                                    return B.none();
                                })(e, a, l, t, n, r),
                                d = Tg(c.concat(u.toArray()), a);
                            kg(e, s, !1), i.setCursorLocation(d, 1), o.isEmpty(l) && o.remove(l);
                        }
                },
                Og = (e) => {
                    e.on("mouseup keydown", (t) => {
                        ((e, t) => {
                            const n = e.selection,
                                r = e.getBody();
                            Ag(e, null, !1), (8 !== t && 46 !== t) || !n.isCollapsed() || "\ufeff" !== n.getStart().innerHTML || Ag(e, mu(r, n.getStart())), (37 !== t && 39 !== t) || Ag(e, mu(r, n.getStart()));
                        })(e, t.keyCode);
                    });
                },
                Dg = (e, t) => {
                    const n = e.schema.getTextInlineElements();
                    return Ee(n, kt(t)) && !hu(t.dom) && !cr(t.dom);
                },
                Rg = {},
                Lg = Oe,
                Pg = Te;
            ((e, t) => {
                Rg[e] || (Rg[e] = []), Rg[e].push(t);
            })("pre", (e) => {
                const t = e.selection.getRng();
                let n;
                const r = (e) => o(e.previousSibling) && -1 !== De(n, e.previousSibling),
                    o = sr(["pre"]);
                t.collapsed ||
                    ((n = e.selection.getSelectedBlocks()),
                    Pg(Lg(Lg(n, o), r), (e) => {
                        ((e, t) => {
                            const n = Qt.fromDom(t),
                                r = sn(n).dom;
                            Hn(n), jn(Qt.fromDom(e), [Qt.fromTag("br", r), Qt.fromTag("br", r), ...pn(n)]);
                        })(e.previousSibling, e);
                    }));
            });
            const $g = wt.each,
                Mg = (e) => ir(e) && !Au(e) && !hu(e) && !cr(e),
                Ig = (e, t) => {
                    for (let n = e; n; n = n[t]) {
                        if (pr(n) && Ge(n.data)) return e;
                        if (ir(n) && !Au(n)) return n;
                    }
                    return e;
                },
                Bg = (e, t, n) => {
                    const r = Wp(e);
                    if (t && n && ((t = Ig(t, "previousSibling")), (n = Ig(n, "nextSibling")), r.compare(t, n))) {
                        for (let e = t.nextSibling; e && e !== n; ) {
                            const n = e;
                            (e = e.nextSibling), t.appendChild(n);
                        }
                        return (
                            e.remove(n),
                            wt.each(wt.grep(n.childNodes), (e) => {
                                t.appendChild(e);
                            }),
                            t
                        );
                    }
                    return n;
                },
                jg = (e, t, n, r) => {
                    if (r && !1 !== t.merge_siblings) {
                        const t = Bg(e, Fu(r), r);
                        Bg(e, t, Fu(t, !0));
                    }
                },
                Fg = (e, t, n) => {
                    $g(e.childNodes, (e) => {
                        Mg(e) && (t(e) && n(e), e.hasChildNodes() && Fg(e, t, n));
                    });
                },
                Hg = (e, t) => (n) => !(!n || !Ku(e, n, t)),
                Ug = (e, t, n) => (r) => {
                    e.setStyle(r, t, n),
                        "" === r.getAttribute("style") && r.removeAttribute("style"),
                        ((e, t) => {
                            "SPAN" === t.nodeName && 0 === e.getAttribs(t).length && e.remove(t, !0);
                        })(e, r);
                },
                qg = la([{ keep: [] }, { rename: ["name"] }, { removed: [] }]),
                zg = /^(src|href|style)$/,
                Wg = wt.each,
                Vg = Wu,
                Kg = (e, t, n) => e.isChildOf(t, n) && t !== n && !e.isBlock(n),
                Gg = (e, t, n) => {
                    let r = t[n ? "startContainer" : "endContainer"],
                        o = t[n ? "startOffset" : "endOffset"];
                    if (ir(r)) {
                        const e = r.childNodes.length - 1;
                        !n && o && o--, (r = r.childNodes[o > e ? e : o]);
                    }
                    return pr(r) && n && o >= r.nodeValue.length && (r = new Br(r, e.getBody()).next() || r), pr(r) && !n && 0 === o && (r = new Br(r, e.getBody()).prev() || r), r;
                },
                Yg = (e, t) => {
                    const n = t ? "firstChild" : "lastChild";
                    if (((e) => /^(TR|TH|TD)$/.test(e.nodeName))(e) && e[n]) {
                        const t = e[n];
                        return ("TR" === e.nodeName && t[n]) || t;
                    }
                    return e;
                },
                Xg = (e, t, n, r) => {
                    const o = e.create(n, r);
                    return t.parentNode.insertBefore(o, t), o.appendChild(t), o;
                },
                Jg = (e, t, n, r, o) => {
                    const i = Qt.fromDom(t),
                        s = Qt.fromDom(e.create(r, o)),
                        a = n ? fn(i) : dn(i);
                    return jn(s, a), n ? ($n(i, s), In(s, i)) : (Mn(i, s), Bn(s, i)), s.dom;
                },
                Qg = (e, t, n) => {
                    const r = t.parentNode;
                    let o;
                    const i = e.dom,
                        s = Na(e);
                    Ju(n) &&
                        r === i.getRoot() &&
                        ((n.list_block && Vg(t, n.list_block)) ||
                            V(de(t.childNodes), (t) => {
                                Uu(e, s, t.nodeName.toLowerCase()) ? (o ? o.appendChild(t) : ((o = Xg(i, t, s)), i.setAttribs(o, Oa(e)))) : (o = null);
                            })),
                        (((e) => Qu(e) && Zu(e) && Ct(xe(e, "mixed"), !0))(n) && !Vg(n.inline, t)) || i.remove(t, !0);
                },
                Zg = (e, t, n, r, o) => {
                    let i;
                    const s = e.dom;
                    if (!gg(s, r, t) && !((e, t) => t.links && "A" === e.nodeName)(r, t)) return qg.keep();
                    const a = r;
                    if (Zu(t) && "all" === t.remove && v(t.preserve_attributes)) {
                        const e = Y(s.getAttribs(a), (e) => q(t.preserve_attributes, e.name.toLowerCase()));
                        if ((s.removeAllAttribs(a), V(e, (e) => s.setAttrib(a, e.name, e.value)), e.length > 0)) return qg.rename("span");
                    }
                    if ("all" !== t.remove) {
                        Wg(t.styles, (e, r) => {
                            (e = Vu(zu(e, n), r + "")), E(r) && ((r = e), (o = null)), (t.remove_similar || !o || Vg(Ku(s, o, r), e)) && s.setStyle(a, r, ""), (i = !0);
                        }),
                            i && "" === s.getAttrib(a, "style") && (a.removeAttribute("style"), a.removeAttribute("data-mce-style")),
                            Wg(t.attributes, (e, r) => {
                                let i;
                                if (((e = zu(e, n)), E(r) && ((r = e), (o = null)), t.remove_similar || !o || Vg(s.getAttrib(o, r), e))) {
                                    if (
                                        "class" === r &&
                                        (e = s.getAttrib(a, r)) &&
                                        ((i = ""),
                                        V(e.split(/\s+/), (e) => {
                                            /mce\-\w+/.test(e) && (i += (i ? " " : "") + e);
                                        }),
                                        i)
                                    )
                                        return void s.setAttrib(a, r, i);
                                    if ((zg.test(r) && a.removeAttribute("data-mce-" + r), "style" === r && sr(["li"])(a) && "none" === s.getStyle(a, "list-style-type")))
                                        return a.removeAttribute(r), void s.setStyle(a, "list-style-type", "none");
                                    "class" === r && a.removeAttribute("className"), a.removeAttribute(r);
                                }
                            }),
                            Wg(t.classes, (e) => {
                                (e = zu(e, n)), (o && !s.hasClass(o, e)) || s.removeClass(a, e);
                            });
                        const e = s.getAttribs(a);
                        for (let t = 0; t < e.length; t++) {
                            const n = e[t].nodeName;
                            if (0 !== n.indexOf("_") && 0 !== n.indexOf("data-")) return qg.keep();
                        }
                    }
                    return "none" !== t.remove ? (Qg(e, a, t), qg.removed()) : qg.keep();
                },
                ev = (e, t, n, r, o) => Zg(e, t, n, r, o).fold(M, (t) => (e.dom.rename(r, t), !0), I),
                tv = (e, t, n, r) => Zg(e, t, n, r, r).fold(N(r), (t) => (e.dom.createFragment().appendChild(r), e.dom.rename(r, t)), N(null)),
                nv = (e, t, n, r, o) => {
                    const i = e.formatter.get(t),
                        s = i[0];
                    let a = !0;
                    const l = e.dom,
                        c = e.selection,
                        u = (r) => {
                            const a = ((e, t, n, r, o) => {
                                let i;
                                return (
                                    V(Yu(e.dom, t.parentNode).reverse(), (t) => {
                                        if (!i && "_start" !== t.id && "_end" !== t.id) {
                                            const s = yg(e, t, n, r, o);
                                            s && !1 !== s.split && (i = t);
                                        }
                                    }),
                                    i
                                );
                            })(e, r, t, n, o);
                            return ((e, t, n, r, o, i, s, a) => {
                                let l, c, u;
                                const d = e.dom;
                                if (n) {
                                    const f = n.parentNode;
                                    for (let n = r.parentNode; n && n !== f; n = n.parentNode) {
                                        l = d.clone(n, !1);
                                        for (let n = 0; n < t.length && ((l = tv(e, t[n], a, l)), null !== l); n++);
                                        l && (c && l.appendChild(c), u || (u = l), (c = l));
                                    }
                                    !i || (s.mixed && d.isBlock(n)) || (r = d.split(n, r)), c && (o.parentNode.insertBefore(c, o), u.appendChild(o), Zu(s) && jg(d, s, 0, c));
                                }
                                return r;
                            })(e, i, a, r, r, !0, s, n);
                        },
                        d = (t) => z(i, (r) => ev(e, r, n, t, t)),
                        f = (t) => {
                            let n = !0,
                                r = !1;
                            ir(t) && l.getContentEditable(t) && ((n = a), (a = "true" === l.getContentEditable(t)), (r = !0));
                            const o = de(t.childNodes);
                            if (a && !r) {
                                const e = d(t) || z(i, (e) => gg(l, t, e)),
                                    n = t.parentNode;
                                !e && C(n) && ed(s) && d(n);
                            }
                            if (s.deep && o.length) {
                                for (let e = 0; e < o.length; e++) f(o[e]);
                                r && (a = n);
                            }
                            V(["underline", "line-through", "overline"], (n) => {
                                ir(t) && e.dom.getStyle(t, "text-decoration") === n && t.parentNode && Gu(l, t.parentNode) === n && ev(e, { deep: !1, exact: !0, inline: "span", styles: { textDecoration: n } }, null, t);
                            });
                        },
                        p = (e) => {
                            const t = l.get(e ? "_start" : "_end");
                            let n = t[e ? "firstChild" : "lastChild"];
                            return (
                                ((e) => Au(e) && ir(e) && ("_start" === e.id || "_end" === e.id))(n) && (n = n[e ? "firstChild" : "lastChild"]),
                                pr(n) && 0 === n.data.length && (n = e ? t.previousSibling || t.nextSibling : t.nextSibling || t.previousSibling),
                                l.remove(t, !0),
                                n
                            );
                        },
                        h = (t) => {
                            let n,
                                r,
                                o = md(e, t, i, t.collapsed);
                            if (s.split) {
                                if (((o = kf(o)), (n = Gg(e, o, !0)), (r = Gg(e, o)), n !== r)) {
                                    if (((n = Yg(n, !0)), (r = Yg(r, !1)), Kg(l, n, r))) {
                                        const e = B.from(n.firstChild).getOr(n);
                                        return u(Jg(l, e, !0, "span", { id: "_start", "data-mce-type": "bookmark" })), void p(!0);
                                    }
                                    if (Kg(l, r, n)) {
                                        const e = B.from(r.lastChild).getOr(r);
                                        return u(Jg(l, e, !1, "span", { id: "_end", "data-mce-type": "bookmark" })), void p(!1);
                                    }
                                    (n = Xg(l, n, "span", { id: "_start", "data-mce-type": "bookmark" })), (r = Xg(l, r, "span", { id: "_end", "data-mce-type": "bookmark" }));
                                    const e = l.createRng();
                                    e.setStartAfter(n),
                                        e.setEndBefore(r),
                                        gd(l, e, (e) => {
                                            V(e, (e) => {
                                                Au(e) || Au(e.parentNode) || u(e);
                                            });
                                        }),
                                        u(n),
                                        u(r),
                                        (n = p(!0)),
                                        (r = p());
                                } else n = r = u(n);
                                (o.startContainer = n.parentNode ? n.parentNode : n), (o.startOffset = l.nodeIndex(n)), (o.endContainer = r.parentNode ? r.parentNode : r), (o.endOffset = l.nodeIndex(r) + 1);
                            }
                            gd(l, o, (e) => {
                                V(e, f);
                            });
                        };
                    if (r) {
                        if (Bu(r)) {
                            const e = l.createRng();
                            e.setStartBefore(r), e.setEndAfter(r), h(e);
                        } else h(r);
                        Hd(e, t, r, n);
                    } else if ("false" !== l.getContentEditable(c.getNode()))
                        c.isCollapsed() && Zu(s) && !_d(e).length
                            ? Ng(e, t, n, o)
                            : (Td(c, !0, () => {
                                  Sd(e, h);
                              }),
                              Zu(s) && bg(e, t, n, c.getStart()) && ju(l, c, c.getRng()),
                              e.nodeChanged()),
                            Hd(e, t, r, n);
                    else {
                        r = c.getNode();
                        for (let t = 0; t < i.length && (!i[t].ceFalseOverride || !ev(e, i[t], n, r, r)); t++);
                        Hd(e, t, r, n);
                    }
                },
                rv = wt.each,
                ov = (e, t, n, r) => {
                    rv(t, (t) => {
                        Zu(t) &&
                            rv(e.dom.select(t.inline, r), (r) => {
                                Mg(r) && ev(e, t, n, r, t.exact ? r : null);
                            }),
                            ((e, t, n) => {
                                if (t.clear_child_styles) {
                                    const r = t.links ? "*:not(a)" : "*";
                                    $g(e.select(r, n), (n) => {
                                        Mg(n) &&
                                            $g(t.styles, (t, r) => {
                                                e.setStyle(n, r, "");
                                            });
                                    });
                                }
                            })(e.dom, t, r);
                    });
                },
                iv = wt.each,
                sv = (e) => ir(e) && !Au(e) && !hu(e) && !cr(e),
                av = (e, t, n, r) => {
                    const o = e.formatter.get(t),
                        i = o[0],
                        s = !r && e.selection.isCollapsed(),
                        a = e.dom,
                        l = e.selection,
                        c = (e, t = i) => {
                            if (
                                (x(t.onformat) && t.onformat(e, t, n, r),
                                iv(t.styles, (t, r) => {
                                    a.setStyle(e, r, zu(t, n));
                                }),
                                t.styles)
                            ) {
                                const t = a.getAttrib(e, "style");
                                t && a.setAttrib(e, "data-mce-style", t);
                            }
                            iv(t.attributes, (t, r) => {
                                a.setAttrib(e, r, zu(t, n));
                            }),
                                iv(t.classes, (t) => {
                                    (t = zu(t, n)), a.hasClass(e, t) || a.addClass(e, t);
                                });
                        },
                        u = (e, t) => {
                            let n = !1;
                            return iv(e, (e) => !!Qu(e) && (C(e.collapsed) && e.collapsed !== s ? void 0 : a.is(t, e.selector) && !hu(t) ? (c(t, e), (n = !0), !1) : void 0)), n;
                        },
                        d = (e) => {
                            if (h(e)) {
                                const t = a.create(e);
                                return c(t), t;
                            }
                            return null;
                        },
                        f = (r, s, a) => {
                            const l = [];
                            let f = !0;
                            const p = i.inline || i.block,
                                h = d(p);
                            gd(r, s, (s) => {
                                let d;
                                const m = (s) => {
                                    let g = !1,
                                        v = f;
                                    const y = s.nodeName.toLowerCase(),
                                        b = s.parentNode,
                                        _ = b.nodeName.toLowerCase();
                                    if (
                                        (ir(s) && r.getContentEditable(s) && ((v = f), (f = "true" === r.getContentEditable(s)), (g = !0)),
                                        br(s) &&
                                            !((e, t, n, r) => {
                                                if (pl(e) && Zu(t)) {
                                                    const t = ci(e.schema),
                                                        o = ug(Qt.fromDom(n), (e) => hu(e.dom));
                                                    return ke(t, r) && $o(Qt.fromDom(n.parentNode), !1) && !o;
                                                }
                                                return !1;
                                            })(e, i, s, _))
                                    )
                                        return (d = null), void (Ju(i) && r.remove(s));
                                    if (Ju(i) && i.wrapper && yg(e, s, t, n)) d = null;
                                    else {
                                        if (f && !g && Ju(i) && !i.wrapper && Hu(e, y) && Uu(e, _, p)) {
                                            const e = r.rename(s, p);
                                            return c(e), l.push(e), void (d = null);
                                        }
                                        if (Qu(i)) {
                                            let e = u(o, s);
                                            if ((!e && C(b) && ed(i) && (e = u(o, b)), !Zu(i) || e)) return void (d = null);
                                        }
                                        !f || g || !Uu(e, p, y) || !Uu(e, _, p) || (!a && pr(s) && Jr(s.data)) || hu(s) || (Zu(i) && r.isBlock(s))
                                            ? ((d = null), V(de(s.childNodes), m), g && (f = v), (d = null))
                                            : (d || ((d = r.clone(h, !1)), s.parentNode.insertBefore(d, s), l.push(d)), d.appendChild(s));
                                    }
                                };
                                V(s, m);
                            }),
                                !0 === i.links &&
                                    V(l, (e) => {
                                        const t = (e) => {
                                            "A" === e.nodeName && c(e, i), V(de(e.childNodes), t);
                                        };
                                        t(e);
                                    }),
                                V(l, (s) => {
                                    const a = ((e) => {
                                        let t = 0;
                                        return (
                                            V(e.childNodes, (e) => {
                                                ((e) => C(e) && pr(e) && 0 === e.length)(e) || Au(e) || t++;
                                            }),
                                            t
                                        );
                                    })(s);
                                    (!(l.length > 1) && r.isBlock(s)) || 0 !== a
                                        ? (Zu(i) || (Ju(i) && i.wrapper)) &&
                                          (i.exact ||
                                              1 !== a ||
                                              (s = ((e) =>
                                                  Z(e.childNodes, sv)
                                                      .filter((e) => gg(r, e, i))
                                                      .map((t) => {
                                                          const n = r.clone(t, !1);
                                                          return c(n), r.replace(n, e, !0), r.remove(t, !0), n;
                                                      })
                                                      .getOr(e))(s)),
                                          ov(e, o, n, s),
                                          ((e, t, n, r, o) => {
                                              (yg(e, o.parentNode, n, r) && ev(e, t, r, o)) ||
                                                  (t.merge_with_parents &&
                                                      e.dom.getParent(o.parentNode, (i) => {
                                                          if (yg(e, i, n, r)) return ev(e, t, r, o), !0;
                                                      }));
                                          })(e, i, t, n, s),
                                          ((e, t, n, r) => {
                                              t.styles && t.styles.backgroundColor && Fg(r, Hg(e, "fontSize"), Ug(e, "backgroundColor", zu(t.styles.backgroundColor, n)));
                                          })(r, i, n, s),
                                          ((e, t, n, r) => {
                                              const o = (t) => {
                                                  if (1 === t.nodeType && t.parentNode && 1 === t.parentNode.nodeType) {
                                                      const n = Gu(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);
                                                  }
                                              };
                                              t.styles && (t.styles.color || t.styles.textDecoration) && (wt.walk(r, o, "childNodes"), o(r));
                                          })(r, i, 0, s),
                                          ((e, t, n, r) => {
                                              !Zu(t) || ("sub" !== t.inline && "sup" !== t.inline) || (Fg(r, Hg(e, "fontSize"), Ug(e, "fontSize", "")), e.remove(e.select("sup" === t.inline ? "sub" : "sup", r), !0));
                                          })(r, i, 0, s),
                                          jg(r, i, 0, s))
                                        : r.remove(s, !0);
                                });
                        };
                    if ("false" !== a.getContentEditable(l.getNode())) {
                        if (i) {
                            if (r)
                                if (Bu(r)) {
                                    if (!u(o, r)) {
                                        const t = a.createRng();
                                        t.setStartBefore(r), t.setEndAfter(r), f(a, md(e, t, o), !0);
                                    }
                                } else f(a, r, !0);
                            else
                                s && Zu(i) && !_d(e).length
                                    ? ((e, t, n) => {
                                          let r, o;
                                          const i = e.selection,
                                              s = i.getRng();
                                          let a = s.startOffset;
                                          const l = s.startContainer.nodeValue;
                                          (r = mu(e.getBody(), i.getStart())), r && (o = xg(r));
                                          const c = /[^\s\u00a0\u00ad\u200b\ufeff]/;
                                          if (l && a > 0 && a < l.length && c.test(l.charAt(a)) && c.test(l.charAt(a - 1))) {
                                              const r = i.getBookmark();
                                              s.collapse(!0);
                                              let o = md(e, s, e.formatter.get(t));
                                              (o = kf(o)), e.formatter.apply(t, n, o), i.moveToBookmark(r);
                                          } else
                                              (r && "\ufeff" === o.nodeValue) || ((u = e.getDoc()), (d = Eg(!0).dom), (r = u.importNode(d, !0)), (o = r.firstChild), s.insertNode(r), (a = 1)),
                                                  e.formatter.apply(t, n, r),
                                                  i.setCursorLocation(o, a);
                                          var u, d;
                                      })(e, t, n)
                                    : (l.setRng(Xm(l.getRng())),
                                      Td(l, !0, () => {
                                          Sd(e, (t, n) => {
                                              const r = n ? t : md(e, t, o);
                                              f(a, r, !1);
                                          });
                                      }),
                                      ju(a, l, l.getRng()),
                                      e.nodeChanged());
                            ((e, t) => {
                                Pg(Rg[e], (e) => {
                                    e(t);
                                });
                            })(t, e);
                        }
                        Fd(e, t, r, n);
                    } else {
                        r = l.getNode();
                        for (let e = 0, t = o.length; e < t; e++) {
                            const t = o[e];
                            if (t.ceFalseOverride && Qu(t) && a.is(r, t.selector)) {
                                c(r, t);
                                break;
                            }
                        }
                        Fd(e, t, r, n);
                    }
                },
                lv = (e) => Ee(e, "vars"),
                cv = (e) => e.selection.getStart(),
                uv = (e, t, n, r, o) =>
                    Q(
                        t,
                        (t) => {
                            const i = e.formatter.matchNode(t, n, null != o ? o : {}, r);
                            return !_(i);
                        },
                        (t) => !!hg(e, t, n) || (!r && C(e.formatter.matchNode(t, n, o, !0)))
                    ),
                dv = (e, t) => {
                    const n = null != t ? t : cv(e);
                    return Y(Yu(e.dom, n), (e) => ir(e) && !cr(e));
                },
                fv = (e, t, n) => {
                    const r = dv(e, t);
                    me(n, (n, o) => {
                        const i = (n) => {
                            const i = uv(e, r, o, n.similar, lv(n) ? n.vars : void 0),
                                s = i.isSome();
                            if (n.state.get() !== s) {
                                n.state.set(s);
                                const e = i.getOr(t);
                                lv(n) ? n.callback(s, { node: e, format: o, parents: r }) : V(n.callbacks, (t) => t(s, { node: e, format: o, parents: r }));
                            }
                        };
                        V([n.withSimilar, n.withoutSimilar], i), V(n.withVars, i);
                    });
                },
                pv = (e, t, n, r, o, i) => (
                    null === t.get() &&
                        ((e, t) => {
                            e.set({}),
                                t.on("NodeChange", (n) => {
                                    fv(t, n.element, e.get());
                                }),
                                t.on("FormatApply FormatRemove", (n) => {
                                    const r = B.from(n.node)
                                        .map((e) => (Bu(e) ? e : e.startContainer))
                                        .bind((e) => (ir(e) ? B.some(e) : B.from(e.parentElement)))
                                        .getOrThunk(() => cv(t));
                                    fv(t, r, e.get());
                                });
                        })(t, e),
                    ((e, t, n, r, o, i) => {
                        const s = t.get();
                        V(n.split(","), (t) => {
                            const n = xe(s, t).getOrThunk(() => {
                                    const e = { withSimilar: { state: Li(!1), similar: !0, callbacks: [] }, withoutSimilar: { state: Li(!1), similar: !1, callbacks: [] }, withVars: [] };
                                    return (s[t] = e), e;
                                }),
                                a = () => {
                                    const n = dv(e);
                                    return uv(e, n, t, o, i).isSome();
                                };
                            if (_(i)) {
                                const e = o ? n.withSimilar : n.withoutSimilar;
                                e.callbacks.push(r), 1 === e.callbacks.length && e.state.set(a());
                            } else n.withVars.push({ state: Li(a()), similar: o, vars: i, callback: r });
                        }),
                            t.set(s);
                    })(e, t, n, r, o, i),
                    {
                        unbind: () =>
                            ((e, t, n) => {
                                const r = e.get();
                                V(t.split(","), (e) =>
                                    xe(r, e).each((t) => {
                                        r[e] = {
                                            withSimilar: { ...t.withSimilar, callbacks: Y(t.withSimilar.callbacks, (e) => e !== n) },
                                            withoutSimilar: { ...t.withoutSimilar, callbacks: Y(t.withoutSimilar.callbacks, (e) => e !== n) },
                                            withVars: Y(t.withVars, (e) => e.callback !== n),
                                        };
                                    })
                                ),
                                    e.set(r);
                            })(t, n, r),
                    }
                );
            var hv = Object.hasOwnProperty,
                mv = Object.setPrototypeOf,
                gv = Object.isFrozen,
                vv = Object.getPrototypeOf,
                yv = Object.getOwnPropertyDescriptor,
                bv = Object.freeze,
                _v = Object.seal,
                wv = Object.create,
                Cv = "undefined" != typeof Reflect && Reflect,
                xv = Cv.apply,
                Ev = Cv.construct;
            xv ||
                (xv = function (e, t, n) {
                    return e.apply(t, n);
                }),
                bv ||
                    (bv = function (e) {
                        return e;
                    }),
                _v ||
                    (_v = function (e) {
                        return e;
                    }),
                Ev ||
                    (Ev = function (e, t) {
                        return new (Function.prototype.bind.apply(
                            e,
                            [null].concat(
                                (function (e) {
                                    if (Array.isArray(e)) {
                                        for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
                                        return n;
                                    }
                                    return Array.from(e);
                                })(t)
                            )
                        ))();
                    });
            var kv,
                Av = Mv(Array.prototype.forEach),
                Sv = Mv(Array.prototype.pop),
                Tv = Mv(Array.prototype.push),
                Nv = Mv(String.prototype.toLowerCase),
                Ov = Mv(String.prototype.match),
                Dv = Mv(String.prototype.replace),
                Rv = Mv(String.prototype.indexOf),
                Lv = Mv(String.prototype.trim),
                Pv = Mv(RegExp.prototype.test),
                $v =
                    ((kv = TypeError),
                    function () {
                        for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                        return Ev(kv, t);
                    });
            function Mv(e) {
                return function (t) {
                    for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o];
                    return xv(e, t, r);
                };
            }
            function Iv(e, t) {
                mv && mv(e, null);
                for (var n = t.length; n--; ) {
                    var r = t[n];
                    if ("string" == typeof r) {
                        var o = Nv(r);
                        o !== r && (gv(t) || (t[n] = o), (r = o));
                    }
                    e[r] = !0;
                }
                return e;
            }
            function Bv(e) {
                var t = wv(null),
                    n = void 0;
                for (n in e) xv(hv, e, [n]) && (t[n] = e[n]);
                return t;
            }
            function jv(e, t) {
                for (; null !== e; ) {
                    var n = yv(e, t);
                    if (n) {
                        if (n.get) return Mv(n.get);
                        if ("function" == typeof n.value) return Mv(n.value);
                    }
                    e = vv(e);
                }
                return function (e) {
                    return console.warn("fallback value for", e), null;
                };
            }
            var Fv = bv([
                    "a",
                    "abbr",
                    "acronym",
                    "address",
                    "area",
                    "article",
                    "aside",
                    "audio",
                    "b",
                    "bdi",
                    "bdo",
                    "big",
                    "blink",
                    "blockquote",
                    "body",
                    "br",
                    "button",
                    "canvas",
                    "caption",
                    "center",
                    "cite",
                    "code",
                    "col",
                    "colgroup",
                    "content",
                    "data",
                    "datalist",
                    "dd",
                    "decorator",
                    "del",
                    "details",
                    "dfn",
                    "dialog",
                    "dir",
                    "div",
                    "dl",
                    "dt",
                    "element",
                    "em",
                    "fieldset",
                    "figcaption",
                    "figure",
                    "font",
                    "footer",
                    "form",
                    "h1",
                    "h2",
                    "h3",
                    "h4",
                    "h5",
                    "h6",
                    "head",
                    "header",
                    "hgroup",
                    "hr",
                    "html",
                    "i",
                    "img",
                    "input",
                    "ins",
                    "kbd",
                    "label",
                    "legend",
                    "li",
                    "main",
                    "map",
                    "mark",
                    "marquee",
                    "menu",
                    "menuitem",
                    "meter",
                    "nav",
                    "nobr",
                    "ol",
                    "optgroup",
                    "option",
                    "output",
                    "p",
                    "picture",
                    "pre",
                    "progress",
                    "q",
                    "rp",
                    "rt",
                    "ruby",
                    "s",
                    "samp",
                    "section",
                    "select",
                    "shadow",
                    "small",
                    "source",
                    "spacer",
                    "span",
                    "strike",
                    "strong",
                    "style",
                    "sub",
                    "summary",
                    "sup",
                    "table",
                    "tbody",
                    "td",
                    "template",
                    "textarea",
                    "tfoot",
                    "th",
                    "thead",
                    "time",
                    "tr",
                    "track",
                    "tt",
                    "u",
                    "ul",
                    "var",
                    "video",
                    "wbr",
                ]),
                Hv = bv([
                    "svg",
                    "a",
                    "altglyph",
                    "altglyphdef",
                    "altglyphitem",
                    "animatecolor",
                    "animatemotion",
                    "animatetransform",
                    "circle",
                    "clippath",
                    "defs",
                    "desc",
                    "ellipse",
                    "filter",
                    "font",
                    "g",
                    "glyph",
                    "glyphref",
                    "hkern",
                    "image",
                    "line",
                    "lineargradient",
                    "marker",
                    "mask",
                    "metadata",
                    "mpath",
                    "path",
                    "pattern",
                    "polygon",
                    "polyline",
                    "radialgradient",
                    "rect",
                    "stop",
                    "style",
                    "switch",
                    "symbol",
                    "text",
                    "textpath",
                    "title",
                    "tref",
                    "tspan",
                    "view",
                    "vkern",
                ]),
                Uv = bv([
                    "feBlend",
                    "feColorMatrix",
                    "feComponentTransfer",
                    "feComposite",
                    "feConvolveMatrix",
                    "feDiffuseLighting",
                    "feDisplacementMap",
                    "feDistantLight",
                    "feFlood",
                    "feFuncA",
                    "feFuncB",
                    "feFuncG",
                    "feFuncR",
                    "feGaussianBlur",
                    "feImage",
                    "feMerge",
                    "feMergeNode",
                    "feMorphology",
                    "feOffset",
                    "fePointLight",
                    "feSpecularLighting",
                    "feSpotLight",
                    "feTile",
                    "feTurbulence",
                ]),
                qv = bv([
                    "animate",
                    "color-profile",
                    "cursor",
                    "discard",
                    "fedropshadow",
                    "font-face",
                    "font-face-format",
                    "font-face-name",
                    "font-face-src",
                    "font-face-uri",
                    "foreignobject",
                    "hatch",
                    "hatchpath",
                    "mesh",
                    "meshgradient",
                    "meshpatch",
                    "meshrow",
                    "missing-glyph",
                    "script",
                    "set",
                    "solidcolor",
                    "unknown",
                    "use",
                ]),
                zv = bv([
                    "math",
                    "menclose",
                    "merror",
                    "mfenced",
                    "mfrac",
                    "mglyph",
                    "mi",
                    "mlabeledtr",
                    "mmultiscripts",
                    "mn",
                    "mo",
                    "mover",
                    "mpadded",
                    "mphantom",
                    "mroot",
                    "mrow",
                    "ms",
                    "mspace",
                    "msqrt",
                    "mstyle",
                    "msub",
                    "msup",
                    "msubsup",
                    "mtable",
                    "mtd",
                    "mtext",
                    "mtr",
                    "munder",
                    "munderover",
                ]),
                Wv = bv(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]),
                Vv = bv(["#text"]),
                Kv = bv([
                    "accept",
                    "action",
                    "align",
                    "alt",
                    "autocapitalize",
                    "autocomplete",
                    "autopictureinpicture",
                    "autoplay",
                    "background",
                    "bgcolor",
                    "border",
                    "capture",
                    "cellpadding",
                    "cellspacing",
                    "checked",
                    "cite",
                    "class",
                    "clear",
                    "color",
                    "cols",
                    "colspan",
                    "controls",
                    "controlslist",
                    "coords",
                    "crossorigin",
                    "datetime",
                    "decoding",
                    "default",
                    "dir",
                    "disabled",
                    "disablepictureinpicture",
                    "disableremoteplayback",
                    "download",
                    "draggable",
                    "enctype",
                    "enterkeyhint",
                    "face",
                    "for",
                    "headers",
                    "height",
                    "hidden",
                    "high",
                    "href",
                    "hreflang",
                    "id",
                    "inputmode",
                    "integrity",
                    "ismap",
                    "kind",
                    "label",
                    "lang",
                    "list",
                    "loading",
                    "loop",
                    "low",
                    "max",
                    "maxlength",
                    "media",
                    "method",
                    "min",
                    "minlength",
                    "multiple",
                    "muted",
                    "name",
                    "nonce",
                    "noshade",
                    "novalidate",
                    "nowrap",
                    "open",
                    "optimum",
                    "pattern",
                    "placeholder",
                    "playsinline",
                    "poster",
                    "preload",
                    "pubdate",
                    "radiogroup",
                    "readonly",
                    "rel",
                    "required",
                    "rev",
                    "reversed",
                    "role",
                    "rows",
                    "rowspan",
                    "spellcheck",
                    "scope",
                    "selected",
                    "shape",
                    "size",
                    "sizes",
                    "span",
                    "srclang",
                    "start",
                    "src",
                    "srcset",
                    "step",
                    "style",
                    "summary",
                    "tabindex",
                    "title",
                    "translate",
                    "type",
                    "usemap",
                    "valign",
                    "value",
                    "width",
                    "xmlns",
                    "slot",
                ]),
                Gv = bv([
                    "accent-height",
                    "accumulate",
                    "additive",
                    "alignment-baseline",
                    "ascent",
                    "attributename",
                    "attributetype",
                    "azimuth",
                    "basefrequency",
                    "baseline-shift",
                    "begin",
                    "bias",
                    "by",
                    "class",
                    "clip",
                    "clippathunits",
                    "clip-path",
                    "clip-rule",
                    "color",
                    "color-interpolation",
                    "color-interpolation-filters",
                    "color-profile",
                    "color-rendering",
                    "cx",
                    "cy",
                    "d",
                    "dx",
                    "dy",
                    "diffuseconstant",
                    "direction",
                    "display",
                    "divisor",
                    "dur",
                    "edgemode",
                    "elevation",
                    "end",
                    "fill",
                    "fill-opacity",
                    "fill-rule",
                    "filter",
                    "filterunits",
                    "flood-color",
                    "flood-opacity",
                    "font-family",
                    "font-size",
                    "font-size-adjust",
                    "font-stretch",
                    "font-style",
                    "font-variant",
                    "font-weight",
                    "fx",
                    "fy",
                    "g1",
                    "g2",
                    "glyph-name",
                    "glyphref",
                    "gradientunits",
                    "gradienttransform",
                    "height",
                    "href",
                    "id",
                    "image-rendering",
                    "in",
                    "in2",
                    "k",
                    "k1",
                    "k2",
                    "k3",
                    "k4",
                    "kerning",
                    "keypoints",
                    "keysplines",
                    "keytimes",
                    "lang",
                    "lengthadjust",
                    "letter-spacing",
                    "kernelmatrix",
                    "kernelunitlength",
                    "lighting-color",
                    "local",
                    "marker-end",
                    "marker-mid",
                    "marker-start",
                    "markerheight",
                    "markerunits",
                    "markerwidth",
                    "maskcontentunits",
                    "maskunits",
                    "max",
                    "mask",
                    "media",
                    "method",
                    "mode",
                    "min",
                    "name",
                    "numoctaves",
                    "offset",
                    "operator",
                    "opacity",
                    "order",
                    "orient",
                    "orientation",
                    "origin",
                    "overflow",
                    "paint-order",
                    "path",
                    "pathlength",
                    "patterncontentunits",
                    "patterntransform",
                    "patternunits",
                    "points",
                    "preservealpha",
                    "preserveaspectratio",
                    "primitiveunits",
                    "r",
                    "rx",
                    "ry",
                    "radius",
                    "refx",
                    "refy",
                    "repeatcount",
                    "repeatdur",
                    "restart",
                    "result",
                    "rotate",
                    "scale",
                    "seed",
                    "shape-rendering",
                    "specularconstant",
                    "specularexponent",
                    "spreadmethod",
                    "startoffset",
                    "stddeviation",
                    "stitchtiles",
                    "stop-color",
                    "stop-opacity",
                    "stroke-dasharray",
                    "stroke-dashoffset",
                    "stroke-linecap",
                    "stroke-linejoin",
                    "stroke-miterlimit",
                    "stroke-opacity",
                    "stroke",
                    "stroke-width",
                    "style",
                    "surfacescale",
                    "systemlanguage",
                    "tabindex",
                    "targetx",
                    "targety",
                    "transform",
                    "transform-origin",
                    "text-anchor",
                    "text-decoration",
                    "text-rendering",
                    "textlength",
                    "type",
                    "u1",
                    "u2",
                    "unicode",
                    "values",
                    "viewbox",
                    "visibility",
                    "version",
                    "vert-adv-y",
                    "vert-origin-x",
                    "vert-origin-y",
                    "width",
                    "word-spacing",
                    "wrap",
                    "writing-mode",
                    "xchannelselector",
                    "ychannelselector",
                    "x",
                    "x1",
                    "x2",
                    "xmlns",
                    "y",
                    "y1",
                    "y2",
                    "z",
                    "zoomandpan",
                ]),
                Yv = bv([
                    "accent",
                    "accentunder",
                    "align",
                    "bevelled",
                    "close",
                    "columnsalign",
                    "columnlines",
                    "columnspan",
                    "denomalign",
                    "depth",
                    "dir",
                    "display",
                    "displaystyle",
                    "encoding",
                    "fence",
                    "frame",
                    "height",
                    "href",
                    "id",
                    "largeop",
                    "length",
                    "linethickness",
                    "lspace",
                    "lquote",
                    "mathbackground",
                    "mathcolor",
                    "mathsize",
                    "mathvariant",
                    "maxsize",
                    "minsize",
                    "movablelimits",
                    "notation",
                    "numalign",
                    "open",
                    "rowalign",
                    "rowlines",
                    "rowspacing",
                    "rowspan",
                    "rspace",
                    "rquote",
                    "scriptlevel",
                    "scriptminsize",
                    "scriptsizemultiplier",
                    "selection",
                    "separator",
                    "separators",
                    "stretchy",
                    "subscriptshift",
                    "supscriptshift",
                    "symmetric",
                    "voffset",
                    "width",
                    "xmlns",
                ]),
                Xv = bv(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]),
                Jv = _v(/\{\{[\s\S]*|[\s\S]*\}\}/gm),
                Qv = _v(/<%[\s\S]*|[\s\S]*%>/gm),
                Zv = _v(/^data-[\-\w.\u00B7-\uFFFF]/),
                ey = _v(/^aria-[\-\w]+$/),
                ty = _v(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),
                ny = _v(/^(?:\w+script|data):/i),
                ry = _v(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),
                oy = _v(/^html$/i),
                iy =
                    "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                        ? function (e) {
                              return typeof e;
                          }
                        : function (e) {
                              return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                          };
            function sy(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n;
                }
                return Array.from(e);
            }
            var ay = function () {
                    return "undefined" == typeof window ? null : window;
                },
                ly = function (e, t) {
                    if ("object" !== (void 0 === e ? "undefined" : iy(e)) || "function" != typeof e.createPolicy) return null;
                    var n = null;
                    t.currentScript && t.currentScript.hasAttribute("data-tt-policy-suffix") && (n = t.currentScript.getAttribute("data-tt-policy-suffix"));
                    var r = "dompurify" + (n ? "#" + n : "");
                    try {
                        return e.createPolicy(r, {
                            createHTML: function (e) {
                                return e;
                            },
                        });
                    } catch (e) {
                        return console.warn("TrustedTypes policy " + r + " could not be created."), null;
                    }
                };
            var cy = (function e() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ay(),
                    n = function (t) {
                        return e(t);
                    };
                if (((n.version = "2.3.6"), (n.removed = []), !t || !t.document || 9 !== t.document.nodeType)) return (n.isSupported = !1), n;
                var r = t.document,
                    o = t.document,
                    i = t.DocumentFragment,
                    s = t.HTMLTemplateElement,
                    a = t.Node,
                    l = t.Element,
                    c = t.NodeFilter,
                    u = t.NamedNodeMap,
                    d = void 0 === u ? t.NamedNodeMap || t.MozNamedAttrMap : u,
                    f = t.HTMLFormElement,
                    p = t.DOMParser,
                    h = t.trustedTypes,
                    m = l.prototype,
                    g = jv(m, "cloneNode"),
                    v = jv(m, "nextSibling"),
                    y = jv(m, "childNodes"),
                    b = jv(m, "parentNode");
                if ("function" == typeof s) {
                    var _ = o.createElement("template");
                    _.content && _.content.ownerDocument && (o = _.content.ownerDocument);
                }
                var w = ly(h, r),
                    C = w ? w.createHTML("") : "",
                    x = o,
                    E = x.implementation,
                    k = x.createNodeIterator,
                    A = x.createDocumentFragment,
                    S = x.getElementsByTagName,
                    T = r.importNode,
                    N = {};
                try {
                    N = Bv(o).documentMode ? o.documentMode : {};
                } catch (e) {}
                var O = {};
                n.isSupported = "function" == typeof b && E && void 0 !== E.createHTMLDocument && 9 !== N;
                var D = Jv,
                    R = Qv,
                    L = Zv,
                    P = ey,
                    $ = ny,
                    M = ry,
                    I = ty,
                    B = null,
                    j = Iv({}, [].concat(sy(Fv), sy(Hv), sy(Uv), sy(zv), sy(Vv))),
                    F = null,
                    H = Iv({}, [].concat(sy(Kv), sy(Gv), sy(Yv), sy(Xv))),
                    U = Object.seal(
                        Object.create(null, {
                            tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null },
                            attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null },
                            allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 },
                        })
                    ),
                    q = null,
                    z = null,
                    W = !0,
                    V = !0,
                    K = !1,
                    G = !1,
                    Y = !1,
                    X = !1,
                    J = !1,
                    Q = !1,
                    Z = !1,
                    ee = !1,
                    te = !0,
                    ne = !0,
                    re = !1,
                    oe = {},
                    ie = null,
                    se = Iv({}, [
                        "annotation-xml",
                        "audio",
                        "colgroup",
                        "desc",
                        "foreignobject",
                        "head",
                        "iframe",
                        "math",
                        "mi",
                        "mn",
                        "mo",
                        "ms",
                        "mtext",
                        "noembed",
                        "noframes",
                        "noscript",
                        "plaintext",
                        "script",
                        "style",
                        "svg",
                        "template",
                        "thead",
                        "title",
                        "video",
                        "xmp",
                    ]),
                    ae = null,
                    le = Iv({}, ["audio", "video", "img", "source", "image", "track"]),
                    ce = null,
                    ue = Iv({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]),
                    de = "http://www.w3.org/1998/Math/MathML",
                    fe = "http://www.w3.org/2000/svg",
                    pe = "http://www.w3.org/1999/xhtml",
                    he = pe,
                    me = !1,
                    ge = void 0,
                    ve = ["application/xhtml+xml", "text/html"],
                    ye = "text/html",
                    be = void 0,
                    _e = null,
                    we = o.createElement("form"),
                    Ce = function (e) {
                        return e instanceof RegExp || e instanceof Function;
                    },
                    xe = function (e) {
                        (_e && _e === e) ||
                            ((e && "object" === (void 0 === e ? "undefined" : iy(e))) || (e = {}),
                            (e = Bv(e)),
                            (B = "ALLOWED_TAGS" in e ? Iv({}, e.ALLOWED_TAGS) : j),
                            (F = "ALLOWED_ATTR" in e ? Iv({}, e.ALLOWED_ATTR) : H),
                            (ce = "ADD_URI_SAFE_ATTR" in e ? Iv(Bv(ue), e.ADD_URI_SAFE_ATTR) : ue),
                            (ae = "ADD_DATA_URI_TAGS" in e ? Iv(Bv(le), e.ADD_DATA_URI_TAGS) : le),
                            (ie = "FORBID_CONTENTS" in e ? Iv({}, e.FORBID_CONTENTS) : se),
                            (q = "FORBID_TAGS" in e ? Iv({}, e.FORBID_TAGS) : {}),
                            (z = "FORBID_ATTR" in e ? Iv({}, e.FORBID_ATTR) : {}),
                            (oe = "USE_PROFILES" in e && e.USE_PROFILES),
                            (W = !1 !== e.ALLOW_ARIA_ATTR),
                            (V = !1 !== e.ALLOW_DATA_ATTR),
                            (K = e.ALLOW_UNKNOWN_PROTOCOLS || !1),
                            (G = e.SAFE_FOR_TEMPLATES || !1),
                            (Y = e.WHOLE_DOCUMENT || !1),
                            (Q = e.RETURN_DOM || !1),
                            (Z = e.RETURN_DOM_FRAGMENT || !1),
                            (ee = e.RETURN_TRUSTED_TYPE || !1),
                            (J = e.FORCE_BODY || !1),
                            (te = !1 !== e.SANITIZE_DOM),
                            (ne = !1 !== e.KEEP_CONTENT),
                            (re = e.IN_PLACE || !1),
                            (I = e.ALLOWED_URI_REGEXP || I),
                            (he = e.NAMESPACE || pe),
                            e.CUSTOM_ELEMENT_HANDLING && Ce(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (U.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
                            e.CUSTOM_ELEMENT_HANDLING && Ce(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (U.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
                            e.CUSTOM_ELEMENT_HANDLING && "boolean" == typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (U.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
                            (ge = ge = -1 === ve.indexOf(e.PARSER_MEDIA_TYPE) ? ye : e.PARSER_MEDIA_TYPE),
                            (be =
                                "application/xhtml+xml" === ge
                                    ? function (e) {
                                          return e;
                                      }
                                    : Nv),
                            G && (V = !1),
                            Z && (Q = !0),
                            oe &&
                                ((B = Iv({}, [].concat(sy(Vv)))),
                                (F = []),
                                !0 === oe.html && (Iv(B, Fv), Iv(F, Kv)),
                                !0 === oe.svg && (Iv(B, Hv), Iv(F, Gv), Iv(F, Xv)),
                                !0 === oe.svgFilters && (Iv(B, Uv), Iv(F, Gv), Iv(F, Xv)),
                                !0 === oe.mathMl && (Iv(B, zv), Iv(F, Yv), Iv(F, Xv))),
                            e.ADD_TAGS && (B === j && (B = Bv(B)), Iv(B, e.ADD_TAGS)),
                            e.ADD_ATTR && (F === H && (F = Bv(F)), Iv(F, e.ADD_ATTR)),
                            e.ADD_URI_SAFE_ATTR && Iv(ce, e.ADD_URI_SAFE_ATTR),
                            e.FORBID_CONTENTS && (ie === se && (ie = Bv(ie)), Iv(ie, e.FORBID_CONTENTS)),
                            ne && (B["#text"] = !0),
                            Y && Iv(B, ["html", "head", "body"]),
                            B.table && (Iv(B, ["tbody"]), delete q.tbody),
                            bv && bv(e),
                            (_e = e));
                    },
                    Ee = Iv({}, ["mi", "mo", "mn", "ms", "mtext"]),
                    ke = Iv({}, ["foreignobject", "desc", "title", "annotation-xml"]),
                    Ae = Iv({}, ["title", "style", "font", "a", "script"]),
                    Se = Iv({}, Hv);
                Iv(Se, Uv), Iv(Se, qv);
                var Te = Iv({}, zv);
                Iv(Te, Wv);
                var Ne = function (e) {
                        var t = b(e);
                        (t && t.tagName) || (t = { namespaceURI: pe, tagName: "template" });
                        var n = Nv(e.tagName),
                            r = Nv(t.tagName);
                        return e.namespaceURI === fe
                            ? t.namespaceURI === pe
                                ? "svg" === n
                                : t.namespaceURI === de
                                ? "svg" === n && ("annotation-xml" === r || Ee[r])
                                : Boolean(Se[n])
                            : e.namespaceURI === de
                            ? t.namespaceURI === pe
                                ? "math" === n
                                : t.namespaceURI === fe
                                ? "math" === n && ke[r]
                                : Boolean(Te[n])
                            : e.namespaceURI === pe && !(t.namespaceURI === fe && !ke[r]) && !(t.namespaceURI === de && !Ee[r]) && !Te[n] && (Ae[n] || !Se[n]);
                    },
                    Oe = function (e) {
                        Tv(n.removed, { element: e });
                        try {
                            e.parentNode.removeChild(e);
                        } catch (t) {
                            try {
                                e.outerHTML = C;
                            } catch (t) {
                                e.remove();
                            }
                        }
                    },
                    De = function (e, t) {
                        try {
                            Tv(n.removed, { attribute: t.getAttributeNode(e), from: t });
                        } catch (e) {
                            Tv(n.removed, { attribute: null, from: t });
                        }
                        if ((t.removeAttribute(e), "is" === e && !F[e]))
                            if (Q || Z)
                                try {
                                    Oe(t);
                                } catch (e) {}
                            else
                                try {
                                    t.setAttribute(e, "");
                                } catch (e) {}
                    },
                    Re = function (e) {
                        var t = void 0,
                            n = void 0;
                        if (J) e = "<remove></remove>" + e;
                        else {
                            var r = Ov(e, /^[\r\n\t ]+/);
                            n = r && r[0];
                        }
                        "application/xhtml+xml" === ge && (e = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + e + "</body></html>");
                        var i = w ? w.createHTML(e) : e;
                        if (he === pe)
                            try {
                                t = new p().parseFromString(i, ge);
                            } catch (e) {}
                        if (!t || !t.documentElement) {
                            t = E.createDocument(he, "template", null);
                            try {
                                t.documentElement.innerHTML = me ? "" : i;
                            } catch (e) {}
                        }
                        var s = t.body || t.documentElement;
                        return e && n && s.insertBefore(o.createTextNode(n), s.childNodes[0] || null), he === pe ? S.call(t, Y ? "html" : "body")[0] : Y ? t.documentElement : s;
                    },
                    Le = function (e) {
                        return k.call(e.ownerDocument || e, e, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT, null, !1);
                    },
                    Pe = function (e) {
                        return (
                            e instanceof f &&
                            ("string" != typeof e.nodeName ||
                                "string" != typeof e.textContent ||
                                "function" != typeof e.removeChild ||
                                !(e.attributes instanceof d) ||
                                "function" != typeof e.removeAttribute ||
                                "function" != typeof e.setAttribute ||
                                "string" != typeof e.namespaceURI ||
                                "function" != typeof e.insertBefore)
                        );
                    },
                    $e = function (e) {
                        return "object" === (void 0 === a ? "undefined" : iy(a)) ? e instanceof a : e && "object" === (void 0 === e ? "undefined" : iy(e)) && "number" == typeof e.nodeType && "string" == typeof e.nodeName;
                    },
                    Me = function (e, t, r) {
                        O[e] &&
                            Av(O[e], function (e) {
                                e.call(n, t, r, _e);
                            });
                    },
                    Ie = function (e) {
                        var t = void 0;
                        if ((Me("beforeSanitizeElements", e, null), Pe(e))) return Oe(e), !0;
                        if (Pv(/[\u0080-\uFFFF]/, e.nodeName)) return Oe(e), !0;
                        var r = be(e.nodeName);
                        if (
                            (Me("uponSanitizeElement", e, { tagName: r, allowedTags: B }),
                            e.hasChildNodes() && !$e(e.firstElementChild) && (!$e(e.content) || !$e(e.content.firstElementChild)) && Pv(/<[/\w]/g, e.innerHTML) && Pv(/<[/\w]/g, e.textContent))
                        )
                            return Oe(e), !0;
                        if ("select" === r && Pv(/<template/i, e.innerHTML)) return Oe(e), !0;
                        if (!B[r] || q[r]) {
                            if (!q[r] && je(r)) {
                                if (U.tagNameCheck instanceof RegExp && Pv(U.tagNameCheck, r)) return !1;
                                if (U.tagNameCheck instanceof Function && U.tagNameCheck(r)) return !1;
                            }
                            if (ne && !ie[r]) {
                                var o = b(e) || e.parentNode,
                                    i = y(e) || e.childNodes;
                                if (i && o) for (var s = i.length - 1; s >= 0; --s) o.insertBefore(g(i[s], !0), v(e));
                            }
                            return Oe(e), !0;
                        }
                        return e instanceof l && !Ne(e)
                            ? (Oe(e), !0)
                            : ("noscript" !== r && "noembed" !== r) || !Pv(/<\/no(script|embed)/i, e.innerHTML)
                            ? (G && 3 === e.nodeType && ((t = e.textContent), (t = Dv(t, D, " ")), (t = Dv(t, R, " ")), e.textContent !== t && (Tv(n.removed, { element: e.cloneNode() }), (e.textContent = t))),
                              Me("afterSanitizeElements", e, null),
                              !1)
                            : (Oe(e), !0);
                    },
                    Be = function (e, t, n) {
                        if (te && ("id" === t || "name" === t) && (n in o || n in we)) return !1;
                        if (V && !z[t] && Pv(L, t));
                        else if (W && Pv(P, t));
                        else if (!F[t] || z[t]) {
                            if (
                                !(
                                    (je(e) &&
                                        ((U.tagNameCheck instanceof RegExp && Pv(U.tagNameCheck, e)) || (U.tagNameCheck instanceof Function && U.tagNameCheck(e))) &&
                                        ((U.attributeNameCheck instanceof RegExp && Pv(U.attributeNameCheck, t)) || (U.attributeNameCheck instanceof Function && U.attributeNameCheck(t)))) ||
                                    ("is" === t && U.allowCustomizedBuiltInElements && ((U.tagNameCheck instanceof RegExp && Pv(U.tagNameCheck, n)) || (U.tagNameCheck instanceof Function && U.tagNameCheck(n))))
                                )
                            )
                                return !1;
                        } else if (ce[t]);
                        else if (Pv(I, Dv(n, M, "")));
                        else if (("src" !== t && "xlink:href" !== t && "href" !== t) || "script" === e || 0 !== Rv(n, "data:") || !ae[e]) {
                            if (K && !Pv($, Dv(n, M, "")));
                            else if (n) return !1;
                        } else;
                        return !0;
                    },
                    je = function (e) {
                        return e.indexOf("-") > 0;
                    },
                    Fe = function (e) {
                        var t = void 0,
                            n = void 0,
                            r = void 0,
                            o = void 0;
                        Me("beforeSanitizeAttributes", e, null);
                        var i = e.attributes;
                        if (i) {
                            var s = { attrName: "", attrValue: "", keepAttr: !0, allowedAttributes: F };
                            for (o = i.length; o--; ) {
                                var a = (t = i[o]),
                                    l = a.name,
                                    c = a.namespaceURI;
                                (n = Lv(t.value)), (r = be(l));
                                var u = n;
                                if (((s.attrName = r), (s.attrValue = n), (s.keepAttr = !0), (s.forceKeepAttr = void 0), Me("uponSanitizeAttribute", e, s), (n = s.attrValue), !s.forceKeepAttr))
                                    if (s.keepAttr)
                                        if (Pv(/\/>/i, n)) De(l, e);
                                        else {
                                            G && ((n = Dv(n, D, " ")), (n = Dv(n, R, " ")));
                                            var d = be(e.nodeName);
                                            if (Be(d, r, n)) {
                                                if (n !== u)
                                                    try {
                                                        c ? e.setAttributeNS(c, l, n) : e.setAttribute(l, n);
                                                    } catch (t) {
                                                        De(l, e);
                                                    }
                                            } else De(l, e);
                                        }
                                    else De(l, e);
                            }
                            Me("afterSanitizeAttributes", e, null);
                        }
                    },
                    He = function e(t) {
                        var n = void 0,
                            r = Le(t);
                        for (Me("beforeSanitizeShadowDOM", t, null); (n = r.nextNode()); ) Me("uponSanitizeShadowNode", n, null), Ie(n) || (n.content instanceof i && e(n.content), Fe(n));
                        Me("afterSanitizeShadowDOM", t, null);
                    };
                return (
                    (n.sanitize = function (e, o) {
                        var s = void 0,
                            l = void 0,
                            c = void 0,
                            u = void 0,
                            d = void 0;
                        if (((me = !e) && (e = "\x3c!--\x3e"), "string" != typeof e && !$e(e))) {
                            if ("function" != typeof e.toString) throw $v("toString is not a function");
                            if ("string" != typeof (e = e.toString())) throw $v("dirty is not a string, aborting");
                        }
                        if (!n.isSupported) {
                            if ("object" === iy(t.toStaticHTML) || "function" == typeof t.toStaticHTML) {
                                if ("string" == typeof e) return t.toStaticHTML(e);
                                if ($e(e)) return t.toStaticHTML(e.outerHTML);
                            }
                            return e;
                        }
                        if ((X || xe(o), (n.removed = []), "string" == typeof e && (re = !1), re)) {
                            if (e.nodeName) {
                                var f = be(e.nodeName);
                                if (!B[f] || q[f]) throw $v("root node is forbidden and cannot be sanitized in-place");
                            }
                        } else if (e instanceof a) (1 === (l = (s = Re("\x3c!----\x3e")).ownerDocument.importNode(e, !0)).nodeType && "BODY" === l.nodeName) || "HTML" === l.nodeName ? (s = l) : s.appendChild(l);
                        else {
                            if (!Q && !G && !Y && -1 === e.indexOf("<")) return w && ee ? w.createHTML(e) : e;
                            if (!(s = Re(e))) return Q ? null : ee ? C : "";
                        }
                        s && J && Oe(s.firstChild);
                        for (var p = Le(re ? e : s); (c = p.nextNode()); ) (3 === c.nodeType && c === u) || Ie(c) || (c.content instanceof i && He(c.content), Fe(c), (u = c));
                        if (((u = null), re)) return e;
                        if (Q) {
                            if (Z) for (d = A.call(s.ownerDocument); s.firstChild; ) d.appendChild(s.firstChild);
                            else d = s;
                            return F.shadowroot && (d = T.call(r, d, !0)), d;
                        }
                        var h = Y ? s.outerHTML : s.innerHTML;
                        return (
                            Y && B["!doctype"] && s.ownerDocument && s.ownerDocument.doctype && s.ownerDocument.doctype.name && Pv(oy, s.ownerDocument.doctype.name) && (h = "<!DOCTYPE " + s.ownerDocument.doctype.name + ">\n" + h),
                            G && ((h = Dv(h, D, " ")), (h = Dv(h, R, " "))),
                            w && ee ? w.createHTML(h) : h
                        );
                    }),
                    (n.setConfig = function (e) {
                        xe(e), (X = !0);
                    }),
                    (n.clearConfig = function () {
                        (_e = null), (X = !1);
                    }),
                    (n.isValidAttribute = function (e, t, n) {
                        _e || xe({});
                        var r = be(e),
                            o = be(t);
                        return Be(r, o, n);
                    }),
                    (n.addHook = function (e, t) {
                        "function" == typeof t && ((O[e] = O[e] || []), Tv(O[e], t));
                    }),
                    (n.removeHook = function (e) {
                        O[e] && Sv(O[e]);
                    }),
                    (n.removeHooks = function (e) {
                        O[e] && (O[e] = []);
                    }),
                    (n.removeAllHooks = function () {
                        O = {};
                    }),
                    n
                );
            })();
            const uy = (e, t, n) => {
                    e.addNodeFilter("font", (e) => {
                        V(e, (e) => {
                            const r = t.parse(e.attr("style")),
                                o = e.attr("color"),
                                i = e.attr("face"),
                                s = e.attr("size");
                            o && (r.color = o),
                                i && (r["font-family"] = i),
                                s && (r["font-size"] = n[parseInt(e.attr("size"), 10) - 1]),
                                (e.name = "span"),
                                e.attr("style", t.serialize(r)),
                                ((e, t) => {
                                    V(t, (t) => {
                                        e.attr(t, null);
                                    });
                                })(e, ["color", "face", "size"]);
                        });
                    });
                },
                dy = (e, t, n) => {
                    const r = fi();
                    t.convert_fonts_to_spans && uy(e, r, wt.explode(t.font_size_legacy_values)),
                        ((e, t, n) => {
                            e.addNodeFilter("strike", (e) => {
                                const r = "html4" !== t.type;
                                V(e, (e) => {
                                    if (r) e.name = "s";
                                    else {
                                        const t = n.parse(e.attr("style"));
                                        (t["text-decoration"] = "line-through"), (e.name = "span"), e.attr("style", n.serialize(t));
                                    }
                                });
                            });
                        })(e, n, r);
                },
                fy = (e) => {
                    let t;
                    const n = decodeURIComponent(e).split(","),
                        r = /data:([^;]+)/.exec(n[0]);
                    return r && (t = r[1]), { type: t, data: n[1] };
                },
                py = (e, t) => {
                    let n;
                    try {
                        n = atob(t);
                    } catch (e) {
                        return B.none();
                    }
                    const r = new Uint8Array(n.length);
                    for (let e = 0; e < r.length; e++) r[e] = n.charCodeAt(e);
                    return B.some(new Blob([r], { type: e }));
                },
                hy = (e) => {
                    return 0 === e.indexOf("blob:")
                        ? ((e) =>
                              new Promise((t, n) => {
                                  const r = () => {
                                      n("Cannot convert " + e + " to Blob. Resource might not exist or is inaccessible.");
                                  };
                                  try {
                                      const n = new XMLHttpRequest();
                                      n.open("GET", e, !0),
                                          (n.responseType = "blob"),
                                          (n.onload = () => {
                                              200 === n.status ? t(n.response) : r();
                                          }),
                                          (n.onerror = r),
                                          n.send();
                                  } catch (e) {
                                      r();
                                  }
                              }))(e)
                        : 0 === e.indexOf("data:")
                        ? ((t = e),
                          new Promise((e) => {
                              const { type: n, data: r } = fy(t);
                              py(n, r).fold(() => e(new Blob([])), e);
                          }))
                        : null;
                    var t;
                },
                my = (e) =>
                    new Promise((t) => {
                        const n = new FileReader();
                        (n.onloadend = () => {
                            t(n.result);
                        }),
                            n.readAsDataURL(e);
                    });
            let gy = 0;
            const vy = (e) => (e || "blobid") + gy++,
                yy = (e, t) => {
                    const n = {};
                    return {
                        findAll: (r, o) => {
                            o || (o = I);
                            const i = Y(((e) => (e ? de(e.getElementsByTagName("img")) : []))(r), (t) => {
                                    const n = t.src;
                                    return (
                                        !t.hasAttribute("data-mce-bogus") &&
                                        !t.hasAttribute("data-mce-placeholder") &&
                                        !(!n || n === gt.transparentSrc) &&
                                        (0 === n.indexOf("blob:") ? !e.isUploaded(n) && o(t) : 0 === n.indexOf("data:") && o(t))
                                    );
                                }),
                                s = W(i, (e) => {
                                    if (void 0 !== n[e.src])
                                        return new Promise((t) => {
                                            n[e.src].then((n) => {
                                                if ("string" == typeof n) return n;
                                                t({ image: e, blobInfo: n.blobInfo });
                                            });
                                        });
                                    const r = new Promise((n, r) => {
                                        ((e, t, n, r) => {
                                            let o, i;
                                            if (0 === t.src.indexOf("blob:"))
                                                return (
                                                    (i = e.getByUri(t.src)),
                                                    void (i
                                                        ? n({ image: t, blobInfo: i })
                                                        : hy(t.src).then(
                                                              (r) => {
                                                                  my(r).then((s) => {
                                                                      (o = fy(s).data), (i = e.create(vy(), r, o)), e.add(i), n({ image: t, blobInfo: i });
                                                                  });
                                                              },
                                                              (e) => {
                                                                  r(e);
                                                              }
                                                          ))
                                                );
                                            const { data: s, type: a } = fy(t.src);
                                            (o = s),
                                                (i = e.getByData(o, a)),
                                                i
                                                    ? n({ image: t, blobInfo: i })
                                                    : hy(t.src).then(
                                                          (r) => {
                                                              (i = e.create(vy(), r, o)), e.add(i), n({ image: t, blobInfo: i });
                                                          },
                                                          (e) => {
                                                              r(e);
                                                          }
                                                      );
                                        })(t, e, n, r);
                                    })
                                        .then((e) => (delete n[e.image.src], e))
                                        .catch((t) => (delete n[e.src], t));
                                    return (n[e.src] = r), r;
                                });
                            return Promise.all(s);
                        },
                    };
                },
                by = (e, t) => {
                    const { blob_cache: n } = t,
                        r = (e) => {
                            const t = e.attr("src");
                            ((e) => e.attr("src") === gt.transparentSrc || C(e.attr("data-mce-placeholder")))(e) ||
                                ((e) => C(e.attr("data-mce-bogus")))(e) ||
                                ((e) => {
                                    const t = /data:([^;]+);base64,([a-z0-9\+\/=\s]+)/i.exec(e);
                                    return t ? B.some({ type: t[1], data: decodeURIComponent(t[2]) }) : B.none();
                                })(t)
                                    .bind(({ type: e, data: t }) =>
                                        B.from(n.getByData(t, e)).orThunk(() =>
                                            py(e, t).map((e) => {
                                                const r = n.create(vy(), e, t);
                                                return n.add(r), r;
                                            })
                                        )
                                    )
                                    .each((t) => {
                                        e.attr("src", t.blobUri());
                                    });
                        };
                    n && e.addAttributeFilter("src", (e) => V(e, r));
                },
                _y = wt.each,
                wy = wt.trim,
                Cy = "source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),
                xy = { ftp: 21, http: 80, https: 443, mailto: 25 },
                Ey = ["img", "video"],
                ky = (e, t, n) => {
                    const r = ((e) => {
                        try {
                            return decodeURIComponent(e);
                        } catch (t) {
                            return unescape(e);
                        }
                    })(t);
                    return (
                        !e.allow_script_urls &&
                        (!!/((java|vb)script|mhtml):/i.test(r) ||
                            (!e.allow_html_data_urls && (/^data:image\//i.test(r) ? ((e, t) => (C(e) ? !e : !C(t) || !q(Ey, t)))(e.allow_svg_data_urls, n) && /^data:image\/svg\+xml/i.test(r) : /^data:/i.test(r))))
                    );
                };
            class Ay {
                constructor(e, t) {
                    (e = wy(e)), (this.settings = t || {});
                    const n = this.settings.base_uri,
                        r = this;
                    if (/^([\w\-]+):([^\/]{2})/i.test(e) || /^\s*#/.test(e)) return void (r.source = e);
                    const o = 0 === e.indexOf("//");
                    if ((0 !== e.indexOf("/") || o || (e = ((n && n.protocol) || "http") + "://mce_host" + e), !/^[\w\-]*:?\/\//.test(e))) {
                        const t = this.settings.base_uri ? this.settings.base_uri.path : new Ay(document.location.href).directory;
                        if (this.settings.base_uri && "" == this.settings.base_uri.protocol) e = "//mce_host" + r.toAbsPath(t, e);
                        else {
                            const o = /([^#?]*)([#?]?.*)/.exec(e);
                            e = ((n && n.protocol) || "http") + "://mce_host" + r.toAbsPath(t, o[1]) + o[2];
                        }
                    }
                    e = e.replace(/@@/g, "(mce_at)");
                    const i = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?(\[[a-zA-Z0-9:.%]+\]|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(
                        e
                    );
                    _y(Cy, (e, t) => {
                        let n = i[t];
                        n && (n = n.replace(/\(mce_at\)/g, "@@")), (r[e] = n);
                    }),
                        n && (r.protocol || (r.protocol = n.protocol), r.userInfo || (r.userInfo = n.userInfo), r.port || "mce_host" !== r.host || (r.port = n.port), (r.host && "mce_host" !== r.host) || (r.host = n.host), (r.source = "")),
                        o && (r.protocol = "");
                }
                static parseDataUri(e) {
                    let t;
                    const n = decodeURIComponent(e).split(","),
                        r = /data:([^;]+)/.exec(n[0]);
                    return r && (t = r[1]), { type: t, data: n[1] };
                }
                static isDomSafe(e, t, n = {}) {
                    if (n.allow_script_urls) return !0;
                    {
                        const r = Zo.decode(e).replace(/[\s\u0000-\u001F]+/g, "");
                        return !ky(n, r, t);
                    }
                }
                static getDocumentBaseUrl(e) {
                    let 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
                    );
                }
                setPath(e) {
                    const t = /^(.*?)\/?(\w+)?$/.exec(e);
                    (this.path = t[0]), (this.directory = t[1]), (this.file = t[2]), (this.source = ""), this.getURI();
                }
                toRelative(e) {
                    let t;
                    if ("./" === e) return e;
                    const n = new Ay(e, { base_uri: this });
                    if (("mce_host" !== n.host && this.host !== n.host && n.host) || this.port !== n.port || (this.protocol !== n.protocol && "" !== n.protocol)) return n.getURI();
                    const r = this.getURI(),
                        o = n.getURI();
                    return r === o || ("/" === r.charAt(r.length - 1) && r.substr(0, r.length - 1) === o) ? r : ((t = this.toRelPath(this.path, n.path)), n.query && (t += "?" + n.query), n.anchor && (t += "#" + n.anchor), t);
                }
                toAbsolute(e, t) {
                    const n = new Ay(e, { base_uri: this });
                    return n.getURI(t && this.isSameOrigin(n));
                }
                isSameOrigin(e) {
                    if (this.host == e.host && this.protocol == e.protocol) {
                        if (this.port == e.port) return !0;
                        const t = xy[this.protocol];
                        if (t && (this.port || t) == (e.port || t)) return !0;
                    }
                    return !1;
                }
                toRelPath(e, t) {
                    let n,
                        r,
                        o = 0,
                        i = "";
                    const s = e.substring(0, e.lastIndexOf("/")).split("/"),
                        a = t.split("/");
                    if (s.length >= a.length)
                        for (n = 0, r = s.length; n < r; n++)
                            if (n >= a.length || s[n] !== a[n]) {
                                o = n + 1;
                                break;
                            }
                    if (s.length < a.length)
                        for (n = 0, r = a.length; n < r; n++)
                            if (n >= s.length || s[n] !== a[n]) {
                                o = n + 1;
                                break;
                            }
                    if (1 === o) return t;
                    for (n = 0, r = s.length - (o - 1); n < r; n++) i += "../";
                    for (n = o - 1, r = a.length; n < r; n++) i += n !== o - 1 ? "/" + a[n] : a[n];
                    return i;
                }
                toAbsPath(e, t) {
                    let n,
                        r,
                        o = 0,
                        i = [];
                    const s = /\/$/.test(t) ? "/" : "";
                    let a = e.split("/");
                    const l = t.split("/");
                    for (
                        _y(a, (e) => {
                            e && i.push(e);
                        }),
                            a = i,
                            n = l.length - 1,
                            i = [];
                        n >= 0;
                        n--
                    )
                        0 !== l[n].length && "." !== l[n] && (".." !== l[n] ? (o > 0 ? o-- : i.push(l[n])) : o++);
                    return (n = a.length - o), (r = n <= 0 ? oe(i).join("/") : a.slice(0, n).join("/") + "/" + oe(i).join("/")), 0 !== r.indexOf("/") && (r = "/" + r), s && r.lastIndexOf("/") !== r.length - 1 && (r += s), r;
                }
                getURI(e = !1) {
                    let t;
                    return (
                        (this.source && !e) ||
                            ((t = ""),
                            e || (this.protocol ? (t += this.protocol + "://") : (t += "//"), this.userInfo && (t += this.userInfo + "@"), this.host && (t += this.host), this.port && (t += ":" + this.port)),
                            this.path && (t += this.path),
                            this.query && (t += "?" + this.query),
                            this.anchor && (t += "#" + this.anchor),
                            (this.source = t)),
                        this.source
                    );
                }
            }
            const Sy = wt.makeMap,
                Ty = wt.each,
                Ny = wt.explode,
                Oy = wt.extend,
                Dy = { IN_PLACE: !0, ALLOW_UNKNOWN_PROTOCOLS: !0, ALLOWED_TAGS: ["#comment", "#cdata-section", "body"], ALLOWED_ATTR: [] },
                Ry = wt.makeMap("src,href,data,background,action,formaction,poster,xlink:href"),
                Ly = (e, t) => {
                    const n = cy(),
                        r = e.validate;
                    let o = 0;
                    return (
                        n.addHook("uponSanitizeElement", (n, i) => {
                            var s, a;
                            8 === n.nodeType && !e.allow_conditional_comments && /^\[if/i.test(n.nodeValue) && (n.nodeValue = " " + n.nodeValue);
                            const l = i.tagName;
                            if (1 !== n.nodeType || "body" === l) return;
                            const c = Qt.fromDom(n),
                                u = It(c, "data-mce-type"),
                                d = $t(c, "data-mce-bogus");
                            if (!u && h(d)) return void ("all" === d ? Hn(c) : Un(c));
                            const f = t.getElementRule(l.toLowerCase());
                            if (!r || f) {
                                if (((i.allowedTags[l] = !0), r && !u)) {
                                    if (
                                        (V(null !== (s = f.attributesForced) && void 0 !== s ? s : [], (e) => {
                                            Lt(c, e.name, "{$uid}" === e.value ? "mce_" + o++ : e.value);
                                        }),
                                        V(null !== (a = f.attributesDefault) && void 0 !== a ? a : [], (e) => {
                                            It(c, e.name) || Lt(c, e.name, "{$uid}" === e.value ? "mce_" + o++ : e.value);
                                        }),
                                        f.attributesRequired && !z(f.attributesRequired, (e) => It(c, e)))
                                    )
                                        return void Un(c);
                                    if (
                                        f.removeEmptyAttrs &&
                                        ((e) => {
                                            const t = e.dom.attributes;
                                            return null == t || 0 === t.length;
                                        })(c)
                                    )
                                        return void Un(c);
                                    f.outputName && f.outputName !== l.toLowerCase() && os(c, f.outputName);
                                }
                            } else Un(c);
                        }),
                        n.addHook("uponSanitizeAttribute", (n, o) => {
                            const i = n.tagName.toLowerCase(),
                                { attrName: s, attrValue: a } = o;
                            (o.keepAttr = !r || t.isValid(i, s) || Ue(s, "data-") || Ue(s, "aria-")),
                                s in Ry && ky(e, a, i) && (o.keepAttr = !1),
                                o.keepAttr
                                    ? ((o.allowedAttributes[s] = !0), s in t.getBoolAttrs() && (o.attrValue = s), e.allow_svg_data_urls && Ue(a, "data:image/svg+xml") && (o.forceKeepAttr = !0))
                                    : !n.hasAttribute("data-mce-type") || ("id" !== s && "class" !== s && "style" !== s) || (o.forceKeepAttr = !0);
                        }),
                        n
                    );
                },
                Py = (e, t, n) => {
                    const r = e.name,
                        o = r in n && "title" !== r && "textarea" !== r,
                        i = t.childNodes;
                    for (let t = 0, r = i.length; t < r; t++) {
                        const r = i[t],
                            s = new Bp(r.nodeName.toLowerCase(), r.nodeType);
                        if (ir(r)) {
                            const e = r.attributes;
                            for (let t = 0, n = e.length; t < n; t++) {
                                const n = e[t];
                                s.attr(n.name, n.value);
                            }
                        } else pr(r) ? ((s.value = r.data), o && (s.raw = !0)) : (gr(r) || hr(r) || mr(r)) && (s.value = r.data);
                        Py(s, r, n), e.append(s);
                    }
                },
                $y = (e, t, n, r) => {
                    const o = n.validate,
                        i = t.getNonEmptyElements(),
                        s = t.getWhitespaceElements(),
                        a = Oy(Sy("script,style,head,html,body,title,meta,param"), t.getBlockElements()),
                        l = ci(t),
                        c = /[ \t\r\n]+/g,
                        u = /^[ \t\r\n]+/,
                        d = /[ \t\r\n]+$/,
                        f = (e) => {
                            for (e = e.parent; C(e); ) {
                                if (e.name in s) return !0;
                                e = e.parent;
                            }
                            return !1;
                        },
                        p = (t, n) => {
                            const o = n ? t.prev : t.next;
                            return !C(o) && t.parent.name in a && (t.parent !== e || r.isRootContent);
                        };
                    return [
                        (e) => {
                            if (3 === e.type && !f(e)) {
                                let t = e.value;
                                (t = t.replace(c, " ")), (((e, t) => e && (e.name in t || "br" === e.name))(e.prev, a) || p(e, !0)) && (t = t.replace(u, "")), 0 === t.length ? e.remove() : (e.value = t);
                            }
                        },
                        (e) => {
                            var n;
                            if (1 === e.type) {
                                const n = t.getElementRule(e.name);
                                if (o && n) {
                                    const o = Vm(t, i, s, e);
                                    n.paddInEmptyBlock &&
                                    o &&
                                    ((e) => {
                                        let n = e;
                                        for (; C(n); ) {
                                            if (n.name in l) return Vm(t, i, s, n);
                                            n = n.parent;
                                        }
                                        return !1;
                                    })(e)
                                        ? zm(0, r, a, e)
                                        : n.removeEmpty && o
                                        ? a[e.name]
                                            ? e.remove()
                                            : e.unwrap()
                                        : n.paddEmpty && (o || ((e) => Wm(e, "#text") && " " === e.firstChild.value)(e)) && zm(0, r, a, e);
                                }
                            } else if (3 === e.type && !f(e)) {
                                let t = e.value;
                                (a[null === (n = e.next) || void 0 === n ? void 0 : n.name] || p(e, !1)) && (t = t.replace(d, "")), 0 === t.length ? e.remove() : (e.value = t);
                            }
                        },
                    ];
                },
                My = (e = {}, t = di()) => {
                    const n = {},
                        r = [],
                        o = { validate: !0, root_name: "body", ...e },
                        i = new DOMParser(),
                        s = Ly(o, t),
                        a = (e, n, r = "html") => {
                            const a = "xhtml" === r ? "application/xhtml+xml" : "text/html",
                                l = Ee(t.getSpecialElements(), n.toLowerCase()),
                                c = l ? `<${n}>${e}</${n}>` : e,
                                u = "xhtml" === r ? `<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>${c}</body></html>` : `<body>${c}</body>`,
                                d = i.parseFromString(u, a).body;
                            return (
                                s.sanitize(
                                    d,
                                    ((e, t) => {
                                        const n = { ...Dy };
                                        return (n.PARSER_MEDIA_TYPE = t), e.allow_script_urls ? (n.ALLOWED_URI_REGEXP = /.*/) : e.allow_html_data_urls && (n.ALLOWED_URI_REGEXP = /^(?!(\w+script|mhtml):)/i), n;
                                    })(o, a)
                                ),
                                (s.removed = []),
                                l ? d.firstChild : d
                            );
                        },
                        l = () => {
                            const e = [];
                            for (const t in n) Ee(n, t) && e.push({ name: t, callbacks: n[t] });
                            return e;
                        },
                        c = {
                            schema: t,
                            addAttributeFilter: (e, t) => {
                                Ty(Ny(e), (e) => {
                                    let n;
                                    for (n = 0; n < r.length; n++) if (r[n].name === e) return void r[n].callbacks.push(t);
                                    r.push({ name: e, callbacks: [t] });
                                });
                            },
                            getAttributeFilters: () => [].concat(r),
                            addNodeFilter: (e, t) => {
                                Ty(Ny(e), (e) => {
                                    let r = n[e];
                                    r || (n[e] = r = []), r.push(t);
                                });
                            },
                            getNodeFilters: l,
                            parse: (e, n = {}) => {
                                var i;
                                const s = o.validate,
                                    c = null !== (i = n.context) && void 0 !== i ? i : o.root_name,
                                    u = a(e, c, n.format),
                                    d = new Bp(c, 11);
                                Py(d, u, t.getSpecialElements());
                                const [f, p] = $y(d, t, o, n),
                                    h = [],
                                    m = s
                                        ? (e) =>
                                              ((e, n) => {
                                                  const r = e.parent;
                                                  r && t.children[e.name] && !t.isValidChild(r.name, e.name) && n.push(e);
                                              })(e, h)
                                        : A,
                                    g = l(),
                                    v = { nodes: {}, attributes: {} },
                                    y = (e) => Hm(g, r, e, v);
                                if (
                                    (((e, t, n) => {
                                        const r = [];
                                        for (let n = e, o = n; C(n); o = n, n = n.walk()) V(t, (e) => e(n)), w(n.parent) && n !== e ? (n = o) : r.push(n);
                                        for (let e = r.length - 1; e >= 0; e--) {
                                            const t = r[e];
                                            V(n, (e) => e(t));
                                        }
                                    })(d, [f, y], [p, m]),
                                    h.reverse(),
                                    s && h.length > 0)
                                )
                                    if (n.context) {
                                        const { pass: e, fail: r } = G(h, (e) => e.parent === d);
                                        Gm(r, t, y), (n.invalid = e.length > 0);
                                    } else Gm(h, t, y);
                                const b = ((e, t) => {
                                    var n;
                                    const r = null !== (n = t.forced_root_block) && void 0 !== n ? n : e.forced_root_block;
                                    return !1 === r ? "" : !0 === r ? "p" : r;
                                })(o, n);
                                return (
                                    b &&
                                        ("body" === d.name || n.isRootContent) &&
                                        ((e, n) => {
                                            const r = Oy(Sy("script,style,head,html,body,title,meta,param"), t.getBlockElements()),
                                                i = /^[ \t\r\n]+/,
                                                s = /[ \t\r\n]+$/;
                                            let a = e.firstChild,
                                                l = null;
                                            const c = (e) => {
                                                e && ((a = e.firstChild), a && 3 === a.type && (a.value = a.value.replace(i, "")), (a = e.lastChild), a && 3 === a.type && (a.value = a.value.replace(s, "")));
                                            };
                                            if (t.isValidChild(e.name, n.toLowerCase())) {
                                                for (; a; ) {
                                                    const t = a.next;
                                                    3 === a.type || (1 === a.type && "p" !== a.name && !r[a.name] && !a.attr("data-mce-type"))
                                                        ? (l || ((l = new Bp(n, 1)), l.attr(o.forced_root_block_attrs), e.insert(l, a)), l.append(a))
                                                        : (c(l), (l = null)),
                                                        (a = t);
                                                }
                                                c(l);
                                            }
                                        })(d, b),
                                    n.invalid || Um(v, n),
                                    d
                                );
                            },
                        };
                    return (
                        ((e, t) => {
                            const n = e.schema;
                            t.remove_trailing_brs &&
                                e.addNodeFilter("br", (e, t, r) => {
                                    const o = wt.extend({}, n.getBlockElements()),
                                        i = n.getNonEmptyElements(),
                                        s = n.getWhitespaceElements();
                                    o.body = 1;
                                    for (let t = 0, a = e.length; t < a; t++) {
                                        let a = e[t],
                                            l = a.parent;
                                        if (o[a.parent.name] && a === l.lastChild) {
                                            let e = a.prev;
                                            for (; e; ) {
                                                const t = e.name;
                                                if ("span" !== t || "bookmark" !== e.attr("data-mce-type")) {
                                                    "br" === t && (a = null);
                                                    break;
                                                }
                                                e = e.prev;
                                            }
                                            if (a && (a.remove(), Vm(n, i, s, l))) {
                                                const e = n.getElementRule(l.name);
                                                e && (e.removeEmpty ? l.remove() : e.paddEmpty && zm(0, r, o, l));
                                            }
                                        } else {
                                            let e = a;
                                            for (; l && l.firstChild === e && l.lastChild === e && ((e = l), !o[l.name]); ) l = l.parent;
                                            if (e === l) {
                                                const e = new Bp("#text", 3);
                                                (e.value = " "), a.replace(e);
                                            }
                                        }
                                    }
                                }),
                                e.addAttributeFilter("href", (e) => {
                                    let n = e.length;
                                    const r = (e) => {
                                        const t = e ? wt.trim(e) : "";
                                        return /\b(noopener)\b/g.test(t)
                                            ? t
                                            : ((e) =>
                                                  e
                                                      .split(" ")
                                                      .filter((e) => e.length > 0)
                                                      .concat(["noopener"])
                                                      .sort()
                                                      .join(" "))(t);
                                    };
                                    if (!t.allow_unsafe_link_target)
                                        for (; n--; ) {
                                            const t = e[n];
                                            "a" === t.name && "_blank" === t.attr("target") && t.attr("rel", r(t.attr("rel")));
                                        }
                                }),
                                t.allow_html_in_named_anchor ||
                                    e.addAttributeFilter("id,name", (e) => {
                                        let t,
                                            n,
                                            r,
                                            o,
                                            i = e.length;
                                        for (; i--; )
                                            if (((o = e[i]), "a" === o.name && o.firstChild && !o.attr("href"))) {
                                                (r = o.parent), (t = o.lastChild);
                                                do {
                                                    (n = t.prev), r.insert(t, o), (t = n);
                                                } while (t);
                                            }
                                    }),
                                t.fix_list_elements &&
                                    e.addNodeFilter("ul,ol", (e) => {
                                        let t,
                                            n,
                                            r = e.length;
                                        for (; r--; )
                                            if (((t = e[r]), (n = t.parent), "ul" === n.name || "ol" === n.name))
                                                if (t.prev && "li" === t.prev.name) t.prev.append(t);
                                                else {
                                                    const e = new Bp("li", 1);
                                                    e.attr("style", "list-style-type: none"), t.wrap(e);
                                                }
                                    }),
                                t.validate &&
                                    n.getValidClasses() &&
                                    e.addAttributeFilter("class", (e) => {
                                        const t = n.getValidClasses();
                                        let r = e.length;
                                        for (; r--; ) {
                                            const n = e[r],
                                                o = n.attr("class").split(" ");
                                            let i = "";
                                            for (let e = 0; e < o.length; e++) {
                                                const r = o[e];
                                                let s = !1,
                                                    a = t["*"];
                                                a && a[r] && (s = !0), (a = t[n.name]), !s && a && a[r] && (s = !0), s && (i && (i += " "), (i += r));
                                            }
                                            i.length || (i = null), n.attr("class", i);
                                        }
                                    }),
                                by(e, t);
                        })(c, o),
                        ((e, t, n) => {
                            t.inline_styles && dy(e, t, n);
                        })(c, o, t),
                        c
                    );
                },
                Iy = (e, t) => {
                    const n = ((e) => (ag(e) ? Gp({ validate: !1 }).serialize(e) : e))(e),
                        r = t(n);
                    if (r.isDefaultPrevented()) return r;
                    if (ag(e)) {
                        if (r.content !== n) {
                            const t = My({ validate: !1, forced_root_block: !1 }).parse(r.content, { context: e.name });
                            return { ...r, content: t };
                        }
                        return { ...r, content: e };
                    }
                    return r;
                },
                By = (e, t) => {
                    if (t.no_events) return aa.value(t);
                    {
                        const n = ((e, t) => e.dispatch("BeforeGetContent", t))(e, t);
                        return n.isDefaultPrevented() ? aa.error(qd(e, { content: "", ...n }).content) : aa.value(n);
                    }
                },
                jy = (e, t, n) => {
                    if (n.no_events) return t;
                    return Iy(t, (t) => qd(e, { ...n, content: t })).content;
                },
                Fy = (e, t) => {
                    if (t.no_events) return aa.value(t);
                    {
                        const n = Iy(t.content, (n) => ((e, t) => e.dispatch("BeforeSetContent", t))(e, { ...t, content: n }));
                        return n.isDefaultPrevented() ? (Ud(e, n), aa.error(void 0)) : aa.value(n);
                    }
                },
                Hy = (e, t, n) => {
                    n.no_events || Ud(e, { ...n, content: t });
                },
                Uy = (e, t, n) => ({ element: e, width: t, rows: n }),
                qy = (e, t) => ({ element: e, cells: t }),
                zy = (e, t) => ({ x: e, y: t }),
                Wy = (e, t) => {
                    const n = parseInt($t(e, t), 10);
                    return isNaN(n) ? 1 : n;
                },
                Vy = (e, t, n) => {
                    const r = e.rows;
                    return !!(r[n] ? r[n].cells : [])[t];
                },
                Ky = (e) => J(e, (e, t) => (t.cells.length > e ? t.cells.length : e), 0),
                Gy = (e, t) => {
                    const n = e.rows;
                    for (let e = 0; e < n.length; e++) {
                        const r = n[e].cells;
                        for (let n = 0; n < r.length; n++) if (nn(r[n], t)) return B.some(zy(n, e));
                    }
                    return B.none();
                },
                Yy = (e, t, n, r, o) => {
                    const i = [],
                        s = e.rows;
                    for (let e = n; e <= o; e++) {
                        const n = s[e].cells,
                            o = t < r ? n.slice(t, r + 1) : n.slice(r, t + 1);
                        i.push(qy(s[e].element, o));
                    }
                    return i;
                },
                Xy = (e) => {
                    const t = Uy(ns(e), 0, []);
                    return (
                        V(qi(e, "tr"), (e, n) => {
                            V(qi(e, "td,th"), (r, o) => {
                                ((e, t, n, r, o) => {
                                    const i = Wy(o, "rowspan"),
                                        s = Wy(o, "colspan"),
                                        a = e.rows;
                                    for (let e = n; e < n + i; e++) {
                                        a[e] || (a[e] = qy(rs(r), []));
                                        for (let r = t; r < t + s; r++) {
                                            a[e].cells[r] = e === n && r === t ? o : ns(o);
                                        }
                                    }
                                })(
                                    t,
                                    ((e, t, n) => {
                                        for (; Vy(e, t, n); ) t++;
                                        return t;
                                    })(t, o, n),
                                    n,
                                    e,
                                    r
                                );
                            });
                        }),
                        Uy(t.element, Ky(t.rows), t.rows)
                    );
                },
                Jy = (e) =>
                    ((e, t) => {
                        const n = ns(e.element),
                            r = Qt.fromTag("tbody");
                        return jn(r, t), Bn(n, r), n;
                    })(
                        e,
                        ((e) =>
                            W(e.rows, (e) => {
                                const t = W(e.cells, (e) => {
                                        const t = rs(e);
                                        return Bt(t, "colspan"), Bt(t, "rowspan"), t;
                                    }),
                                    n = ns(e.element);
                                return jn(n, t), n;
                            }))(e)
                    ),
                Qy = (e, t, n) =>
                    Gy(e, t).bind((t) =>
                        Gy(e, n).map((n) =>
                            ((e, t, n) => {
                                const r = t.x,
                                    o = t.y,
                                    i = n.x,
                                    s = n.y,
                                    a = o < s ? Yy(e, r, o, i, s) : Yy(e, r, s, i, o);
                                return Uy(e.element, Ky(a), a);
                            })(e, t, n)
                        )
                    ),
                Zy = (e, t) =>
                    Z(e, (e) => "li" === kt(e) && Ed(e, t)).fold(N([]), (t) =>
                        ((e) => Z(e, (e) => "ul" === kt(e) || "ol" === kt(e)))(e)
                            .map((e) => {
                                const t = Qt.fromTag(kt(e)),
                                    n = _e(Ln(e), (e, t) => Ue(t, "list-style"));
                                return Nn(t, n), [Qt.fromTag("li"), t];
                            })
                            .getOr([])
                    ),
                eb = (e, t) => {
                    const n = Qt.fromDom(t.commonAncestorContainer),
                        r = _h(n, e),
                        o = Y(r, (e) => Ur(e) || Fr(e)),
                        i = Zy(r, t),
                        s = o.concat(
                            i.length
                                ? i
                                : ((e) =>
                                      Vr(e)
                                          ? ln(e)
                                                .filter(Wr)
                                                .fold(N([]), (t) => [e, t])
                                          : Wr(e)
                                          ? [e]
                                          : [])(n)
                        );
                    return W(s, ns);
                },
                tb = () => uf([]),
                nb = (e, t) =>
                    ((e, t) => {
                        const n = J(t, (e, t) => (Bn(t, e), t), e);
                        return t.length > 0 ? uf([n]) : n;
                    })(Qt.fromDom(t.cloneContents()), eb(e, t)),
                rb = (e, t) =>
                    ((e, t) => Lr(t, "table", R(nn, e)))(e, t[0])
                        .bind((e) => {
                            const n = t[0],
                                r = t[t.length - 1],
                                o = Xy(e);
                            return Qy(o, n, r).map((e) => uf([Jy(e)]));
                        })
                        .getOrThunk(tb),
                ob = (e, t) => {
                    const n = bd(t, e);
                    return n.length > 0 ? rb(e, n) : ((e, t) => (t.length > 0 && t[0].collapsed ? tb() : nb(e, t[0])))(e, t);
                },
                ib = (e, t) => t >= 0 && t < e.length && Nu(e.charAt(t)),
                sb = (e) => Qr(e.innerText),
                ab = (e, t) => {
                    if ("text" === t.format)
                        return ((e) =>
                            B.from(e.selection.getRng())
                                .map((t) => {
                                    const n = B.from(e.dom.getParent(t.commonAncestorContainer, e.dom.isBlock)),
                                        r = e.getBody(),
                                        o = ((e) =>
                                            e
                                                .map((e) => e.nodeName)
                                                .getOr("div")
                                                .toLowerCase())(n),
                                        i = e.dom.add(r, o, { "data-mce-bogus": "all", style: "overflow: hidden; opacity: 0;" }, t.cloneContents()),
                                        s = sb(i),
                                        a = Qr(i.textContent);
                                    if ((e.dom.remove(i), ib(a, 0) || ib(a, a.length - 1))) {
                                        const e = n.getOr(r),
                                            t = sb(e),
                                            o = t.indexOf(s);
                                        if (-1 === o) return s;
                                        return (ib(t, o - 1) ? " " : "") + s + (ib(t, o + s.length) ? " " : "");
                                    }
                                    return s;
                                })
                                .getOr(""))(e);
                    {
                        const n = ((e, t) => {
                            const n = e.selection.getRng(),
                                r = e.dom.create("body"),
                                o = e.selection.getSel(),
                                i = Sp(e, vd(o)),
                                s = t.contextual ? ob(Qt.fromDom(e.getBody()), i).dom : n.cloneContents();
                            return s && r.appendChild(s), e.selection.serializer.serialize(r, t);
                        })(e, t);
                        return "tree" === t.format ? n : e.selection.isCollapsed() ? "" : n;
                    }
                },
                lb = (e) => (ir(e) ? e.outerHTML : pr(e) ? Zo.encodeRaw(e.data, !1) : gr(e) ? "\x3c!--" + e.data + "--\x3e" : ""),
                cb = (e, t, n) => {
                    const r = ((e) => {
                        let t;
                        const n = document.createElement("div"),
                            r = document.createDocumentFragment();
                        for (e && (n.innerHTML = e); (t = n.firstChild); ) r.appendChild(t);
                        return r;
                    })(t);
                    if (e.hasChildNodes() && n < e.childNodes.length) {
                        const t = e.childNodes[n];
                        t.parentNode.insertBefore(r, t);
                    } else e.appendChild(r);
                },
                ub = (e, t) => (
                    ((e, t) => {
                        let n = 0;
                        V(e, (e) => {
                            0 === e[0]
                                ? n++
                                : 1 === e[0]
                                ? (cb(t, e[1], n), n++)
                                : 2 === e[0] &&
                                  ((e, t) => {
                                      if (e.hasChildNodes() && t < e.childNodes.length) {
                                          const n = e.childNodes[t];
                                          n.parentNode.removeChild(n);
                                      }
                                  })(t, n);
                        });
                    })(
                        ((e, t) => {
                            const n = e.length + t.length + 2,
                                r = new Array(n),
                                o = new Array(n),
                                i = (n, r, o, s, l) => {
                                    const c = a(n, r, o, s);
                                    if (null === c || (c.start === r && c.diag === r - s) || (c.end === n && c.diag === n - o)) {
                                        let i = n,
                                            a = o;
                                        for (; i < r || a < s; ) i < r && a < s && e[i] === t[a] ? (l.push([0, e[i]]), ++i, ++a) : r - n > s - o ? (l.push([2, e[i]]), ++i) : (l.push([1, t[a]]), ++a);
                                    } else {
                                        i(n, c.start, o, c.start - c.diag, l);
                                        for (let t = c.start; t < c.end; ++t) l.push([0, e[t]]);
                                        i(c.end, r, c.end - c.diag, s, l);
                                    }
                                },
                                s = (n, r, o, i) => {
                                    let s = n;
                                    for (; s - r < i && s < o && e[s] === t[s - r]; ) ++s;
                                    return ((e, t, n) => ({ start: e, end: t, diag: n }))(n, s, r);
                                },
                                a = (n, i, a, l) => {
                                    const c = i - n,
                                        u = l - a;
                                    if (0 === c || 0 === u) return null;
                                    const d = c - u,
                                        f = u + c,
                                        p = (f % 2 == 0 ? f : f + 1) / 2;
                                    let h, m, g, v, y;
                                    for (r[1 + p] = n, o[1 + p] = i + 1, h = 0; h <= p; ++h) {
                                        for (m = -h; m <= h; m += 2) {
                                            for (g = m + p, m === -h || (m !== h && r[g - 1] < r[g + 1]) ? (r[g] = r[g + 1]) : (r[g] = r[g - 1] + 1), v = r[g], y = v - n + a - m; v < i && y < l && e[v] === t[y]; ) (r[g] = ++v), ++y;
                                            if (d % 2 != 0 && d - h <= m && m <= d + h && o[g - d] <= r[g]) return s(o[g - d], m + n - a, i, l);
                                        }
                                        for (m = d - h; m <= d + h; m += 2) {
                                            for (g = m + p - d, m === d - h || (m !== d + h && o[g + 1] <= o[g - 1]) ? (o[g] = o[g + 1] - 1) : (o[g] = o[g - 1]), v = o[g] - 1, y = v - n + a - m; v >= n && y >= a && e[v] === t[y]; )
                                                (o[g] = v--), y--;
                                            if (d % 2 == 0 && -h <= m && m <= h && o[g] <= r[g + d]) return s(o[g], m + n - a, i, l);
                                        }
                                    }
                                },
                                l = [];
                            return i(0, e.length, 0, t.length, l), l;
                        })(W(de(t.childNodes), lb), e),
                        t
                    ),
                    t
                ),
                db = $e(() => document.implementation.createHTMLDocument("undo")),
                fb = (e) => {
                    const t = ((n = e.getBody()), Y(W(de(n.childNodes), lb), (e) => e.length > 0));
                    var n;
                    const r = ne(t, (t) => {
                            const n = Hp(e.serializer, t);
                            return n.length > 0 ? [n] : [];
                        }),
                        o = r.join("");
                    return ((e) => -1 !== e.indexOf("</iframe>"))(o)
                        ? ((e) => ({ type: "fragmented", fragments: e, content: "", bookmark: null, beforeBookmark: null }))(r)
                        : ((e) => ({ type: "complete", fragments: null, content: e, bookmark: null, beforeBookmark: null }))(o);
                },
                pb = (e, t, n) => {
                    const r = n ? t.beforeBookmark : t.bookmark;
                    "fragmented" === t.type ? ub(t.fragments, e.getBody()) : e.setContent(t.content, { format: "raw", no_selection: !C(r) || !gu(r) || !r.isFakeCaret }), e.selection.moveToBookmark(r);
                },
                hb = (e) => ("fragmented" === e.type ? e.fragments.join("") : e.content),
                mb = (e) => {
                    const t = Qt.fromTag("body", db());
                    return zn(t, hb(e)), V(qi(t, "*[data-mce-bogus]"), Un), qn(t);
                },
                gb = (e, t) => !(!e || !t) && (!!((e, t) => hb(e) === hb(t))(e, t) || ((e, t) => mb(e) === mb(t))(e, t)),
                vb = (e) => 0 === e.get(),
                yb = (e, t, n) => {
                    vb(n) && (e.typing = t);
                },
                bb = (e, t) => {
                    e.typing && (yb(e, !1, t), e.add());
                },
                _b = (e) => ({
                    init: { bindEvents: A },
                    undoManager: {
                        beforeChange: (t, n) =>
                            ((e, t, n) => {
                                vb(t) && n.set(oa(e.selection));
                            })(e, t, n),
                        add: (t, n, r, o, i, s) =>
                            ((e, t, n, r, o, i, s) => {
                                const a = fb(e);
                                if (((i = i || {}), (i = wt.extend(i, a)), !1 === vb(r) || e.removed)) return null;
                                const l = t.data[n.get()];
                                if (e.dispatch("BeforeAddUndo", { level: i, lastLevel: l, originalEvent: s }).isDefaultPrevented()) return null;
                                if (l && gb(l, i)) return null;
                                t.data[n.get()] &&
                                    o.get().each((e) => {
                                        t.data[n.get()].beforeBookmark = e;
                                    });
                                const c = _l(e);
                                if (c && t.data.length > c) {
                                    for (let e = 0; e < t.data.length - 1; e++) t.data[e] = t.data[e + 1];
                                    t.data.length--, n.set(t.data.length);
                                }
                                (i.bookmark = oa(e.selection)), n.get() < t.data.length - 1 && (t.data.length = n.get() + 1), t.data.push(i), n.set(t.data.length - 1);
                                const u = { level: i, lastLevel: l, originalEvent: s };
                                return n.get() > 0 ? (e.setDirty(!0), e.dispatch("AddUndo", u), e.dispatch("change", u)) : e.dispatch("AddUndo", u), i;
                            })(e, t, n, r, o, i, s),
                        undo: (t, n, r) =>
                            ((e, t, n, r) => {
                                let o;
                                return t.typing && (t.add(), (t.typing = !1), yb(t, !1, n)), r.get() > 0 && (r.set(r.get() - 1), (o = t.data[r.get()]), pb(e, o, !0), e.setDirty(!0), e.dispatch("Undo", { level: o })), o;
                            })(e, t, n, r),
                        redo: (t, n) =>
                            ((e, t, n) => {
                                let r;
                                return t.get() < n.length - 1 && (t.set(t.get() + 1), (r = n[t.get()]), pb(e, r, !1), e.setDirty(!0), e.dispatch("Redo", { level: r })), r;
                            })(e, t, n),
                        clear: (t, n) =>
                            ((e, t, n) => {
                                (t.data = []), n.set(0), (t.typing = !1), e.dispatch("ClearUndos");
                            })(e, t, n),
                        reset: (e) =>
                            ((e) => {
                                e.clear(), e.add();
                            })(e),
                        hasUndo: (t, n) => ((e, t, n) => n.get() > 0 || (t.typing && t.data[0] && !gb(fb(e), t.data[0])))(e, t, n),
                        hasRedo: (e, t) => ((e, t) => t.get() < e.data.length - 1 && !e.typing)(e, t),
                        transact: (e, t, n) => ((e, t, n) => (bb(e, t), e.beforeChange(), e.ignore(n), e.add()))(e, t, n),
                        ignore: (e, t) =>
                            ((e, t) => {
                                try {
                                    e.set(e.get() + 1), t();
                                } finally {
                                    e.set(e.get() - 1);
                                }
                            })(e, t),
                        extra: (t, n, r, o) =>
                            ((e, t, n, r, o) => {
                                if (t.transact(r)) {
                                    const r = t.data[n.get()].bookmark,
                                        i = t.data[n.get() - 1];
                                    pb(e, i, !0), t.transact(o) && (t.data[n.get() - 1].beforeBookmark = r);
                                }
                            })(e, t, n, r, o),
                    },
                    formatter: {
                        match: (t, n, r, o) => bg(e, t, n, r, o),
                        matchAll: (t, n) =>
                            ((e, t, n) => {
                                const r = [],
                                    o = {},
                                    i = e.selection.getStart();
                                return (
                                    e.dom.getParent(
                                        i,
                                        (i) => {
                                            for (let s = 0; s < t.length; s++) {
                                                const a = t[s];
                                                !o[a] && yg(e, i, a, n) && ((o[a] = !0), r.push(a));
                                            }
                                        },
                                        e.dom.getRoot()
                                    ),
                                    r
                                );
                            })(e, t, n),
                        matchNode: (t, n, r, o) => yg(e, t, n, r, o),
                        canApply: (t) =>
                            ((e, t) => {
                                const n = e.formatter.get(t),
                                    r = e.dom;
                                if (n) {
                                    const t = e.selection.getStart(),
                                        o = Yu(r, t);
                                    for (let e = n.length - 1; e >= 0; e--) {
                                        const t = n[e];
                                        if (!Qu(t)) return !0;
                                        for (let e = o.length - 1; e >= 0; e--) if (r.is(o[e], t.selector)) return !0;
                                    }
                                }
                                return !1;
                            })(e, t),
                        closest: (t) => _g(e, t),
                        apply: (t, n, r) => av(e, t, n, r),
                        remove: (t, n, r, o) => nv(e, t, n, r, o),
                        toggle: (t, n, r) =>
                            ((e, t, n, r) => {
                                const o = e.formatter.get(t);
                                !bg(e, t, n, r) || ("toggle" in o[0] && !o[0].toggle) ? av(e, t, n, r) : nv(e, t, n, r);
                            })(e, t, n, r),
                        formatChanged: (t, n, r, o, i) => pv(e, t, n, r, o, i),
                    },
                    editor: {
                        getContent: (t) => ((e, t) => B.from(e.getBody()).fold(N("tree" === t.format ? new Bp("body", 11) : ""), (n) => qp(e, t, n)))(e, t),
                        setContent: (t, n) => cg(e, t, n),
                        insertContent: (t, n) => sg(e, t, n),
                        addVisual: (t) =>
                            ((e, t) => {
                                const n = e.dom,
                                    r = C(t) ? t : e.getBody();
                                _(e.hasVisual) && (e.hasVisual = Sl(e)),
                                    V(n.select("table,a", r), (t) => {
                                        switch (t.nodeName) {
                                            case "TABLE":
                                                const r = Tl(e),
                                                    o = n.getAttrib(t, "border");
                                                (o && "0" !== o) || !e.hasVisual ? n.removeClass(t, r) : n.addClass(t, r);
                                                break;
                                            case "A":
                                                if (!n.getAttrib(t, "href")) {
                                                    const r = n.getAttrib(t, "name") || t.id,
                                                        o = Nl(e);
                                                    r && e.hasVisual ? n.addClass(t, o) : n.removeClass(t, o);
                                                }
                                        }
                                    }),
                                    e.dispatch("VisualAid", { element: t, hasVisual: e.hasVisual });
                            })(e, t),
                    },
                    selection: {
                        getContent: (t, n) =>
                            ((e, t, n = {}) => {
                                const r = ((e, t) => ({ ...e, format: t, get: !0, selection: !0, getInner: !0 }))(n, t);
                                return By(e, r).fold(O, (t) => {
                                    const n = ab(e, t);
                                    return jy(e, n, t);
                                });
                            })(e, t, n),
                    },
                    autocompleter: {
                        addDecoration: (t) => Rp(e, t),
                        removeDecoration: () =>
                            ((e, t) =>
                                Lp(t).each((t) => {
                                    const n = e.selection.getBookmark();
                                    Un(t), e.selection.moveToBookmark(n);
                                }))(e, Qt.fromDom(e.getBody())),
                    },
                    raw: { getModel: () => B.none() },
                }),
                wb = (e) => Ee(e.plugins, "rtc"),
                Cb = (e) => {
                    const t = e;
                    return ((e) => xe(e.plugins, "rtc").bind((e) => B.from(e.setup)))(e).fold(
                        () => ((t.rtcInstance = _b(e)), B.none()),
                        (e) => (
                            (t.rtcInstance = (() => {
                                const e = N(null),
                                    t = N("");
                                return {
                                    init: { bindEvents: A },
                                    undoManager: { beforeChange: A, add: e, undo: e, redo: e, clear: A, reset: A, hasUndo: M, hasRedo: M, transact: e, ignore: A, extra: A },
                                    formatter: { match: M, matchAll: N([]), matchNode: N(void 0), canApply: M, closest: t, apply: A, remove: A, toggle: A, formatChanged: N({ unbind: A }) },
                                    editor: { getContent: t, setContent: N({ content: "", html: "" }), insertContent: N(""), addVisual: A },
                                    selection: { getContent: t },
                                    autocompleter: { addDecoration: A, removeDecoration: A },
                                    raw: { getModel: N(B.none()) },
                                };
                            })()),
                            B.some(() =>
                                e().then(
                                    (e) => (
                                        (t.rtcInstance = ((e) => {
                                            const t = (e) => (m(e) ? e : {}),
                                                { init: n, undoManager: r, formatter: o, editor: i, selection: s, autocompleter: a, raw: l } = e;
                                            return {
                                                init: { bindEvents: n.bindEvents },
                                                undoManager: {
                                                    beforeChange: r.beforeChange,
                                                    add: r.add,
                                                    undo: r.undo,
                                                    redo: r.redo,
                                                    clear: r.clear,
                                                    reset: r.reset,
                                                    hasUndo: r.hasUndo,
                                                    hasRedo: r.hasRedo,
                                                    transact: (e, t, n) => r.transact(n),
                                                    ignore: (e, t) => r.ignore(t),
                                                    extra: (e, t, n, o) => r.extra(n, o),
                                                },
                                                formatter: {
                                                    match: (e, n, r, i) => o.match(e, t(n), i),
                                                    matchAll: o.matchAll,
                                                    matchNode: o.matchNode,
                                                    canApply: (e) => o.canApply(e),
                                                    closest: (e) => o.closest(e),
                                                    apply: (e, n, r) => o.apply(e, t(n)),
                                                    remove: (e, n, r, i) => o.remove(e, t(n)),
                                                    toggle: (e, n, r) => o.toggle(e, t(n)),
                                                    formatChanged: (e, t, n, r, i) => o.formatChanged(t, n, r, i),
                                                },
                                                editor: { getContent: (e) => i.getContent(e), setContent: (e, t) => ({ content: i.setContent(e, t), html: "" }), insertContent: (e, t) => (i.insertContent(e), ""), addVisual: i.addVisual },
                                                selection: { getContent: (e, t) => s.getContent(t) },
                                                autocompleter: { addDecoration: a.addDecoration, removeDecoration: a.removeDecoration },
                                                raw: { getModel: () => B.some(l.getRawModel()) },
                                            };
                                        })(e)),
                                        e.rtc.isRemote
                                    )
                                )
                            )
                        )
                    );
                },
                xb = (e) => (e.rtcInstance ? e.rtcInstance : _b(e)),
                Eb = (e) => {
                    const t = e.rtcInstance;
                    if (t) return t;
                    throw new Error("Failed to get RTC instance not yet initialized.");
                },
                kb = (e) => Eb(e).init.bindEvents(),
                Ab = (e, t = {}) => ((e, t, n) => Eb(e).selection.getContent(t, n))(e, t.format ? t.format : "html", t),
                Sb = (e) => (0 === e.dom.length ? (Hn(e), B.none()) : B.some(e)),
                Tb = (e, t, n, r) => {
                    e.bind(
                        (e) => (
                            (r ? Xh : Yh)(e.dom, r ? e.dom.length : 0),
                            t.filter(Nt).map((t) =>
                                ((e, t, n, r) => {
                                    const o = e.dom,
                                        i = t.dom,
                                        s = r ? o.length : i.length;
                                    r ? (Jh(o, i, !1, !r), n.setStart(i, s)) : (Jh(i, o, !1, !r), n.setEnd(i, s));
                                })(e, t, n, r)
                            )
                        )
                    ).orThunk(() =>
                        ((e, t) => e.filter((e) => Id.isBookmarkNode(e.dom)).bind(t ? un : cn))(t, r)
                            .or(t)
                            .filter(Nt)
                            .map((e) =>
                                ((e, t) => {
                                    ln(e).each((n) => {
                                        const r = e.dom;
                                        t && Hh(n, Ms(r, 0)) ? Yh(r, 0) : !t && Uh(n, Ms(r, r.length)) && Xh(r, r.length);
                                    });
                                })(e, r)
                            )
                    );
                },
                Nb = (e, t, n = {}) => {
                    const r = ((e, t) => ({ format: "html", ...e, set: !0, selection: !0, content: t }))(n, t);
                    Fy(e, r).each((t) => {
                        const n = ((e, t) => {
                                if ("raw" !== t.format) {
                                    const n = e.selection.getRng(),
                                        r = e.dom.getParent(n.commonAncestorContainer, e.dom.isBlock),
                                        o = r ? { context: r.nodeName.toLowerCase() } : {},
                                        i = e.parser.parse(t.content, { forced_root_block: !1, ...o, ...t });
                                    return Gp({ validate: !1 }, e.schema).serialize(i);
                                }
                                return t.content;
                            })(e, t),
                            r = e.selection.getRng();
                        ((e, t) => {
                            const n = B.from(t.firstChild).map(Qt.fromDom),
                                r = B.from(t.lastChild).map(Qt.fromDom);
                            e.deleteContents(), e.insertNode(t);
                            const o = n.bind(cn).filter(Nt).bind(Sb),
                                i = r.bind(un).filter(Nt).bind(Sb);
                            Tb(o, n, e, !0), Tb(i, r, e, !1), e.collapse(!1);
                        })(r, r.createContextualFragment(n)),
                            e.selection.setRng(r),
                            Gf(e, r),
                            Hy(e, n, t);
                    });
                },
                Ob = (e, t, n) => {
                    if (e && Ee(e, t)) {
                        const r = Y(e[t], (e) => e !== n);
                        0 === r.length ? delete e[t] : (e[t] = r);
                    }
                };
            const Db = (e) => !(!e || !e.ownerDocument) && rn(Qt.fromDom(e.ownerDocument), Qt.fromDom(e)),
                Rb = (e, t, n, r) => {
                    let o, i;
                    const { selectorChangedWithUnbind: s } = ((e, t) => {
                            let n, r;
                            const o = (t, n) => Z(n, (n) => e.is(n, t)),
                                i = (t) => e.getParents(t, null, e.getRoot());
                            return {
                                selectorChangedWithUnbind: (e, s) => (
                                    n ||
                                        ((n = {}),
                                        (r = {}),
                                        t.on("NodeChange", (e) => {
                                            const t = e.element,
                                                s = i(t),
                                                a = {};
                                            wt.each(n, (e, t) => {
                                                o(t, s).each((n) => {
                                                    r[t] ||
                                                        (V(e, (e) => {
                                                            e(!0, { node: n, selector: t, parents: s });
                                                        }),
                                                        (r[t] = e)),
                                                        (a[t] = e);
                                                });
                                            }),
                                                wt.each(r, (e, n) => {
                                                    a[n] ||
                                                        (delete r[n],
                                                        wt.each(e, (e) => {
                                                            e(!1, { node: t, selector: n, parents: s });
                                                        }));
                                                });
                                        })),
                                    n[e] || (n[e] = []),
                                    n[e].push(s),
                                    o(e, i(t.selection.getStart())).each(() => {
                                        r[e] = n[e];
                                    }),
                                    {
                                        unbind: () => {
                                            Ob(n, e, s), Ob(r, e, s);
                                        },
                                    }
                                ),
                            };
                        })(e, r),
                        a = (e, t) => Nb(r, e, t),
                        l = (e) => {
                            const t = u();
                            t.collapse(!!e), d(t);
                        },
                        c = () => (t.getSelection ? t.getSelection() : t.document.selection),
                        u = () => {
                            let n, s, a;
                            const l = (e, t, n) => {
                                    try {
                                        return t.compareBoundaryPoints(e, n);
                                    } catch (e) {
                                        return -1;
                                    }
                                },
                                u = t.document;
                            if (void 0 !== r.bookmark && !1 === bp(r)) {
                                const e = sp(r);
                                if (e.isSome()) return e.map((e) => Sp(r, [e])[0]).getOr(u.createRange());
                            }
                            try {
                                (n = c()) && !or(n.anchorNode) && ((s = n.rangeCount > 0 ? n.getRangeAt(0) : n.createRange ? n.createRange() : u.createRange()), (s = Sp(r, [s])[0]));
                            } catch (e) {}
                            return (
                                s || (s = u.createRange()),
                                s.setStart && 9 === s.startContainer.nodeType && s.collapsed && ((a = e.getRoot()), s.setStart(a, 0), s.setEnd(a, 0)),
                                o && i && (0 === l(s.START_TO_START, s, o) && 0 === l(s.END_TO_END, s, o) ? (s = i) : ((o = null), (i = null))),
                                s
                            );
                        },
                        d = (e, t) => {
                            let n;
                            if (!((e) => !!e && Db(e.startContainer) && Db(e.endContainer))(e)) return;
                            const s = c();
                            if (((e = r.dispatch("SetSelectionRange", { range: e, forward: t }).range), s)) {
                                i = e;
                                try {
                                    s.removeAllRanges(), s.addRange(e);
                                } catch (e) {}
                                !1 === t && s.extend && (s.collapse(e.endContainer, e.endOffset), s.extend(e.startContainer, e.startOffset)), (o = s.rangeCount > 0 ? s.getRangeAt(0) : null);
                            }
                            !e.collapsed &&
                                e.startContainer === e.endContainer &&
                                s.setBaseAndExtent &&
                                e.endOffset - e.startOffset < 2 &&
                                e.startContainer.hasChildNodes() &&
                                ((n = e.startContainer.childNodes[e.startOffset]),
                                n &&
                                    "IMG" === n.tagName &&
                                    (s.setBaseAndExtent(e.startContainer, e.startOffset, e.endContainer, e.endOffset), (s.anchorNode === e.startContainer && s.focusNode === e.endContainer) || s.setBaseAndExtent(n, 0, n, 1))),
                                r.dispatch("AfterSetSelectionRange", { range: e, forward: t });
                        },
                        f = () => {
                            const t = c(),
                                n = null == t ? void 0 : t.anchorNode,
                                r = null == t ? void 0 : t.focusNode;
                            if (!t || !n || !r || or(n) || or(r)) return !0;
                            const o = e.createRng();
                            o.setStart(n, t.anchorOffset), o.collapse(!0);
                            const i = e.createRng();
                            return i.setStart(r, t.focusOffset), i.collapse(!0), o.compareBoundaryPoints(o.START_TO_START, i) <= 0;
                        },
                        p = {
                            bookmarkManager: null,
                            controlSelection: null,
                            dom: e,
                            win: t,
                            serializer: n,
                            editor: r,
                            collapse: l,
                            setCursorLocation: (t, n) => {
                                const o = e.createRng();
                                C(t) && C(n) ? (o.setStart(t, n), o.setEnd(t, n), d(o), l(!1)) : (kd(e, o, r.getBody(), !0), d(o));
                            },
                            getContent: (e) => Ab(r, e),
                            setContent: a,
                            getBookmark: (e, t) => h.getBookmark(e, t),
                            moveToBookmark: (e) => h.moveToBookmark(e),
                            select: (t, n) => (
                                ((e, t, n) =>
                                    B.from(t).map((t) => {
                                        const r = e.nodeIndex(t),
                                            o = e.createRng();
                                        return o.setStart(t.parentNode, r), o.setEnd(t.parentNode, r + 1), n && (kd(e, o, t, !0), kd(e, o, t, !1)), o;
                                    }))(e, t, n).each(d),
                                t
                            ),
                            isCollapsed: () => {
                                const e = u(),
                                    t = c();
                                return !(!e || e.item) && (e.compareEndPoints ? 0 === e.compareEndPoints("StartToEnd", e) : !t || e.collapsed);
                            },
                            isForward: f,
                            setNode: (t) => (a(e.getOuterHTML(t)), t),
                            getNode: () =>
                                ((e, t) => {
                                    let n, r, o;
                                    if (!t) return e;
                                    (r = t.startContainer), (o = t.endContainer);
                                    const i = t.startOffset,
                                        s = t.endOffset;
                                    return (
                                        (n = t.commonAncestorContainer),
                                        !t.collapsed &&
                                        (r === o && s - i < 2 && r.hasChildNodes() && (n = r.childNodes[i]),
                                        3 === r.nodeType && 3 === o.nodeType && ((r = r.length === i ? Ap(r.nextSibling, !0) : r.parentNode), (o = 0 === s ? Ap(o.previousSibling, !1) : o.parentNode), r && r === o))
                                            ? r
                                            : n && 3 === n.nodeType
                                            ? n.parentNode
                                            : n
                                    );
                                })(r.getBody(), u()),
                            getSel: c,
                            setRng: d,
                            getRng: u,
                            getStart: (e) => Ep(r.getBody(), u(), e),
                            getEnd: (e) => kp(r.getBody(), u(), e),
                            getSelectedBlocks: (t, n) =>
                                ((e, t, n, r) => {
                                    let o;
                                    const i = [],
                                        s = e.getRoot();
                                    if (((n = e.getParent(n || Ep(s, t, t.collapsed), e.isBlock)), (r = e.getParent(r || kp(s, t, t.collapsed), e.isBlock)), n && n !== s && i.push(n), n && r && n !== r)) {
                                        o = n;
                                        const t = new Br(n, s);
                                        for (; (o = t.next()) && o !== r; ) e.isBlock(o) && i.push(o);
                                    }
                                    return r && n !== r && r !== s && i.push(r), i;
                                })(e, u(), t, n),
                            normalize: () => {
                                const t = u(),
                                    n = c();
                                if (!(vd(n).length > 1) && Ad(r)) {
                                    const n = xf(e, t);
                                    return (
                                        n.each((e) => {
                                            d(e, f());
                                        }),
                                        n.getOr(t)
                                    );
                                }
                                return t;
                            },
                            selectorChanged: (e, t) => (s(e, t), p),
                            selectorChangedWithUnbind: s,
                            getScrollContainer: () => {
                                let t,
                                    n = e.getRoot();
                                for (; n && "BODY" !== n.nodeName; ) {
                                    if (n.scrollHeight > n.clientHeight) {
                                        t = n;
                                        break;
                                    }
                                    n = n.parentNode;
                                }
                                return t;
                            },
                            scrollIntoView: (e, t) => {
                                C(e)
                                    ? ((e, t, n) => {
                                          (e.inline ? Wf : Kf)(e, t, n);
                                      })(r, e, t)
                                    : Gf(r, u(), t);
                            },
                            placeCaretAt: (e, t) => d(pf(e, t, r.getDoc())),
                            getBoundingClientRect: () => {
                                const e = u();
                                return e.collapsed ? Ms.fromRangeStart(e).getClientRects()[0] : e.getBoundingClientRect();
                            },
                            destroy: () => {
                                (t = o = i = null), m.destroy();
                            },
                        },
                        h = Id(p),
                        m = Vd(p, r);
                    return (p.bookmarkManager = h), (p.controlSelection = m), p;
                },
                Lb = (e, t, n) =>
                    ((e, t) => e && e.hasEventListeners("PreProcess") && !t.no_events)(e, n)
                        ? ((e, t, n) => {
                              let r;
                              const o = e.dom;
                              let i = t.cloneNode(!0);
                              const s = document.implementation;
                              if (s.createHTMLDocument) {
                                  const e = s.createHTMLDocument("");
                                  wt.each("BODY" === i.nodeName ? i.childNodes : [i], (t) => {
                                      e.body.appendChild(e.importNode(t, !0));
                                  }),
                                      (i = "BODY" !== i.nodeName ? e.body.firstChild : e.body),
                                      (r = o.doc),
                                      (o.doc = e);
                              }
                              return (
                                  ((e, t) => {
                                      e.dispatch("PreProcess", t);
                                  })(e, { ...n, node: i }),
                                  r && (o.doc = r),
                                  i
                              );
                          })(e, t, n)
                        : t,
                Pb = (e, t, n) => {
                    -1 === wt.inArray(t, n) &&
                        (e.addAttributeFilter(n, (e, t) => {
                            let n = e.length;
                            for (; n--; ) e[n].attr(t, null);
                        }),
                        t.push(n));
                },
                $b = (e, t, n, r, o) =>
                    ((e, t, n) => {
                        if (!t.no_events && e) {
                            return ((e, t) => e.dispatch("PostProcess", t))(e, { ...t, content: n }).content;
                        }
                        return n;
                    })(e, o, ((e, t, n) => Gp(e, t).serialize(n))(t, n, r)),
                Mb = (e, t) => {
                    const n = ["data-mce-selected"],
                        r = t && t.dom ? t.dom : Oi.DOM,
                        o = t && t.schema ? t.schema : di(e);
                    (e.entity_encoding = e.entity_encoding || "named"), (e.remove_trailing_brs = !("remove_trailing_brs" in e) || e.remove_trailing_brs);
                    const i = My(e, o);
                    ((e, t, n) => {
                        e.addAttributeFilter("data-mce-tabindex", (e, t) => {
                            let n = e.length;
                            for (; n--; ) {
                                const r = e[n];
                                r.attr("tabindex", r.attr("data-mce-tabindex")), r.attr(t, null);
                            }
                        }),
                            e.addAttributeFilter("src,href,style", (e, r) => {
                                const o = "data-mce-" + r,
                                    i = t.url_converter,
                                    s = t.url_converter_scope;
                                let a = e.length;
                                for (; a--; ) {
                                    const t = e[a];
                                    let l = t.attr(o);
                                    void 0 !== l
                                        ? (t.attr(r, l.length > 0 ? l : null), t.attr(o, null))
                                        : ((l = t.attr(r)), "style" === r ? (l = n.serializeStyle(n.parseStyle(l), t.name)) : i && (l = i.call(s, l, r, t.name)), t.attr(r, l.length > 0 ? l : null));
                                }
                            }),
                            e.addAttributeFilter("class", (e) => {
                                let t = e.length;
                                for (; t--; ) {
                                    const n = e[t];
                                    let r = n.attr("class");
                                    r && ((r = n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g, "")), n.attr("class", r.length > 0 ? r : null));
                                }
                            }),
                            e.addAttributeFilter("data-mce-type", (e, t, n) => {
                                let r = e.length;
                                for (; r--; ) {
                                    const t = e[r];
                                    if ("bookmark" === t.attr("data-mce-type") && !n.cleanup) {
                                        B.from(t.firstChild).exists((e) => !Jr(e.value)) ? t.unwrap() : t.remove();
                                    }
                                }
                            }),
                            e.addNodeFilter("noscript", (e) => {
                                let t = e.length;
                                for (; t--; ) {
                                    const n = e[t].firstChild;
                                    n && (n.value = Zo.decode(n.value));
                                }
                            }),
                            e.addNodeFilter("script,style", (e, n) => {
                                const r = (e) =>
                                    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, "");
                                let o = e.length;
                                for (; o--; ) {
                                    const i = e[o],
                                        s = i.firstChild ? i.firstChild.value : "";
                                    if ("script" === n) {
                                        const e = i.attr("type");
                                        e && i.attr("type", "mce-no/type" === e ? null : e.replace(/^mce\-/, "")), "xhtml" === t.element_format && s.length > 0 && (i.firstChild.value = "// <![CDATA[\n" + r(s) + "\n// ]]>");
                                    } else "xhtml" === t.element_format && s.length > 0 && (i.firstChild.value = "\x3c!--\n" + r(s) + "\n--\x3e");
                                }
                            }),
                            e.addNodeFilter("#comment", (e) => {
                                let r = e.length;
                                for (; r--; ) {
                                    const o = e[r];
                                    t.preserve_cdata && 0 === o.value.indexOf("[CDATA[")
                                        ? ((o.name = "#cdata"), (o.type = 4), (o.value = n.decode(o.value.replace(/^\[CDATA\[|\]\]$/g, ""))))
                                        : 0 === o.value.indexOf("mce:protected ") && ((o.name = "#text"), (o.type = 3), (o.raw = !0), (o.value = unescape(o.value).substr(14)));
                                }
                            }),
                            e.addNodeFilter("xml:namespace,input", (e, t) => {
                                let n = e.length;
                                for (; n--; ) {
                                    const r = e[n];
                                    7 === r.type ? r.remove() : 1 === r.type && ("input" !== t || r.attr("type") || r.attr("type", "text"));
                                }
                            }),
                            e.addAttributeFilter("data-mce-type", (t) => {
                                V(t, (t) => {
                                    "format-caret" === t.attr("data-mce-type") && (t.isEmpty(e.schema.getNonEmptyElements()) ? t.remove() : t.unwrap());
                                });
                            }),
                            e.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize,data-mce-placeholder", (e, t) => {
                                let n = e.length;
                                for (; n--; ) e[n].attr(t, null);
                            });
                    })(i, e, r);
                    return {
                        schema: o,
                        addNodeFilter: i.addNodeFilter,
                        addAttributeFilter: i.addAttributeFilter,
                        serialize: (n, s = {}) => {
                            const a = { format: "html", ...s },
                                l = Lb(t, n, a),
                                c = ((e, t, n) => {
                                    const r = Qr(n.getInner ? t.innerHTML : e.getOuterHTML(t));
                                    return n.selection || Yr(Qt.fromDom(t)) ? r : wt.trim(r);
                                })(r, l, a),
                                u = ((e, t, n) => {
                                    const r = n.selection ? { forced_root_block: !1, ...n } : n,
                                        o = e.parse(t, r);
                                    return (
                                        ((e) => {
                                            const t = (e) => e && "br" === e.name,
                                                n = e.lastChild;
                                            if (t(n)) {
                                                const e = n.prev;
                                                t(e) && (n.remove(), e.remove());
                                            }
                                        })(o),
                                        o
                                    );
                                })(i, c, a);
                            return "tree" === a.format ? u : $b(t, e, o, u, a);
                        },
                        addRules: o.addValidElements,
                        setRules: o.setValidElements,
                        addTempAttr: R(Pb, i, n),
                        getTempAttrs: N(n),
                        getNodeFilters: i.getNodeFilters,
                        getAttributeFilters: i.getAttributeFilters,
                    };
                },
                Ib = (e, t) => {
                    const n = Mb(e, t);
                    return {
                        schema: n.schema,
                        addNodeFilter: n.addNodeFilter,
                        addAttributeFilter: n.addAttributeFilter,
                        serialize: n.serialize,
                        addRules: n.addRules,
                        setRules: n.setRules,
                        addTempAttr: n.addTempAttr,
                        getTempAttrs: n.getTempAttrs,
                        getNodeFilters: n.getNodeFilters,
                        getAttributeFilters: n.getAttributeFilters,
                    };
                },
                Bb = (e, t = {}) => {
                    const n = ((e, t) => ({ ...e, format: t, get: !0, getInner: !0 }))(t, t.format ? t.format : "html");
                    return By(e, n).fold(O, (t) => {
                        const n = ((e, t) => xb(e).editor.getContent(t))(e, t);
                        return jy(e, n, t);
                    });
                },
                jb = (e, t, n = {}) => {
                    const r = ((e, t) => ({ format: "html", ...e, set: !0, content: t }))(n, t);
                    return Fy(e, r)
                        .map((t) => {
                            const n = ((e, t, n) => xb(e).editor.setContent(t, n))(e, t.content, t);
                            return Hy(e, n.html, t), n.content;
                        })
                        .getOr(t);
                },
                Fb = "autoresize_on_init,content_editable_state,padd_empty_with_br,block_elements,boolean_attributes,editor_deselector,editor_selector,elements,file_browser_callback_types,filepicker_validator_handler,force_hex_style_colors,force_p_newlines,gecko_spellcheck,images_dataimg_filter,media_scripts,mode,move_caret_before_on_enter_elements,non_empty_elements,self_closing_elements,short_ended_elements,special,spellchecker_select_languages,spellchecker_whitelist,tab_focus,tabfocus_elements,table_responsive_width,text_block_elements,text_inline_elements,toolbar_drawer,types,validate,whitespace_elements,paste_enable_default_filters,paste_filter_drop,paste_word_valid_elements,paste_retain_style_properties,paste_convert_word_fake_lists".split(
                    ","
                ),
                Hb = "bbcode,colorpicker,contextmenu,fullpage,legacyoutput,spellchecker,textcolor".split(","),
                Ub = (e) => {
                    const t = Y(Fb, (t) => Ee(e, t)),
                        n = e.forced_root_block;
                    return (!1 !== n && "" !== n) || t.push("forced_root_block (false only)"), ae(t);
                },
                qb = (e) => {
                    const t = wt.makeMap(e.plugins, " "),
                        n = Y(Hb, (e) => Ee(t, e));
                    return ae(n);
                },
                zb = (e, t) => {
                    ((e, t) => {
                        const n = Ub(e),
                            r = qb(t),
                            o = r.length > 0,
                            i = n.length > 0,
                            s = "mobile" === t.theme;
                        if (o || i || s) {
                            const e = "\n- ",
                                t = s ? `\n\nThemes:${e}mobile` : "",
                                a = o ? `\n\nPlugins:${e}${r.join(e)}` : "",
                                l = i ? `\n\nOptions:${e}${n.join(e)}` : "";
                            console.warn(
                                "The following deprecated features are currently enabled and have been removed in TinyMCE 6.0. These features will no longer work and should be removed from the TinyMCE configuration. See https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/ for more information." +
                                    t +
                                    a +
                                    l
                            );
                        }
                    })(e, t);
                },
                Wb = Oi.DOM,
                Vb = (e) => B.from(e).each((e) => e.destroy()),
                Kb = (e) => {
                    if (!e.removed) {
                        const { _selectionOverrides: t, editorUpload: n } = e,
                            r = e.getBody(),
                            o = e.getElement();
                        r && e.save({ is_removing: !0 }),
                            (e.removed = !0),
                            e.unbindAllNativeEvents(),
                            e.hasHiddenInput && o && Wb.remove(o.nextSibling),
                            ((e) => {
                                e.dispatch("remove");
                            })(e),
                            e.editorManager.remove(e),
                            !e.inline &&
                                r &&
                                ((e) => {
                                    Wb.setStyle(e.id, "display", e.orgDisplay);
                                })(e),
                            ((e) => {
                                e.dispatch("detach");
                            })(e),
                            Wb.remove(e.getContainer()),
                            Vb(t),
                            Vb(n),
                            e.destroy();
                    }
                },
                Gb = (e, t) => {
                    const { selection: n, dom: r } = e;
                    e.destroyed ||
                        (t || e.removed
                            ? (t || (e.editorManager.off("beforeunload", e._beforeUnload), e.theme && e.theme.destroy && e.theme.destroy(), Vb(n), Vb(r)),
                              ((e) => {
                                  const t = e.formElement;
                                  t && (t._mceOldSubmit && ((t.submit = t._mceOldSubmit), (t._mceOldSubmit = null)), Wb.unbind(t, "submit reset", e.formEventDelegate));
                              })(e),
                              ((e) => {
                                  (e.contentAreaContainer = e.formElement = e.container = e.editorContainer = null),
                                      (e.bodyElement = e.contentDocument = e.contentWindow = null),
                                      (e.iframeElement = e.targetElm = null),
                                      e.selection && (e.selection = e.selection.win = e.selection.dom = e.selection.dom.doc = null);
                              })(e),
                              (e.destroyed = !0))
                            : e.remove());
                },
                Yb = (() => {
                    const e = {};
                    return {
                        add: (t, n) => {
                            e[t] = n;
                        },
                        get: (t) => (e[t] ? e[t] : { icons: {} }),
                        has: (t) => Ee(e, t),
                    };
                })(),
                Xb = Bi.ModelManager,
                Jb = (e, t) => t.dom[e],
                Qb = (e, t) => parseInt(On(t, e), 10),
                Zb = R(Jb, "clientWidth"),
                e_ = R(Jb, "clientHeight"),
                t_ = R(Qb, "margin-top"),
                n_ = R(Qb, "margin-left"),
                r_ = (e, t, n) => {
                    const r = Qt.fromDom(e.getBody()),
                        o = e.inline ? r : ((i = r), Qt.fromDom(sn(i).dom.documentElement));
                    var i;
                    const s = ((e, t, n, r) => {
                        const o = ((e) => e.dom.getBoundingClientRect())(t);
                        return { x: n - (e ? o.left + t.dom.clientLeft + n_(t) : 0), y: r - (e ? o.top + t.dom.clientTop + t_(t) : 0) };
                    })(e.inline, o, t, n);
                    return ((e, t, n) => {
                        const r = Zb(e),
                            o = e_(e);
                        return t >= 0 && n >= 0 && t <= r && n <= o;
                    })(o, s.x, s.y);
                },
                o_ = (e) => {
                    const t = e.inline ? e.getBody() : e.getContentAreaContainer();
                    return ((n = t), B.from(n).map(Qt.fromDom)).map(An).getOr(!1);
                    var n;
                },
                i_ = (e) => {
                    const t = [],
                        n = () => {
                            const t = e.theme;
                            return t && t.getNotificationManagerImpl
                                ? t.getNotificationManagerImpl()
                                : (() => {
                                      const e = () => {
                                          throw new Error("Theme did not provide a NotificationManager implementation.");
                                      };
                                      return { open: e, close: e, getArgs: e };
                                  })();
                        },
                        r = () => B.from(t[0]),
                        o = () => {
                            V(t, (e) => {
                                e.reposition();
                            });
                        },
                        i = (e) => {
                            ee(t, (t) => t === e).each((e) => {
                                t.splice(e, 1);
                            });
                        },
                        s = (s, a = !0) => {
                            if (!e.removed && o_(e))
                                return (
                                    a && e.dispatch("BeforeOpenNotification", { notification: s }),
                                    Z(t, (e) => {
                                        return (t = n().getArgs(e)), (r = s), !(t.type !== r.type || t.text !== r.text || t.progressBar || t.timeout || r.progressBar || r.timeout);
                                        var t, r;
                                    }).getOrThunk(() => {
                                        e.editorManager.setActive(e);
                                        const a = n().open(s, () => {
                                            i(a),
                                                o(),
                                                r().fold(
                                                    () => e.focus(),
                                                    (e) => Yf(Qt.fromDom(e.getEl()))
                                                );
                                        });
                                        return (
                                            ((e) => {
                                                t.push(e);
                                            })(a),
                                            o(),
                                            e.dispatch("OpenNotification", { notification: { ...a } }),
                                            a
                                        );
                                    })
                                );
                        },
                        a = N(t);
                    return (
                        ((e) => {
                            e.on("SkinLoaded", () => {
                                const t = il(e);
                                t && s({ text: t, type: "warning", timeout: 0 }, !1), o();
                            }),
                                e.on("show ResizeEditor ResizeWindow NodeChange", () => {
                                    requestAnimationFrame(o);
                                }),
                                e.on("remove", () => {
                                    V(t.slice(), (e) => {
                                        n().close(e);
                                    });
                                });
                        })(e),
                        {
                            open: s,
                            close: () => {
                                r().each((e) => {
                                    n().close(e), i(e), o();
                                });
                            },
                            getNotifications: a,
                        }
                    );
                },
                s_ = Bi.PluginManager,
                a_ = Bi.ThemeManager;
            const l_ = (e) => {
                    let t = [];
                    const n = () => {
                            const t = e.theme;
                            return t && t.getWindowManagerImpl
                                ? t.getWindowManagerImpl()
                                : (() => {
                                      const e = () => {
                                          throw new Error("Theme did not provide a WindowManager implementation.");
                                      };
                                      return { open: e, openUrl: e, alert: e, confirm: e, close: e, getParams: e, setParams: e };
                                  })();
                        },
                        r = (e, t) => (...n) => (t ? t.apply(e, n) : void 0),
                        o = (n) => {
                            t.push(n),
                                ((t) => {
                                    e.dispatch("OpenWindow", { dialog: t });
                                })(n);
                        },
                        i = (n) => {
                            ((t) => {
                                e.dispatch("CloseWindow", { dialog: t });
                            })(n),
                                (t = Y(t, (e) => e !== n)),
                                0 === t.length && e.focus();
                        },
                        s = (t) => {
                            e.editorManager.setActive(e), ip(e), e.ui.show();
                            const n = t();
                            return o(n), n;
                        };
                    return (
                        e.on("remove", () => {
                            V(t, (e) => {
                                n().close(e);
                            });
                        }),
                        {
                            open: (e, t) => s(() => n().open(e, t, i)),
                            openUrl: (e) => s(() => n().openUrl(e, i)),
                            alert: (e, t, o) => {
                                const i = n();
                                i.alert(e, r(o || i, t));
                            },
                            confirm: (e, t, o) => {
                                const i = n();
                                i.confirm(e, r(o || i, t));
                            },
                            close: () => {
                                B.from(t[t.length - 1]).each((e) => {
                                    n().close(e), i(e);
                                });
                            },
                        }
                    );
                },
                c_ = (e, t) => {
                    e.notificationManager.open({ type: "error", text: t });
                },
                u_ = (e, t) => {
                    e._skinLoaded
                        ? c_(e, t)
                        : e.on("SkinLoaded", () => {
                              c_(e, t);
                          });
                },
                d_ = (e, t, n) => {
                    jd(e, t, { message: n }), console.error(n);
                },
                f_ = (e, t, n) => (n ? `Failed to load ${e}: ${n} from url ${t}` : `Failed to load ${e} url: ${t}`),
                p_ = (e, ...t) => {
                    const n = window.console;
                    n && (n.error ? n.error(e, ...t) : n.log(e, ...t));
                },
                h_ = (e, t) => {
                    const n = e.editorManager.baseURL + "/skins/content",
                        r = `content${e.editorManager.suffix}.css`,
                        o = !0 === e.inline;
                    return W(t, (t) => (((e) => /^[a-z0-9\-]+$/i.test(e))(t) && !o ? `${n}/${t}/${r}` : e.documentBaseURI.toAbsolute(t)));
                },
                m_ = (e) => {
                    e.contentCSS = e.contentCSS.concat(((e) => h_(e, Xa(e)))(e), ((e) => h_(e, Qa(e)))(e));
                },
                g_ = I,
                v_ = () => {
                    let e = {};
                    const t = (e, t) => ({ status: e, resultUri: t }),
                        n = (t) => t in e;
                    return {
                        hasBlobUri: n,
                        getResultUri: (t) => {
                            const n = e[t];
                            return n ? n.resultUri : null;
                        },
                        isPending: (t) => !!n(t) && 1 === e[t].status,
                        isUploaded: (t) => !!n(t) && 2 === e[t].status,
                        markPending: (n) => {
                            e[n] = t(1, null);
                        },
                        markUploaded: (n, r) => {
                            e[n] = t(2, r);
                        },
                        removeFailed: (t) => {
                            delete e[t];
                        },
                        destroy: () => {
                            e = {};
                        },
                    };
                };
            let y_ = 0;
            const b_ = (e) =>
                    e +
                    y_++ +
                    (() => {
                        const e = () => Math.round(4294967295 * Math.random()).toString(36);
                        return "s" + new Date().getTime().toString(36) + e() + e() + e();
                    })(),
                __ = (e, t) => {
                    const n = {},
                        r = (e, n) =>
                            new Promise((r, o) => {
                                const i = new XMLHttpRequest();
                                i.open("POST", t.url),
                                    (i.withCredentials = t.credentials),
                                    (i.upload.onprogress = (e) => {
                                        n((e.loaded / e.total) * 100);
                                    }),
                                    (i.onerror = () => {
                                        o("Image upload failed due to a XHR Transport error. Code: " + i.status);
                                    }),
                                    (i.onload = () => {
                                        if (i.status < 200 || i.status >= 300) return void o("HTTP Error: " + i.status);
                                        const e = JSON.parse(i.responseText);
                                        var n, s;
                                        e && h(e.location) ? r(((n = t.basePath), (s = e.location), n ? n.replace(/\/$/, "") + "/" + s.replace(/^\//, "") : s)) : o("Invalid JSON: " + i.responseText);
                                    });
                                const s = new FormData();
                                s.append("file", e.blob(), e.filename()), i.send(s);
                            }),
                        o = (e, t) => ({ url: t, blobInfo: e, status: !0 }),
                        i = (e, t) => ({ url: "", blobInfo: e, status: !1, error: t }),
                        s = (e, t) => {
                            wt.each(n[e], (e) => {
                                e(t);
                            }),
                                delete n[e];
                        },
                        a = (r, a) => (
                            (r = wt.grep(r, (t) => !e.isUploaded(t.blobUri()))),
                            Promise.all(
                                wt.map(r, (r) =>
                                    e.isPending(r.blobUri())
                                        ? ((e) => {
                                              const t = e.blobUri();
                                              return new Promise((e) => {
                                                  (n[t] = n[t] || []), n[t].push(e);
                                              });
                                          })(r)
                                        : ((t, n, r) => (
                                              e.markPending(t.blobUri()),
                                              new Promise((a) => {
                                                  let l, c;
                                                  try {
                                                      const u = () => {
                                                              l && (l.close(), (c = A));
                                                          },
                                                          d = (n) => {
                                                              u(), e.markUploaded(t.blobUri(), n), s(t.blobUri(), o(t, n)), a(o(t, n));
                                                          },
                                                          f = (n) => {
                                                              u(), e.removeFailed(t.blobUri()), s(t.blobUri(), i(t, n)), a(i(t, n));
                                                          };
                                                      (c = (e) => {
                                                          e < 0 ||
                                                              e > 100 ||
                                                              B.from(l)
                                                                  .orThunk(() => B.from(r).map(P))
                                                                  .each((t) => {
                                                                      (l = t), t.progressBar.value(e);
                                                                  });
                                                      }),
                                                          n(t, c).then(d, (e) => {
                                                              f(h(e) ? { message: e } : e);
                                                          });
                                                  } catch (e) {
                                                      a(i(t, e));
                                                  }
                                              })
                                          ))(r, t.handler, a)
                                )
                            )
                        );
                    return (
                        !1 === x(t.handler) && (t.handler = r),
                        {
                            upload: (e, n) =>
                                t.url || t.handler !== r
                                    ? a(e, n)
                                    : new Promise((e) => {
                                          e([]);
                                      }),
                        }
                    );
                },
                w_ = (e) => () => e.notificationManager.open({ text: e.translate("Image uploading..."), type: "info", timeout: -1, progressBar: !0 }),
                C_ = (e, t) => __(t, { url: Fa(e), basePath: Ha(e), credentials: Ua(e), handler: qa(e) }),
                x_ = (e) => {
                    const t = (() => {
                        let e = [];
                        const t = (e) => {
                                if (!e.blob || !e.base64) throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");
                                const t = e.id || b_("blobid"),
                                    n = e.name || t,
                                    r = e.blob;
                                return {
                                    id: N(t),
                                    name: N(n),
                                    filename: N(
                                        e.filename ||
                                            n +
                                                "." +
                                                ((o = r.type),
                                                {
                                                    "image/jpeg": "jpg",
                                                    "image/jpg": "jpg",
                                                    "image/gif": "gif",
                                                    "image/png": "png",
                                                    "image/apng": "apng",
                                                    "image/avif": "avif",
                                                    "image/svg+xml": "svg",
                                                    "image/webp": "webp",
                                                    "image/bmp": "bmp",
                                                    "image/tiff": "tiff",
                                                }[o.toLowerCase()] || "dat")
                                    ),
                                    blob: N(r),
                                    base64: N(e.base64),
                                    blobUri: N(e.blobUri || URL.createObjectURL(r)),
                                    uri: N(e.uri),
                                };
                                var o;
                            },
                            n = (t) => Z(e, t).getOrUndefined(),
                            r = (e) => n((t) => t.id() === e);
                        return {
                            create: (e, n, r, o, i) => {
                                if (h(e)) {
                                    return t({ id: e, name: o, filename: i, blob: n, base64: r });
                                }
                                if (m(e)) return t(e);
                                throw new Error("Unknown input type");
                            },
                            add: (t) => {
                                r(t.id()) || e.push(t);
                            },
                            get: r,
                            getByUri: (e) => n((t) => t.blobUri() === e),
                            getByData: (e, t) => n((n) => n.base64() === e && n.blob().type === t),
                            findFirst: n,
                            removeByUri: (t) => {
                                e = Y(e, (e) => e.blobUri() !== t || (URL.revokeObjectURL(e.blobUri()), !1));
                            },
                            destroy: () => {
                                V(e, (e) => {
                                    URL.revokeObjectURL(e.blobUri());
                                }),
                                    (e = []);
                            },
                        };
                    })();
                    let n, r;
                    const o = v_(),
                        i = [],
                        s = ((e) => {
                            const t = Li(null);
                            e.on("change AddUndo", (e) => {
                                t.set({ ...e.level });
                            });
                            return {
                                fireIfChanged: () => {
                                    const n = e.undoManager.data;
                                    ue(n)
                                        .filter((e) => !gb(t.get(), e))
                                        .each((t) => {
                                            e.setDirty(!0), e.dispatch("change", { level: t, lastLevel: le(n, n.length - 2).getOrNull() });
                                        });
                                },
                            };
                        })(e),
                        a = (t) => (n) => (e.selection ? t(n) : []),
                        l = (e, t, n) => {
                            let r = 0;
                            do {
                                (r = e.indexOf(t, r)), -1 !== r && ((e = e.substring(0, r) + n + e.substr(r + t.length)), (r += n.length - t.length + 1));
                            } while (-1 !== r);
                            return e;
                        },
                        c = (e, t, n) => {
                            const r = `src="${n}"${n === gt.transparentSrc ? ' data-mce-placeholder="1"' : ""}`;
                            return (e = l(e, `src="${t}"`, r)), (e = l(e, 'data-mce-src="' + t + '"', 'data-mce-src="' + n + '"'));
                        },
                        u = (t, n) => {
                            V(e.undoManager.data, (e) => {
                                "fragmented" === e.type ? (e.fragments = W(e.fragments, (e) => c(e, t, n))) : (e.content = c(e.content, t, n));
                            });
                        },
                        d = () => (
                            n || (n = C_(e, o)),
                            g().then(
                                a((r) => {
                                    const o = W(r, (e) => e.blobInfo);
                                    return n.upload(o, w_(e)).then(
                                        a((n) => {
                                            const o = [],
                                                i = W(n, (n, i) => {
                                                    const s = r[i].blobInfo,
                                                        a = r[i].image;
                                                    let l = !1;
                                                    return (
                                                        n.status && Ia(e)
                                                            ? (t.removeByUri(a.src),
                                                              wb(e) ||
                                                                  ((t, n) => {
                                                                      const r = e.convertURL(n, "src");
                                                                      var o;
                                                                      u(t.src, n), Pt(Qt.fromDom(t), { src: Ma(e) ? ((o = n), o + (-1 === o.indexOf("?") ? "?" : "&") + new Date().getTime()) : n, "data-mce-src": r });
                                                                  })(a, n.url))
                                                            : n.error &&
                                                              (n.error.remove && (u(a.getAttribute("src"), gt.transparentSrc), o.push(a), (l = !0)),
                                                              ((e, t) => {
                                                                  u_(e, Ii.translate(["Failed to upload image: {0}", t]));
                                                              })(e, n.error.message)),
                                                        { element: a, status: n.status, uploadUri: n.url, blobInfo: s, removed: l }
                                                    );
                                                });
                                            return (
                                                i.length > 0 && s.fireIfChanged(),
                                                o.length > 0 &&
                                                    !wb(e) &&
                                                    e.undoManager.transact(() => {
                                                        V(o, (n) => {
                                                            e.dom.remove(n), t.removeByUri(n.src);
                                                        });
                                                    }),
                                                i
                                            );
                                        })
                                    );
                                })
                            )
                        ),
                        f = () => ($a(e) ? d() : Promise.resolve([])),
                        p = (e) => re(i, (t) => t(e)),
                        g = () => (
                            r || (r = yy(o, t)),
                            r.findAll(e.getBody(), p).then(
                                a(
                                    (t) => (
                                        (t = Y(t, (t) => "string" != typeof t || (u_(e, t), !1))),
                                        wb(e) ||
                                            V(t, (e) => {
                                                u(e.image.src, e.blobInfo.blobUri()), (e.image.src = e.blobInfo.blobUri()), e.image.removeAttribute("data-mce-src");
                                            }),
                                        t
                                    )
                                )
                            )
                        ),
                        v = (n) =>
                            n.replace(/src="(blob:[^"]+)"/g, (n, r) => {
                                const i = o.getResultUri(r);
                                if (i) return 'src="' + i + '"';
                                let s = t.getByUri(r);
                                if ((s || (s = J(e.editorManager.get(), (e, t) => e || (t.editorUpload && t.editorUpload.blobCache.getByUri(r)), null)), s)) {
                                    return 'src="data:' + s.blob().type + ";base64," + s.base64() + '"';
                                }
                                return n;
                            });
                    return (
                        e.on("SetContent", () => {
                            $a(e) ? f() : g();
                        }),
                        e.on("RawSaveContent", (e) => {
                            e.content = v(e.content);
                        }),
                        e.on("GetContent", (e) => {
                            e.source_view || "raw" === e.format || "tree" === e.format || (e.content = v(e.content));
                        }),
                        e.on("PostRender", () => {
                            e.parser.addNodeFilter("img", (e) => {
                                V(e, (e) => {
                                    const n = e.attr("src");
                                    if (t.getByUri(n)) return;
                                    const r = o.getResultUri(n);
                                    r && e.attr("src", r);
                                });
                            });
                        }),
                        {
                            blobCache: t,
                            addFilter: (e) => {
                                i.push(e);
                            },
                            uploadImages: d,
                            uploadImagesAuto: f,
                            scanForImages: g,
                            destroy: () => {
                                t.destroy(), o.destroy(), (r = n = null);
                            },
                        }
                    );
                },
                E_ = { remove_similar: !0, inherit: !1 },
                k_ = { selector: "td,th", ...E_ },
                A_ = {
                    tablecellbackgroundcolor: { styles: { backgroundColor: "%value" }, ...k_ },
                    tablecellverticalalign: { styles: { "vertical-align": "%value" }, ...k_ },
                    tablecellbordercolor: { styles: { borderColor: "%value" }, ...k_ },
                    tablecellclass: { classes: ["%value"], ...k_ },
                    tableclass: { selector: "table", classes: ["%value"], ...E_ },
                    tablecellborderstyle: { styles: { borderStyle: "%value" }, ...k_ },
                    tablecellborderwidth: { styles: { borderWidth: "%value" }, ...k_ },
                },
                S_ = N(A_),
                T_ = (e) => {
                    const t = {},
                        n = (e, r) => {
                            e &&
                                (h(e)
                                    ? (v(r) || (r = [r]),
                                      V(r, (e) => {
                                          _(e.deep) && (e.deep = !Qu(e)),
                                              _(e.split) && (e.split = !Qu(e) || Zu(e)),
                                              _(e.remove) && Qu(e) && !Zu(e) && (e.remove = "none"),
                                              Qu(e) && Zu(e) && ((e.mixed = !0), (e.block_expand = !0)),
                                              h(e.classes) && (e.classes = e.classes.split(/\s+/));
                                      }),
                                      (t[e] = r))
                                    : me(e, (e, t) => {
                                          n(t, e);
                                      }));
                        };
                    return (
                        n(
                            ((e) => {
                                const t = e.dom,
                                    n = e.schema.type,
                                    r = {
                                        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 },
                                            { selector: "img,audio,video", collapsed: !1, styles: { float: "left" }, preview: "font-family font-size" },
                                            {
                                                selector: "table",
                                                collapsed: !1,
                                                styles: { marginLeft: "0px", marginRight: "auto" },
                                                onformat: (e) => {
                                                    t.setStyle(e, "float", null);
                                                },
                                                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" },
                                            { selector: "figure.image", collapsed: !1, classes: "align-center", ceFalseOverride: !0, preview: "font-family font-size" },
                                            { selector: "img,audio,video", 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" },
                                            { selector: "img,audio,video", collapsed: !1, styles: { float: "right" }, preview: "font-family font-size" },
                                            {
                                                selector: "table",
                                                collapsed: !1,
                                                styles: { marginRight: "0px", marginLeft: "auto" },
                                                onformat: (e) => {
                                                    t.setStyle(e, "float", null);
                                                },
                                                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, preview: "font-family font-size" }],
                                        bold: [
                                            { inline: "strong", remove: "all", preserve_attributes: ["class", "style"] },
                                            { inline: "span", styles: { fontWeight: "bold" } },
                                            { inline: "b", remove: "all", preserve_attributes: ["class", "style"] },
                                        ],
                                        italic: [
                                            { inline: "em", remove: "all", preserve_attributes: ["class", "style"] },
                                            { inline: "span", styles: { fontStyle: "italic" } },
                                            { inline: "i", remove: "all", preserve_attributes: ["class", "style"] },
                                        ],
                                        underline: [
                                            { inline: "span", styles: { textDecoration: "underline" }, exact: !0 },
                                            { inline: "u", remove: "all", preserve_attributes: ["class", "style"] },
                                        ],
                                        strikethrough: (() => {
                                            const e = { inline: "span", styles: { textDecoration: "line-through" }, exact: !0 },
                                                t = { inline: "strike", remove: "all", preserve_attributes: ["class", "style"] },
                                                r = { inline: "s", remove: "all", preserve_attributes: ["class", "style"] };
                                            return "html4" !== n ? [r, e, t] : [e, r, t];
                                        })(),
                                        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 },
                                        lineheight: { selector: "h1,h2,h3,h4,h5,h6,p,li,td,th,div", styles: { lineHeight: "%value" } },
                                        fontsize_class: { inline: "span", attributes: { class: "%value" } },
                                        blockquote: { block: "blockquote", wrapper: !0, remove: "all" },
                                        subscript: { inline: "sub" },
                                        superscript: { inline: "sup" },
                                        code: { inline: "code" },
                                        link: {
                                            inline: "a",
                                            selector: "a",
                                            remove: "all",
                                            split: !0,
                                            deep: !0,
                                            onmatch: (e, t, n) => ir(e) && e.hasAttribute("href"),
                                            onformat: (e, n, r) => {
                                                wt.each(r, (n, r) => {
                                                    t.setAttrib(e, r, n);
                                                });
                                            },
                                        },
                                        lang: {
                                            inline: "span",
                                            clear_child_styles: !0,
                                            remove_similar: !0,
                                            attributes: {
                                                lang: "%value",
                                                "data-mce-lang": (e) => {
                                                    var t;
                                                    return null !== (t = null == e ? void 0 : e.customValue) && void 0 !== t ? t : null;
                                                },
                                            },
                                        },
                                        removeformat: [
                                            { selector: "b,strong,em,i,font,u,strike,s,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins,small", 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 (
                                    wt.each("p h1 h2 h3 h4 h5 h6 div address pre dt dd samp".split(/\s/), (e) => {
                                        r[e] = { block: e, remove: "all" };
                                    }),
                                    r
                                );
                            })(e)
                        ),
                        n(S_()),
                        n(dl(e)),
                        { get: (e) => (C(e) ? t[e] : t), has: (e) => Ee(t, e), register: n, unregister: (e) => (e && t[e] && delete t[e], t) }
                    );
                },
                N_ = wt.each,
                O_ = Oi.DOM,
                D_ = (e, t) => {
                    let n, r, o;
                    const i = (t && t.schema) || di({}),
                        s = (e) => {
                            r = "string" == typeof e ? { name: e, classes: [], attrs: {} } : e;
                            const t = O_.create(r.name);
                            return (
                                ((e, t) => {
                                    t.classes.length && O_.addClass(e, t.classes.join(" ")), O_.setAttribs(e, t.attrs);
                                })(t, r),
                                t
                            );
                        },
                        a = (e, t, n) => {
                            let r, o;
                            const l = t.length > 0 && t[0],
                                c = l && l.name,
                                u = ((e, t) => {
                                    const n = "string" != typeof e ? e.nodeName.toLowerCase() : e,
                                        r = i.getElementRule(n),
                                        o = r && r.parentsRequired;
                                    return !(!o || !o.length) && (t && -1 !== wt.inArray(o, t) ? t : o[0]);
                                })(e, c);
                            if (u) c === u ? ((o = t[0]), (t = t.slice(1))) : (o = u);
                            else if (l) (o = t[0]), (t = t.slice(1));
                            else if (!n) return e;
                            return (
                                o && ((r = s(o)), r.appendChild(e)),
                                n &&
                                    (r || ((r = O_.create("div")), r.appendChild(e)),
                                    wt.each(n, (t) => {
                                        const n = s(t);
                                        r.insertBefore(n, e);
                                    })),
                                a(r, t, o && o.siblings)
                            );
                        };
                    return e && e.length ? ((r = e[0]), (n = s(r)), (o = O_.create("div")), o.appendChild(a(n, e.slice(1), r.siblings)), o) : "";
                },
                R_ = (e) => {
                    let t;
                    const n = { classes: [], attrs: {} };
                    return (
                        "*" !== (e = n.selector = wt.trim(e)) &&
                            (t = e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g, (e, t, r, o, i) => {
                                switch (t) {
                                    case "#":
                                        n.attrs.id = r;
                                        break;
                                    case ".":
                                        n.classes.push(r);
                                        break;
                                    case ":":
                                        -1 !== wt.inArray("checked disabled enabled read-only required".split(" "), r) && (n.attrs[r] = r);
                                }
                                if ("[" === o) {
                                    const e = i.match(/([\w\-]+)(?:\=\"([^\"]+))?/);
                                    e && (n.attrs[e[1]] = e[2]);
                                }
                                return "";
                            })),
                        (n.name = t || "div"),
                        n
                    );
                },
                L_ = (e, t) => {
                    let n,
                        r,
                        o,
                        i = "",
                        s = fl(e);
                    if ("" === s) return "";
                    const a = (e) => e.replace(/%(\w+)/g, "");
                    if ("string" == typeof t) {
                        if (!(t = e.formatter.get(t))) return;
                        t = t[0];
                    }
                    if ("preview" in t) {
                        const e = xe(t, "preview");
                        if (Ct(e, !1)) return "";
                        s = e.getOr(s);
                    }
                    n = t.block || t.inline || "span";
                    const l =
                        (c = t.selector) && "string" == typeof c
                            ? ((c = (c = c.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g, "$1")),
                              wt
                                  .map(c.split(/(?:>|\s+(?![^\[\]]+\]))/), (e) => {
                                      const t = wt.map(e.split(/(?:~\+|~|\+)/), R_),
                                          n = t.pop();
                                      return t.length && (n.siblings = t), n;
                                  })
                                  .reverse())
                            : [];
                    var c;
                    l.length ? (l[0].name || (l[0].name = n), (n = t.selector), (r = D_(l, e))) : (r = D_([n], e));
                    const u = O_.select(n, r)[0] || r.firstChild;
                    return (
                        N_(t.styles, (e, t) => {
                            const n = a(e);
                            n && O_.setStyle(u, t, n);
                        }),
                        N_(t.attributes, (e, t) => {
                            const n = a(e);
                            n && O_.setAttrib(u, t, n);
                        }),
                        N_(t.classes, (e) => {
                            const t = a(e);
                            O_.hasClass(u, t) || O_.addClass(u, t);
                        }),
                        e.dispatch("PreviewFormats"),
                        O_.setStyles(r, { position: "absolute", left: -65535 }),
                        e.getBody().appendChild(r),
                        (o = O_.getStyle(e.getBody(), "fontSize", !0)),
                        (o = /px$/.test(o) ? parseInt(o, 10) : 0),
                        N_(s.split(" "), (t) => {
                            let n = O_.getStyle(u, t, !0);
                            if (
                                !(
                                    ("background-color" === t && /transparent|rgba\s*\([^)]+,\s*0\)/.test(n) && ((n = O_.getStyle(e.getBody(), t, !0)), "#ffffff" === Iu(n).toLowerCase())) ||
                                    ("color" === t && "#000000" === Iu(n).toLowerCase())
                                )
                            ) {
                                if ("font-size" === t && /em|%$/.test(n)) {
                                    if (0 === o) return;
                                    n = (parseFloat(n) / (/%$/.test(n) ? 100 : 1)) * o + "px";
                                }
                                "border" === t && n && (i += "padding:0 2px;"), (i += t + ":" + n + ";");
                            }
                        }),
                        e.dispatch("AfterPreviewFormats"),
                        O_.remove(r),
                        i
                    );
                },
                P_ = (e) => {
                    const t = T_(e),
                        n = Li(null);
                    return (
                        ((e) => {
                            e.addShortcut("meta+b", "", "Bold"), e.addShortcut("meta+i", "", "Italic"), e.addShortcut("meta+u", "", "Underline");
                            for (let 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"]);
                        })(e),
                        Og(e),
                        {
                            get: t.get,
                            has: t.has,
                            register: t.register,
                            unregister: t.unregister,
                            apply: (t, n, r) => {
                                ((e, t, n, r) => {
                                    Eb(e).formatter.apply(t, n, r);
                                })(e, t, n, r);
                            },
                            remove: (t, n, r, o) => {
                                ((e, t, n, r, o) => {
                                    Eb(e).formatter.remove(t, n, r, o);
                                })(e, t, n, r, o);
                            },
                            toggle: (t, n, r) => {
                                ((e, t, n, r) => {
                                    Eb(e).formatter.toggle(t, n, r);
                                })(e, t, n, r);
                            },
                            match: (t, n, r, o) => ((e, t, n, r, o) => Eb(e).formatter.match(t, n, r, o))(e, t, n, r, o),
                            closest: (t) => ((e, t) => Eb(e).formatter.closest(t))(e, t),
                            matchAll: (t, n) => ((e, t, n) => Eb(e).formatter.matchAll(t, n))(e, t, n),
                            matchNode: (t, n, r, o) => ((e, t, n, r, o) => Eb(e).formatter.matchNode(t, n, r, o))(e, t, n, r, o),
                            canApply: (t) => ((e, t) => Eb(e).formatter.canApply(t))(e, t),
                            formatChanged: (t, r, o, i) => ((e, t, n, r, o, i) => Eb(e).formatter.formatChanged(t, n, r, o, i))(e, n, t, r, o, i),
                            getCssText: R(L_, e),
                        }
                    );
                },
                $_ = (e) => {
                    switch (e.toLowerCase()) {
                        case "undo":
                        case "redo":
                        case "mcefocus":
                            return !0;
                        default:
                            return !1;
                    }
                },
                M_ = (e) => {
                    const t = ji(),
                        n = Li(0),
                        r = Li(0),
                        o = {
                            data: [],
                            typing: !1,
                            beforeChange: () => {
                                ((e, t, n) => {
                                    Eb(e).undoManager.beforeChange(t, n);
                                })(e, n, t);
                            },
                            add: (i, s) => ((e, t, n, r, o, i, s) => Eb(e).undoManager.add(t, n, r, o, i, s))(e, o, r, n, t, i, s),
                            undo: () => ((e, t, n, r) => Eb(e).undoManager.undo(t, n, r))(e, o, n, r),
                            redo: () => ((e, t, n) => Eb(e).undoManager.redo(t, n))(e, r, o.data),
                            clear: () => {
                                ((e, t, n) => {
                                    Eb(e).undoManager.clear(t, n);
                                })(e, o, r);
                            },
                            reset: () => {
                                ((e, t) => {
                                    Eb(e).undoManager.reset(t);
                                })(e, o);
                            },
                            hasUndo: () => ((e, t, n) => Eb(e).undoManager.hasUndo(t, n))(e, o, r),
                            hasRedo: () => ((e, t, n) => Eb(e).undoManager.hasRedo(t, n))(e, o, r),
                            transact: (t) => ((e, t, n, r) => Eb(e).undoManager.transact(t, n, r))(e, o, n, t),
                            ignore: (t) => {
                                ((e, t, n) => {
                                    Eb(e).undoManager.ignore(t, n);
                                })(e, n, t);
                            },
                            extra: (t, n) => {
                                ((e, t, n, r, o) => {
                                    Eb(e).undoManager.extra(t, n, r, o);
                                })(e, o, r, t, n);
                            },
                        };
                    return (
                        wb(e) ||
                            ((e, t, n) => {
                                const r = Li(!1),
                                    o = (e) => {
                                        yb(t, !1, n), t.add({}, e);
                                    };
                                e.on("init", () => {
                                    t.add();
                                }),
                                    e.on("BeforeExecCommand", (e) => {
                                        const r = e.command;
                                        $_(r) || (bb(t, n), t.beforeChange());
                                    }),
                                    e.on("ExecCommand", (e) => {
                                        const t = e.command;
                                        $_(t) || o(e);
                                    }),
                                    e.on("ObjectResizeStart cut", () => {
                                        t.beforeChange();
                                    }),
                                    e.on("SaveContent ObjectResized blur", o),
                                    e.on("dragend", o),
                                    e.on("keyup", (n) => {
                                        const i = n.keyCode;
                                        n.isDefaultPrevented() ||
                                            (((i >= 33 && i <= 36) || (i >= 37 && i <= 40) || 45 === i || n.ctrlKey) && (o(), e.nodeChanged()),
                                            (46 !== i && 8 !== i) || e.nodeChanged(),
                                            r.get() && t.typing && !1 === gb(fb(e), t.data[0]) && (!1 === e.isDirty() && e.setDirty(!0), e.dispatch("TypingUndo"), r.set(!1), e.nodeChanged()));
                                    }),
                                    e.on("keydown", (e) => {
                                        const i = e.keyCode;
                                        if (e.isDefaultPrevented()) return;
                                        if ((i >= 33 && i <= 36) || (i >= 37 && i <= 40) || 45 === i) return void (t.typing && o(e));
                                        const s = (e.ctrlKey && !e.altKey) || e.metaKey;
                                        !(i < 16 || i > 20) || 224 === i || 91 === i || t.typing || s || (t.beforeChange(), yb(t, !0, n), t.add({}, e), r.set(!0));
                                    }),
                                    e.on("mousedown", (e) => {
                                        t.typing && o(e);
                                    });
                                e.on("input", (e) => {
                                    e.inputType &&
                                        ("insertReplacementText" === e.inputType || ((e) => "insertText" === e.inputType && null === e.data)(e) || ((e) => "insertFromPaste" === e.inputType || "insertFromDrop" === e.inputType)(e)) &&
                                        o(e);
                                }),
                                    e.on("AddUndo Undo Redo ClearUndos", (t) => {
                                        t.isDefaultPrevented() || e.nodeChanged();
                                    });
                            })(e, o, n),
                        ((e) => {
                            e.addShortcut("meta+z", "", "Undo"), e.addShortcut("meta+y,meta+shift+z", "", "Redo");
                        })(e),
                        o
                    );
                },
                I_ = [9, 27, Wd.HOME, Wd.END, 19, 20, 44, 144, 145, 33, 34, 45, 16, 17, 18, 91, 92, 93, Wd.DOWN, Wd.UP, Wd.LEFT, Wd.RIGHT].concat(gt.browser.isFirefox() ? [224] : []),
                B_ = (e) => "keydown" === e.type || "keyup" === e.type,
                j_ = (e) => {
                    const t = e.keyCode;
                    return t === Wd.BACKSPACE || t === Wd.DELETE;
                },
                F_ = (e) => {
                    const t = e.dom,
                        n = Na(e),
                        r = rl(e),
                        o = (i, s) => {
                            if (
                                ((e) => {
                                    if (B_(e)) {
                                        const t = e.keyCode;
                                        return !j_(e) && (Wd.metaKeyPressed(e) || e.altKey || (t >= 112 && t <= 123) || q(I_, t));
                                    }
                                    return !1;
                                })(i)
                            )
                                return;
                            const a = e.getBody(),
                                l =
                                    !((e) => B_(e) && !(j_(e) || ("keyup" === e.type && 229 === e.keyCode)))(i) &&
                                    ((e, t, n) => {
                                        if ($o(Qt.fromDom(t), !1)) {
                                            const r = t.firstElementChild;
                                            return !r || (!e.getStyle(t.firstElementChild, "padding-left") && !e.getStyle(t.firstElementChild, "padding-right") && n === r.nodeName.toLowerCase());
                                        }
                                        return !1;
                                    })(t, a, n);
                            (("" !== t.getAttrib(a, "data-mce-placeholder")) !== l || s) &&
                                (t.setAttrib(a, "data-mce-placeholder", l ? r : null),
                                t.setAttrib(a, "aria-placeholder", l ? r : null),
                                ((e, t) => {
                                    e.dispatch("PlaceholderToggle", { state: t });
                                })(e, l),
                                e.on(l ? "keydown" : "keyup", o),
                                e.off(l ? "keyup" : "keydown", o));
                        };
                    r &&
                        e.on("init", (t) => {
                            o(t, !0), e.on("change SetContent ExecCommand", o), e.on("paste", (t) => lp.setEditorTimeout(e, () => o(t)));
                        });
                },
                H_ = /[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,
                U_ = (e, t) => en(Qt.fromDom(t), el(e)),
                q_ = (e) => "rtl" === Oi.DOM.getStyle(e, "direction", !0) || ((e) => H_.test(e))(e.textContent),
                z_ = (e, t, n) => {
                    const r = ((e, t, n) => Y(Oi.DOM.getParents(n.container(), "*", t), e))(e, t, n);
                    return B.from(r[r.length - 1]);
                },
                W_ = (e, t) => {
                    if (!t) return t;
                    const n = t.container(),
                        r = t.offset();
                    return e
                        ? no(n)
                            ? pr(n.nextSibling)
                                ? Ms(n.nextSibling, 0)
                                : Ms.after(n)
                            : io(t)
                            ? Ms(n, r + 1)
                            : t
                        : no(n)
                        ? pr(n.previousSibling)
                            ? Ms(n.previousSibling, n.previousSibling.data.length)
                            : Ms.before(n)
                        : so(t)
                        ? Ms(n, r - 1)
                        : t;
                },
                V_ = R(W_, !0),
                K_ = R(W_, !1),
                G_ = (e, t) => {
                    const n = (e) => e.stopImmediatePropagation();
                    e.on("beforeinput input", n, !0), e.getDoc().execCommand(t), e.off("beforeinput input", n);
                },
                Y_ = (e) => G_(e, "Delete"),
                X_ = (e) => zr(e) || Vr(e),
                J_ = (e, t) => (rn(e, t) ? Dr(t, X_, ((e) => (t) => nn(e, Qt.fromDom(t.dom.parentNode)))(e)) : B.none()),
                Q_ = (e) => {
                    e.dom.isEmpty(e.getBody()) &&
                        (e.setContent(""),
                        ((e) => {
                            const t = e.getBody(),
                                n = t.firstChild && e.dom.isBlock(t.firstChild) ? t.firstChild : t;
                            e.selection.setCursorLocation(n, 0);
                        })(e));
                },
                Z_ = (e, t) => ({ from: e, to: t }),
                ew = (e, t) => {
                    const n = Qt.fromDom(e),
                        r = Qt.fromDom(t.container());
                    return J_(n, r).map((e) => ((e, t) => ({ block: e, position: t }))(e, t));
                },
                tw = (e, t, n) => {
                    const r = ew(e, Ms.fromRangeStart(n)),
                        o = r.bind((n) =>
                            su(t, e, n.position).bind((n) =>
                                ew(e, n).map((n) =>
                                    ((e, t, n) =>
                                        br(n.position.getNode()) && !1 === $o(n.block)
                                            ? cu(!1, n.block.dom)
                                                  .bind((r) => (r.isEqual(n.position) ? su(t, e, r).bind((t) => ew(e, t)) : B.some(n)))
                                                  .getOr(n)
                                            : n)(e, t, n)
                                )
                            )
                        );
                    return xt(r, o, Z_).filter(
                        (e) =>
                            ((e) => !1 === nn(e.from.block, e.to.block))(e) &&
                            ((e) =>
                                ln(e.from.block)
                                    .bind((t) => ln(e.to.block).filter((e) => nn(t, e)))
                                    .isSome())(e) &&
                            ((e) => !1 === Cr(e.from.block.dom) && !1 === Cr(e.to.block.dom))(e)
                    );
                },
                nw = (e) => {
                    const t = pn(e);
                    return ee(t, Hr).fold(N(t), (e) => t.slice(0, e));
                },
                rw = (e) => {
                    const t = nw(e);
                    return V(t, Hn), t;
                },
                ow = (e, t) => {
                    const n = _h(t, e);
                    return Z(n.reverse(), (e) => $o(e)).each(Hn);
                },
                iw = (e, t, n, r) => {
                    if ($o(n)) return gh(n), fu(n.dom);
                    0 === Y(dn(r), (e) => !$o(e)).length && $o(t) && $n(r, Qt.fromTag("br"));
                    const o = du(n.dom, Ms.before(r.dom));
                    return (
                        V(rw(t), (e) => {
                            $n(r, e);
                        }),
                        ow(e, t),
                        o
                    );
                },
                sw = (e, t, n) => {
                    if ($o(n)) return Hn(n), $o(t) && gh(t), fu(t.dom);
                    const r = pu(n.dom);
                    return (
                        V(rw(t), (e) => {
                            Bn(n, e);
                        }),
                        ow(e, t),
                        r
                    );
                },
                aw = (e, t) =>
                    rn(t, e)
                        ? ((e, t) => {
                              const n = _h(t, e);
                              return B.from(n[n.length - 1]);
                          })(t, e)
                        : B.none(),
                lw = (e, t) => {
                    cu(e, t.dom)
                        .map((e) => e.getNode())
                        .map(Qt.fromDom)
                        .filter(qr)
                        .each(Hn);
                },
                cw = (e, t, n) => (lw(!0, t), lw(!1, n), aw(t, n).fold(R(sw, e, t, n), R(iw, e, t, n))),
                uw = (e, t, n, r) => (t ? cw(e, r, n) : cw(e, n, r)),
                dw = (e, t) => {
                    const n = Qt.fromDom(e.getBody());
                    return ((e, t, n) => (n.collapsed ? tw(e, t, n) : B.none()))(n.dom, t, e.selection.getRng()).map((r) => () => {
                        uw(n, t, r.from.block, r.to.block).each((t) => {
                            e.selection.setRng(t.toRange());
                        });
                    });
                },
                fw = (e, t) => {
                    const n = Qt.fromDom(t),
                        r = R(nn, e);
                    return Or(n, Gr, r).isSome();
                },
                pw = (e, t) => {
                    const n = du(e.dom, Ms.fromRangeStart(t)).isNone(),
                        r = uu(e.dom, Ms.fromRangeEnd(t)).isNone();
                    return !((e, t) => fw(e, t.startContainer) || fw(e, t.endContainer))(e, t) && n && r;
                },
                hw = (e) => {
                    const t = Qt.fromDom(e.getBody()),
                        n = e.selection.getRng();
                    return pw(t, n)
                        ? ((e) =>
                              B.some(() => {
                                  e.setContent(""), e.selection.setCursorLocation();
                              }))(e)
                        : ((e, t) => {
                              const n = t.getRng();
                              return xt(J_(e, Qt.fromDom(n.startContainer)), J_(e, Qt.fromDom(n.endContainer)), (r, o) =>
                                  !1 === nn(r, o)
                                      ? B.some(() => {
                                            n.deleteContents(),
                                                uw(e, !0, r, o).each((e) => {
                                                    t.setRng(e.toRange());
                                                });
                                        })
                                      : B.none()
                              ).getOr(B.none());
                          })(t, e.selection);
                },
                mw = (e, t) => (e.selection.isCollapsed() ? B.none() : hw(e)),
                gw = wr,
                vw = Cr,
                yw = (e, t, n, r, o) => B.from(t._selectionOverrides.showCaret(e, n, r, o)),
                bw = (e, t) =>
                    e.dispatch("BeforeObjectSelected", { target: t }).isDefaultPrevented()
                        ? B.none()
                        : B.some(
                              ((e) => {
                                  const t = e.ownerDocument.createRange();
                                  return t.selectNode(e), t;
                              })(t)
                          ),
                _w = (e, t, n) =>
                    t.collapsed
                        ? ((e, t, n) => {
                              const r = Bc(1, e.getBody(), t),
                                  o = Ms.fromRangeStart(r),
                                  i = o.getNode();
                              if (gc(i)) return yw(1, e, i, !o.isAtEnd(), !1);
                              const s = o.getNode(!0);
                              if (gc(s)) return yw(1, e, s, !1, !1);
                              const a = e.dom.getParent(o.getNode(), (e) => vw(e) || gw(e));
                              return gc(a) ? yw(1, e, a, !1, n) : B.none();
                          })(e, t, n).getOr(t)
                        : t,
                ww = (e) => ph(e) || ch(e),
                Cw = (e) => hh(e) || uh(e),
                xw = (e, t, n, r, o, i) => {
                    yw(r, e, i.getNode(!o), o, !0).each((n) => {
                        if (t.collapsed) {
                            const e = t.cloneRange();
                            o ? e.setEnd(n.startContainer, n.startOffset) : e.setStart(n.endContainer, n.endOffset), e.deleteContents();
                        } else t.deleteContents();
                        e.selection.setRng(n);
                    }),
                        ((e, t) => {
                            pr(t) && 0 === t.data.length && e.remove(t);
                        })(e.dom, n);
                },
                Ew = (e, t) =>
                    ((e, t) => {
                        const n = e.selection.getRng();
                        if (!pr(n.commonAncestorContainer)) return B.none();
                        const r = t ? zc.Forwards : zc.Backwards,
                            o = tu(e.getBody()),
                            i = R(Uc, t ? o.next : o.prev),
                            s = t ? ww : Cw,
                            a = Fc(r, e.getBody(), n),
                            l = W_(t, i(a));
                        if (!l || !qc(a, l)) return B.none();
                        if (s(l)) return B.some(() => xw(e, n, a.getNode(), r, t, l));
                        const c = i(l);
                        return c && s(c) && qc(l, c) ? B.some(() => xw(e, n, a.getNode(), r, t, c)) : B.none();
                    })(e, t),
                kw = la([{ remove: ["element"] }, { moveToElement: ["element"] }, { moveToPosition: ["position"] }]),
                Aw = (e, t, n, r) => {
                    const o = r.getNode(!1 === t);
                    return J_(Qt.fromDom(e), Qt.fromDom(n.getNode()))
                        .map((e) => ($o(e) ? kw.remove(e.dom) : kw.moveToElement(o)))
                        .orThunk(() => B.some(kw.moveToElement(o)));
                },
                Sw = (e, t, n) =>
                    su(t, e, n).bind((r) => {
                        return (
                            (o = r.getNode()),
                            Gr(Qt.fromDom(o)) ||
                            Vr(Qt.fromDom(o)) ||
                            ((e, t, n, r) => {
                                const o = (t) => Ur(Qt.fromDom(t)) && !Dc(n, r, e);
                                return jc(!t, n).fold(() => jc(t, r).fold(M, o), o);
                            })(e, t, n, r)
                                ? B.none()
                                : (t && Cr(r.getNode())) || (!1 === t && Cr(r.getNode(!0)))
                                ? Aw(e, t, n, r)
                                : (t && hh(n)) || (!1 === t && ph(n))
                                ? B.some(kw.moveToPosition(r))
                                : B.none()
                        );
                        var o;
                    }),
                Tw = (e, t, n) =>
                    ((e, t) => {
                        const n = t.getNode(!1 === e),
                            r = e ? "after" : "before";
                        return ir(n) && n.getAttribute("data-mce-caret") === r;
                    })(t, n)
                        ? ((e, t) => (e && Cr(t.nextSibling) ? B.some(kw.moveToElement(t.nextSibling)) : !1 === e && Cr(t.previousSibling) ? B.some(kw.moveToElement(t.previousSibling)) : B.none()))(t, n.getNode(!1 === t)).fold(
                              () => Sw(e, t, n),
                              B.some
                          )
                        : Sw(e, t, n).bind((t) =>
                              ((e, t, n) =>
                                  n.fold(
                                      (e) => B.some(kw.remove(e)),
                                      (e) => B.some(kw.moveToElement(e)),
                                      (n) => (Dc(t, n, e) ? B.none() : B.some(kw.moveToPosition(n)))
                                  ))(e, n, t)
                          ),
                Nw = (e, t) => B.from(jm(e.getBody(), t)),
                Ow = (e, t) => {
                    const n = e.selection.getNode();
                    return Nw(e, n)
                        .filter(Cr)
                        .fold(
                            () =>
                                ((e, t, n) => {
                                    const r = Bc(t ? 1 : -1, e, n),
                                        o = Ms.fromRangeStart(r),
                                        i = Qt.fromDom(e);
                                    return !1 === t && hh(o)
                                        ? B.some(kw.remove(o.getNode(!0)))
                                        : t && ph(o)
                                        ? B.some(kw.remove(o.getNode()))
                                        : !1 === t && ph(o) && Rh(i, o)
                                        ? Lh(i, o).map((e) => kw.remove(e.getNode()))
                                        : t && hh(o) && Dh(i, o)
                                        ? Ph(i, o).map((e) => kw.remove(e.getNode()))
                                        : Tw(e, t, o);
                                })(e.getBody(), t, e.selection.getRng()).map((n) => () =>
                                    n.fold(
                                        ((e, t) => (n) => (e._selectionOverrides.hideFakeCaret(), lm(e, t, Qt.fromDom(n)), !0))(e, t),
                                        ((e, t) => (n) => {
                                            const r = t ? Ms.before(n) : Ms.after(n);
                                            return e.selection.setRng(r.toRange()), !0;
                                        })(e, t),
                                        ((e) => (t) => (e.selection.setRng(t.toRange()), !0))(e)
                                    )
                                ),
                            () => B.some(A)
                        );
                },
                Dw = (e, t) => {
                    const n = e.selection.getNode();
                    if (Cr(n) && !xr(n)) {
                        return Nw(e, n.parentNode)
                            .filter(Cr)
                            .fold(
                                () =>
                                    B.some(() => {
                                        var n;
                                        (n = Qt.fromDom(e.getBody())), V(qi(n, ".mce-offscreen-selection"), Hn), lm(e, t, Qt.fromDom(e.selection.getNode())), Q_(e);
                                    }),
                                () => B.some(A)
                            );
                    }
                    return B.none();
                },
                Rw = (e) => {
                    const t = e.dom,
                        n = e.selection,
                        r = jm(e.getBody(), n.getNode());
                    if (wr(r) && t.isBlock(r) && t.isEmpty(r)) {
                        const e = t.create("br", { "data-mce-bogus": "1" });
                        t.setHTML(r, ""), r.appendChild(e), n.setRng(Ms.before(e).toRange());
                    }
                    return !0;
                },
                Lw = (e, t) => (e.selection.isCollapsed() ? Ow(e, t) : Dw(e, t)),
                Pw = (e, t) =>
                    e.selection.isCollapsed()
                        ? ((e, t) => {
                              const n = Ms.fromRangeStart(e.selection.getRng());
                              return su(t, e.getBody(), n)
                                  .filter((e) => (t ? ah(e) : lh(e)))
                                  .bind((e) => B.from(Rc(t ? 0 : -1, e)))
                                  .map((t) => () => e.selection.select(t));
                          })(e, t)
                        : B.none(),
                $w = pr,
                Mw = (e) => $w(e) && "\ufeff" === e.data[0],
                Iw = (e) => $w(e) && "\ufeff" === e.data[e.data.length - 1],
                Bw = (e) => e.ownerDocument.createTextNode("\ufeff"),
                jw = (e, t) =>
                    e
                        ? ((e) => {
                              if ($w(e.previousSibling)) return Iw(e.previousSibling) || e.previousSibling.appendData("\ufeff"), e.previousSibling;
                              if ($w(e)) return Mw(e) || e.insertData(0, "\ufeff"), e;
                              {
                                  const t = Bw(e);
                                  return e.parentNode.insertBefore(t, e), t;
                              }
                          })(t)
                        : ((e) => {
                              if ($w(e.nextSibling)) return Mw(e.nextSibling) || e.nextSibling.insertData(0, "\ufeff"), e.nextSibling;
                              if ($w(e)) return Iw(e) || e.appendData("\ufeff"), e;
                              {
                                  const t = Bw(e);
                                  return e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t), t;
                              }
                          })(t),
                Fw = R(jw, !0),
                Hw = R(jw, !1),
                Uw = (e, t) => (pr(e.container()) ? jw(t, e.container()) : jw(t, e.getNode())),
                qw = (e, t) => {
                    const n = t.get();
                    return n && e.container() === n && no(n);
                },
                zw = (e, t) =>
                    t.fold(
                        (t) => {
                            cc(e.get());
                            const n = Fw(t);
                            return e.set(n), B.some(Ms(n, n.length - 1));
                        },
                        (t) =>
                            fu(t).map((t) => {
                                if (qw(t, e)) return Ms(e.get(), 1);
                                {
                                    cc(e.get());
                                    const n = Uw(t, !0);
                                    return e.set(n), Ms(n, 1);
                                }
                            }),
                        (t) =>
                            pu(t).map((t) => {
                                if (qw(t, e)) return Ms(e.get(), e.get().length - 1);
                                {
                                    cc(e.get());
                                    const n = Uw(t, !1);
                                    return e.set(n), Ms(n, n.length - 1);
                                }
                            }),
                        (t) => {
                            cc(e.get());
                            const n = Hw(t);
                            return e.set(n), B.some(Ms(n, 1));
                        }
                    ),
                Ww = (e, t) => {
                    for (let n = 0; n < e.length; n++) {
                        const r = e[n].apply(null, t);
                        if (r.isSome()) return r;
                    }
                    return B.none();
                },
                Vw = la([{ before: ["element"] }, { start: ["element"] }, { end: ["element"] }, { after: ["element"] }]),
                Kw = (e, t) => {
                    const n = Oc(t, e);
                    return n || e;
                },
                Gw = (e, t, n) => {
                    const r = V_(n),
                        o = Kw(t, r.container());
                    return z_(e, o, r).fold(
                        () =>
                            uu(o, r)
                                .bind(R(z_, e, o))
                                .map((e) => Vw.before(e)),
                        B.none
                    );
                },
                Yw = (e, t) => null === mu(e, t),
                Xw = (e, t, n) => z_(e, t, n).filter(R(Yw, t)),
                Jw = (e, t, n) => {
                    const r = K_(n);
                    return Xw(e, t, r).bind((e) => (du(e, r).isNone() ? B.some(Vw.start(e)) : B.none()));
                },
                Qw = (e, t, n) => {
                    const r = V_(n);
                    return Xw(e, t, r).bind((e) => (uu(e, r).isNone() ? B.some(Vw.end(e)) : B.none()));
                },
                Zw = (e, t, n) => {
                    const r = K_(n),
                        o = Kw(t, r.container());
                    return z_(e, o, r).fold(
                        () =>
                            du(o, r)
                                .bind(R(z_, e, o))
                                .map((e) => Vw.after(e)),
                        B.none
                    );
                },
                eC = (e) => !1 === q_(nC(e)),
                tC = (e, t, n) => Ww([Gw, Jw, Qw, Zw], [e, t, n]).filter(eC),
                nC = (e) => e.fold(O, O, O, O),
                rC = (e) => e.fold(N("before"), N("start"), N("end"), N("after")),
                oC = (e) => e.fold(Vw.before, Vw.before, Vw.after, Vw.after),
                iC = (e) => e.fold(Vw.start, Vw.start, Vw.end, Vw.end),
                sC = (e, t, n, r, o, i) =>
                    xt(z_(t, n, r), z_(t, n, o), (t, r) =>
                        t !== r &&
                        ((e, t, n) => {
                            const r = Oc(t, e),
                                o = Oc(n, e);
                            return r && r === o;
                        })(n, t, r)
                            ? Vw.after(e ? t : r)
                            : i
                    ).getOr(i),
                aC = (e, t) =>
                    e.fold(I, (e) => {
                        return (r = t), !(rC((n = e)) === rC(r) && nC(n) === nC(r));
                        var n, r;
                    }),
                lC = (e, t) => (e ? t.fold(S(B.some, Vw.start), B.none, S(B.some, Vw.after), B.none) : t.fold(B.none, S(B.some, Vw.before), B.none, S(B.some, Vw.end))),
                cC = (e, t, n, r) => {
                    const o = W_(e, r),
                        i = tC(t, n, o);
                    return tC(t, n, o)
                        .bind(R(lC, e))
                        .orThunk(() =>
                            ((e, t, n, r, o) => {
                                const i = W_(e, o);
                                return su(e, n, i)
                                    .map(R(W_, e))
                                    .fold(
                                        () => r.map(oC),
                                        (o) => tC(t, n, o).map(R(sC, e, t, n, i, o)).filter(R(aC, r))
                                    )
                                    .filter(eC);
                            })(e, t, n, i, r)
                        );
                },
                uC = (e, t, n) => {
                    const r = e ? 1 : -1;
                    return t.setRng(Ms(n.container(), n.offset() + r).toRange()), t.getSel().modify("move", e ? "forward" : "backward", "word"), !0;
                },
                dC = (e, t) => {
                    const n = t.selection.getRng(),
                        r = e ? Ms.fromRangeEnd(n) : Ms.fromRangeStart(n);
                    return !!((e) => x(e.selection.getSel().modify))(t) && (e && io(r) ? uC(!0, t.selection, r) : !(e || !so(r)) && uC(!1, t.selection, r));
                };
            var fC;
            !(function (e) {
                (e[(e.Br = 0)] = "Br"), (e[(e.Block = 1)] = "Block"), (e[(e.Wrap = 2)] = "Wrap"), (e[(e.Eol = 3)] = "Eol");
            })(fC || (fC = {}));
            const pC = (e, t) => (e === zc.Backwards ? oe(t) : t),
                hC = (e, t, n) => (e === zc.Forwards ? t.next(n) : t.prev(n)),
                mC = (e, t, n, r) => (br(r.getNode(t === zc.Forwards)) ? fC.Br : !1 === Dc(n, r) ? fC.Block : fC.Wrap),
                gC = (e, t, n, r) => {
                    const o = tu(n);
                    let i = r;
                    const s = [];
                    for (; i; ) {
                        const n = hC(t, o, i);
                        if (!n) break;
                        if (br(n.getNode(!1))) return t === zc.Forwards ? { positions: pC(t, s).concat([n]), breakType: fC.Br, breakAt: B.some(n) } : { positions: pC(t, s), breakType: fC.Br, breakAt: B.some(n) };
                        if (n.isVisible()) {
                            if (e(i, n)) {
                                const e = mC(0, t, i, n);
                                return { positions: pC(t, s), breakType: e, breakAt: B.some(n) };
                            }
                            s.push(n), (i = n);
                        } else i = n;
                    }
                    return { positions: pC(t, s), breakType: fC.Eol, breakAt: B.none() };
                },
                vC = (e, t, n, r) =>
                    t(n, r)
                        .breakAt.map((r) => {
                            const o = t(n, r).positions;
                            return e === zc.Backwards ? o.concat(r) : [r].concat(o);
                        })
                        .getOr([]),
                yC = (e, t) =>
                    J(
                        e,
                        (e, n) =>
                            e.fold(
                                () => B.some(n),
                                (r) =>
                                    xt(ce(r.getClientRects()), ce(n.getClientRects()), (e, o) => {
                                        const i = Math.abs(t - e.left);
                                        return Math.abs(t - o.left) <= i ? n : r;
                                    }).or(e)
                            ),
                        B.none()
                    ),
                bC = (e, t) => ce(t.getClientRects()).bind((t) => yC(e, t.left)),
                _C = R(gC, Ms.isAbove, -1),
                wC = R(gC, Ms.isBelow, 1),
                CC = R(vC, -1, _C),
                xC = R(vC, 1, wC),
                EC = Cr,
                kC = (e, t) => Math.abs(e.left - t),
                AC = (e, t) => Math.abs(e.right - t),
                SC = (e, t) =>
                    Re(e, (e, n) => {
                        const r = Math.min(kC(e, t), AC(e, t)),
                            o = Math.min(kC(n, t), AC(n, t));
                        return (o === r && ke(n, "node") && EC(n.node)) || o < r ? n : e;
                    }),
                TC = (e) => {
                    const t = (t) =>
                        W(t, (t) => {
                            const n = ls(t);
                            return (n.node = e), n;
                        });
                    if (ir(e)) return t(e.getClientRects());
                    if (pr(e)) {
                        const n = e.ownerDocument.createRange();
                        return n.setStart(e, 0), n.setEnd(e, e.data.length), t(n.getClientRects());
                    }
                    return [];
                },
                NC = (e) => ne(e, TC);
            var OC;
            !(function (e) {
                (e[(e.Up = -1)] = "Up"), (e[(e.Down = 1)] = "Down");
            })(OC || (OC = {}));
            const DC = (e, t, n, r, o, i) => {
                    let s = 0;
                    const a = [],
                        l = (r) => {
                            let i = NC([r]);
                            -1 === e && (i = i.reverse());
                            for (let e = 0; e < i.length; e++) {
                                const r = i[e];
                                if (!n(r, c)) {
                                    if ((a.length > 0 && t(r, Pe(a)) && s++, (r.line = s), o(r))) return !0;
                                    a.push(r);
                                }
                            }
                        },
                        c = Pe(i.getClientRects());
                    if (!c) return a;
                    const u = i.getNode();
                    return (
                        l(u),
                        ((e, t, n, r) => {
                            for (; (r = Nc(r, e, xo, t)); ) if (n(r)) return;
                        })(e, r, l, u),
                        a
                    );
                },
                RC = R(DC, OC.Up, ds, fs),
                LC = R(DC, OC.Down, fs, ds),
                PC = (e) => (t) => ((e, t) => t.line > e)(e, t),
                $C = (e) => (t) => ((e, t) => t.line === e)(e, t),
                MC = (e, t) => {
                    e.selection.setRng(t), Gf(e, e.selection.getRng());
                },
                IC = (e, t, n) => B.some(_w(e, t, n)),
                BC = (e, t, n, r, o, i) => {
                    const s = t === zc.Forwards,
                        a = tu(e.getBody()),
                        l = R(Uc, s ? a.next : a.prev),
                        c = s ? r : o;
                    if (!n.collapsed) {
                        const r = hs(n);
                        if (i(r)) return yw(t, e, r, t === zc.Backwards, !1);
                    }
                    const u = Fc(t, e.getBody(), n);
                    if (c(u)) return bw(e, u.getNode(!s));
                    const d = W_(s, l(u)),
                        f = fo(n);
                    if (!d) return f ? B.some(n) : B.none();
                    if (c(d)) return yw(t, e, d.getNode(!s), s, !1);
                    const p = l(d);
                    return p && c(p) && qc(d, p) ? yw(t, e, p.getNode(!s), s, !1) : f ? IC(e, d.toRange(), !1) : B.none();
                },
                jC = (e, t, n, r, o, i) => {
                    const s = Fc(t, e.getBody(), n),
                        a = Pe(s.getClientRects()),
                        l = t === OC.Down;
                    if (!a) return B.none();
                    const c = (l ? LC : RC)(e.getBody(), PC(1), s),
                        u = Y(c, $C(1)),
                        d = a.left,
                        f = SC(u, d);
                    if (f && i(f.node)) {
                        const n = Math.abs(d - f.left),
                            r = Math.abs(d - f.right);
                        return yw(t, e, f.node, n < r, !1);
                    }
                    let p;
                    if (((p = r(s) ? s.getNode() : o(s) ? s.getNode(!0) : hs(n)), p)) {
                        const n = ((e, t, n, r) => {
                            const o = tu(t);
                            let i, s, a, l;
                            const c = [];
                            let u = 0;
                            const d = (e) => Pe(e.getClientRects());
                            1 === e ? ((i = o.next), (s = fs), (a = ds), (l = Ms.after(r))) : ((i = o.prev), (s = ds), (a = fs), (l = Ms.before(r)));
                            const f = d(l);
                            do {
                                if (!l.isVisible()) continue;
                                const e = d(l);
                                if (a(e, f)) continue;
                                c.length > 0 && s(e, Pe(c)) && u++;
                                const t = ls(e);
                                if (((t.position = l), (t.line = u), n(t))) return c;
                                c.push(t);
                            } while ((l = i(l)));
                            return c;
                        })(t, e.getBody(), PC(1), p);
                        let r = SC(Y(n, $C(1)), d);
                        if (r) return IC(e, r.position.toRange(), !1);
                        if (((r = Pe(Y(n, $C(0)))), r)) return IC(e, r.position.toRange(), !1);
                    }
                    return 0 === u.length
                        ? FC(e, l)
                              .filter(l ? o : r)
                              .map((t) => _w(e, t.toRange(), !1))
                        : B.none();
                },
                FC = (e, t) => {
                    const n = e.selection.getRng(),
                        r = t ? Ms.fromRangeEnd(n) : Ms.fromRangeStart(n),
                        o =
                            ((i = r.container()),
                            (s = e.getBody()),
                            Or(
                                Qt.fromDom(i),
                                (e) => yc(e.dom),
                                (e) => e.dom === s
                            )
                                .map((e) => e.dom)
                                .getOr(s));
                    var i, s;
                    if (t) {
                        const e = wC(o, r);
                        return ue(e.positions);
                    }
                    {
                        const e = _C(o, r);
                        return ce(e.positions);
                    }
                },
                HC = (e, t, n) =>
                    FC(e, t)
                        .filter(n)
                        .exists((t) => (e.selection.setRng(t.toRange()), !0)),
                UC = (e, t) => {
                    const n = e.dom.createRng();
                    n.setStart(t.container(), t.offset()), n.setEnd(t.container(), t.offset()), e.selection.setRng(n);
                },
                qC = (e, t) => {
                    e ? t.setAttribute("data-mce-selected", "inline-boundary") : t.removeAttribute("data-mce-selected");
                },
                zC = (e, t, n) => zw(t, n).map((t) => (UC(e, t), n)),
                WC = (e, t) => {
                    if (e.selection.isCollapsed() && !0 !== e.composing && t.get()) {
                        const n = Ms.fromRangeStart(e.selection.getRng());
                        Ms.isTextPosition(n) && !1 === ((e) => io(e) || so(e))(n) && (UC(e, lc(t.get(), n)), t.set(null));
                    }
                },
                VC = (e, t, n) =>
                    !!ul(e) &&
                    ((e, t, n) => {
                        const r = e.getBody(),
                            o = Ms.fromRangeStart(e.selection.getRng()),
                            i = R(U_, e);
                        return cC(n, i, r, o).bind((n) => zC(e, t, n));
                    })(e, t, n).isSome(),
                KC = (e, t, n) => !!ul(t) && dC(e, t),
                GC = (e) => {
                    const t = Li(null),
                        n = R(U_, e);
                    return (
                        e.on("NodeChange", (r) => {
                            ul(e) &&
                                (((e, t, n) => {
                                    const r = W(qi(Qt.fromDom(t.getRoot()), '*[data-mce-selected="inline-boundary"]'), (e) => e.dom),
                                        o = Y(r, e),
                                        i = Y(n, e);
                                    V(ie(o, i), R(qC, !1)), V(ie(i, o), R(qC, !0));
                                })(n, e.dom, r.parents),
                                WC(e, t),
                                ((e, t, n, r) => {
                                    if (t.selection.isCollapsed()) {
                                        const o = Y(r, e);
                                        V(o, (r) => {
                                            const o = Ms.fromRangeStart(t.selection.getRng());
                                            tC(e, t.getBody(), o).bind((e) => zC(t, n, e));
                                        });
                                    }
                                })(n, e, t, r.parents));
                        }),
                        t
                    );
                },
                YC = R(KC, !0),
                XC = R(KC, !1),
                JC = (e, t, n) => {
                    if (ul(e)) {
                        const r = FC(e, t).getOrThunk(() => {
                            const n = e.selection.getRng();
                            return t ? Ms.fromRangeEnd(n) : Ms.fromRangeStart(n);
                        });
                        return tC(R(U_, e), e.getBody(), r).exists((t) => {
                            const r = oC(t);
                            return zw(n, r).exists((t) => (UC(e, t), !0));
                        });
                    }
                    return !1;
                },
                QC = (e, t) => (n) => zw(t, n).map((t) => () => UC(e, t)),
                ZC = (e, t, n, r) => {
                    const o = e.getBody(),
                        i = R(U_, e);
                    e.undoManager.ignore(() => {
                        e.selection.setRng(
                            ((e, t) => {
                                const n = document.createRange();
                                return n.setStart(e.container(), e.offset()), n.setEnd(t.container(), t.offset()), n;
                            })(n, r)
                        ),
                            Y_(e),
                            tC(i, o, Ms.fromRangeStart(e.selection.getRng())).map(iC).bind(QC(e, t)).each($);
                    }),
                        e.nodeChanged();
                },
                ex = (e, t, n, r) => {
                    const o = ((e, t) => {
                            const n = Oc(t, e);
                            return n || e;
                        })(e.getBody(), r.container()),
                        i = R(U_, e),
                        s = tC(i, o, r);
                    return s
                        .bind((e) => (n ? e.fold(N(B.some(iC(e))), B.none, N(B.some(oC(e))), B.none) : e.fold(B.none, N(B.some(oC(e))), B.none, N(B.some(iC(e))))))
                        .map(QC(e, t))
                        .getOrThunk(() => {
                            const a = au(n, o, r),
                                l = a.bind((e) => tC(i, o, e));
                            return xt(s, l, () =>
                                z_(i, o, r).bind((t) =>
                                    ((e) =>
                                        xt(fu(e), pu(e), (t, n) => {
                                            const r = W_(!0, t),
                                                o = W_(!1, n);
                                            return uu(e, r).forall((e) => e.isEqual(o));
                                        }).getOr(!0))(t)
                                        ? B.some(() => {
                                              lm(e, n, Qt.fromDom(t));
                                          })
                                        : B.none()
                                )
                            ).getOrThunk(() =>
                                l.bind(() =>
                                    a.map((o) => () => {
                                        n ? ZC(e, t, r, o) : ZC(e, t, o, r);
                                    })
                                )
                            );
                        });
                },
                tx = (e, t, n) => {
                    if (e.selection.isCollapsed() && ul(e)) {
                        const r = Ms.fromRangeStart(e.selection.getRng());
                        return ex(e, t, n, r);
                    }
                    return B.none();
                },
                nx = (e) => 1 === vn(e),
                rx = (e, t, n, r) => {
                    const o = R(Dg, t),
                        i = W(Y(r, o), (e) => e.dom);
                    if (0 === i.length) lm(t, e, n);
                    else {
                        const e = ((e, t) => {
                            const n = Eg(!1),
                                r = Tg(t, n.dom);
                            return $n(Qt.fromDom(e), n), Hn(Qt.fromDom(e)), Ms(r, 0);
                        })(n.dom, i);
                        t.selection.setRng(e.toRange());
                    }
                },
                ox = (e, t) => {
                    const n = Qt.fromDom(e.getBody()),
                        r = Qt.fromDom(e.selection.getStart()),
                        o = Y(
                            ((e, t) => {
                                const n = _h(t, e);
                                return ee(n, Hr).fold(N(n), (e) => n.slice(0, e));
                            })(n, r),
                            nx
                        );
                    return ue(o).bind((n) => {
                        const r = Ms.fromRangeStart(e.selection.getRng());
                        return !((e, t, n) =>
                            xt(fu(n), pu(n), (r, o) => {
                                const i = W_(!0, r),
                                    s = W_(!1, o),
                                    a = W_(!1, t);
                                return e ? uu(n, a).exists((e) => e.isEqual(s) && t.isEqual(i)) : du(n, a).exists((e) => e.isEqual(i) && t.isEqual(s));
                            }).getOr(!0))(t, r, n.dom) ||
                            (hu((i = n).dom) && Cg(i.dom))
                            ? B.none()
                            : B.some(() => rx(t, e, n, o));
                        var i;
                    });
                },
                ix = (e, t) => (e.selection.isCollapsed() ? ox(e, t) : B.none()),
                sx = (e, t, n) =>
                    B.some(() => {
                        e._selectionOverrides.hideFakeCaret(), lm(e, t, Qt.fromDom(n));
                    }),
                ax = (e, t) =>
                    e.selection.isCollapsed()
                        ? ((e, t) => {
                              const n = t ? ch : uh,
                                  r = t ? zc.Forwards : zc.Backwards,
                                  o = Fc(r, e.getBody(), e.selection.getRng());
                              return n(o)
                                  ? sx(e, t, o.getNode(!t))
                                  : B.from(W_(t, o))
                                        .filter((e) => n(e) && qc(o, e))
                                        .map((n) => () => sx(e, t, n.getNode(!t)));
                          })(e, t)
                        : ((e, t) => {
                              const n = e.selection.getNode();
                              return Er(n) ? sx(e, t, n) : B.none();
                          })(e, t),
                lx = (e) => {
                    const t = parseInt(e, 10);
                    return isNaN(t) ? 0 : t;
                },
                cx = (e, t) => (e || "table" === kt(t) ? "margin" : "padding") + ("rtl" === On(t, "direction") ? "-right" : "-left"),
                ux = (e) => {
                    const t = fx(e);
                    return (
                        !e.mode.isReadOnly() &&
                        (t.length > 1 ||
                            ((e, t) =>
                                re(t, (t) => {
                                    const n = cx(Ga(e), t),
                                        r = Rn(t, n).map(lx).getOr(0);
                                    return "false" !== e.dom.getContentEditable(t.dom) && r > 0;
                                }))(e, t))
                    );
                },
                dx = (e) => Wr(e) || Vr(e),
                fx = (e) => {
                    return Y(((t = e.selection.getSelectedBlocks()), W(t, Qt.fromDom)), (e) => !dx(e) && !((e) => ln(e).exists(dx))(e) && Dr(e, (e) => wr(e.dom) || Cr(e.dom)).exists((e) => wr(e.dom)));
                    var t;
                },
                px = (e, t) => {
                    const { dom: n } = e,
                        r = Ya(e),
                        o = /[a-z%]+$/i.exec(r)[0],
                        i = parseInt(r, 10),
                        s = Ga(e);
                    V(fx(e), (e) => {
                        ((e, t, n, r, o, i) => {
                            const s = cx(n, Qt.fromDom(i));
                            if ("outdent" === t) {
                                const t = Math.max(0, lx(i.style[s]) - r);
                                e.setStyle(i, s, t ? t + o : "");
                            } else {
                                const t = lx(i.style[s]) + r + o;
                                e.setStyle(i, s, t);
                            }
                        })(n, t, s, i, o, e.dom);
                    });
                },
                hx = (e) => px(e, "outdent"),
                mx = (e) => {
                    if (e.selection.isCollapsed() && ux(e)) {
                        const t = e.dom,
                            n = e.selection.getRng(),
                            r = Ms.fromRangeStart(n),
                            o = t.getParent(n.startContainer, t.isBlock);
                        if (null !== o && kh(Qt.fromDom(o), r)) return B.some(() => hx(e));
                    }
                    return B.none();
                },
                gx = (e, t, n) => fe([mx, Lw, Ew, (e, n) => tx(e, t, n), dw, Bm, Pw, ax, mw, ix], (t) => t(e, n)),
                vx = (e, t) => {
                    gx(e, t, !0).fold(() => ((e) => G_(e, "ForwardDelete"))(e), $);
                },
                yx = (e, t) => {
                    e.addCommand("delete", () => {
                        ((e, t) => {
                            gx(e, t, !1).fold(() => {
                                Y_(e), Q_(e);
                            }, $);
                        })(e, t);
                    }),
                        e.addCommand("forwardDelete", () => {
                            vx(e, t);
                        });
                },
                bx = (e) => (void 0 === e.touches || 1 !== e.touches.length ? B.none() : B.some(e.touches[0])),
                _x = (e) => {
                    const t = ji(),
                        n = Li(!1),
                        r = Hi((t) => {
                            e.dispatch("longpress", { ...t, type: "longpress" }), n.set(!0);
                        }, 400);
                    e.on(
                        "touchstart",
                        (e) => {
                            bx(e).each((o) => {
                                r.cancel();
                                const i = { x: o.clientX, y: o.clientY, target: e.target };
                                r.throttle(e), n.set(!1), t.set(i);
                            });
                        },
                        !0
                    ),
                        e.on(
                            "touchmove",
                            (o) => {
                                r.cancel(),
                                    bx(o).each((r) => {
                                        t.on((o) => {
                                            ((e, t) => {
                                                const n = Math.abs(e.clientX - t.x),
                                                    r = Math.abs(e.clientY - t.y);
                                                return n > 5 || r > 5;
                                            })(r, o) && (t.clear(), n.set(!1), e.dispatch("longpresscancel"));
                                        });
                                    });
                            },
                            !0
                        ),
                        e.on(
                            "touchend touchcancel",
                            (o) => {
                                r.cancel(),
                                    "touchcancel" !== o.type &&
                                        t
                                            .get()
                                            .filter((e) => e.target.isEqualNode(o.target))
                                            .each(() => {
                                                n.get() ? o.preventDefault() : e.dispatch("tap", { ...o, type: "tap" });
                                            });
                            },
                            !0
                        );
                },
                wx = (e, t) => Ee(e, t.nodeName),
                Cx = (e, t) => !!pr(t) || (!!ir(t) && !wx(e, t) && !Au(t)),
                xx = (e, t) => {
                    if (pr(t)) {
                        if (0 === t.nodeValue.length) return !0;
                        if (/^\s+$/.test(t.nodeValue) && (!t.nextSibling || wx(e, t.nextSibling))) return !0;
                    }
                    return !1;
                },
                Ex = (e) => {
                    const t = e.dom,
                        n = e.selection,
                        r = e.schema,
                        o = r.getBlockElements();
                    let i = n.getStart();
                    const s = e.getBody();
                    let a, l, c;
                    const u = Na(e);
                    if (!i || !ir(i)) return;
                    const d = s.nodeName.toLowerCase();
                    if (!r.isValidChild(d, u.toLowerCase()) || ((e, t, n) => z(bh(Qt.fromDom(n), Qt.fromDom(t)), (t) => wx(e, t.dom)))(o, s, i)) return;
                    const f = n.getRng(),
                        p = f.startContainer,
                        h = f.startOffset,
                        m = f.endContainer,
                        g = f.endOffset,
                        v = bp(e);
                    for (i = s.firstChild; i; )
                        if (Cx(o, i)) {
                            if (xx(o, i)) {
                                (l = i), (i = i.nextSibling), t.remove(l);
                                continue;
                            }
                            a || ((a = t.create(u, Oa(e))), i.parentNode.insertBefore(a, i), (c = !0)), (l = i), (i = i.nextSibling), a.appendChild(l);
                        } else (a = null), (i = i.nextSibling);
                    c && v && (f.setStart(p, h), f.setEnd(m, g), n.setRng(f), e.nodeChanged());
                },
                kx = (e) => (t) => -1 !== (" " + t.attr("class") + " ").indexOf(e),
                Ax = (e, t, n) =>
                    function (r) {
                        const o = arguments,
                            i = o[o.length - 2],
                            s = i > 0 ? t.charAt(i - 1) : "";
                        if ('"' === s) return r;
                        if (">" === s) {
                            const e = t.lastIndexOf("<", i);
                            if (-1 !== e) {
                                if (-1 !== t.substring(e, i).indexOf('contenteditable="false"')) return r;
                            }
                        }
                        return '<span class="' + n + '" data-mce-content="' + e.dom.encode(o[0]) + '">' + e.dom.encode("string" == typeof o[1] ? o[1] : o[0]) + "</span>";
                    },
                Sx = (e) => {
                    const t = " " + wt.trim(Xl(e)) + " ",
                        n = " " + wt.trim(Yl(e)) + " ",
                        r = kx(t),
                        o = kx(n),
                        i = Jl(e);
                    i.length > 0 &&
                        e.on("BeforeSetContent", (t) => {
                            ((e, t, n) => {
                                let r = t.length,
                                    o = n.content;
                                if ("raw" !== n.format) {
                                    for (; r--; ) o = o.replace(t[r], Ax(e, o, Yl(e)));
                                    n.content = o;
                                }
                            })(e, i, t);
                        }),
                        e.parser.addAttributeFilter("class", (e) => {
                            let t = e.length;
                            for (; t--; ) {
                                const n = e[t];
                                r(n) ? n.attr("contenteditable", "true") : o(n) && n.attr("contenteditable", "false");
                            }
                        }),
                        e.serializer.addAttributeFilter("contenteditable", (e) => {
                            let t = e.length;
                            for (; t--; ) {
                                const n = e[t];
                                (r(n) || o(n)) && (i.length > 0 && n.attr("data-mce-content") ? ((n.name = "#text"), (n.type = 3), (n.raw = !0), (n.value = n.attr("data-mce-content"))) : n.attr("contenteditable", null));
                            }
                        });
                },
                Tx = (e, t) => {
                    t.hasAttribute("data-mce-caret") && (uo(t), e.selection.setRng(e.selection.getRng()), e.selection.scrollIntoView(t));
                },
                Nx = (e, t) => {
                    const n = ((e) =>
                        Pr(Qt.fromDom(e.getBody()), "*[data-mce-caret]")
                            .map((e) => e.dom)
                            .getOrNull())(e);
                    if (n) return "compositionstart" === t.type ? (t.preventDefault(), t.stopPropagation(), void Tx(e, n)) : void (oo(n) && (Tx(e, n), e.undoManager.add()));
                },
                Ox = Cr,
                Dx = (e, t, n) => {
                    const r = tu(e.getBody()),
                        o = R(Uc, 1 === t ? r.next : r.prev);
                    if (n.collapsed) {
                        const r = e.dom.getParent(n.startContainer, "PRE");
                        if (!r) return;
                        if (!o(Ms.fromRangeStart(n))) {
                            const n = Qt.fromDom(
                                ((e) => {
                                    const t = e.dom.create(Na(e));
                                    return (t.innerHTML = '<br data-mce-bogus="1">'), t;
                                })(e)
                            );
                            1 === t ? Mn(Qt.fromDom(r), n) : $n(Qt.fromDom(r), n), e.selection.select(n.dom, !0), e.selection.collapse();
                        }
                    }
                },
                Rx = (e, t) => {
                    const n = t ? zc.Forwards : zc.Backwards,
                        r = e.selection.getRng();
                    return ((e, t, n) => BC(t, e, n, ph, hh, Ox))(n, e, r).orThunk(() => (Dx(e, n, r), B.none()));
                },
                Lx = (e, t) => {
                    const n = t ? 1 : -1,
                        r = e.selection.getRng();
                    return ((e, t, n) =>
                        jC(
                            t,
                            e,
                            n,
                            (e) => ph(e) || dh(e),
                            (e) => hh(e) || fh(e),
                            Ox
                        ))(n, e, r).orThunk(() => (Dx(e, n, r), B.none()));
                },
                Px = (e, t) => Rx(e, t).exists((t) => (MC(e, t), !0)),
                $x = (e, t) => Lx(e, t).exists((t) => (MC(e, t), !0)),
                Mx = (e, t) => HC(e, t, t ? hh : ph),
                Ix = (e) => q(["figcaption"], kt(e)),
                Bx = (e, t, n, r) => {
                    const o = Qt.fromTag(n),
                        i = Qt.fromTag("br");
                    return (
                        Pt(o, r),
                        Bn(o, i),
                        ((e, t, n) => {
                            n ? Bn(e, t) : In(e, t);
                        })(e, o, t),
                        ((e) => {
                            const t = document.createRange();
                            return t.setStartBefore(e.dom), t.setEndBefore(e.dom), t;
                        })(i)
                    );
                },
                jx = (e, t, n) => (t ? ((e, t) => wC(e, t).breakAt.isNone())(e.dom, n) : ((e, t) => _C(e, t).breakAt.isNone())(e.dom, n)),
                Fx = (e, t) => {
                    const n = Qt.fromDom(e.getBody()),
                        r = Ms.fromRangeStart(e.selection.getRng()),
                        o = Na(e),
                        i = Oa(e);
                    return ((e, t) => {
                        const n = R(nn, t);
                        return Dr(Qt.fromDom(e.container()), Hr, n).filter(Ix);
                    })(r, n).exists(() => {
                        if (jx(n, t, r)) {
                            const r = Bx(n, t, o, i);
                            return e.selection.setRng(r), !0;
                        }
                        return !1;
                    });
                },
                Hx = (e, t) => !!e.selection.isCollapsed() && Fx(e, t),
                Ux = { shiftKey: !1, altKey: !1, ctrlKey: !1, metaKey: !1, keyCode: 0 },
                qx = (e, t) => t.keyCode === e.keyCode && t.shiftKey === e.shiftKey && t.altKey === e.altKey && t.ctrlKey === e.ctrlKey && t.metaKey === e.metaKey,
                zx = (e, t) => ne(((e) => W(e, (e) => ({ ...Ux, action: A, ...e })))(e), (e) => (qx(e, t) ? [e] : [])),
                Wx = (e, t) => ne(((e) => W(e, (e) => ({ ...Ux, action: () => B.none(), ...e })))(e), (e) => (qx(e, t) ? [e] : [])),
                Vx = (e, ...t) => () => e.apply(null, t),
                Kx = (e, t) => Z(zx(e, t), (e) => e.action()),
                Gx = (e, t) => fe(Wx(e, t), (e) => e.action()),
                Yx = (e, t) => {
                    const n = t ? zc.Forwards : zc.Backwards,
                        r = e.selection.getRng();
                    return BC(e, n, r, ch, uh, Er).exists((t) => (MC(e, t), !0));
                },
                Xx = (e, t) => {
                    const n = t ? 1 : -1,
                        r = e.selection.getRng();
                    return jC(e, n, r, ch, uh, Er).exists((t) => (MC(e, t), !0));
                },
                Jx = (e, t) => HC(e, t, t ? uh : ch),
                Qx = la([{ none: ["current"] }, { first: ["current"] }, { middle: ["current", "target"] }, { last: ["current"] }]),
                Zx = { ...Qx, none: (e) => Qx.none(e) },
                eE = (e, t, n) => ne(pn(e), (e) => (en(e, t) ? (n(e) ? [e] : []) : eE(e, t, n))),
                tE = (e, t) =>
                    ((e, t, n = M) => {
                        if (n(t)) return B.none();
                        if (q(e, kt(t))) return B.some(t);
                        return Lr(t, e.join(","), (e) => en(e, "table") || n(e));
                    })(["td", "th"], e, t),
                nE = (e) => eE(e, "th,td", I),
                rE = (e, t) => $r(e, "table", t),
                oE = (e, t, n, r, o = I) => {
                    const i = 1 === r;
                    if (!i && n <= 0) return Zx.first(e[0]);
                    if (i && n >= e.length - 1) return Zx.last(e[e.length - 1]);
                    {
                        const i = n + r,
                            s = e[i];
                        return o(s) ? Zx.middle(t, s) : oE(e, t, i, r, o);
                    }
                },
                iE = (e, t) =>
                    rE(e, t).bind((t) => {
                        const n = nE(t);
                        return ee(n, (t) => nn(e, t)).map((e) => ({ index: e, all: n }));
                    }),
                sE = (e, t = !1) => {
                    return An(e) ? e.dom.isContentEditable : ((n = e), $r(n, "[contenteditable]")).fold(N(t), (e) => "true" === aE(e));
                    var n;
                },
                aE = (e) => e.dom.contentEditable,
                lE = (e, t, n, r, o) => {
                    const i = qi(Qt.fromDom(n), "td,th,caption").map((e) => e.dom);
                    return ((e, t, n) =>
                        J(
                            e,
                            (e, r) =>
                                e.fold(
                                    () => B.some(r),
                                    (e) => {
                                        const o = Math.sqrt(Math.abs(e.x - t) + Math.abs(e.y - n)),
                                            i = Math.sqrt(Math.abs(r.x - t) + Math.abs(r.y - n));
                                        return B.some(i < o ? r : e);
                                    }
                                ),
                            B.none()
                        ))(
                        Y(
                            ((e, t) =>
                                ne(t, (t) => {
                                    const n = ((e, t) => ({ left: e.left - t, top: e.top - t, right: e.right + 2 * t, bottom: e.bottom + 2 * t, width: e.width + t, height: e.height + t }))(ls(t.getBoundingClientRect()), -1);
                                    return [
                                        { x: n.left, y: e(n), cell: t },
                                        { x: n.right, y: e(n), cell: t },
                                    ];
                                }))(e, i),
                            (e) => t(e, o)
                        ),
                        r,
                        o
                    ).map((e) => e.cell);
                },
                cE = R(
                    lE,
                    (e) => e.bottom,
                    (e, t) => e.y < t
                ),
                uE = R(
                    lE,
                    (e) => e.top,
                    (e, t) => e.y > t
                ),
                dE = (e, t) =>
                    ce(t.getClientRects())
                        .bind((t) => cE(e, t.left, t.top))
                        .bind((e) => {
                            return bC(
                                pu((n = e))
                                    .map((e) => _C(n, e).positions.concat(e))
                                    .getOr([]),
                                t
                            );
                            var n;
                        }),
                fE = (e, t) =>
                    ue(t.getClientRects())
                        .bind((t) => uE(e, t.left, t.top))
                        .bind((e) => {
                            return bC(
                                fu((n = e))
                                    .map((e) => [e].concat(wC(n, e).positions))
                                    .getOr([]),
                                t
                            );
                            var n;
                        }),
                pE = (e, t, n) => {
                    const r = e(t, n);
                    return ((e) => e.breakType === fC.Wrap && 0 === e.positions.length)(r) || (!br(n.getNode()) && ((e) => e.breakType === fC.Br && 1 === e.positions.length)(r))
                        ? !((e, t, n) => n.breakAt.exists((n) => e(t, n).breakAt.isSome()))(e, t, r)
                        : r.breakAt.isNone();
                },
                hE = R(pE, _C),
                mE = R(pE, wC),
                gE = (e, t, n, r) => {
                    const o = e.selection.getRng(),
                        i = t ? 1 : -1;
                    return (
                        !(
                            !mc() ||
                            !((e, t, n) => {
                                const r = Ms.fromRangeStart(t);
                                return cu(!e, n).exists((e) => e.isEqual(r));
                            })(t, o, n)
                        ) &&
                        (yw(i, e, n, !t, !1).each((t) => {
                            MC(e, t);
                        }),
                        !0)
                    );
                },
                vE = (e, t) => {
                    const n = t.getNode(e);
                    return ir(n) && "TABLE" === n.nodeName ? B.some(n) : B.none();
                },
                yE = (e, t, n) => {
                    const r = vE(!!t, n),
                        o = !1 === t;
                    r.fold(
                        () => MC(e, n.toRange()),
                        (r) =>
                            cu(o, e.getBody())
                                .filter((e) => e.isEqual(n))
                                .fold(
                                    () => MC(e, n.toRange()),
                                    (n) =>
                                        ((e, t, n) => {
                                            const r = Na(t);
                                            t.undoManager.transact(() => {
                                                const o = Qt.fromTag(r);
                                                Pt(o, Oa(t)), Bn(o, Qt.fromTag("br")), e ? Mn(Qt.fromDom(n), o) : $n(Qt.fromDom(n), o);
                                                const i = t.dom.createRng();
                                                i.setStart(o.dom, 0), i.setEnd(o.dom, 0), MC(t, i);
                                            });
                                        })(t, e, r)
                                )
                    );
                },
                bE = (e, t, n, r) => {
                    const o = e.selection.getRng(),
                        i = Ms.fromRangeStart(o),
                        s = e.getBody();
                    if (!t && hE(r, i)) {
                        const r = ((e, t, n) =>
                            dE(t, n)
                                .orThunk(() => ce(n.getClientRects()).bind((n) => yC(CC(e, Ms.before(t)), n.left)))
                                .getOr(Ms.before(t)))(s, n, i);
                        return yE(e, t, r), !0;
                    }
                    if (t && mE(r, i)) {
                        const r = ((e, t, n) =>
                            fE(t, n)
                                .orThunk(() => ce(n.getClientRects()).bind((n) => yC(xC(e, Ms.after(t)), n.left)))
                                .getOr(Ms.after(t)))(s, n, i);
                        return yE(e, t, r), !0;
                    }
                    return !1;
                },
                _E = (e, t, n) =>
                    B.from(e.dom.getParent(e.selection.getNode(), "td,th"))
                        .bind((r) => B.from(e.dom.getParent(r, "table")).map((o) => n(e, t, o, r)))
                        .getOr(!1),
                wE = (e, t) => _E(e, t, gE),
                CE = (e, t) => _E(e, t, bE),
                xE = (e, t, n) =>
                    n.fold(
                        B.none,
                        B.none,
                        (e, t) =>
                            Op(t).map((e) =>
                                ((e) => {
                                    const t = sf.exact(e, 0, e, 0);
                                    return df(t);
                                })(e)
                            ),
                        (n) => (e.execCommand("mceTableInsertRowAfter"), EE(e, t, n))
                    ),
                EE = (e, t, n) =>
                    xE(
                        e,
                        t,
                        ((e, t, n) =>
                            iE(e, n).fold(
                                () => Zx.none(e),
                                (n) => oE(n.all, e, n.index, 1, t)
                            ))(n, sE)
                    ),
                kE = (e, t, n) =>
                    xE(
                        e,
                        t,
                        ((e, t, n) =>
                            iE(e, n).fold(
                                () => Zx.none(),
                                (n) => oE(n.all, e, n.index, -1, t)
                            ))(n, sE)
                    ),
                AE = (e, t) => {
                    const n = ["table", "li", "dl"],
                        r = Qt.fromDom(e.getBody()),
                        o = (e) => {
                            const t = kt(e);
                            return nn(e, r) || q(n, t);
                        },
                        i = e.selection.getRng(),
                        s = Qt.fromDom(t ? i.endContainer : i.startContainer);
                    return tE(s, o)
                        .map((n) => {
                            rE(n, o).each((t) => {
                                e.model.table.clearSelectedCells(t.dom);
                            }),
                                e.selection.collapse(!t);
                            return (
                                (t ? EE : kE)(e, o, n).each((t) => {
                                    e.selection.setRng(t);
                                }),
                                !0
                            );
                        })
                        .getOr(!1);
                },
                SE = (e, t) => {
                    e.on("keydown", (n) => {
                        !1 === n.isDefaultPrevented() &&
                            ((e, t, n) => {
                                const r = ct().os;
                                Kx(
                                    [
                                        { keyCode: Wd.RIGHT, action: Vx(Px, e, !0) },
                                        { keyCode: Wd.LEFT, action: Vx(Px, e, !1) },
                                        { keyCode: Wd.UP, action: Vx($x, e, !1) },
                                        { keyCode: Wd.DOWN, action: Vx($x, e, !0) },
                                        { keyCode: Wd.RIGHT, action: Vx(wE, e, !0) },
                                        { keyCode: Wd.LEFT, action: Vx(wE, e, !1) },
                                        { keyCode: Wd.UP, action: Vx(CE, e, !1) },
                                        { keyCode: Wd.DOWN, action: Vx(CE, e, !0) },
                                        { keyCode: Wd.RIGHT, action: Vx(Yx, e, !0) },
                                        { keyCode: Wd.LEFT, action: Vx(Yx, e, !1) },
                                        { keyCode: Wd.UP, action: Vx(Xx, e, !1) },
                                        { keyCode: Wd.DOWN, action: Vx(Xx, e, !0) },
                                        { keyCode: Wd.RIGHT, action: Vx(VC, e, t, !0) },
                                        { keyCode: Wd.LEFT, action: Vx(VC, e, t, !1) },
                                        { keyCode: Wd.RIGHT, ctrlKey: !r.isMacOS(), altKey: r.isMacOS(), action: Vx(YC, e, t) },
                                        { keyCode: Wd.LEFT, ctrlKey: !r.isMacOS(), altKey: r.isMacOS(), action: Vx(XC, e, t) },
                                        { keyCode: Wd.UP, action: Vx(Hx, e, !1) },
                                        { keyCode: Wd.DOWN, action: Vx(Hx, e, !0) },
                                    ],
                                    n
                                ).each((e) => {
                                    n.preventDefault();
                                });
                            })(e, t, n);
                    });
                },
                TE = (e, t) => ({ container: e, offset: t }),
                NE = Oi.DOM,
                OE = (e) => (t) => (e === t ? -1 : 0),
                DE = (e, t, n) => {
                    if (pr(e) && t >= 0) return B.some(TE(e, t));
                    {
                        const r = ss(NE);
                        return B.from(r.backwards(e, t, OE(e), n)).map((e) => TE(e.container, e.container.data.length));
                    }
                },
                RE = (e, t, n) => {
                    if (!pr(e)) return B.none();
                    const r = e.textContent;
                    if (t >= 0 && t <= r.length) return B.some(TE(e, t));
                    {
                        const r = ss(NE);
                        return B.from(r.backwards(e, t, OE(e), n)).bind((e) => {
                            const r = e.container.data;
                            return RE(e.container, t + r.length, n);
                        });
                    }
                },
                LE = (e, t, n) => {
                    if (!pr(e)) return B.none();
                    const r = e.textContent;
                    if (t <= r.length) return B.some(TE(e, t));
                    {
                        const o = ss(NE);
                        return B.from(o.forwards(e, t, OE(e), n)).bind((e) => LE(e.container, t - r.length, n));
                    }
                },
                PE = (e, t, n, r, o) => {
                    const i = ss(e, ((e) => (t) => e.isBlock(t) || q(["BR", "IMG", "HR", "INPUT"], t.nodeName) || "false" === e.getContentEditable(t))(e));
                    return B.from(i.backwards(t, n, r, o));
                },
                $E = (e) =>
                    e
                        .toString()
                        .replace(/\u00A0/g, " ")
                        .replace(/\uFEFF/g, ""),
                ME = (e) => "" !== e && -1 !== "  \f\n\r\t\v".indexOf(e),
                IE = (e, t) => e.substring(t.length),
                BE = (e, t, n, r = 0) => {
                    if (!(o = t).collapsed || 3 !== o.startContainer.nodeType) return B.none();
                    var o;
                    const i = e.getParent(t.startContainer, e.isBlock) || e.getRoot();
                    return PE(
                        e,
                        t.startContainer,
                        t.startOffset,
                        (e, t, r) =>
                            ((e, t, n) => {
                                let r;
                                for (r = t - 1; r >= 0; r--) {
                                    const t = e.charAt(r);
                                    if (ME(t)) return B.none();
                                    if (t === n) break;
                                }
                                return B.some(r);
                            })(r, t, n).getOr(t),
                        i
                    ).bind((e) => {
                        const o = t.cloneRange();
                        if ((o.setStart(e.container, e.offset), o.setEnd(t.endContainer, t.endOffset), o.collapsed)) return B.none();
                        const i = $E(o);
                        return 0 !== i.lastIndexOf(n) || IE(i, n).length < r ? B.none() : B.some({ text: IE(i, n), range: o, triggerChar: n });
                    });
                },
                jE = (e, t, n, r = 0) => {
                    return ((o = Qt.fromDom(t.startContainer)), $r(o, "[data-mce-autocompleter]")).fold(
                        () => BE(e, t, n, r),
                        (t) => {
                            const r = e.createRng();
                            r.selectNode(t.dom);
                            const o = $E(r);
                            return B.some({ range: r, text: IE(o, n), triggerChar: n });
                        }
                    );
                    var o;
                },
                FE = (e) => {
                    if (((e) => 3 === e.nodeType)(e)) return TE(e, e.data.length);
                    {
                        const t = e.childNodes;
                        return t.length > 0 ? FE(t[t.length - 1]) : TE(e, t.length);
                    }
                },
                HE = (e, t) => {
                    const n = e.childNodes;
                    return n.length > 0 && t < n.length ? HE(n[t], 0) : n.length > 0 && ((e) => 1 === e.nodeType)(e) && n.length === t ? FE(n[n.length - 1]) : TE(e, t);
                },
                UE = (e) => (t) => {
                    const n = HE(t.startContainer, t.startOffset);
                    return !((e, t) =>
                        PE(e, t.container, t.offset, (e, t) => (0 === t ? -1 : t), e.getRoot())
                            .filter((e) => {
                                const t = e.container.data.charAt(e.offset - 1);
                                return !ME(t);
                            })
                            .isSome())(e, n);
                },
                qE = (e, t) => {
                    const n = t(),
                        r = e.selection.getRng();
                    return ((e, t, n) => fe(n.triggerChars, (n) => jE(e, t, n)))(e.dom, r, n).bind((n) => zE(e, t, n));
                },
                zE = (e, t, n, r = {}) => {
                    const o = t(),
                        i = e.selection.getRng().startContainer.nodeValue,
                        s = Y(o.lookupByChar(n.triggerChar), (t) => n.text.length >= t.minChars && t.matches.getOrThunk(() => UE(e.dom))(n.range, i, n.text));
                    if (0 === s.length) return B.none();
                    const a = Promise.all(W(s, (e) => e.fetch(n.text, e.maxResults, r).then((t) => ({ matchText: n.text, items: t, columns: e.columns, onAction: e.onAction, highlightOn: e.highlightOn }))));
                    return B.some({ lookupData: a, context: n });
                };
            var WE;
            !(function (e) {
                (e[(e.Error = 0)] = "Error"), (e[(e.Value = 1)] = "Value");
            })(WE || (WE = {}));
            const VE = (e, t, n) => (e.stype === WE.Error ? t(e.serror) : n(e.svalue)),
                KE = (e) => ({ stype: WE.Value, svalue: e }),
                GE = (e) => ({ stype: WE.Error, serror: e }),
                YE = (e) => VE(e, aa.error, aa.value),
                XE = KE,
                JE = (e) => {
                    const t = [],
                        n = [];
                    return (
                        V(e, (e) => {
                            VE(
                                e,
                                (e) => n.push(e),
                                (e) => t.push(e)
                            );
                        }),
                        { values: t, errors: n }
                    );
                },
                QE = GE,
                ZE = (e, t) => (e.stype === WE.Error ? t(e.serror) : e),
                ek = (e, t) => (e.stype === WE.Value ? { stype: WE.Value, svalue: t(e.svalue) } : e),
                tk = (e, t) => (e.stype === WE.Error ? { stype: WE.Error, serror: t(e.serror) } : e),
                nk = VE,
                rk = (e) => (m(e) && pe(e).length > 100 ? " removed due to size" : JSON.stringify(e, null, 2)),
                ok = (e, t) => QE([{ path: e, getErrorInfo: t }]),
                ik = (e, t, n, r) =>
                    xe(n, r).fold(
                        () => ((e, t, n) => ok(e, () => 'The chosen schema: "' + n + '" did not exist in branches: ' + rk(t)))(e, n, r),
                        (n) => n.extract(e.concat(["branch: " + r]), t)
                    ),
                sk = (e, t) => ({
                    extract: (n, r) =>
                        xe(r, e).fold(
                            () => ((e, t) => ok(e, () => 'Choice schema did not contain choice key: "' + t + '"'))(n, e),
                            (e) => ik(n, r, t, e)
                        ),
                    toString: () => "chooseOn(" + e + "). Possible values: " + pe(t),
                }),
                ak = (e) => (...t) => {
                    if (0 === t.length) throw new Error("Can't merge zero objects");
                    const n = {};
                    for (let r = 0; r < t.length; r++) {
                        const o = t[r];
                        for (const t in o) Ee(o, t) && (n[t] = e(n[t], o[t]));
                    }
                    return n;
                },
                lk = ak((e, t) => (g(e) && g(t) ? lk(e, t) : t)),
                ck = (ak((e, t) => t), (e) => ({ tag: "defaultedThunk", process: N(e) })),
                uk = (e) => S(QE, te)(e),
                dk = (e) => {
                    const t = JE(e);
                    return t.errors.length > 0 ? uk(t.errors) : XE(t.values);
                },
                fk = (e, t, n) => {
                    switch (e.tag) {
                        case "field":
                            return t(e.key, e.newKey, e.presence, e.prop);
                        case "custom":
                            return n(e.newKey, e.instantiator);
                    }
                },
                pk = (e) => ({ extract: (t, n) => ZE(e(n), (e) => ((e, t) => ok(e, N(t)))(t, e)), toString: N("val") }),
                hk = pk(XE),
                mk = (e, t, n, r) => xe(t, n).fold(() => ((e, t, n) => ok(e, () => 'Could not find valid *required* value for "' + t + '" in ' + rk(n)))(e, n, t), r),
                gk = (e, t, n, r) => r(xe(e, t).getOrThunk(() => n(e))),
                vk = (e, t, n, r, o) => {
                    const i = (e) => o.extract(t.concat([r]), e),
                        s = (e) =>
                            e.fold(
                                () => XE(B.none()),
                                (e) => {
                                    const n = o.extract(t.concat([r]), e);
                                    return ek(n, B.some);
                                }
                            );
                    switch (e.tag) {
                        case "required":
                            return mk(t, n, r, i);
                        case "defaultedThunk":
                            return gk(n, r, e.process, i);
                        case "option":
                            return ((e, t, n) => n(xe(e, t)))(n, r, s);
                        case "defaultedOptionThunk":
                            return ((e, t, n, r) => r(xe(e, t).map((t) => (!0 === t ? n(e) : t))))(n, r, e.process, s);
                        case "mergeWithThunk":
                            return gk(n, r, N({}), (t) => {
                                const r = lk(e.process(n), t);
                                return i(r);
                            });
                    }
                },
                yk = (e) => ({
                    extract: (t, n) =>
                        ((e, t, n) => {
                            const r = {},
                                o = [];
                            for (const i of n)
                                fk(
                                    i,
                                    (n, i, s, a) => {
                                        const l = vk(s, e, t, n, a);
                                        nk(
                                            l,
                                            (e) => {
                                                o.push(...e);
                                            },
                                            (e) => {
                                                r[i] = e;
                                            }
                                        );
                                    },
                                    (e, n) => {
                                        r[e] = n(t);
                                    }
                                );
                            return o.length > 0 ? QE(o) : XE(r);
                        })(t, n, e),
                    toString: () =>
                        "obj{\n" +
                        W(e, (e) =>
                            fk(
                                e,
                                (e, t, n, r) => e + " -> " + r.toString(),
                                (e, t) => "state(" + e + ")"
                            )
                        ).join("\n") +
                        "}",
                }),
                bk = (e) => ({
                    extract: (t, n) => {
                        const r = W(n, (n, r) => e.extract(t.concat(["[" + r + "]"]), n));
                        return dk(r);
                    },
                    toString: () => "array(" + e.toString() + ")",
                }),
                _k = (e, t, n) =>
                    YE(
                        ((e, t, n) => {
                            const r = t.extract([e], n);
                            return tk(r, (e) => ({ input: n, errors: e }));
                        })(e, t, n)
                    ),
                wk = (e) =>
                    "Errors: \n" +
                    ((e) => {
                        const t = e.length > 10 ? e.slice(0, 10).concat([{ path: [], getErrorInfo: N("... (only showing first ten failures)") }]) : e;
                        return W(t, (e) => "Failed path: (" + e.path.join(" > ") + ")\n" + e.getErrorInfo());
                    })(e.errors).join("\n") +
                    "\n\nInput object: " +
                    rk(e.input),
                Ck = (e, t) => sk(e, ge(t, yk)),
                xk = N(hk),
                Ek = (e, t) =>
                    pk((n) => {
                        const r = typeof n;
                        return e(n) ? XE(n) : QE(`Expected type: ${t} but got: ${r}`);
                    }),
                kk = Ek(E, "number"),
                Ak = Ek(h, "string"),
                Sk = Ek(b, "boolean"),
                Tk = Ek(x, "function"),
                Nk = (e, t, n, r) => ({ tag: "field", key: e, newKey: t, presence: n, prop: r }),
                Ok = (e, t) => ({ tag: "custom", newKey: e, instantiator: t }),
                Dk = (e) => {
                    return (t = (t) => (q(e, t) ? aa.value(t) : aa.error(`Unsupported value: "${t}", choose one of "${e.join(", ")}".`))), pk((e) => t(e).fold(QE, XE));
                    var t;
                },
                Rk = (e, t) => Nk(e, e, { tag: "required", process: {} }, t),
                Lk = (e) => Rk(e, Ak),
                Pk = (e) => Rk(e, Tk),
                $k = (e, t) => Nk(e, e, { tag: "option", process: {} }, t),
                Mk = (e) => $k(e, Ak),
                Ik = (e, t, n) => Nk(e, e, ck(t), n),
                Bk = (e, t) => Ik(e, t, kk),
                jk = (e, t, n) => Ik(e, t, Dk(n)),
                Fk = (e, t) => Ik(e, t, Sk),
                Hk = (e, t) => Ik(e, t, Tk),
                Uk = Lk("type"),
                qk = Pk("fetch"),
                zk = Pk("onAction"),
                Wk = Hk("onSetup", () => A),
                Vk = Mk("text"),
                Kk = Mk("icon"),
                Gk = Mk("tooltip"),
                Yk = Mk("label"),
                Xk = Fk("active", !1),
                Jk = Fk("enabled", !0),
                Qk = Fk("primary", !1),
                Zk = (e) => ((e, t) => Ik(e, t, Ak))("type", e),
                eA = yk([Uk, Lk("ch"), Bk("minChars", 1), ((nA = 1), ((e, t) => Nk(e, e, ck(t), xk()))("columns", nA)), Bk("maxResults", 10), ((tA = "matches"), $k(tA, Tk)), qk, zk, ((e, t, n) => Ik(e, t, bk(n)))("highlightOn", [], Ak)]);
            var tA, nA;
            const rA = [Jk, Gk, Kk, Vk, Wk],
                oA = [Xk].concat(rA),
                iA = [Hk("predicate", M), jk("scope", "node", ["node", "editor"]), jk("position", "selection", ["node", "selection", "line"])],
                sA = rA.concat([Zk("contextformbutton"), Qk, zk, Ok("original", O)]),
                aA = oA.concat([Zk("contextformbutton"), Qk, zk, Ok("original", O)]),
                lA = rA.concat([Zk("contextformbutton")]),
                cA = oA.concat([Zk("contextformtogglebutton")]),
                uA = Ck("type", { contextformbutton: sA, contextformtogglebutton: aA });
            yk([Zk("contextform"), Hk("initValue", N("")), Yk, ((e, t) => Nk(e, e, { tag: "required", process: {} }, bk(t)))("commands", uA), $k("launch", Ck("type", { contextformbutton: lA, contextformtogglebutton: cA }))].concat(iA));
            const dA = (e) => {
                    const t = e.ui.registry.getAll().popups,
                        n = ge(t, (e) => {
                            return ((t = e), _k("Autocompleter", eA, t)).fold((e) => {
                                throw new Error(wk(e));
                            }, O);
                            var t;
                        }),
                        r = Ae(we(n, (e) => e.ch)),
                        o = Ce(n);
                    return { dataset: n, triggerChars: r, lookupByChar: (e) => Y(o, (t) => t.ch === e) };
                },
                fA = (e) => {
                    const t = ji(),
                        n = Li(!1),
                        r = t.isSet,
                        o = () => {
                            r() &&
                                (((e) => {
                                    Eb(e).autocompleter.removeDecoration();
                                })(e),
                                ((e) => {
                                    e.dispatch("AutocompleterEnd");
                                })(e),
                                n.set(!1),
                                t.clear());
                        },
                        i = (n) => {
                            r() ||
                                (((e, t) => {
                                    Eb(e).autocompleter.addDecoration(t);
                                })(e, n.range),
                                t.set({ triggerChar: n.triggerChar, matchLength: n.text.length }));
                        },
                        s = $e(() => dA(e)),
                        a = (r) => {
                            ((n) =>
                                t
                                    .get()
                                    .map((t) => jE(e.dom, e.selection.getRng(), t.triggerChar).bind((t) => zE(e, s, t, n)))
                                    .getOrThunk(() => qE(e, s)))(r).fold(o, (r) => {
                                i(r.context),
                                    r.lookupData.then((i) => {
                                        t.get().map((s) => {
                                            const a = r.context;
                                            s.triggerChar === a.triggerChar &&
                                                (a.text.length - s.matchLength >= 10
                                                    ? o()
                                                    : (t.set({ ...s, matchLength: a.text.length }),
                                                      n.get()
                                                          ? ((e, t) => {
                                                                e.dispatch("AutocompleterUpdate", t);
                                                            })(e, { lookupData: i })
                                                          : (n.set(!0),
                                                            ((e, t) => {
                                                                e.dispatch("AutocompleterStart", t);
                                                            })(e, { lookupData: i }))));
                                        });
                                    });
                            });
                        };
                    e.addCommand("mceAutocompleterReload", (e, t) => {
                        const n = m(t) ? t.fetchOptions : {};
                        a(n);
                    }),
                        e.addCommand("mceAutocompleterClose", o),
                        ((e, t) => {
                            const n = Hi(t.load, 50);
                            e.on("keypress compositionend", (e) => {
                                27 !== e.which && n.throttle();
                            }),
                                e.on("keydown", (e) => {
                                    const r = e.which;
                                    8 === r ? n.throttle() : 27 === r && t.cancelIfNecessary();
                                }),
                                e.on("remove", n.cancel);
                        })(e, { cancelIfNecessary: o, load: a });
                },
                pA = (e) => (t, n, r = {}) => {
                    const o = t.getBody(),
                        i = {
                            bubbles: !0,
                            composed: !0,
                            data: null,
                            isComposing: !1,
                            detail: 0,
                            view: null,
                            target: o,
                            currentTarget: o,
                            eventPhase: Event.AT_TARGET,
                            originalTarget: o,
                            explicitOriginalTarget: o,
                            isTrusted: !1,
                            srcElement: o,
                            cancelable: !1,
                            preventDefault: A,
                            inputType: n,
                        },
                        s = mi(new InputEvent(e));
                    return t.dispatch(e, { ...s, ...i, ...r });
                },
                hA = pA("input"),
                mA = pA("beforeinput"),
                gA = (e, t) => {
                    e.on("keydown", (n) => {
                        !1 === n.isDefaultPrevented() &&
                            ((e, t, n) => {
                                const r = n.keyCode === Wd.BACKSPACE ? "deleteContentBackward" : "deleteContentForward";
                                Gx(
                                    [
                                        { keyCode: Wd.BACKSPACE, action: Vx(mx, e) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(Lw, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(Lw, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(Ew, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(Ew, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(tx, e, t, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(tx, e, t, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(Bm, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(Bm, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(Pw, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(Pw, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(ax, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(ax, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(mw, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(mw, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(dw, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(dw, e, !0) },
                                        { keyCode: Wd.BACKSPACE, action: Vx(ix, e, !1) },
                                        { keyCode: Wd.DELETE, action: Vx(ix, e, !0) },
                                    ],
                                    n
                                ).each((t) => {
                                    n.preventDefault();
                                    mA(e, r).isDefaultPrevented() || (t(), hA(e, r));
                                });
                            })(e, t, n);
                    }),
                        e.on("keyup", (t) => {
                            !1 === t.isDefaultPrevented() &&
                                ((e, t) => {
                                    Kx(
                                        [
                                            { keyCode: Wd.BACKSPACE, action: Vx(Rw, e) },
                                            { keyCode: Wd.DELETE, action: Vx(Rw, e) },
                                        ],
                                        t
                                    );
                                })(e, t);
                        });
                },
                vA = (e, t) => {
                    let n,
                        r = t;
                    const o = e.dom,
                        i = e.schema.getMoveCaretBeforeOnEnterElements();
                    if (!t) return;
                    if (/^(LI|DT|DD)$/.test(t.nodeName)) {
                        const e = ((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);
                        e && /^(UL|OL|DL)$/.test(e.nodeName) && t.insertBefore(o.doc.createTextNode(" "), t.firstChild);
                    }
                    const s = o.createRng();
                    if ((t.normalize(), t.hasChildNodes())) {
                        const e = new Br(t, t);
                        for (; (n = e.current()); ) {
                            if (pr(n)) {
                                s.setStart(n, 0), s.setEnd(n, 0);
                                break;
                            }
                            if (i[n.nodeName.toLowerCase()]) {
                                s.setStartBefore(n), s.setEndBefore(n);
                                break;
                            }
                            (r = n), (n = e.next());
                        }
                        n || (s.setStart(r, 0), s.setEnd(r, 0));
                    } else br(t) ? (t.nextSibling && o.isBlock(t.nextSibling) ? (s.setStartBefore(t), s.setEndBefore(t)) : (s.setStartAfter(t), s.setEndAfter(t))) : (s.setStart(t, 0), s.setEnd(t, 0));
                    e.selection.setRng(s), Gf(e, s);
                },
                yA = (e) => B.from(e.dom.getParent(e.selection.getStart(!0), e.dom.isBlock)),
                bA = (e, t) => e && e.parentNode && e.parentNode.nodeName === t,
                _A = (e) => e && /^(OL|UL|LI)$/.test(e.nodeName),
                wA = (e) => {
                    const t = e.parentNode;
                    return /^(LI|DT|DD)$/.test(t.nodeName) ? t : e;
                },
                CA = (e, t, n) => {
                    let r = e[n ? "firstChild" : "lastChild"];
                    for (; r && !ir(r); ) r = r[n ? "nextSibling" : "previousSibling"];
                    return r === t;
                },
                xA = (e, t, n, r, o) => {
                    const i = e.dom,
                        s = e.selection.getRng();
                    if (n === e.getBody()) return;
                    var a;
                    _A((a = n)) && _A(a.parentNode) && (o = "LI");
                    let l = t(o);
                    if (CA(n, r, !0) && CA(n, r, !1))
                        if (bA(n, "LI")) {
                            const e = wA(n);
                            i.insertAfter(l, e),
                                ((e) => {
                                    var t;
                                    return (null === (t = e.parentNode) || void 0 === t ? void 0 : t.firstChild) === e;
                                })(n)
                                    ? i.remove(e)
                                    : i.remove(n);
                        } else i.replace(l, n);
                    else if (CA(n, r, !0)) bA(n, "LI") ? (i.insertAfter(l, wA(n)), l.appendChild(i.doc.createTextNode(" ")), l.appendChild(n)) : n.parentNode.insertBefore(l, n), i.remove(r);
                    else if (CA(n, r, !1)) i.insertAfter(l, wA(n)), i.remove(r);
                    else {
                        n = wA(n);
                        const e = s.cloneRange();
                        e.setStartAfter(r), e.setEndAfter(n);
                        const t = e.extractContents();
                        "LI" === o && ((e, t) => e.firstChild && e.firstChild.nodeName === t)(t, "LI") ? ((l = t.firstChild), i.insertAfter(t, n)) : (i.insertAfter(t, n), i.insertAfter(l, n)), i.remove(r);
                    }
                    vA(e, l);
                },
                EA = (e, t) => t && "A" === t.nodeName && e.isEmpty(t),
                kA = (e) => {
                    e.innerHTML = '<br data-mce-bogus="1">';
                },
                AA = (e, t) => e.nodeName === t || (e.previousSibling && e.previousSibling.nodeName === t),
                SA = (e, t) => t && e.isBlock(t) && !/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName) && !/^(fixed|absolute)/i.test(t.style.position) && "true" !== e.getContentEditable(t),
                TA = (e, t, n) => (!1 === pr(t) ? n : e ? (1 === n && "\ufeff" === t.data.charAt(n - 1) ? 0 : n) : n === t.data.length - 1 && "\ufeff" === t.data.charAt(n) ? t.data.length : n),
                NA = (e, t) => {
                    const n = e.getRoot();
                    let r, o;
                    for (r = t; r !== n && "false" !== e.getContentEditable(r); ) "true" === e.getContentEditable(r) && (o = r), (r = r.parentNode);
                    return r !== n ? o : n;
                },
                OA = (e, t) => {
                    if (Na(e).toLowerCase() === t.tagName.toLowerCase()) {
                        ((e, t, n) => {
                            const r = e.dom;
                            B.from(n.style)
                                .map(r.parseStyle)
                                .each((e) => {
                                    const n = { ...Ln(Qt.fromDom(t)), ...e };
                                    r.setStyles(t, n);
                                });
                            const o = B.from(n.class).map((e) => e.split(/\s+/)),
                                i = B.from(t.className).map((e) => Y(e.split(/\s+/), (e) => "" !== e));
                            xt(o, i, (e, n) => {
                                const o = Y(n, (t) => !q(e, t)),
                                    i = [...e, ...o];
                                r.setAttrib(t, "class", i.join(" "));
                            });
                            const s = ["style", "class"],
                                a = _e(n, (e, t) => !q(s, t));
                            r.setAttribs(t, a);
                        })(e, t, Oa(e));
                    }
                },
                DA = (e, t) => {
                    let n, r, o, i, s, a, l, c, u;
                    const d = e.dom,
                        f = e.schema,
                        p = f.getNonEmptyElements(),
                        h = e.selection.getRng(),
                        m = Na(e),
                        g = (t) => {
                            let n,
                                o,
                                s,
                                a = r;
                            const l = f.getTextInlineElements();
                            if (((n = t || "TABLE" === c || "HR" === c ? d.create(t || m) : i.cloneNode(!1)), (s = n), !1 === La(e))) d.setAttrib(n, "style", null), d.setAttrib(n, "class", null);
                            else
                                do {
                                    if (l[a.nodeName]) {
                                        if (hu(a) || Au(a)) continue;
                                        (o = a.cloneNode(!1)), d.setAttrib(o, "id", ""), n.hasChildNodes() ? (o.appendChild(n.firstChild), n.appendChild(o)) : ((s = o), n.appendChild(o));
                                    }
                                } while ((a = a.parentNode) && a !== w);
                            return OA(e, n), kA(s), n;
                        },
                        v = (e) => {
                            let t, n;
                            const s = TA(e, r, o);
                            if (pr(r) && (e ? s > 0 : s < r.nodeValue.length)) return !1;
                            if (r.parentNode === i && u && !e) return !0;
                            if (e && ir(r) && r === i.firstChild) return !0;
                            if (AA(r, "TABLE") || AA(r, "HR")) return (u && !e) || (!u && e);
                            const a = new Br(r, i);
                            for (pr(r) && (e && 0 === s ? a.prev() : e || s !== r.nodeValue.length || a.next()); (t = a.current()); ) {
                                if (ir(t)) {
                                    if (!t.getAttribute("data-mce-bogus") && ((n = t.nodeName.toLowerCase()), p[n] && "br" !== n)) return !1;
                                } else if (pr(t) && !ko(t.nodeValue)) return !1;
                                e ? a.prev() : a.next();
                            }
                            return !0;
                        },
                        y = () => {
                            (s = /^(H[1-6]|PRE|FIGURE)$/.test(c) && "HGROUP" !== C ? g(m) : g()), Pa(e) && SA(d, l) && d.isEmpty(i) ? (s = d.split(l, i)) : d.insertAfter(s, i), vA(e, s);
                        };
                    xf(d, h).each((e) => {
                        h.setStart(e.startContainer, e.startOffset), h.setEnd(e.endContainer, e.endOffset);
                    }),
                        (r = h.startContainer),
                        (o = h.startOffset);
                    const b = !(!t || !t.shiftKey),
                        _ = !(!t || !t.ctrlKey);
                    ir(r) && r.hasChildNodes() && ((u = o > r.childNodes.length - 1), (r = r.childNodes[Math.min(o, r.childNodes.length - 1)] || r), (o = u && pr(r) ? r.nodeValue.length : 0));
                    const w = NA(d, r);
                    if (!w) return;
                    b ||
                        (r = ((e, t, n, r, o) => {
                            let i, s, a, l, c, u;
                            const d = e.dom,
                                f = NA(d, r);
                            if (((s = d.getParent(r, d.isBlock)), !s || !SA(d, s))) {
                                if (((s = s || f), (u = s === e.getBody() || ((e) => e && /^(TD|TH|CAPTION)$/.test(e.nodeName))(s) ? s.nodeName.toLowerCase() : s.parentNode.nodeName.toLowerCase()), !s.hasChildNodes()))
                                    return (i = d.create(t)), OA(e, i), s.appendChild(i), n.setStart(i, 0), n.setEnd(i, 0), i;
                                for (l = r; l.parentNode !== s; ) l = l.parentNode;
                                for (; l && !d.isBlock(l); ) (a = l), (l = l.previousSibling);
                                if (a && e.schema.isValidChild(u, t.toLowerCase())) {
                                    for (i = d.create(t), OA(e, i), a.parentNode.insertBefore(i, a), l = a; l && !d.isBlock(l); ) (c = l.nextSibling), i.appendChild(l), (l = c);
                                    n.setStart(r, o), n.setEnd(r, o);
                                }
                            }
                            return r;
                        })(e, m, h, r, o)),
                        (i = d.getParent(r, d.isBlock)),
                        (l = i ? d.getParent(i.parentNode, d.isBlock) : null),
                        (c = i ? i.nodeName.toUpperCase() : "");
                    const C = l ? l.nodeName.toUpperCase() : "";
                    "LI" !== C || _ || ((i = l), (l = l.parentNode), (c = C)),
                        /^(LI|DT|DD)$/.test(c) && d.isEmpty(i)
                            ? xA(e, g, l, i, m)
                            : i !== e.getBody() &&
                              (to(i)
                                  ? ((s = uo(i)), d.isEmpty(i) && kA(i), OA(e, s), vA(e, s))
                                  : v()
                                  ? y()
                                  : v(!0)
                                  ? ((s = i.parentNode.insertBefore(g(), i)), vA(e, AA(i, "HR") ? s : i))
                                  : ((n = ((e) => {
                                        const t = e.cloneRange();
                                        return t.setStart(e.startContainer, TA(!0, e.startContainer, e.startOffset)), t.setEnd(e.endContainer, TA(!1, e.endContainer, e.endOffset)), t;
                                    })(h).cloneRange()),
                                    n.setEndAfter(i),
                                    (a = n.extractContents()),
                                    ((e) => {
                                        V(Ui(Qt.fromDom(e), Nt), (e) => {
                                            const t = e.dom;
                                            t.nodeValue = Qr(t.nodeValue);
                                        });
                                    })(a),
                                    ((e) => {
                                        do {
                                            pr(e) && (e.nodeValue = e.nodeValue.replace(/^[\r\n]+/, "")), (e = e.firstChild);
                                        } while (e);
                                    })(a),
                                    (s = a.firstChild),
                                    d.insertAfter(a, i),
                                    ((e, t, n) => {
                                        let r = n;
                                        const o = [];
                                        let i;
                                        if (r) {
                                            for (; (r = r.firstChild); ) {
                                                if (e.isBlock(r)) return;
                                                ir(r) && !t[r.nodeName.toLowerCase()] && o.push(r);
                                            }
                                            for (i = o.length; i--; ) (r = o[i]), (!r.hasChildNodes() || (r.firstChild === r.lastChild && "" === r.firstChild.nodeValue) || EA(e, r)) && e.remove(r);
                                        }
                                    })(d, p, s),
                                    ((e, t) => {
                                        t.normalize();
                                        const n = t.lastChild;
                                        (n && !/^(left|right)$/gi.test(e.getStyle(n, "float", !0))) || e.add(t, "br");
                                    })(d, i),
                                    d.isEmpty(i) && kA(i),
                                    s.normalize(),
                                    d.isEmpty(s) ? (d.remove(s), y()) : (OA(e, s), vA(e, s))),
                              d.setAttrib(s, "id", ""),
                              e.dispatch("NewBlock", { newBlock: s }));
                },
                RA = (e, t, n) => {
                    const r = e.dom.createRng();
                    n ? (r.setStartBefore(t), r.setEndBefore(t)) : (r.setStartAfter(t), r.setEndAfter(t)), e.selection.setRng(r), Gf(e, r);
                },
                LA = (e, t) => {
                    const n = e.selection,
                        r = e.dom,
                        o = n.getRng();
                    let i, s;
                    xf(r, o).each((e) => {
                        o.setStart(e.startContainer, e.startOffset), o.setEnd(e.endContainer, e.endOffset);
                    });
                    let a = o.startOffset,
                        l = o.startContainer;
                    if (1 === l.nodeType && l.hasChildNodes()) {
                        const e = a > l.childNodes.length - 1;
                        (l = l.childNodes[Math.min(a, l.childNodes.length - 1)] || l), (a = e && 3 === l.nodeType ? l.nodeValue.length : 0);
                    }
                    let c = r.getParent(l, r.isBlock);
                    const u = c ? r.getParent(c.parentNode, r.isBlock) : null,
                        d = u ? u.nodeName.toUpperCase() : "",
                        f = !(!t || !t.ctrlKey);
                    "LI" !== d || f || (c = u),
                        l &&
                            3 === l.nodeType &&
                            a >= l.nodeValue.length &&
                            (((e, t, n) => {
                                const r = new Br(t, n);
                                let o;
                                const i = e.getNonEmptyElements();
                                for (; (o = r.next()); ) if (i[o.nodeName.toLowerCase()] || o.length > 0) return !0;
                            })(e.schema, l, c) ||
                                ((i = r.create("br")), o.insertNode(i), o.setStartAfter(i), o.setEndAfter(i), (s = !0))),
                        (i = r.create("br")),
                        Bs(r, o, i),
                        RA(e, i, s),
                        e.undoManager.add();
                },
                PA = (e, t) => {
                    const n = Qt.fromTag("br");
                    $n(Qt.fromDom(t), n), e.undoManager.add();
                },
                $A = (e, t) => {
                    MA(e.getBody(), t) || Mn(Qt.fromDom(t), Qt.fromTag("br"));
                    const n = Qt.fromTag("br");
                    Mn(Qt.fromDom(t), n), RA(e, n.dom, !1), e.undoManager.add();
                },
                MA = (e, t) => {
                    return (
                        (n = Ms.after(t)),
                        !!br(n.getNode()) ||
                            uu(e, Ms.after(t))
                                .map((e) => br(e.getNode()))
                                .getOr(!1)
                    );
                    var n;
                },
                IA = (e) => e && "A" === e.nodeName && "href" in e,
                BA = (e) => e.fold(M, IA, IA, M),
                jA = (e, t) => {
                    t.fold(A, R(PA, e), R($A, e), A);
                },
                FA = (e, t) => {
                    const n = ((e) => {
                        const t = R(U_, e),
                            n = Ms.fromRangeStart(e.selection.getRng());
                        return tC(t, e.getBody(), n).filter(BA);
                    })(e);
                    n.isSome() ? n.each(R(jA, e)) : LA(e, t);
                },
                HA = (e, t) =>
                    yA(e)
                        .filter((e) => t.length > 0 && en(Qt.fromDom(e), t))
                        .isSome(),
                UA = la([{ br: [] }, { block: [] }, { none: [] }]),
                qA = (e, t) => ((e) => HA(e, Ra(e)))(e),
                zA = (e) => (t, n) =>
                    ((e) =>
                        yA(e)
                            .filter((e) => Vr(Qt.fromDom(e)))
                            .isSome())(t) === e,
                WA = (e, t) => (n, r) => (((e) => yA(e).fold(N(""), (e) => e.nodeName.toUpperCase()))(n) === e.toUpperCase()) === t,
                VA = (e) => WA("pre", e),
                KA = (e) => (t, n) => Ta(t) === e,
                GA = (e, t) => ((e) => HA(e, Da(e)))(e),
                YA = (e, t) => t,
                XA = (e) => {
                    const t = Na(e),
                        n = ((e, t) => {
                            const n = e.getRoot();
                            let r, o;
                            for (r = t; r !== n && "false" !== e.getContentEditable(r); ) "true" === e.getContentEditable(r) && (o = r), (r = r.parentNode);
                            return r !== n ? o : n;
                        })(e.dom, e.selection.getStart());
                    return n && e.schema.isValidChild(n.nodeName, t);
                },
                JA = (e, t) => (n, r) => (J(e, (e, t) => e && t(n, r), !0) ? B.some(t) : B.none()),
                QA = (e, t) => {
                    ((e, t) =>
                        Ww(
                            [
                                JA([qA], UA.none()),
                                JA([WA("summary", !0)], UA.br()),
                                JA([VA(!0), KA(!1), YA], UA.br()),
                                JA([VA(!0), KA(!1)], UA.block()),
                                JA([VA(!0), KA(!0), YA], UA.block()),
                                JA([VA(!0), KA(!0)], UA.br()),
                                JA([zA(!0), YA], UA.br()),
                                JA([zA(!0)], UA.block()),
                                JA([GA], UA.br()),
                                JA([YA], UA.br()),
                                JA([XA], UA.block()),
                            ],
                            [e, !(!t || !t.shiftKey)]
                        ).getOr(UA.none()))(e, t).fold(
                        () => {
                            if (C(t)) {
                                if (mA(e, "insertLineBreak").isDefaultPrevented()) return;
                            }
                            FA(e, t), C(t) && hA(e, "insertLineBreak");
                        },
                        () => {
                            if (C(t)) {
                                if (mA(e, "insertParagraph").isDefaultPrevented()) return;
                            }
                            DA(e, t), C(t) && hA(e, "insertParagraph");
                        },
                        A
                    );
                },
                ZA = (e) => {
                    e.on("keydown", (t) => {
                        t.keyCode === Wd.ENTER &&
                            ((e, t) => {
                                var n;
                                t.isDefaultPrevented() ||
                                    (t.preventDefault(),
                                    (n = e.undoManager).typing && ((n.typing = !1), n.add()),
                                    e.undoManager.transact(() => {
                                        !1 === e.selection.isCollapsed() && Y_(e), QA(e, t);
                                    }));
                            })(e, t);
                    });
                },
                eS = (e, t) => {
                    e.on("keydown", (n) => {
                        !1 === n.isDefaultPrevented() &&
                            ((e, t, n) => {
                                Kx(
                                    [
                                        { keyCode: Wd.END, action: Vx(Mx, e, !0) },
                                        { keyCode: Wd.HOME, action: Vx(Mx, e, !1) },
                                        { keyCode: Wd.END, action: Vx(Jx, e, !0) },
                                        { keyCode: Wd.HOME, action: Vx(Jx, e, !1) },
                                        { keyCode: Wd.END, action: Vx(JC, e, !0, t) },
                                        { keyCode: Wd.HOME, action: Vx(JC, e, !1, t) },
                                    ],
                                    n
                                ).each((e) => {
                                    n.preventDefault();
                                });
                            })(e, t, n);
                    });
                },
                tS = (e) => {
                    e.on("input", (t) => {
                        !1 === t.isComposing &&
                            ((e) => {
                                const t = Qt.fromDom(e.getBody());
                                e.selection.isCollapsed() &&
                                    Kh(t, Ms.fromRangeStart(e.selection.getRng())).each((t) => {
                                        e.selection.setRng(t.toRange());
                                    });
                            })(e);
                    });
                },
                nS = ct(),
                rS = (e) => e.stopImmediatePropagation(),
                oS = (e) => e.keyCode === Wd.PAGE_UP || e.keyCode === Wd.PAGE_DOWN,
                iS = (e, t, n) => {
                    n && !e.get() ? t.on("NodeChange", rS, !0) : !n && e.get() && t.off("NodeChange", rS), e.set(n);
                },
                sS = (e, t) => {
                    if (nS.os.isMacOS()) return;
                    const n = Li(!1);
                    e.on("keydown", (t) => {
                        oS(t) && iS(n, e, !0);
                    }),
                        e.on("keyup", (r) => {
                            !1 === r.isDefaultPrevented() &&
                                ((e, t, n) => {
                                    Kx(
                                        [
                                            { keyCode: Wd.PAGE_UP, action: Vx(JC, e, !1, t) },
                                            { keyCode: Wd.PAGE_DOWN, action: Vx(JC, e, !0, t) },
                                        ],
                                        n
                                    );
                                })(e, t, r),
                                oS(r) && n.get() && (iS(n, e, !1), e.nodeChanged());
                        });
                },
                aS = (e, t) => {
                    const n = t.container(),
                        r = t.offset();
                    return pr(n)
                        ? (n.insertData(r, e), B.some(Ms(n, r + e.length)))
                        : Hc(t).map((n) => {
                              const r = Qt.fromText(e);
                              return t.isAtEnd() ? Mn(n, r) : $n(n, r), Ms(r.dom, e.length);
                          });
                },
                lS = R(aS, " "),
                cS = R(aS, " "),
                uS = (e, t) => (n) => (((e, t) => !jh(t) && (Fh(e, t) || Ih(e, t) || Bh(e, t)))(e, n) ? lS(t) : cS(t)),
                dS = (e) => {
                    const t = Ms.fromRangeStart(e.selection.getRng()),
                        n = Qt.fromDom(e.getBody());
                    if (e.selection.isCollapsed()) {
                        const r = R(U_, e),
                            o = Ms.fromRangeStart(e.selection.getRng());
                        return tC(r, e.getBody(), o)
                            .bind(
                                ((e) => (t) =>
                                    t.fold(
                                        (t) => du(e.dom, Ms.before(t)),
                                        (e) => fu(e),
                                        (e) => pu(e),
                                        (t) => uu(e.dom, Ms.after(t))
                                    ))(n)
                            )
                            .map((r) => () => uS(n, t)(r).each(((e) => (t) => (e.selection.setRng(t.toRange()), e.nodeChanged(), !0))(e)));
                    }
                    return B.none();
                },
                fS = (e) => {
                    e.on("keydown", (t) => {
                        !1 === t.isDefaultPrevented() &&
                            ((e, t) => {
                                Gx([{ keyCode: Wd.SPACEBAR, action: Vx(dS, e) }], t).each((n) => {
                                    t.preventDefault();
                                    mA(e, "insertText", { data: " " }).isDefaultPrevented() || (n(), hA(e, "insertText", { data: " " }));
                                });
                            })(e, t);
                    });
                },
                pS = (e) =>
                    Zl(e)
                        ? [
                              { keyCode: Wd.TAB, action: Vx(AE, e, !0) },
                              { keyCode: Wd.TAB, shiftKey: !0, action: Vx(AE, e, !1) },
                          ]
                        : [],
                hS = (e) => {
                    e.on("keydown", (t) => {
                        !1 === t.isDefaultPrevented() &&
                            ((e, t) => {
                                Kx([...pS(e)], t).each((e) => {
                                    t.preventDefault();
                                });
                            })(e, t);
                    });
                },
                mS = (e) => {
                    if ((e.addShortcut("Meta+P", "", "mcePrint"), fA(e), wb(e))) return Li(null);
                    {
                        const t = GC(e);
                        return (
                            ((e) => {
                                e.on("keyup compositionstart", R(Nx, e));
                            })(e),
                            SE(e, t),
                            gA(e, t),
                            ZA(e),
                            fS(e),
                            tS(e),
                            hS(e),
                            eS(e, t),
                            sS(e, t),
                            t
                        );
                    }
                };
            class gS {
                constructor(e) {
                    let t;
                    (this.lastPath = []), (this.editor = e);
                    const n = this;
                    "onselectionchange" in e.getDoc() ||
                        e.on("NodeChange click mouseup keyup focus", (n) => {
                            const r = e.selection.getRng(),
                                o = { startContainer: r.startContainer, startOffset: r.startOffset, endContainer: r.endContainer, endOffset: r.endOffset };
                            ("nodechange" !== n.type && hf(o, t)) || e.dispatch("SelectionChange"), (t = o);
                        }),
                        e.on("contextmenu", () => {
                            e.dispatch("SelectionChange");
                        }),
                        e.on("SelectionChange", () => {
                            const t = e.selection.getStart(!0);
                            t && Ad(e) && !n.isSameElementPath(t) && e.dom.isChildOf(t, e.getBody()) && e.nodeChanged({ selectionChange: !0 });
                        }),
                        e.on("mouseup", (t) => {
                            !t.isDefaultPrevented() &&
                                Ad(e) &&
                                ("IMG" === e.selection.getNode().nodeName
                                    ? lp.setEditorTimeout(e, () => {
                                          e.nodeChanged();
                                      })
                                    : e.nodeChanged());
                        });
                }
                nodeChanged(e) {
                    const t = this.editor.selection;
                    let n, r, o;
                    this.editor.initialized &&
                        t &&
                        !wl(this.editor) &&
                        !this.editor.mode.isReadOnly() &&
                        ((o = this.editor.getBody()),
                        (n = t.getStart(!0) || o),
                        (n.ownerDocument === this.editor.getDoc() && this.editor.dom.isChildOf(n, o)) || (n = o),
                        (r = []),
                        this.editor.dom.getParent(n, (e) => {
                            if (e === o) return !0;
                            r.push(e);
                        }),
                        ((e = e || {}).element = n),
                        (e.parents = r),
                        this.editor.dispatch("NodeChange", e));
                }
                isSameElementPath(e) {
                    let t;
                    const n = this.editor,
                        r = oe(n.dom.getParents(e, I, n.getBody()));
                    if (r.length === this.lastPath.length) {
                        for (t = r.length; t >= 0 && r[t] === this.lastPath[t]; t--);
                        if (-1 === t) return (this.lastPath = r), !0;
                    }
                    return (this.lastPath = r), !1;
                }
            }
            const vS = N("x-tinymce/html"),
                yS = (e) => "\x3c!-- x-tinymce/html --\x3e" + e,
                bS = (e) => -1 !== e.indexOf("\x3c!-- x-tinymce/html --\x3e"),
                _S = (e, t, n) => {
                    const r = e.split(/\n\n/),
                        o = ((e, t) => {
                            let n = "<" + e;
                            const r = we(t, (e, t) => t + '="' + Zo.encodeAllRaw(e) + '"');
                            return r.length && (n += " " + r.join(" ")), n + ">";
                        })(t, n),
                        i = "</" + t + ">",
                        s = W(r, (e) => e.split(/\n/).join("<br />"));
                    return 1 === s.length ? s[0] : W(s, (e) => o + e + i).join("");
                },
                wS = (e) => e.dom.get("mcepastebin"),
                CS = (e) => e && "mcepastebin" === e.id,
                xS = (e) => "%MCEPASTEBIN%" === e,
                ES = (e) => {
                    const t = Li(null);
                    return {
                        create: () =>
                            ((e, t) => {
                                const { dom: n, selection: r } = e,
                                    o = e.getBody();
                                t.set(r.getRng());
                                const i = n.add(
                                    e.getBody(),
                                    "div",
                                    { id: "mcepastebin", class: "mce-pastebin", contentEditable: !0, "data-mce-bogus": "all", style: "position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0" },
                                    "%MCEPASTEBIN%"
                                );
                                gt.browser.isFirefox() && n.setStyle(i, "left", "rtl" === n.getStyle(o, "direction", !0) ? 65535 : -65535),
                                    n.bind(i, "beforedeactivate focusin focusout", (e) => {
                                        e.stopPropagation();
                                    }),
                                    i.focus(),
                                    r.select(i, !0);
                            })(e, t),
                        remove: () =>
                            ((e, t) => {
                                const n = e.dom;
                                if (wS(e)) {
                                    let r;
                                    const o = t.get();
                                    for (; (r = wS(e)); ) n.remove(r), n.unbind(r);
                                    o && e.selection.setRng(o);
                                }
                                t.set(null);
                            })(e, t),
                        getEl: () => wS(e),
                        getHtml: () =>
                            ((e) => {
                                const t = e.dom,
                                    n = (e, n) => {
                                        e.appendChild(n), t.remove(n, !0);
                                    },
                                    [r, ...o] = Y(e.getBody().childNodes, CS);
                                V(o, (e) => {
                                    n(r, e);
                                });
                                const i = t.select("div[id=mcepastebin]", r);
                                for (let e = i.length - 1; e >= 0; e--) {
                                    const o = t.create("div");
                                    r.insertBefore(o, i[e]), n(o, i[e]);
                                }
                                return r ? r.innerHTML : "";
                            })(e),
                        getLastRng: t.get,
                    };
                },
                kS = (e, t) => (
                    wt.each(t, (t) => {
                        e = p(t, RegExp) ? e.replace(t, "") : e.replace(t[0], t[1]);
                    }),
                    e
                ),
                AS = (e) =>
                    (e = kS(e, [
                        /^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,
                        /<!--StartFragment-->|<!--EndFragment-->/g,
                        [/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g, (e, t, n) => (t || n ? " " : " ")],
                        /<br class="Apple-interchange-newline">/g,
                        /<br>$/i,
                    ])),
                SS = (e, t) => ({ content: e, cancelled: t }),
                TS = (e, t, n) => {
                    const r = ((e, t, n) => e.dispatch("PastePreProcess", { content: t, internal: n }))(e, t, n),
                        o = ((e, t) => {
                            const n = My({}, e.schema);
                            n.addNodeFilter("meta", (e) => {
                                wt.each(e, (e) => {
                                    e.remove();
                                });
                            });
                            const r = n.parse(t, { forced_root_block: !1, isRootContent: !0 });
                            return Gp({ validate: !0 }, e.schema).serialize(r);
                        })(e, r.content);
                    return e.hasEventListeners("PastePostProcess") && !r.isDefaultPrevented()
                        ? ((e, t, n) => {
                              const r = e.dom.create("div", { style: "display:none" }, t),
                                  o = ((e, t, n) => e.dispatch("PastePostProcess", { node: t, internal: n }))(e, r, n);
                              return SS(o.node.innerHTML, o.isDefaultPrevented());
                          })(e, o, n)
                        : SS(o, r.isDefaultPrevented());
                },
                NS = (e, t) => (e.insertContent(t, { merge: ql(e), paste: !0 }), !0),
                OS = (e) => /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e),
                DS = (e, t, n) =>
                    !(e.selection.isCollapsed() || !OS(t)) &&
                    ((e, t, n) => (
                        e.undoManager.extra(
                            () => {
                                n(e, t);
                            },
                            () => {
                                e.execCommand("mceInsertLink", !1, t);
                            }
                        ),
                        !0
                    ))(e, t, n),
                RS = (e, t, n) =>
                    !!((e, t) => OS(t) && z(Ql(e), (e) => qe(t.toLowerCase(), "." + e.toLowerCase())))(e, t) &&
                    ((e, t, n) => (
                        e.undoManager.extra(
                            () => {
                                n(e, t);
                            },
                            () => {
                                e.insertContent('<img src="' + t + '">');
                            }
                        ),
                        !0
                    ))(e, t, n),
                LS = (e, t, n) => {
                    n || !zl(e)
                        ? NS(e, t)
                        : ((e, t) => {
                              wt.each([DS, RS, NS], (n) => !0 !== n(e, t, NS));
                          })(e, t);
                },
                PS = ((e) => {
                    let t = 0;
                    return () => e + t++;
                })("mceclip"),
                $S = (e, t, n, r) => {
                    const o = ((e, t, n) => TS(e, t, n))(e, t, n);
                    !1 === o.cancelled && LS(e, o.content, r);
                },
                MS = (e, t, n) => {
                    const r = n || bS(t);
                    $S(e, ((e) => e.replace("\x3c!-- x-tinymce/html --\x3e", ""))(t), r, !1);
                },
                IS = (e, t) => {
                    const n = e.dom.encode(t).replace(/\r\n/g, "\n"),
                        r = So(n, Vl(e)),
                        o = _S(r, Na(e), Oa(e));
                    $S(e, o, !1, !0);
                },
                BS = (e) => {
                    const t = {};
                    if (e && e.types)
                        for (let n = 0; n < e.types.length; n++) {
                            const r = e.types[n];
                            try {
                                t[r] = e.getData(r);
                            } catch (e) {
                                t[r] = "";
                            }
                        }
                    return t;
                },
                jS = (e, t) => t in e && e[t].length > 0,
                FS = (e) => jS(e, "text/html") || jS(e, "text/plain"),
                HS = (e, t, n, r) => {
                    const o = PS(),
                        i = Ma(e) && C(n.name),
                        s = i
                            ? ((e, t) => {
                                  const n = t.match(/([\s\S]+?)(?:\.[a-z0-9.]+)$/i);
                                  return C(n) ? e.dom.encode(n[1]) : null;
                              })(e, n.name)
                            : o,
                        a = i ? n.name : void 0,
                        l = t.create(o, n, r, s, a);
                    return t.add(l), l;
                },
                US = (e) => {
                    const t = Ql(e);
                    return (e) =>
                        Ue(e.type, "image/") &&
                        z(
                            t,
                            (t) =>
                                ((e) => {
                                    const t = e.toLowerCase(),
                                        n = { jpg: "jpeg", jpe: "jpeg", jfi: "jpeg", jif: "jpeg", jfif: "jpeg", pjpeg: "jpeg", pjp: "jpeg", svg: "svg+xml" };
                                    return wt.hasOwn(n, t) ? "image/" + n[t] : "image/" + t;
                                })(t) === e.type
                        );
                },
                qS = (e, t, n) => {
                    const r = "paste" === t.type ? t.clipboardData : t.dataTransfer;
                    var o;
                    if (Bl(e) && r) {
                        const i = ((e, t) => {
                            const n = t.items ? ne(de(t.items), (e) => ("file" === e.kind ? [e.getAsFile()] : [])) : [],
                                r = t.files ? de(t.files) : [];
                            return Y(n.length > 0 ? n : r, US(e));
                        })(e, r);
                        if (i.length > 0)
                            return (
                                t.preventDefault(),
                                ((o = i), Promise.all(W(o, (e) => my(e).then((t) => ({ file: e, uri: t }))))).then((t) => {
                                    n && e.selection.setRng(n),
                                        V(t, (t) => {
                                            ((e, t) => {
                                                const { data: n, type: r } = fy(t.uri),
                                                    o = t.file,
                                                    i = e.editorUpload.blobCache,
                                                    s = i.getByData(n, r),
                                                    a = null != s ? s : HS(e, i, o, n);
                                                MS(e, `<img src="${a.blobUri()}">`, !1);
                                            })(e, t);
                                        });
                                }),
                                !0
                            );
                    }
                    return !1;
                },
                zS = (e, t, n, r) => {
                    let o = AS(n);
                    const i = jS(t, vS()) || bS(n),
                        s = !i && ((e) => !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e))(o),
                        a = OS(o);
                    (xS(o) || !o.length || (s && !a)) && (r = !0),
                        (r || a) &&
                            (o =
                                jS(t, "text/plain") && s
                                    ? t["text/plain"]
                                    : ((e) => {
                                          const t = di(),
                                              n = My({}, t);
                                          let r = "";
                                          const o = t.getVoidElements(),
                                              i = wt.makeMap("script noscript style textarea video audio iframe object", " "),
                                              s = t.getBlockElements(),
                                              a = (e) => {
                                                  const n = e.name,
                                                      l = e;
                                                  if ("br" !== n) {
                                                      if ("wbr" !== n)
                                                          if ((o[n] && (r += " "), i[n])) r += " ";
                                                          else {
                                                              if ((3 === e.type && (r += e.value), !(e.name in t.getVoidElements()) && (e = e.firstChild)))
                                                                  do {
                                                                      a(e);
                                                                  } while ((e = e.next));
                                                              s[n] && l.next && ((r += "\n"), "p" === n && (r += "\n"));
                                                          }
                                                  } else r += "\n";
                                              };
                                          return (e = kS(e, [/<!\[[^\]]+\]>/g])), a(n.parse(e)), r;
                                      })(o)),
                        xS(o) || (r ? IS(e, o) : MS(e, o, i));
                },
                WS = (e, t, n) => {
                    let r;
                    e.on("keydown", (e) => {
                        ((e) => (Wd.metaKeyPressed(e) && 86 === e.keyCode) || (e.shiftKey && 45 === e.keyCode))(e) && !e.isDefaultPrevented() && (r = e.shiftKey && 86 === e.keyCode);
                    }),
                        e.on("paste", (o) => {
                            if (
                                o.isDefaultPrevented() ||
                                ((e) => {
                                    var t, n;
                                    return gt.os.isAndroid() && 0 === (null === (n = null === (t = e.clipboardData) || void 0 === t ? void 0 : t.items) || void 0 === n ? void 0 : n.length);
                                })(o)
                            )
                                return;
                            const i = "text" === n.get() || r;
                            r = !1;
                            const s = BS(o.clipboardData);
                            (!FS(s) && qS(e, o, t.getLastRng() || e.selection.getRng())) ||
                                (jS(s, "text/html")
                                    ? (o.preventDefault(), zS(e, s, s["text/html"], i))
                                    : (t.create(),
                                      lp.setEditorTimeout(
                                          e,
                                          () => {
                                              const n = t.getHtml();
                                              t.remove(), zS(e, s, n, i);
                                          },
                                          0
                                      )));
                        });
                },
                VS = (e, t, n) => {
                    WS(e, t, n),
                        ((e) => {
                            const t = (e) => Ue(e, "webkit-fake-url"),
                                n = (e) => Ue(e, "data:");
                            e.parser.addNodeFilter("img", (r, o, i) => {
                                if (
                                    !Bl(e) &&
                                    ((e) => {
                                        var t;
                                        return !0 === (null === (t = e.data) || void 0 === t ? void 0 : t.paste);
                                    })(i)
                                )
                                    for (const o of r) {
                                        const r = o.attr("src");
                                        h(r) && !o.attr("data-mce-object") && r !== gt.transparentSrc && (t(r) || (!Kl(e) && n(r))) && o.remove();
                                    }
                            });
                        })(e);
                },
                KS = (e, t) => {
                    e.addCommand("mceTogglePlainTextPaste", () => {
                        ((e, t) => {
                            "text" === t.get() ? (t.set("html"), zd(e, !1)) : (t.set("text"), zd(e, !0)), e.focus();
                        })(e, t);
                    }),
                        e.addCommand("mceInsertClipboardContent", (t, n) => {
                            n.html && MS(e, n.html, n.internal), n.text && IS(e, n.text);
                        });
                },
                GS = (e, t, n, r) => {
                    ((e, t, n) => {
                        try {
                            return e.clearData(), e.setData("text/html", t), e.setData("text/plain", n), e.setData(vS(), t), !0;
                        } catch (e) {
                            return !1;
                        }
                    })(e.clipboardData, t.html, t.text)
                        ? (e.preventDefault(), r())
                        : n(t.html, r);
                },
                YS = (e) => (t, n) => {
                    const { dom: r, selection: o } = e,
                        i = r.create("div", { contenteditable: "false", "data-mce-bogus": "all" }),
                        s = r.create("div", { contenteditable: "true" }, t);
                    r.setStyles(i, { position: "fixed", top: "0", left: "-3000px", width: "1000px", overflow: "hidden" }), i.appendChild(s), r.add(e.getBody(), i);
                    const a = o.getRng();
                    s.focus();
                    const l = r.createRng();
                    l.selectNodeContents(s),
                        o.setRng(l),
                        lp.setEditorTimeout(
                            e,
                            () => {
                                o.setRng(a), r.remove(i), n();
                            },
                            0
                        );
                },
                XS = (e) => ({ html: yS(e.selection.getContent({ contextual: !0 })), text: e.selection.getContent({ format: "text" }) }),
                JS = (e) => !e.selection.isCollapsed() || ((e) => !!e.dom.getParent(e.selection.getStart(), "td[data-mce-selected],th[data-mce-selected]", e.getBody()))(e),
                QS = (e) => {
                    e.on(
                        "cut",
                        ((e) => (t) => {
                            !t.isDefaultPrevented() &&
                                JS(e) &&
                                GS(t, XS(e), YS(e), () => {
                                    if (gt.browser.isChromium() || gt.browser.isFirefox()) {
                                        const t = e.selection.getRng();
                                        lp.setEditorTimeout(
                                            e,
                                            () => {
                                                e.selection.setRng(t), e.execCommand("Delete");
                                            },
                                            0
                                        );
                                    } else e.execCommand("Delete");
                                });
                        })(e)
                    ),
                        e.on(
                            "copy",
                            ((e) => (t) => {
                                !t.isDefaultPrevented() && JS(e) && GS(t, XS(e), YS(e), A);
                            })(e)
                        );
                },
                ZS = (e, t) => {
                    var n, r;
                    return Af.getCaretRangeFromPoint(null !== (n = t.clientX) && void 0 !== n ? n : 0, null !== (r = t.clientY) && void 0 !== r ? r : 0, e.getDoc());
                },
                eT = (e, t) => {
                    e.focus(), t && e.selection.setRng(t);
                },
                tT = (e, t) => {
                    Il(e) &&
                        e.on("dragend dragover draggesture dragdrop drop drag", (e) => {
                            e.preventDefault(), e.stopPropagation();
                        }),
                        Bl(e) ||
                            e.on("drop", (e) => {
                                const t = e.dataTransfer;
                                t && ((e) => z(e.files, (e) => /^image\//.test(e.type)))(t) && e.preventDefault();
                            }),
                        e.on("drop", (n) => {
                            if (n.isDefaultPrevented() || t.get()) return;
                            const r = ZS(e, n);
                            if (w(r)) return;
                            const o = BS(n.dataTransfer),
                                i = jS(o, vS());
                            if (
                                (!FS(o) ||
                                    ((e) => {
                                        const t = e["text/plain"];
                                        return !!t && 0 === t.indexOf("file://");
                                    })(o)) &&
                                qS(e, n, r)
                            )
                                return;
                            const s = o[vS()],
                                a = s || o["text/html"] || o["text/plain"];
                            a &&
                                (n.preventDefault(),
                                lp.setEditorTimeout(e, () => {
                                    e.undoManager.transact(() => {
                                        s && e.execCommand("Delete"), eT(e, r);
                                        const t = AS(a);
                                        o["text/html"] ? MS(e, t, i) : IS(e, t);
                                    });
                                }));
                        }),
                        e.on("dragstart", (e) => {
                            t.set(!0);
                        }),
                        e.on("dragover dragend", (n) => {
                            Bl(e) && !1 === t.get() && (n.preventDefault(), eT(e, ZS(e, n))), "dragend" === n.type && t.set(!1);
                        });
                },
                nT = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,
                rT = (e) => wt.trim(e).replace(nT, Iu).toLowerCase(),
                oT = (e, t, n) => {
                    const r = Hl(e);
                    if (n || "all" === r || !Ul(e)) return t;
                    const o = r ? r.split(/[, ]/) : [];
                    if (o && "none" !== r) {
                        const n = e.dom,
                            r = e.selection.getNode();
                        t = t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, (e, t, i, s) => {
                            const a = n.parseStyle(n.decode(i)),
                                l = {};
                            for (let e = 0; e < o.length; e++) {
                                const t = a[o[e]];
                                let i = t,
                                    s = n.getStyle(r, o[e], !0);
                                /color/.test(o[e]) && ((i = rT(i)), (s = rT(s))), s !== i && (l[o[e]] = t);
                            }
                            const c = n.serializeStyle(l, "span");
                            return c ? t + ' style="' + c + '"' + s : t + s;
                        });
                    } else t = t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, "$1$3");
                    return (t = t.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, (e, t, n, r) => t + ' style="' + n + '"' + r));
                },
                iT = (e) => {
                    const t = Li(!1),
                        n = Li(Wl(e) ? "text" : "html"),
                        r = ES(e);
                    ((e) => {
                        (gt.browser.isChromium() || gt.browser.isSafari()) &&
                            ((e, t) => {
                                e.on("PastePreProcess", (n) => {
                                    n.content = t(e, n.content, n.internal);
                                });
                            })(e, oT);
                    })(e),
                        KS(e, n),
                        ((e) => {
                            const t = (t) => (n) => {
                                    t(e, n);
                                },
                                n = jl(e);
                            x(n) && e.on("PastePreProcess", t(n));
                            const r = Fl(e);
                            x(r) && e.on("PastePostProcess", t(r));
                        })(e),
                        e.on("PreInit", () => {
                            QS(e), tT(e, t), VS(e, r, n);
                        });
                },
                sT = (e) => {
                    ((e) => {
                        e.on("click", (t) => {
                            e.dom.getParent(t.target, "details") && t.preventDefault();
                        });
                    })(e),
                        ((e) => {
                            e.parser.addNodeFilter("details", (e) => {
                                V(e, (e) => {
                                    e.attr("data-mce-open", e.attr("open")), e.attr("open", "open");
                                });
                            }),
                                e.serializer.addNodeFilter("details", (e) => {
                                    V(e, (e) => {
                                        const t = e.attr("data-mce-open");
                                        e.attr("open", h(t) ? t : null), e.attr("data-mce-open", null);
                                    });
                                });
                        })(e);
                },
                aT = (e) => ir(e) && zr(Qt.fromDom(e)),
                lT = (e) => {
                    e.on("click", (t) => {
                        t.detail >= 3 &&
                            ((e) => {
                                const t = e.selection.getRng(),
                                    n = Ms.fromRangeStart(t),
                                    r = Ms.fromRangeEnd(t);
                                if (Ms.isElementPosition(n)) {
                                    const e = n.container();
                                    aT(e) && fu(e).each((e) => t.setStart(e.container(), e.offset()));
                                }
                                if (Ms.isElementPosition(r)) {
                                    const e = n.container();
                                    aT(e) && pu(e).each((e) => t.setEnd(e.container(), e.offset()));
                                }
                                e.selection.setRng(Xm(t));
                            })(e);
                    });
                };
            var cT;
            !(function (e) {
                (e.Before = "before"), (e.After = "after");
            })(cT || (cT = {}));
            const uT = (e, t) => Math.abs(e.left - t),
                dT = (e, t) => Math.abs(e.right - t),
                fT = (e, t) => {
                    const n = ((e, t) => Math.max(0, Math.min(e.bottom, t.bottom) - Math.max(e.top, t.top)))(e, t) / Math.min(e.height, t.height);
                    return ((e, t) => e.top < t.bottom && e.bottom > t.top)(e, t) && n > 0.5;
                },
                pT = (e, t) =>
                    ((e) =>
                        J(
                            e,
                            (e, t) =>
                                e.fold(
                                    () => B.some(t),
                                    (e) => {
                                        const n = Math.min(t.left, e.left),
                                            r = Math.min(t.top, e.top),
                                            o = Math.max(t.right, e.right),
                                            i = Math.max(t.bottom, e.bottom);
                                        return B.some({ top: r, right: o, bottom: i, left: n, width: o - n, height: i - r });
                                    }
                                ),
                            B.none()
                        ))(
                        Y(e, (e) => {
                            return (n = t) >= (r = e).top && n <= r.bottom;
                            var n, r;
                        })
                    ).fold(
                        () => [[], e],
                        (t) => {
                            const { pass: n, fail: r } = G(e, (e) => fT(e, t));
                            return [n, r];
                        }
                    ),
                hT = (e, t, n) => (t > e.left && t < e.right ? 0 : Math.min(Math.abs(e.left - t), Math.abs(e.right - t))),
                mT = (e, t, n) => {
                    const r = (e) => (wo(e.node) ? B.some(e) : ir(e.node) ? mT(de(e.node.childNodes), t, n) : B.none()),
                        o = (e, o) => {
                            const i = ae(e, (e, r) => o(e, t, n) - o(r, t, n));
                            return ((e, o) => {
                                if (e.length >= 2) {
                                    const i = r(e[0]).getOr(e[0]),
                                        s = r(e[1]).getOr(e[1]);
                                    if (Math.abs(o(i, t, n) - o(s, t, n)) < 2) {
                                        if (pr(i.node)) return B.some(i);
                                        if (pr(s.node)) return B.some(s);
                                    }
                                }
                                return B.none();
                            })(i, o).orThunk(() => fe(i, r));
                        },
                        [i, s] = pT(NC(e), n),
                        { pass: a, fail: l } = G(s, (e) => e.top < n);
                    return o(i, hT)
                        .orThunk(() => o(l, ps))
                        .orThunk(() => o(a, ps));
                },
                gT = (e, t, n, r) => {
                    const o = (t, i) =>
                        i
                            .fold(
                                () => mT(de(t.dom.childNodes), n, r),
                                (e) => {
                                    const o = Y(de(t.dom.childNodes), (t) => t !== e.dom);
                                    return mT(o, n, r);
                                }
                            )
                            .orThunk(() => {
                                var n;
                                return (nn(t, e) ? B.none() : ((n = t), B.from(n.dom.parentElement).map(Qt.fromDom))).bind((e) => o(e, B.some(t)));
                            });
                    return o(t, B.none());
                },
                vT = (e, t, n) =>
                    ((e, t, n) => {
                        const r = Qt.fromDom(e),
                            o = sn(r),
                            i = Qt.fromPoint(o, t, n)
                                .filter((e) => rn(r, e))
                                .getOr(r);
                        return gT(r, i, t, n);
                    })(e, t, n)
                        .filter((e) => vc(e.node))
                        .map((e) => ((e, t) => ({ node: e.node, position: uT(e, t) < dT(e, t) ? cT.Before : cT.After }))(e, t)),
                yT = (e) => {
                    const t = e.getBoundingClientRect(),
                        n = e.ownerDocument,
                        r = n.documentElement,
                        o = n.defaultView;
                    return { top: t.top + o.pageYOffset - r.clientTop, left: t.left + o.pageXOffset - r.clientLeft };
                },
                bT = (e, t) => {
                    return (
                        (n = ((e) => (e.inline ? yT(e.getBody()) : { left: 0, top: 0 }))(e)),
                        (r = ((e) => {
                            const t = e.getBody();
                            return e.inline ? { left: t.scrollLeft, top: t.scrollTop } : { left: 0, top: 0 };
                        })(e)),
                        {
                            pageX:
                                (o = ((e, t) => {
                                    if (t.target.ownerDocument !== e.getDoc()) {
                                        const n = yT(e.getContentAreaContainer()),
                                            r = ((e) => {
                                                const t = e.getBody(),
                                                    n = e.getDoc().documentElement,
                                                    r = { left: t.scrollLeft, top: t.scrollTop },
                                                    o = { left: t.scrollLeft || n.scrollLeft, top: t.scrollTop || n.scrollTop };
                                                return e.inline ? r : o;
                                            })(e);
                                        return { left: t.pageX - n.left + r.left, top: t.pageY - n.top + r.top };
                                    }
                                    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;
                },
                _T = Cr,
                wT = wr,
                CT = (e, t, n, r) => {
                    const o = e.dom,
                        i = t.cloneNode(!0);
                    o.setStyles(i, { width: n, height: r }), o.setAttrib(i, "data-mce-selected", null);
                    const s = o.create("div", { class: "mce-drag-container", "data-mce-bogus": "all", unselectable: "on", contenteditable: "false" });
                    return o.setStyles(s, { position: "absolute", opacity: 0.5, overflow: "hidden", border: 0, padding: 0, margin: 0, width: n, height: r }), o.setStyles(i, { margin: 0, boxSizing: "border-box" }), s.appendChild(i), s;
                },
                xT = (e) => {
                    e && e.parentNode && e.parentNode.removeChild(e);
                },
                ET = (e, t) => (n) => {
                    if (((e) => 0 === e.button)(n)) {
                        const i = Z(
                            t.dom.getParents(n.target),
                            ((...e) => (t) => {
                                for (let n = 0; n < e.length; n++) if (e[n](t)) return !0;
                                return !1;
                            })(_T, wT)
                        ).getOr(null);
                        if (((r = t.getBody()), _T((o = i)) && o !== r)) {
                            const r = t.dom.getPos(i),
                                o = t.getBody(),
                                s = t.getDoc().documentElement;
                            e.set({
                                element: i,
                                dragging: !1,
                                screenX: n.screenX,
                                screenY: n.screenY,
                                maxX: (t.inline ? o.scrollWidth : s.offsetWidth) - 2,
                                maxY: (t.inline ? o.scrollHeight : s.offsetHeight) - 2,
                                relX: n.pageX - r.x,
                                relY: n.pageY - r.y,
                                width: i.offsetWidth,
                                height: i.offsetHeight,
                                ghost: CT(t, i, i.offsetWidth, i.offsetHeight),
                            });
                        }
                    }
                    var r, o;
                },
                kT = (e, t) => (n) => {
                    e.on((e) => {
                        if (e.dragging) {
                            if (
                                ((e, t, n) => t !== n && !e.dom.isChildOf(t, n) && !_T(t))(
                                    t,
                                    ((e) => {
                                        const t = e.getSel().getRangeAt(0).startContainer;
                                        return 3 === t.nodeType ? t.parentNode : t;
                                    })(t.selection),
                                    e.element
                                )
                            ) {
                                const r = ((e) => {
                                    const t = e.cloneNode(!0);
                                    return t.removeAttribute("data-mce-selected"), t;
                                })(e.element);
                                t.dispatch("drop", { clientX: n.clientX, clientY: n.clientY }).isDefaultPrevented() ||
                                    t.undoManager.transact(() => {
                                        xT(e.element), t.insertContent(t.dom.getOuterHTML(r)), t._selectionOverrides.hideFakeCaret();
                                    });
                            }
                            t.dispatch("dragend");
                        }
                    }),
                        AT(e);
                },
                AT = (e) => {
                    e.on((e) => {
                        xT(e.ghost);
                    }),
                        e.clear();
                },
                ST = (e) => {
                    const t = ji(),
                        n = Oi.DOM,
                        r = document,
                        o = ET(t, e),
                        i = ((e, t) => {
                            const n = Fi((e, n) => {
                                t._selectionOverrides.hideFakeCaret(), t.selection.placeCaretAt(e, n);
                            }, 0);
                            return (
                                t.on("remove", n.cancel),
                                (r) =>
                                    e.on((e) => {
                                        const o = Math.max(Math.abs(r.screenX - e.screenX), Math.abs(r.screenY - e.screenY));
                                        if (!e.dragging && o > 10) {
                                            if (t.dispatch("dragstart", { target: e.element }).isDefaultPrevented()) return;
                                            (e.dragging = !0), t.focus();
                                        }
                                        if (e.dragging) {
                                            const o = ((e, t) => ({ pageX: t.pageX - e.relX, pageY: t.pageY + 5 }))(e, bT(t, r));
                                            (i = e.ghost),
                                                (s = t.getBody()),
                                                i.parentNode !== s && s.appendChild(i),
                                                ((e, t, n, r, o, i) => {
                                                    let s = 0,
                                                        a = 0;
                                                    (e.style.left = t.pageX + "px"),
                                                        (e.style.top = t.pageY + "px"),
                                                        t.pageX + n > o && (s = t.pageX + n - o),
                                                        t.pageY + r > i && (a = t.pageY + r - i),
                                                        (e.style.width = n - s + "px"),
                                                        (e.style.height = r - a + "px");
                                                })(e.ghost, o, e.width, e.height, e.maxX, e.maxY),
                                                n.throttle(r.clientX, r.clientY);
                                        }
                                        var i, s;
                                    })
                            );
                        })(t, e),
                        s = kT(t, e),
                        a = ((e, t) => () => {
                            e.on((e) => {
                                e.dragging && t.dispatch("dragend");
                            }),
                                AT(e);
                        })(t, e);
                    e.on("mousedown", o),
                        e.on("mousemove", i),
                        e.on("mouseup", s),
                        n.bind(r, "mousemove", i),
                        n.bind(r, "mouseup", a),
                        e.on("remove", () => {
                            n.unbind(r, "mousemove", i), n.unbind(r, "mouseup", a);
                        }),
                        e.on("keydown", (e) => {
                            e.keyCode === Wd.ESC && a();
                        });
                },
                TT = (e) => {
                    ST(e),
                        Al(e) &&
                            ((e) => {
                                const t = (t) => {
                                        if (!t.isDefaultPrevented()) {
                                            const n = t.dataTransfer;
                                            n && (q(n.types, "Files") || n.files.length > 0) && (t.preventDefault(), "drop" === t.type && u_(e, "Dropped file type is not supported"));
                                        }
                                    },
                                    n = (n) => {
                                        fp(e, n.target) && t(n);
                                    },
                                    r = () => {
                                        const r = Oi.DOM,
                                            o = e.dom,
                                            i = document,
                                            s = e.inline ? e.getBody() : e.getDoc(),
                                            a = ["drop", "dragover"];
                                        V(a, (e) => {
                                            r.bind(i, e, n), o.bind(s, e, t);
                                        }),
                                            e.on("remove", () => {
                                                V(a, (e) => {
                                                    r.unbind(i, e, n), o.unbind(s, e, t);
                                                });
                                            });
                                    };
                                e.on("init", () => {
                                    lp.setEditorTimeout(e, r, 0);
                                });
                            })(e);
                },
                NT = Cr,
                OT = (e, t) => jm(e.getBody(), t),
                DT = (e) => {
                    const t = e.selection,
                        n = e.dom,
                        r = n.isBlock,
                        o = e.getBody(),
                        i = hc(e, o, r, () => bp(e)),
                        s = "sel-" + n.uniqueId();
                    let a;
                    const l = (e) => e !== o && (NT(e) || Er(e)) && n.isChildOf(e, o),
                        c = (n, r, o, s = !0) => (e.dispatch("ShowCaret", { target: r, direction: n, before: o }).isDefaultPrevented() ? null : (s && t.scrollIntoView(r, -1 === n), i.show(o, r))),
                        u = () => {
                            e.on("click", (t) => {
                                const n = OT(e, t.target);
                                n && NT(n) && (t.preventDefault(), e.focus());
                            }),
                                e.on("blur NewBlock", g),
                                e.on("ResizeWindow FullscreenStateChanged", i.reposition),
                                e.on(
                                    "tap",
                                    (t) => {
                                        const n = t.target,
                                            r = OT(e, n);
                                        NT(r) ? (t.preventDefault(), bw(e, r).each(m)) : l(n) && bw(e, n).each(m);
                                    },
                                    !0
                                ),
                                e.on("mousedown", (r) => {
                                    const i = r.target;
                                    if (i !== o && "HTML" !== i.nodeName && !n.isChildOf(i, o)) return;
                                    if (!1 === r_(e, r.clientX, r.clientY)) return;
                                    g(), v();
                                    const s = OT(e, i);
                                    NT(s)
                                        ? (r.preventDefault(), bw(e, s).each(m))
                                        : vT(o, r.clientX, r.clientY).each((n) => {
                                              r.preventDefault();
                                              ((e) => {
                                                  e && t.setRng(e);
                                              })(c(1, n.node, n.position === cT.Before, !1)),
                                                  ir(s) ? s.focus() : e.getBody().focus();
                                          });
                                }),
                                e.on("keypress", (e) => {
                                    Wd.modifierPressed(e) || (NT(t.getNode()) && e.preventDefault());
                                }),
                                e.on("GetSelectionRange", (e) => {
                                    let t = e.range;
                                    if (a) {
                                        if (!a.parentNode) return void (a = null);
                                        (t = t.cloneRange()), t.selectNode(a), (e.range = t);
                                    }
                                }),
                                e.on("SetSelectionRange", (e) => {
                                    e.range = p(e.range);
                                    const t = m(e.range, e.forward);
                                    t && (e.range = t);
                                });
                            e.on("AfterSetSelectionRange", (e) => {
                                const t = e.range,
                                    r = t.startContainer.parentNode;
                                f(t) || "mcepastebin" === r.id || v(), ((e) => n.hasClass(e, "mce-offscreen-selection"))(r) || g();
                            }),
                                TT(e),
                                ((e) => {
                                    const t = Fi(() => {
                                        if (!e.removed && e.getBody().contains(document.activeElement)) {
                                            const t = e.selection.getRng();
                                            if (t.collapsed) {
                                                const n = _w(e, t, !1);
                                                e.selection.setRng(n);
                                            }
                                        }
                                    }, 0);
                                    e.on("focus", () => {
                                        t.throttle();
                                    }),
                                        e.on("blur", () => {
                                            t.cancel();
                                        });
                                })(e),
                                ((e) => {
                                    e.on("init", () => {
                                        e.on("focusin", (t) => {
                                            const n = t.target;
                                            if (Er(n)) {
                                                const t = jm(e.getBody(), n),
                                                    r = Cr(t) ? t : n;
                                                e.selection.getNode() !== r && bw(e, r).each((t) => e.selection.setRng(t));
                                            }
                                        });
                                    });
                                })(e);
                        },
                        d = (e) => ro(e) || lo(e) || co(e),
                        f = (e) => d(e.startContainer) || d(e.endContainer),
                        p = (t) => {
                            const r = e.schema.getVoidElements(),
                                o = n.createRng(),
                                i = t.startContainer,
                                s = t.startOffset,
                                a = t.endContainer,
                                l = t.endOffset;
                            return (
                                Ee(r, i.nodeName.toLowerCase()) ? (0 === s ? o.setStartBefore(i) : o.setStartAfter(i)) : o.setStart(i, s),
                                Ee(r, a.nodeName.toLowerCase()) ? (0 === l ? o.setEndBefore(a) : o.setEndAfter(a)) : o.setEnd(a, l),
                                o
                            );
                        },
                        h = (r) => {
                            const o = r.cloneNode(!0),
                                i = e.dispatch("ObjectSelected", { target: r, targetClone: o });
                            if (i.isDefaultPrevented()) return null;
                            const l = ((r, o) => {
                                    const i = Qt.fromDom(e.getBody()),
                                        a = e.getDoc(),
                                        l = Pr(i, "#" + s).getOrThunk(() => {
                                            const e = Qt.fromHtml('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>', a);
                                            return Lt(e, "id", s), Bn(i, e), e;
                                        }),
                                        c = n.createRng();
                                    Fn(l), jn(l, [Qt.fromText(" ", a), Qt.fromDom(o), Qt.fromText(" ", a)]), c.setStart(l.dom.firstChild, 1), c.setEnd(l.dom.lastChild, 0), Nn(l, { top: n.getPos(r, e.getBody()).y + "px" }), Yf(l);
                                    const u = t.getSel();
                                    return u.removeAllRanges(), u.addRange(c), c;
                                })(r, i.targetClone),
                                c = Qt.fromDom(r);
                            return (
                                V(qi(Qt.fromDom(e.getBody()), "*[data-mce-selected]"), (e) => {
                                    nn(c, e) || Bt(e, "data-mce-selected");
                                }),
                                n.getAttrib(r, "data-mce-selected") || r.setAttribute("data-mce-selected", "1"),
                                (a = r),
                                v(),
                                l
                            );
                        },
                        m = (e, t) => {
                            if (!e) return null;
                            if (e.collapsed) {
                                if (!f(e)) {
                                    const n = t ? 1 : -1,
                                        r = Fc(n, o, e),
                                        i = r.getNode(!t);
                                    if (vc(i)) return c(n, i, !!t && !r.isAtEnd(), !1);
                                    const s = r.getNode(t);
                                    if (vc(s)) return c(n, s, !t && !r.isAtEnd(), !1);
                                }
                                return null;
                            }
                            let r = e.startContainer,
                                i = e.startOffset;
                            const s = e.endOffset;
                            if ((3 === r.nodeType && 0 === i && NT(r.parentNode) && ((r = r.parentNode), (i = n.nodeIndex(r)), (r = r.parentNode)), 1 !== r.nodeType)) return null;
                            if (s === i + 1 && r === e.endContainer) {
                                const e = r.childNodes[i];
                                if (l(e)) return h(e);
                            }
                            return null;
                        },
                        g = () => {
                            a && a.removeAttribute("data-mce-selected"), Pr(Qt.fromDom(e.getBody()), "#" + s).each(Hn), (a = null);
                        },
                        v = () => {
                            i.hide();
                        };
                    return (
                        wb(e) || u(),
                        {
                            showCaret: c,
                            showBlockCaretContainer: (e) => {
                                e.hasAttribute("data-mce-caret") && (uo(e), t.scrollIntoView(e));
                            },
                            hideFakeCaret: v,
                            destroy: () => {
                                i.destroy(), (a = null);
                            },
                        }
                    );
                },
                RT = (e, t, n) => {
                    if (pr(t) && (n < 0 || n > t.data.length)) return [];
                    const r = [n];
                    let o = t;
                    for (; o !== e && o.parentNode; ) {
                        const e = o.parentNode;
                        for (let t = 0; t < e.childNodes.length; t++)
                            if (e.childNodes[t] === o) {
                                r.push(t);
                                break;
                            }
                        o = e;
                    }
                    return o === e ? r.reverse() : [];
                },
                LT = (e, t, n, r, o) => ({ start: RT(e, t, n), end: RT(e, r, o) }),
                PT = (e, t) => {
                    const n = t.slice(),
                        r = n.pop();
                    return J(n, (e, t) => e.bind((e) => B.from(e.childNodes[t])), B.some(e)).bind((e) => (pr(e) && (r < 0 || r > e.data.length) ? B.none() : B.some({ node: e, offset: r })));
                },
                $T = (e, t) =>
                    PT(e, t.start).bind(({ node: n, offset: r }) =>
                        PT(e, t.end).map(({ node: e, offset: t }) => {
                            const o = document.createRange();
                            return o.setStart(n, r), o.setEnd(e, t), o;
                        })
                    ),
                MT = (e, t, n) => {
                    if (t && e.isEmpty(t) && !n(t)) {
                        const r = t.parentNode;
                        e.remove(t), MT(e, r, n);
                    }
                },
                IT = (e, t, n, r = !0) => {
                    const o = t.startContainer.parentNode,
                        i = t.endContainer.parentNode;
                    t.deleteContents(),
                        r &&
                            !n(t.startContainer) &&
                            (pr(t.startContainer) && 0 === t.startContainer.data.length && e.remove(t.startContainer), pr(t.endContainer) && 0 === t.endContainer.data.length && e.remove(t.endContainer), MT(e, o, n), o !== i && MT(e, i, n));
                },
                BT = (e, t) => B.from(e.dom.getParent(t.startContainer, e.dom.isBlock)),
                jT = (e, t, n) => {
                    ((e, t, n) => {
                        if (pr(e) && t >= e.length) return B.some(TE(e, t));
                        {
                            const r = ss(NE);
                            return B.from(r.forwards(e, t, OE(e), n)).map((e) => TE(e.container, 0));
                        }
                    })(t, 0, t).each((r) => {
                        const o = r.container;
                        LE(o, n.start.length, t).each((n) => {
                            const r = e.createRng();
                            r.setStart(o, 0), r.setEnd(n.container, n.offset), IT(e, r, (e) => e === t);
                        });
                    });
                },
                FT = (e, t) => {
                    const n = e.dom,
                        r = t.pattern,
                        o = $T(n.getRoot(), t.range).getOrDie("Unable to resolve path range");
                    return (
                        BT(e, o).each((t) => {
                            "block-format" === r.type
                                ? ((e, t) => {
                                      const n = t.get(e);
                                      return v(n) && ce(n).exists((e) => Ee(e, "block"));
                                  })(r.format, e.formatter) &&
                                  e.undoManager.transact(() => {
                                      jT(e.dom, t, r), e.formatter.apply(r.format);
                                  })
                                : "block-command" === r.type &&
                                  e.undoManager.transact(() => {
                                      jT(e.dom, t, r), e.execCommand(r.cmd, !1, r.value);
                                  });
                        }),
                        !0
                    );
                },
                HT = (e, t) => {
                    const n = e.dom,
                        r = e.selection.getRng();
                    return BT(e, r)
                        .filter((t) => {
                            const r = Na(e),
                                o = n.is(t, r);
                            return null !== t && o;
                        })
                        .bind((e) => {
                            const r = e.textContent;
                            return ((e, t) => {
                                const n = t.replace(" ", " ");
                                return Z(e, (e) => 0 === t.indexOf(e.start) || 0 === n.indexOf(e.start));
                            })(t, r).map((t) => (wt.trim(r).length === t.start.length ? [] : [{ pattern: t, range: LT(n.getRoot(), e, 0, e, 0) }]));
                        })
                        .getOr([]);
                },
                UT = (e, t) => e.create("span", { "data-mce-type": "bookmark", id: t }),
                qT = (e, t) => {
                    const n = e.createRng();
                    return n.setStartAfter(t.start), n.setEndBefore(t.end), n;
                },
                zT = (e, t, n) => {
                    const r = $T(e.getRoot(), n).getOrDie("Unable to resolve path range"),
                        o = r.startContainer,
                        i = r.endContainer,
                        s = 0 === r.endOffset ? i : i.splitText(r.endOffset),
                        a = 0 === r.startOffset ? o : o.splitText(r.startOffset);
                    return { prefix: t, end: s.parentNode.insertBefore(UT(e, t + "-end"), s), start: a.parentNode.insertBefore(UT(e, t + "-start"), a) };
                },
                WT = (e, t, n) => {
                    MT(e, e.get(t.prefix + "-end"), n), MT(e, e.get(t.prefix + "-start"), n);
                },
                VT = (e) => 0 === e.start.length,
                KT = (e, t, n, r) => {
                    const o = t.start;
                    var i;
                    return PE(
                        e,
                        r.container,
                        r.offset,
                        ((i = o),
                        (e, t) => {
                            const n = e.data.substring(0, t),
                                r = n.lastIndexOf(i.charAt(i.length - 1)),
                                o = n.lastIndexOf(i);
                            return -1 !== o ? o + i.length : -1 !== r ? r + 1 : -1;
                        }),
                        n
                    ).bind((r) => {
                        if (r.offset >= o.length) {
                            const t = e.createRng();
                            return t.setStart(r.container, r.offset - o.length), t.setEnd(r.container, r.offset), B.some(t);
                        }
                        {
                            const i = r.offset - o.length;
                            return RE(r.container, i, n)
                                .map((t) => {
                                    const n = e.createRng();
                                    return n.setStart(t.container, t.offset), n.setEnd(r.container, r.offset), n;
                                })
                                .filter((e) => e.toString() === o)
                                .orThunk(() => KT(e, t, n, TE(r.container, 0)));
                        }
                    });
                },
                GT = (e, t, n) => {
                    const r = e.dom,
                        o = r.getRoot(),
                        i = n.pattern,
                        s = n.position.container,
                        a = n.position.offset;
                    return RE(s, a - n.pattern.end.length, t).bind((l) => {
                        const c = LT(o, l.container, l.offset, s, a);
                        if (VT(i)) return B.some({ matches: [{ pattern: i, startRng: c, endRng: c }], position: l });
                        {
                            const s = YT(e, n.remainingPatterns, l.container, l.offset, t),
                                a = s.getOr({ matches: [], position: l }),
                                u = a.position;
                            return ((e, t, n, r, o, i = !1) => {
                                if (0 === t.start.length && !i) {
                                    const t = e.createRng();
                                    return t.setStart(n, r), t.setEnd(n, r), B.some(t);
                                }
                                return DE(n, r, o).bind((n) =>
                                    KT(e, t, o, n).bind((e) => {
                                        if (i) {
                                            if (e.endContainer === n.container && e.endOffset === n.offset) return B.none();
                                            if (0 === n.offset && e.endContainer.textContent.length === e.endOffset) return B.none();
                                        }
                                        return B.some(e);
                                    })
                                );
                            })(r, i, u.container, u.offset, t, s.isNone()).map((e) => {
                                const t = ((e, t) => LT(e, t.startContainer, t.startOffset, t.endContainer, t.endOffset))(o, e);
                                return { matches: a.matches.concat([{ pattern: i, startRng: t, endRng: c }]), position: TE(e.startContainer, e.startOffset) };
                            });
                        }
                    });
                },
                YT = (e, t, n, r, o) => {
                    const i = e.dom;
                    return DE(n, r, i.getRoot()).bind((s) => {
                        const a = i.createRng();
                        a.setStart(o, 0), a.setEnd(n, r);
                        const l = a.toString();
                        for (let n = 0; n < t.length; n++) {
                            const r = t[n];
                            if (!qe(l, r.end)) continue;
                            const i = t.slice();
                            i.splice(n, 1);
                            const a = GT(e, o, { pattern: r, remainingPatterns: i, position: s });
                            if (a.isSome()) return a;
                        }
                        return B.none();
                    });
                },
                XT = (e, t, n) => {
                    e.selection.setRng(n),
                        "inline-format" === t.type
                            ? V(t.format, (t) => {
                                  e.formatter.apply(t);
                              })
                            : e.execCommand(t.cmd, !1, t.value);
                },
                JT = (e, t, n) => {
                    const r = e.selection.getRng();
                    return !1 === r.collapsed
                        ? []
                        : BT(e, r)
                              .bind((o) => {
                                  const i = Math.max(0, r.startOffset - (n ? 1 : 0));
                                  return YT(e, t, r.startContainer, i, o);
                              })
                              .fold(
                                  () => [],
                                  (e) => e.matches
                              );
                },
                QT = (e, t) => {
                    if (0 === t.length) return;
                    const n = e.dom,
                        r = e.selection.getBookmark(),
                        o = ((e, t) => {
                            const n = es("mce_textpattern"),
                                r = X(
                                    t,
                                    (t, r) => {
                                        const o = zT(e, n + "_end" + t.length, r.endRng);
                                        return t.concat([{ ...r, endMarker: o }]);
                                    },
                                    []
                                );
                            return X(
                                r,
                                (t, o) => {
                                    const i = r.length - t.length - 1,
                                        s = VT(o.pattern) ? o.endMarker : zT(e, n + "_start" + i, o.startRng);
                                    return t.concat([{ ...o, startMarker: s }]);
                                },
                                []
                            );
                        })(n, t);
                    V(o, (t) => {
                        const r = n.getParent(t.startMarker.start, n.isBlock),
                            o = (e) => e === r;
                        VT(t.pattern)
                            ? ((e, t, n, r) => {
                                  const o = qT(e.dom, n);
                                  IT(e.dom, o, r), XT(e, t, o);
                              })(e, t.pattern, t.endMarker, o)
                            : ((e, t, n, r, o) => {
                                  const i = e.dom,
                                      s = qT(i, r),
                                      a = qT(i, n);
                                  IT(i, a, o), IT(i, s, o);
                                  const l = { prefix: n.prefix, start: n.end, end: r.start },
                                      c = qT(i, l);
                                  XT(e, t, c);
                              })(e, t.pattern, t.startMarker, t.endMarker, o),
                            WT(n, t.endMarker, o),
                            WT(n, t.startMarker, o);
                    }),
                        e.selection.moveToBookmark(r);
                },
                ZT = (e, t) => {
                    if (!e.selection.isCollapsed() || !((e) => e.inlinePatterns.length > 0 || e.blockPatterns.length > 0)(t)) return !1;
                    const n = JT(e, t.inlinePatterns, !1),
                        r = HT(e, t.blockPatterns);
                    return (
                        (r.length > 0 || n.length > 0) &&
                        (e.undoManager.add(),
                        e.undoManager.extra(
                            () => {
                                e.execCommand("mceInsertNewLine");
                            },
                            () => {
                                e.insertContent("\ufeff"),
                                    QT(e, n),
                                    ((e, t) => {
                                        if (0 === t.length) return;
                                        const n = e.selection.getBookmark();
                                        V(t, (t) => FT(e, t)), e.selection.moveToBookmark(n);
                                    })(e, r);
                                const t = e.selection.getRng(),
                                    o = DE(t.startContainer, t.startOffset, e.dom.getRoot());
                                e.execCommand("mceInsertNewLine"),
                                    o.each((t) => {
                                        const n = t.container;
                                        "\ufeff" === n.data.charAt(t.offset - 1) && (n.deleteData(t.offset - 1, 1), MT(e.dom, n.parentNode, (t) => t === e.dom.getRoot()));
                                    });
                            }
                        ),
                        !0)
                    );
                },
                eN = (e, t) => {
                    if (t.length > 0) {
                        const n = JT(e, t, !0);
                        n.length > 0 &&
                            e.undoManager.transact(() => {
                                QT(e, n);
                            });
                    }
                },
                tN = (e, t, n) => {
                    for (let r = 0; r < e.length; r++) if (n(e[r], t)) return !0;
                    return !1;
                },
                nN = (e) => {
                    const t = [",", ".", ";", ":", "!", "?"],
                        n = [32],
                        r = () => {
                            return (t = Gl(e)), { inlinePatterns: pa(t), blockPatterns: fa(t) };
                            var t;
                        },
                        o = () => pa(Gl(e));
                    e.on(
                        "keydown",
                        (t) => {
                            13 !== t.keyCode || Wd.modifierPressed(t) || (ZT(e, r()) && t.preventDefault());
                        },
                        !0
                    ),
                        e.on("keyup", (t) => {
                            tN(n, t, (e, t) => e === t.keyCode && !1 === Wd.modifierPressed(t)) && eN(e, o());
                        }),
                        e.on("keypress", (n) => {
                            tN(t, n, (e, t) => e.charCodeAt(0) === t.charCode) &&
                                lp.setEditorTimeout(e, () => {
                                    eN(e, o());
                                });
                        });
                },
                rN = (e) => {
                    const t = wt.each,
                        n = Wd.BACKSPACE,
                        r = Wd.DELETE,
                        o = e.dom,
                        i = e.selection,
                        s = e.parser,
                        a = gt.browser,
                        l = a.isFirefox(),
                        c = a.isChromium() || a.isSafari(),
                        u = gt.deviceType.isiPhone() || gt.deviceType.isiPad(),
                        d = gt.os.isMacOS() || gt.os.isiOS(),
                        f = (t, n) => {
                            try {
                                e.getDoc().execCommand(t, !1, n);
                            } catch (e) {}
                        },
                        p = (e) => e.isDefaultPrevented(),
                        h = () => {
                            const t = (e) => {
                                const t = o.create("body"),
                                    n = e.cloneContents();
                                return t.appendChild(n), i.serializer.serialize(t, { format: "html" });
                            };
                            e.on("keydown", (i) => {
                                const s = i.keyCode;
                                let a, l;
                                if (!p(i) && (s === r || s === n)) {
                                    if (((a = e.selection.isCollapsed()), (l = e.getBody()), a && !o.isEmpty(l))) return;
                                    if (
                                        !a &&
                                        !((n) => {
                                            const r = t(n),
                                                i = o.createRng();
                                            i.selectNode(e.getBody());
                                            return r === t(i);
                                        })(e.selection.getRng())
                                    )
                                        return;
                                    i.preventDefault(), e.setContent(""), l.firstChild && o.isBlock(l.firstChild) ? e.selection.setCursorLocation(l.firstChild, 0) : e.selection.setCursorLocation(l, 0), e.nodeChanged();
                                }
                            });
                        },
                        m = () => {
                            e.shortcuts.add("meta+a", null, "SelectAll");
                        },
                        g = () => {
                            e.inline ||
                                o.bind(e.getDoc(), "mousedown mouseup", (t) => {
                                    let n;
                                    if (t.target === e.getDoc().documentElement)
                                        if (((n = i.getRng()), e.getBody().focus(), "mousedown" === t.type)) {
                                            if (ro(n.startContainer)) return;
                                            i.placeCaretAt(t.clientX, t.clientY);
                                        } else i.setRng(n);
                                });
                        },
                        v = () => {
                            Range.prototype.getClientRects ||
                                e.on("mousedown", (t) => {
                                    if (!p(t) && "HTML" === t.target.nodeName) {
                                        const t = e.getBody();
                                        t.blur(),
                                            lp.setEditorTimeout(e, () => {
                                                t.focus();
                                            });
                                    }
                                });
                        },
                        y = () => {
                            const t = Nl(e);
                            e.on("click", (n) => {
                                const r = n.target;
                                /^(IMG|HR)$/.test(r.nodeName) && "false" !== o.getContentEditableParent(r) && (n.preventDefault(), e.selection.select(r), e.nodeChanged()),
                                    "A" === r.nodeName && o.hasClass(r, t) && 0 === r.childNodes.length && (n.preventDefault(), i.select(r));
                            });
                        },
                        b = () => {
                            e.on("keydown", (e) => {
                                if (!p(e) && e.keyCode === n && i.isCollapsed() && 0 === i.getRng().startOffset) {
                                    const t = i.getNode().previousSibling;
                                    if (t && t.nodeName && "table" === t.nodeName.toLowerCase()) return e.preventDefault(), !1;
                                }
                            });
                        },
                        _ = () => {
                            const t = () => {
                                f("StyleWithCSS", !1), f("enableInlineTableEditing", !1), tl(e) || f("enableObjectResizing", !1);
                            };
                            Cl(e) || e.on("BeforeExecCommand mousedown", t);
                        },
                        w = () => {
                            e.on("SetContent ExecCommand", (e) => {
                                ("setcontent" !== e.type && "mceInsertLink" !== e.command) ||
                                    t(o.select("a"), (e) => {
                                        let t = e.parentNode;
                                        const n = o.getRoot();
                                        if (t.lastChild === e) {
                                            for (; t && !o.isBlock(t); ) {
                                                if (t.parentNode.lastChild !== t || t === n) return;
                                                t = t.parentNode;
                                            }
                                            o.add(t, "br", { "data-mce-bogus": 1 });
                                        }
                                    });
                            });
                        },
                        C = () => {
                            e.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}");
                        },
                        x = () => {
                            e.inline ||
                                e.on("keydown", () => {
                                    document.activeElement === document.body && e.getWin().focus();
                                });
                        },
                        E = () => {
                            e.inline ||
                                (e.contentStyles.push("body {min-height: 150px}"),
                                e.on("click", (t) => {
                                    let n;
                                    "HTML" === t.target.nodeName && ((n = e.selection.getRng()), e.getBody().focus(), e.selection.setRng(n), e.selection.normalize(), e.nodeChanged());
                                }));
                        },
                        k = () => {
                            d &&
                                e.on("keydown", (t) => {
                                    if (Wd.metaKeyPressed(t) && !t.shiftKey && (37 === t.keyCode || 39 === t.keyCode)) {
                                        t.preventDefault();
                                        e.selection.getSel().modify("move", 37 === t.keyCode ? "backward" : "forward", "lineboundary");
                                    }
                                });
                        },
                        S = () => {
                            e.on("click", (e) => {
                                let t = e.target;
                                do {
                                    if ("A" === t.tagName) return void e.preventDefault();
                                } while ((t = t.parentNode));
                            }),
                                e.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}");
                        },
                        T = () => {
                            e.on("init", () => {
                                e.dom.bind(e.getBody(), "submit", (e) => {
                                    e.preventDefault();
                                });
                            });
                        },
                        N = A,
                        O = () => {
                            e.on("keydown", (t) => {
                                let n, r;
                                if (p(t) || t.keyCode !== Wd.BACKSPACE) return;
                                n = i.getRng();
                                const s = n.startContainer,
                                    a = n.startOffset,
                                    l = o.getRoot();
                                if (((r = s), n.collapsed && 0 === a)) {
                                    for (; r && r.parentNode && r.parentNode.firstChild === r && r.parentNode !== l; ) r = r.parentNode;
                                    "BLOCKQUOTE" === r.tagName && (e.formatter.toggle("blockquote", null, r), (n = o.createRng()), n.setStart(s, 0), n.setEnd(s, 0), i.setRng(n));
                                }
                            }),
                                h(),
                                gt.windowsPhone ||
                                    e.on(
                                        "keyup focusin mouseup",
                                        (e) => {
                                            Wd.modifierPressed(e) || i.normalize();
                                        },
                                        !0
                                    ),
                                c &&
                                    (g(),
                                    y(),
                                    e.on("init", () => {
                                        f("DefaultParagraphSeparator", Na(e));
                                    }),
                                    T(),
                                    b(),
                                    s.addNodeFilter("br", (e) => {
                                        let t = e.length;
                                        for (; t--; ) "Apple-interchange-newline" === e[t].attr("class") && e[t].remove();
                                    }),
                                    u ? (x(), E(), S()) : m()),
                                l &&
                                    (e.on("keydown", (t) => {
                                        if (!p(t) && t.keyCode === n) {
                                            if (!e.getBody().getElementsByTagName("hr").length) return;
                                            if (i.isCollapsed() && 0 === i.getRng().startOffset) {
                                                const e = i.getNode(),
                                                    n = e.previousSibling;
                                                if ("HR" === e.nodeName) return o.remove(e), void t.preventDefault();
                                                n && n.nodeName && "hr" === n.nodeName.toLowerCase() && (o.remove(n), t.preventDefault());
                                            }
                                        }
                                    }),
                                    v(),
                                    (() => {
                                        const n = () => {
                                                const n = o.getAttribs(i.getStart().cloneNode(!1));
                                                return () => {
                                                    const r = i.getStart();
                                                    r !== e.getBody() &&
                                                        (o.setAttrib(r, "style", null),
                                                        t(n, (e) => {
                                                            r.setAttributeNode(e.cloneNode(!0));
                                                        }));
                                                };
                                            },
                                            r = () => !i.isCollapsed() && o.getParent(i.getStart(), o.isBlock) !== o.getParent(i.getEnd(), o.isBlock);
                                        e.on("keypress", (t) => {
                                            let o;
                                            if (!p(t) && (8 === t.keyCode || 46 === t.keyCode) && r()) return (o = n()), e.getDoc().execCommand("delete", !1, null), o(), t.preventDefault(), !1;
                                        }),
                                            o.bind(e.getDoc(), "cut", (t) => {
                                                let o;
                                                !p(t) &&
                                                    r() &&
                                                    ((o = n()),
                                                    lp.setEditorTimeout(e, () => {
                                                        o();
                                                    }));
                                            });
                                    })(),
                                    _(),
                                    w(),
                                    C(),
                                    k(),
                                    b());
                        };
                    return (
                        wb(e) ? (c && (g(), y(), T(), m(), u && (x(), E(), S())), l && (v(), _(), C(), k())) : O(),
                        {
                            refreshContentEditable: N,
                            isHidden: () => {
                                if (!l || e.removed) return !1;
                                const t = e.selection.getSel();
                                return !t || !t.rangeCount || 0 === t.rangeCount;
                            },
                        }
                    );
                },
                oN = Oi.DOM,
                iN = (e) => (e.inline ? e.getElement().nodeName.toLowerCase() : void 0),
                sN = (e) => _e(e, (e) => !1 === _(e)),
                aN = (e) => {
                    const t = e.options.get,
                        n = e.editorUpload.blobCache;
                    return sN({
                        allow_conditional_comments: t("allow_conditional_comments"),
                        allow_html_data_urls: t("allow_html_data_urls"),
                        allow_svg_data_urls: t("allow_svg_data_urls"),
                        allow_html_in_named_anchor: t("allow_html_in_named_anchor"),
                        allow_script_urls: t("allow_script_urls"),
                        allow_unsafe_link_target: t("allow_unsafe_link_target"),
                        convert_fonts_to_spans: t("convert_fonts_to_spans"),
                        fix_list_elements: t("fix_list_elements"),
                        font_size_legacy_values: t("font_size_legacy_values"),
                        forced_root_block: t("forced_root_block"),
                        forced_root_block_attrs: t("forced_root_block_attrs"),
                        preserve_cdata: t("preserve_cdata"),
                        remove_trailing_brs: t("remove_trailing_brs"),
                        inline_styles: t("inline_styles"),
                        root_name: iN(e),
                        validate: !0,
                        blob_cache: n,
                        document: e.getDoc(),
                    });
                },
                lN = (e) => {
                    const t = e.options.get;
                    return sN({
                        custom_elements: t("custom_elements"),
                        extended_valid_elements: t("extended_valid_elements"),
                        invalid_elements: t("invalid_elements"),
                        invalid_styles: t("invalid_styles"),
                        schema: t("schema"),
                        valid_children: t("valid_children"),
                        valid_classes: t("valid_classes"),
                        valid_elements: t("valid_elements"),
                        valid_styles: t("valid_styles"),
                        verify_html: t("verify_html"),
                        padd_empty_block_inline_children: t("format_empty_lines"),
                    });
                },
                cN = (e) => {
                    e.bindPendingEventDelegates(),
                        (e.initialized = !0),
                        ((e) => {
                            e.dispatch("Init");
                        })(e),
                        e.focus(!0),
                        ((e) => {
                            const t = e.dom.getRoot();
                            e.inline ||
                                (Ad(e) && e.selection.getStart(!0) !== t) ||
                                fu(t).each((t) => {
                                    const n = t.getNode(),
                                        r = ur(n) ? fu(n).getOr(t) : t;
                                    e.selection.setRng(r.toRange());
                                });
                        })(e),
                        e.nodeChanged({ initial: !0 });
                    const t = Rl(e);
                    x(t) && t.call(e, e),
                        ((e) => {
                            const t = Pl(e);
                            t &&
                                lp.setEditorTimeout(
                                    e,
                                    () => {
                                        let n;
                                        (n = !0 === t ? e : e.editorManager.get(t)), n.destroyed || n.focus();
                                    },
                                    100
                                );
                        })(e);
                },
                uN = (e) => (e.inline ? e.ui.styleSheetLoader : e.dom.styleSheetLoader),
                dN = (e) => {
                    const t = uN(e),
                        n = Qa(e),
                        r = e.contentCSS,
                        o = () => {
                            t.unloadAll(r), e.inline || e.ui.styleSheetLoader.unloadAll(n);
                        },
                        i = () => {
                            e.removed ? o() : e.on("remove", o);
                        };
                    if (e.contentStyles.length > 0) {
                        let t = "";
                        wt.each(e.contentStyles, (e) => {
                            t += e + "\r\n";
                        }),
                            e.dom.addStyle(t);
                    }
                    const s = Promise.all(
                            ((e, t, n) => {
                                const r = [uN(e).loadAll(t)];
                                return e.inline ? r : r.concat([e.ui.styleSheetLoader.loadAll(n)]);
                            })(e, r, n)
                        )
                            .then(i)
                            .catch(i),
                        a = Ja(e);
                    return (
                        a &&
                            ((e, t) => {
                                const n = Qt.fromDom(e.getBody()),
                                    r = Cn(wn(n)),
                                    o = Qt.fromTag("style");
                                Lt(o, "type", "text/css"),
                                    Bn(o, Qt.fromText(t)),
                                    Bn(r, o),
                                    e.on("remove", () => {
                                        Hn(o);
                                    });
                            })(e, a),
                        s
                    );
                },
                fN = (e) => {
                    !0 !== e.removed &&
                        (((e) => {
                            wb(e) || e.load({ initial: !0, format: "html" }), (e.startContent = e.getContent({ format: "raw" }));
                        })(e),
                        cN(e));
                },
                pN = (e) => {
                    const t = e.getElement();
                    let n = e.getDoc();
                    e.inline && (oN.addClass(t, "mce-content-body"), (e.contentDocument = n = document), (e.contentWindow = window), (e.bodyElement = t), (e.contentAreaContainer = t));
                    const r = e.getBody();
                    (r.disabled = !0),
                        (e.readonly = Cl(e)),
                        e.readonly || (e.inline && "static" === oN.getStyle(r, "position", !0) && (r.style.position = "relative"), (r.contentEditable = "true")),
                        (r.disabled = !1),
                        (e.editorUpload = x_(e)),
                        (e.schema = di(lN(e))),
                        (e.dom = Oi(n, {
                            keep_values: !0,
                            url_converter: e.convertURL,
                            url_converter_scope: e,
                            update_styles: !0,
                            root_element: e.inline ? e.getBody() : null,
                            collect: () => e.inline,
                            schema: e.schema,
                            contentCssCors: za(e),
                            referrerPolicy: Wa(e),
                            onSetAttrib: (t) => {
                                e.dispatch("SetAttrib", t);
                            },
                        })),
                        (e.parser = ((e) => {
                            const t = My(aN(e), e.schema);
                            return (
                                t.addAttributeFilter("src,href,style,tabindex", (t, n) => {
                                    let r,
                                        o,
                                        i = t.length;
                                    const s = e.dom,
                                        a = "data-mce-" + n;
                                    for (; i--; )
                                        if (((r = t[i]), (o = r.attr(n)), o && !r.attr(a))) {
                                            if (0 === o.indexOf("data:") || 0 === o.indexOf("blob:")) continue;
                                            "style" === n
                                                ? ((o = s.serializeStyle(s.parseStyle(o), r.name)), o.length || (o = null), r.attr(a, o), r.attr(n, o))
                                                : "tabindex" === n
                                                ? (r.attr(a, o), r.attr(n, null))
                                                : r.attr(a, e.convertURL(o, n, r.name));
                                        }
                                }),
                                t.addNodeFilter("script", (e) => {
                                    let t = e.length;
                                    for (; t--; ) {
                                        const n = e[t],
                                            r = n.attr("type") || "no/type";
                                        0 !== r.indexOf("mce-") && n.attr("type", "mce-" + r);
                                    }
                                }),
                                e.options.get("preserve_cdata") &&
                                    t.addNodeFilter("#cdata", (t) => {
                                        let n = t.length;
                                        for (; n--; ) {
                                            const r = t[n];
                                            (r.type = 8), (r.name = "#comment"), (r.value = "[CDATA[" + e.dom.encode(r.value) + "]]");
                                        }
                                    }),
                                t.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", (t) => {
                                    let n = t.length;
                                    const r = e.schema.getNonEmptyElements();
                                    for (; n--; ) {
                                        const e = t[n];
                                        e.isEmpty(r) && 0 === e.getAll("br").length && e.append(new Bp("br", 1));
                                    }
                                }),
                                t
                            );
                        })(e)),
                        (e.serializer = Ib(
                            ((e) => {
                                const t = e.options.get;
                                return {
                                    ...aN(e),
                                    ...lN(e),
                                    ...sN({
                                        url_converter: t("url_converter"),
                                        url_converter_scope: t("url_converter_scope"),
                                        element_format: t("element_format"),
                                        entities: t("entities"),
                                        entity_encoding: t("entity_encoding"),
                                        indent: t("indent"),
                                        indent_after: t("indent_after"),
                                        indent_before: t("indent_before"),
                                    }),
                                };
                            })(e),
                            e
                        )),
                        (e.selection = Rb(e.dom, e.getWin(), e.serializer, e)),
                        (e.annotator = Md(e)),
                        (e.formatter = P_(e)),
                        (e.undoManager = M_(e)),
                        (e._nodeChangeDispatcher = new gS(e)),
                        (e._selectionOverrides = DT(e)),
                        _x(e),
                        sT(e),
                        Sx(e),
                        wb(e) ||
                            (lT(e),
                            ((e) => {
                                nN(e);
                            })(e));
                    const o = mS(e);
                    yx(e, o),
                        ((e) => {
                            e.on("NodeChange", R(Ex, e));
                        })(e),
                        F_(e),
                        iT(e);
                    const i = Cb(e);
                    ((e) => {
                        const t = e.getDoc(),
                            n = e.getBody();
                        ((e) => {
                            e.dispatch("PreInit");
                        })(e),
                            $l(e) || ((t.body.spellcheck = !1), oN.setAttrib(n, "spellcheck", "false")),
                            (e.quirks = rN(e)),
                            ((e) => {
                                e.dispatch("PostRender");
                            })(e);
                        const r = Za(e);
                        void 0 !== r && (n.dir = r);
                        const o = Ml(e);
                        o &&
                            e.on("BeforeSetContent", (e) => {
                                wt.each(o, (t) => {
                                    e.content = e.content.replace(t, (e) => "\x3c!--mce:protected " + escape(e) + "--\x3e");
                                });
                            }),
                            e.on("SetContent", () => {
                                e.addVisual(e.getBody());
                            }),
                            e.on("compositionstart compositionend", (t) => {
                                e.composing = "compositionstart" === t.type;
                            });
                    })(e),
                        i.fold(
                            () => {
                                dN(e).then(() => fN(e));
                            },
                            (t) => {
                                e.setProgressState(!0),
                                    dN(e).then(() => {
                                        t().then(
                                            (t) => {
                                                e.setProgressState(!1), fN(e), kb(e);
                                            },
                                            (t) => {
                                                e.notificationManager.open({ type: "error", text: String(t) }), fN(e), kb(e);
                                            }
                                        );
                                    });
                            }
                        );
                },
                hN = (e, t) => {
                    if ((e.inline || (e.getElement().style.visibility = e.orgVisibility), t || e.inline)) pN(e);
                    else {
                        const t = e.iframeElement,
                            r =
                                ((n = Qt.fromDom(t)),
                                Vn(n, "load", g_, () => {
                                    r.unbind(), (e.contentDocument = t.contentDocument), pN(e);
                                }));
                        t.srcdoc = e.iframeHTML;
                    }
                    var n;
                },
                mN = Oi.DOM,
                gN = (e, t) => {
                    const n = e.translate("Rich Text Area"),
                        r = Mt(Qt.fromDom(e.getElement()), "tabindex").bind(Xe),
                        o = ((e, t, n, r) => {
                            const o = Qt.fromTag("iframe");
                            return r.each((e) => Lt(o, "tabindex", e)), Pt(o, n), Pt(o, { id: e + "_ifr", frameBorder: "0", allowTransparency: "true", title: t }), Wt(o, "tox-edit-area__iframe"), o;
                        })(e.id, n, Ca(e), r).dom;
                    (o.onload = () => {
                        (o.onload = null), e.dispatch("load");
                    }),
                        (e.contentAreaContainer = t.iframeContainer),
                        (e.iframeElement = o),
                        (e.iframeHTML = ((e) => {
                            let t = xa(e) + "<html><head>";
                            Ea(e) !== e.documentBaseUrl && (t += '<base href="' + e.documentBaseURI.getURI() + '" />'), (t += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />');
                            const n = ka(e),
                                r = Aa(e),
                                o = e.translate(Ol(e));
                            return (
                                Sa(e) && (t += '<meta http-equiv="Content-Security-Policy" content="' + Sa(e) + '" />'), (t += `</head><body id="${n}" class="mce-content-body ${r}" data-id="${e.id}" aria-label="${o}"><br></body></html>`), t
                            );
                        })(e)),
                        mN.add(t.iframeContainer, o);
                },
                vN = Oi.DOM,
                yN = (e, t, n) => {
                    const r = s_.get(n),
                        o = s_.urls[n] || e.documentBaseUrl.replace(/\/$/, "");
                    if (((n = wt.trim(n)), r && -1 === wt.inArray(t, n))) {
                        if (e.plugins[n]) return;
                        try {
                            const i = r(e, o) || {};
                            (e.plugins[n] = i), x(i.init) && (i.init(e, o), t.push(n));
                        } catch (t) {
                            ((e, t, n) => {
                                const r = Ii.translate(["Failed to initialize plugin: {0}", t]);
                                jd(e, "PluginLoadError", { message: r }), p_(r, n), u_(e, r);
                            })(e, n, t);
                        }
                    }
                },
                bN = (e) => ({ editorContainer: e, iframeContainer: e, api: {} }),
                _N = (e) => {
                    const t = e.getElement();
                    return e.inline
                        ? bN(null)
                        : ((e) => {
                              const t = vN.create("div");
                              return vN.insertAfter(t, e), bN(t);
                          })(t);
                },
                wN = (e) => {
                    const t = e.getElement();
                    return (
                        (e.orgDisplay = t.style.display),
                        h(sl(e))
                            ? ((e) => e.theme.renderUI())(e)
                            : x(sl(e))
                            ? ((e) => {
                                  const t = e.getElement(),
                                      n = sl(e)(e, t);
                                  return (
                                      n.editorContainer.nodeType && (n.editorContainer.id = n.editorContainer.id || e.id + "_parent"),
                                      n.iframeContainer && n.iframeContainer.nodeType && (n.iframeContainer.id = n.iframeContainer.id || e.id + "_iframecontainer"),
                                      (n.height = n.iframeHeight ? n.iframeHeight : t.offsetHeight),
                                      n
                                  );
                              })(e)
                            : _N(e)
                    );
                },
                CN = (e) => {
                    e.dispatch("ScriptsLoaded"),
                        ((e) => {
                            const t = wt.trim(Ba(e)),
                                n = e.ui.registry.getAll().icons,
                                r = { ...Yb.get("default").icons, ...Yb.get(t).icons };
                            me(r, (t, r) => {
                                Ee(n, r) || e.ui.registry.addIcon(r, t);
                            });
                        })(e),
                        ((e) => {
                            const t = sl(e);
                            if (h(t)) {
                                const n = a_.get(t);
                                (e.theme = n(e, a_.urls[t]) || {}), x(e.theme.init) && e.theme.init(e, a_.urls[t] || e.documentBaseUrl.replace(/\/$/, ""));
                            } else e.theme = {};
                        })(e),
                        ((e) => {
                            const t = ll(e),
                                n = Xb.get(t);
                            e.model = n(e, Xb.urls[t]);
                        })(e),
                        ((e) => {
                            const t = [];
                            V(El(e), (n) => {
                                yN(e, t, ((e) => e.replace(/^\-/, ""))(n));
                            });
                        })(e);
                    const t = wN(e);
                    ((e, t) => {
                        const n = {
                            show: B.from(t.show).getOr(A),
                            hide: B.from(t.hide).getOr(A),
                            isEnabled: B.from(t.isEnabled).getOr(I),
                            setEnabled: (n) => {
                                e.mode.isReadOnly() || B.from(t.setEnabled).each((e) => e(n));
                            },
                        };
                        e.ui = { ...e.ui, ...n };
                    })(e, B.from(t.api).getOr({}));
                    const n = { editorContainer: t.editorContainer, iframeContainer: t.iframeContainer };
                    return (
                        (e.editorContainer = n.editorContainer ? n.editorContainer : null),
                        m_(e),
                        e.inline
                            ? hN(e)
                            : ((e, t) => {
                                  gN(e, t),
                                      t.editorContainer && ((mN.get(t.editorContainer).style.display = e.orgDisplay), (e.hidden = mN.isHidden(t.editorContainer))),
                                      (e.getElement().style.display = "none"),
                                      mN.setAttrib(e.id, "aria-hidden", "true"),
                                      hN(e);
                              })(e, n)
                    );
                },
                xN = Oi.DOM,
                EN = (e) => "-" === e.charAt(0),
                kN = (e, t) => {
                    const n = Va(t),
                        r = Ka(t);
                    if (!1 === Ii.hasCode(n) && "en" !== n) {
                        const o = Ge(r) ? r : `${t.editorManager.baseURL}/langs/${n}.js`;
                        e.add(o).catch(() => {
                            ((e, t, n) => {
                                d_(e, "LanguageLoadError", f_("language", t, n));
                            })(t, o, n);
                        });
                    }
                },
                AN = (e, t) => {
                    const n = sl(e);
                    if (h(n) && !EN(n) && !Ee(a_.urls, n)) {
                        const r = al(e),
                            o = r ? e.documentBaseURI.toAbsolute(r) : `themes/${n}/theme${t}.js`;
                        a_.load(n, o).catch(() => {
                            ((e, t, n) => {
                                d_(e, "ThemeLoadError", f_("theme", t, n));
                            })(e, o, n);
                        });
                    }
                },
                SN = (e, t) => {
                    const n = ll(e);
                    if ("plugin" !== n && !Ee(Xb.urls, n)) {
                        const r = cl(e),
                            o = h(r) ? e.documentBaseURI.toAbsolute(r) : `models/${n}/model${t}.js`;
                        Xb.load(n, o).catch(() => {
                            ((e, t, n) => {
                                d_(e, "ModelLoadError", f_("model", t, n));
                            })(e, o, n);
                        });
                    }
                },
                TN = (e, t, n) =>
                    B.from(t)
                        .filter((e) => Ge(e) && !Yb.has(e))
                        .map((t) => ({ url: `${e.editorManager.baseURL}/icons/${t}/icons${n}.js`, name: B.some(t) })),
                NN = (e, t, n) => {
                    const r = TN(t, "default", n),
                        o = ((e) =>
                            B.from(ja(e))
                                .filter(Ge)
                                .map((e) => ({ url: e, name: B.none() })))(t).orThunk(() => TN(t, Ba(t), ""));
                    V(
                        ((e) => {
                            const t = [],
                                n = (e) => {
                                    t.push(e);
                                };
                            for (let t = 0; t < e.length; t++) e[t].each(n);
                            return t;
                        })([r, o]),
                        (n) => {
                            e.add(n.url).catch(() => {
                                ((e, t, n) => {
                                    d_(e, "IconsLoadError", f_("icons", t, n));
                                })(t, n.url, n.name.getOrUndefined());
                            });
                        }
                    );
                },
                ON = (e, t) => {
                    const n = (t, n) => {
                        s_.load(t, n).catch(() => {
                            ((e, t, n) => {
                                d_(e, "PluginLoadError", f_("plugin", t, n));
                            })(e, n, t);
                        });
                    };
                    me(kl(e), (t, r) => {
                        n(r, t), e.options.set("plugins", El(e).concat(r));
                    }),
                        V(El(e), (e) => {
                            !(e = wt.trim(e)) || s_.urls[e] || EN(e) || n(e, `plugins/${e}/plugin${t}.js`);
                        });
                },
                DN = (e, t) => {
                    const n = Ri.ScriptLoader,
                        r = () => {
                            !e.removed &&
                                ((e) => {
                                    const t = sl(e);
                                    return !h(t) || C(a_.get(t));
                                })(e) &&
                                ((e) => {
                                    const t = ll(e);
                                    return C(Xb.get(t));
                                })(e) &&
                                CN(e);
                        };
                    AN(e, t), SN(e, t), kN(n, e), NN(n, e, t), ON(e, t), n.loadQueue().then(r, r);
                },
                RN = (e) => {
                    const t = e.id;
                    Ii.setCode(Va(e));
                    const n = () => {
                        xN.unbind(window, "ready", n), e.render();
                    };
                    if (!Ci.Event.domLoaded) return void xN.bind(window, "ready", n);
                    if (!e.getElement()) return;
                    const r = Qt.fromDom(e.getElement()),
                        o = jt(r);
                    e.on("remove", () => {
                        K(r.dom.attributes, (e) => Bt(r, e.name)), Pt(r, o);
                    }),
                        (e.ui.styleSheetLoader = ((e, t) => Ir.forElement(e, { contentCssCors: xl(t), referrerPolicy: Wa(t) }))(r, e)),
                        ml(e) ? (e.inline = !0) : ((e.orgVisibility = e.getElement().style.visibility), (e.getElement().style.visibility = "hidden"));
                    const i = e.getElement().form || xN.getParent(t, "form");
                    i &&
                        ((e.formElement = i),
                        gl(e) && !fr(e.getElement()) && (xN.insertAfter(xN.create("input", { type: "hidden", name: t }), t), (e.hasHiddenInput = !0)),
                        (e.formEventDelegate = (t) => {
                            e.dispatch(t.type, t);
                        }),
                        xN.bind(i, "submit reset", e.formEventDelegate),
                        e.on("reset", () => {
                            e.resetContent();
                        }),
                        !vl(e) || i.submit.nodeType || i.submit.length || i._mceOldSubmit || ((i._mceOldSubmit = i.submit), (i.submit = () => (e.editorManager.triggerSave(), e.setDirty(!1), i._mceOldSubmit(i))))),
                        (e.windowManager = l_(e)),
                        (e.notificationManager = i_(e)),
                        ((e) => "xml" === e.options.get("encoding"))(e) &&
                            e.on("GetContent", (e) => {
                                e.save && (e.content = xN.encode(e.content));
                            }),
                        yl(e) &&
                            e.on("submit", () => {
                                e.initialized && e.save();
                            }),
                        bl(e) &&
                            ((e._beforeUnload = () => {
                                !e.initialized || e.destroyed || e.isHidden() || e.save({ format: "raw", no_events: !0, set_dirty: !1 });
                            }),
                            e.editorManager.on("BeforeUnload", e._beforeUnload)),
                        e.editorManager.add(e),
                        DN(e, e.suffix);
                },
                LN = ct().deviceType,
                PN = LN.isPhone(),
                $N = LN.isTablet(),
                MN = (e) => {
                    if (w(e)) return [];
                    {
                        const t = v(e) ? e : e.split(/[ ,]/),
                            n = W(t, We);
                        return Y(n, Ge);
                    }
                },
                IN = (e, t) => {
                    const n = ((e, t) => {
                        const n = {},
                            r = {};
                        return be(e, t, ye(n), ye(r)), { t: n, f: r };
                    })(t, (t, n) => q(e, n));
                    return (r = n.t), (o = n.f), { sections: N(r), options: N(o) };
                    var r, o;
                },
                BN = (e, t) => Ee(e.sections(), t),
                jN = (e, t) => ({ ...{ table_grid: !1, object_resizing: !1, resize: !1, toolbar_mode: xe(e, "toolbar_mode").getOr("scrolling"), toolbar_sticky: !1 }, ...(t ? { menubar: !1 } : {}) }),
                FN = (e, t) => {
                    var n;
                    const r = null !== (n = t.external_plugins) && void 0 !== n ? n : {};
                    return e && e.external_plugins ? wt.extend({}, e.external_plugins, r) : r;
                },
                HN = (e, t, n, r) => {
                    const o = MN(n.forced_plugins),
                        i = MN(r.plugins),
                        s = ((e, t) => (BN(e, t) ? e.sections()[t] : {}))(t, "mobile"),
                        a = ((e, t) => [].concat(MN(e)).concat(MN(t)))(o, ((e, t, n, r) => (e && BN(t, "mobile") ? r : n))(e, t, i, s.plugins ? MN(s.plugins) : i));
                    return wt.extend(r, { forced_plugins: o, plugins: a });
                },
                UN = (e, t, n, r, o) => {
                    var i;
                    const s = e ? { mobile: jN(null !== (i = o.mobile) && void 0 !== i ? i : {}, t) } : {},
                        a = IN(["mobile"], lk(s, o)),
                        l = wt.extend(
                            n,
                            r,
                            a.options(),
                            ((e, t) => e && BN(t, "mobile"))(e, a)
                                ? ((e, t, n = {}) => {
                                      const r = e.sections(),
                                          o = xe(r, t).getOr({});
                                      return wt.extend({}, n, o);
                                  })(a, "mobile")
                                : {},
                            { external_plugins: FN(r, a.options()) }
                        );
                    return HN(e, a, r, l);
                },
                qN = (e, t) => ((e, t) => Eb(e).editor.addVisual(t))(e, t),
                zN = (e) => {
                    const t = (t) => () => {
                        V("left,center,right,justify".split(","), (n) => {
                            t !== n && e.formatter.remove("align" + n);
                        }),
                            "none" !== t &&
                                ((t, n) => {
                                    e.formatter.toggle(t, n), e.nodeChanged();
                                })("align" + t);
                    };
                    e.editorCommands.addCommands({ JustifyLeft: t("left"), JustifyCenter: t("center"), JustifyRight: t("right"), JustifyFull: t("justify"), JustifyNone: t("none") });
                },
                WN = (e) => {
                    zN(e),
                        ((e) => {
                            const t = (t) => () => {
                                const n = e.selection,
                                    r = n.isCollapsed() ? [e.dom.getParent(n.getNode(), e.dom.isBlock)] : n.getSelectedBlocks();
                                return z(r, (n) => C(e.formatter.matchNode(n, t)));
                            };
                            e.editorCommands.addCommands({ JustifyLeft: t("alignleft"), JustifyCenter: t("aligncenter"), JustifyRight: t("alignright"), JustifyFull: t("alignjustify") }, "state");
                        })(e);
                },
                VN = (e, t) => {
                    const n = e.selection,
                        r = e.dom;
                    return /^ | $/.test(t)
                        ? ((e, t, n) => {
                              const r = Qt.fromDom(e.getRoot());
                              return (
                                  (n = Hh(r, Ms.fromRangeStart(t)) ? n.replace(/^ /, "&nbsp;") : n.replace(/^&nbsp;/, " ")),
                                  (n = Uh(r, Ms.fromRangeEnd(t)) ? n.replace(/(&nbsp;| )(<br( \/)>)?$/, "&nbsp;") : n.replace(/&nbsp;(<br( \/)?>)?$/, " "))
                              );
                          })(r, n.getRng(), t)
                        : t;
                },
                KN = (e, t) => {
                    const { content: n, details: r } = ((e) => {
                        if ("string" != typeof e) {
                            const t = wt.extend({ paste: e.paste, data: { paste: e.paste } }, e);
                            return { content: e.content, details: t };
                        }
                        return { content: e, details: {} };
                    })(t);
                    Fy(e, { content: VN(e, n), format: "html", set: !1, selection: !0, paste: r.paste }).each((t) => {
                        const n = ((e, t, n) => xb(e).editor.insertContent(t, n))(e, t.content, r);
                        Hy(e, n, t), e.addVisual();
                    });
                },
                GN = { "font-size": "size", "font-family": "face" },
                YN = (e, t, n) =>
                    fg(
                        Qt.fromDom(n),
                        (t) => ((t) => Rn(t, e).orThunk(() => ("font" === kt(t) ? xe(GN, e).bind((e) => Mt(t, e)) : B.none())))(t),
                        (e) => nn(Qt.fromDom(t), e)
                    ),
                XN = (e) => (t, n) =>
                    B.from(n)
                        .map(Qt.fromDom)
                        .filter(Tt)
                        .bind((n) => YN(e, t, n.dom).or(((e, t) => B.from(Oi.DOM.getStyle(t, e, !0)))(e, n.dom)))
                        .getOr(""),
                JN = XN("font-size"),
                QN = S((e) => e.replace(/[\'\"\\]/g, "").replace(/,\s+/g, ","), XN("font-family")),
                ZN = (e) =>
                    fu(e.getBody()).map((e) => {
                        const t = e.container();
                        return pr(t) ? t.parentNode : t;
                    }),
                eO = (e, t) =>
                    ((e) =>
                        B.from(e.selection.getRng()).bind((t) => {
                            const n = e.getBody();
                            return t.startContainer === n && 0 === t.startOffset ? B.none() : B.from(e.selection.getStart(!0));
                        }))(e)
                        .orThunk(R(ZN, e))
                        .map(Qt.fromDom)
                        .filter(Tt)
                        .bind(t),
                tO = (e, t) => eO(e, T(B.some, t)),
                nO = (e, t) => {
                    if (/^[0-9.]+$/.test(t)) {
                        const n = parseInt(t, 10);
                        if (n >= 1 && n <= 7) {
                            const r = ((e) => wt.explode(e.options.get("font_size_style_values")))(e),
                                o = ((e) => wt.explode(e.options.get("font_size_classes")))(e);
                            return o ? o[n - 1] || t : r[n - 1] || t;
                        }
                        return t;
                    }
                    return t;
                },
                rO = (e) => {
                    const t = e.split(/\s*,\s*/);
                    return W(t, (e) => (-1 === e.indexOf(" ") || Ue(e, '"') || Ue(e, "'") ? e : `'${e}'`)).join(",");
                },
                oO = (e) => {
                    const t = (t, n) => {
                        e.formatter.toggle(t, n), e.nodeChanged();
                    };
                    e.editorCommands.addCommands({
                        "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": (e) => {
                            t(e);
                        },
                        "ForeColor,HiliteColor": (e, n, r) => {
                            t(e, { value: r });
                        },
                        BackColor: (e, n, r) => {
                            t("hilitecolor", { value: r });
                        },
                        FontName: (t, n, r) => {
                            ((e, t) => {
                                const n = nO(e, t);
                                e.formatter.toggle("fontname", { value: rO(n) }), e.nodeChanged();
                            })(e, r);
                        },
                        FontSize: (t, n, r) => {
                            ((e, t) => {
                                e.formatter.toggle("fontsize", { value: nO(e, t) }), e.nodeChanged();
                            })(e, r);
                        },
                        LineHeight: (t, n, r) => {
                            ((e, t) => {
                                e.formatter.toggle("lineheight", { value: String(t) }), e.nodeChanged();
                            })(e, r);
                        },
                        Lang: (e, n, r) => {
                            t(e, { value: r.code, customValue: r.customCode });
                        },
                        RemoveFormat: (t) => {
                            e.formatter.remove(t);
                        },
                        mceBlockQuote: () => {
                            t("blockquote");
                        },
                        FormatBlock: (e, n, r) => {
                            t(h(r) ? r : "p");
                        },
                        mceToggleFormat: (e, n, r) => {
                            t(r);
                        },
                    });
                },
                iO = (e) => {
                    const t = (t) => e.formatter.match(t);
                    e.editorCommands.addCommands({ "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": (e) => t(e), mceBlockQuote: () => t("blockquote") }, "state"),
                        e.editorCommands.addQueryValueHandler("FontName", () => ((e) => tO(e, (t) => QN(e.getBody(), t.dom)).getOr(""))(e)),
                        e.editorCommands.addQueryValueHandler("FontSize", () => ((e) => tO(e, (t) => JN(e.getBody(), t.dom)).getOr(""))(e)),
                        e.editorCommands.addQueryValueHandler("LineHeight", () =>
                            ((e) =>
                                tO(e, (t) => {
                                    const n = Qt.fromDom(e.getBody());
                                    return fg(t, (e) => Rn(e, "line-height"), R(nn, n)).getOrThunk(() => {
                                        const e = parseFloat(On(t, "line-height")),
                                            n = parseFloat(On(t, "font-size"));
                                        return String(e / n);
                                    });
                                }).getOr(""))(e)
                        );
                },
                sO = (e) => {
                    e.editorCommands.addCommands({
                        Indent: () => {
                            ((e) => {
                                px(e, "indent");
                            })(e);
                        },
                        Outdent: () => {
                            hx(e);
                        },
                    }),
                        e.editorCommands.addCommands({ Outdent: () => ux(e) }, "state");
                },
                aO = (e) => {
                    WN(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                "Cut,Copy,Paste": (t) => {
                                    const n = e.getDoc();
                                    let r;
                                    try {
                                        n.execCommand(t);
                                    } catch (e) {
                                        r = !0;
                                    }
                                    if (("paste" !== t || n.queryCommandEnabled(t) || (r = !0), r || !n.queryCommandSupported(t))) {
                                        let t = e.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");
                                        (gt.os.isMacOS() || gt.os.isiOS()) && (t = t.replace(/Ctrl\+/g, "⌘+")), e.notificationManager.open({ text: t, type: "error" });
                                    }
                                },
                            });
                        })(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                mceAddUndoLevel: () => {
                                    e.undoManager.add();
                                },
                                mceEndUndoLevel: () => {
                                    e.undoManager.add();
                                },
                                Undo: () => {
                                    e.undoManager.undo();
                                },
                                Redo: () => {
                                    e.undoManager.redo();
                                },
                            });
                        })(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                mceSelectNodeDepth: (t, n, r) => {
                                    let o = 0;
                                    e.dom.getParent(
                                        e.selection.getNode(),
                                        (t) => {
                                            if (1 === t.nodeType && o++ === r) return e.selection.select(t), !1;
                                        },
                                        e.getBody()
                                    );
                                },
                                mceSelectNode: (t, n, r) => {
                                    e.selection.select(r);
                                },
                                selectAll: () => {
                                    const t = e.dom.getParent(e.selection.getStart(), wr);
                                    if (t) {
                                        const n = e.dom.createRng();
                                        n.selectNodeContents(t), e.selection.setRng(n);
                                    }
                                },
                            });
                        })(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                mceCleanup: () => {
                                    const t = e.selection.getBookmark();
                                    e.setContent(e.getContent()), e.selection.moveToBookmark(t);
                                },
                                insertImage: (t, n, r) => {
                                    KN(e, e.dom.createHTML("img", { src: r }));
                                },
                                insertHorizontalRule: () => {
                                    e.execCommand("mceInsertContent", !1, "<hr>");
                                },
                                insertText: (t, n, r) => {
                                    KN(e, e.dom.encode(r));
                                },
                                insertHTML: (t, n, r) => {
                                    KN(e, r);
                                },
                                mceInsertContent: (t, n, r) => {
                                    KN(e, r);
                                },
                                mceSetContent: (t, n, r) => {
                                    e.setContent(r);
                                },
                                mceReplaceContent: (t, n, r) => {
                                    e.execCommand("mceInsertContent", !1, r.replace(/\{\$selection\}/g, e.selection.getContent({ format: "text" })));
                                },
                                mceNewDocument: () => {
                                    e.setContent("");
                                },
                            });
                        })(e),
                        ((e) => {
                            const t = (t, n, r) => {
                                const o = h(r) ? { href: r } : r,
                                    i = e.dom.getParent(e.selection.getNode(), "a");
                                m(o) && h(o.href) && ((o.href = o.href.replace(/ /g, "%20")), (i && o.href) || e.formatter.remove("link"), o.href && e.formatter.apply("link", o, i));
                            };
                            e.editorCommands.addCommands({
                                unlink: () => {
                                    if (e.selection.isCollapsed()) {
                                        const t = e.dom.getParent(e.selection.getStart(), "a");
                                        t && e.dom.remove(t, !0);
                                    } else e.formatter.remove("link");
                                },
                                mceInsertLink: t,
                                createLink: t,
                            });
                        })(e),
                        sO(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                insertParagraph: () => {
                                    QA(e);
                                },
                                mceInsertNewLine: (t, n, r) => {
                                    QA(e, r);
                                },
                                InsertLineBreak: (t, n, r) => {
                                    FA(e, r);
                                },
                            });
                        })(e),
                        ((e) => {
                            ((e) => {
                                e.editorCommands.addCommands({
                                    "InsertUnorderedList,InsertOrderedList": (t) => {
                                        e.getDoc().execCommand(t);
                                        const n = e.dom.getParent(e.selection.getNode(), "ol,ul");
                                        if (n) {
                                            const t = n.parentNode;
                                            if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(t.nodeName)) {
                                                const r = e.selection.getBookmark();
                                                e.dom.split(t, n), e.selection.moveToBookmark(r);
                                            }
                                        }
                                    },
                                });
                            })(e),
                                ((e) => {
                                    e.editorCommands.addCommands(
                                        {
                                            "InsertUnorderedList,InsertOrderedList": (t) => {
                                                const n = e.dom.getParent(e.selection.getNode(), "ul,ol");
                                                return n && (("insertunorderedlist" === t && "UL" === n.tagName) || ("insertorderedlist" === t && "OL" === n.tagName));
                                            },
                                        },
                                        "state"
                                    );
                                })(e);
                        })(e),
                        ((e) => {
                            oO(e), iO(e);
                        })(e),
                        ((e) => {
                            e.editorCommands.addCommands({
                                mceRemoveNode: (t, n, r) => {
                                    const o = null != r ? r : e.selection.getNode();
                                    if (o !== e.getBody()) {
                                        const t = e.selection.getBookmark();
                                        e.dom.remove(o, !0), e.selection.moveToBookmark(t);
                                    }
                                },
                                mcePrint: () => {
                                    e.getWin().print();
                                },
                                mceFocus: (t, n, r) => {
                                    Cp(e, r);
                                },
                                mceToggleVisualAid: () => {
                                    (e.hasVisual = !e.hasVisual), e.addVisual();
                                },
                            });
                        })(e);
                };
            class lO {
                constructor(e) {
                    (this.commands = { state: {}, exec: {}, value: {} }), (this.editor = e);
                }
                execCommand(e, t, n, r) {
                    const o = this.editor,
                        i = e.toLowerCase(),
                        s = null == r ? void 0 : r.skip_focus;
                    if (o.removed) return !1;
                    "mcefocus" !== i &&
                        (/^(mceAddUndoLevel|mceEndUndoLevel)$/i.test(i) || s
                            ? ((e) => {
                                  sp(e).each((t) => e.selection.setRng(t));
                              })(o)
                            : o.focus());
                    if (o.dispatch("BeforeExecCommand", { command: e, ui: t, value: n }).isDefaultPrevented()) return !1;
                    const a = this.commands.exec[i];
                    return !!x(a) && (a(i, t, n), o.dispatch("ExecCommand", { command: e, ui: t, value: n }), !0);
                }
                queryCommandState(e) {
                    if (this.editor.quirks.isHidden() || this.editor.removed) return !1;
                    const t = e.toLowerCase(),
                        n = this.commands.state[t];
                    return !!x(n) && n(t);
                }
                queryCommandValue(e) {
                    if (this.editor.quirks.isHidden() || this.editor.removed) return "";
                    const t = e.toLowerCase(),
                        n = this.commands.value[t];
                    return x(n) ? n(t) : "";
                }
                addCommands(e, t = "exec") {
                    const n = this.commands;
                    me(e, (e, r) => {
                        V(r.toLowerCase().split(","), (r) => {
                            n[t][r] = e;
                        });
                    });
                }
                addCommand(e, t, n) {
                    const r = e.toLowerCase();
                    this.commands.exec[r] = (e, r, o) => t.call(null != n ? n : this.editor, r, o);
                }
                queryCommandSupported(e) {
                    const t = e.toLowerCase();
                    return !!this.commands.exec[t];
                }
                addQueryStateHandler(e, t, n) {
                    this.commands.state[e.toLowerCase()] = () => t.call(null != n ? n : this.editor);
                }
                addQueryValueHandler(e, t, n) {
                    this.commands.value[e.toLowerCase()] = () => t.call(null != n ? n : this.editor);
                }
            }
            const cO = (e, t, n) => {
                    try {
                        e.getDoc().execCommand(t, !1, String(n));
                    } catch (e) {}
                },
                uO = (e, t) => {
                    e.dom.contentEditable = t ? "true" : "false";
                },
                dO = (e, t) => {
                    const n = Qt.fromDom(e.getBody());
                    ((e, t, n) => {
                        Yt(e, t) && !1 === n ? Kt(e, t) : n && Wt(e, t);
                    })(n, "mce-content-readonly", t),
                        t
                            ? (e.selection.controlSelection.hideResizeRect(),
                              e._selectionOverrides.hideFakeCaret(),
                              ((e) => {
                                  B.from(e.selection.getNode()).each((e) => {
                                      e.removeAttribute("data-mce-selected");
                                  });
                              })(e),
                              (e.readonly = !0),
                              uO(n, !1),
                              V(qi(n, '*[contenteditable="true"]'), (e) => {
                                  Lt(e, "data-mce-contenteditable", "true"), uO(e, !1);
                              }))
                            : ((e.readonly = !1),
                              uO(n, !0),
                              ((e) => {
                                  V(qi(e, '*[data-mce-contenteditable="true"]'), (e) => {
                                      Bt(e, "data-mce-contenteditable"), uO(e, !0);
                                  });
                              })(n),
                              cO(e, "StyleWithCSS", !1),
                              cO(e, "enableInlineTableEditing", !1),
                              cO(e, "enableObjectResizing", !1),
                              _p(e) && e.focus(),
                              ((e) => {
                                  e.selection.setRng(e.selection.getRng());
                              })(e),
                              e.nodeChanged());
                },
                fO = (e) => e.readonly,
                pO = (e) => {
                    e.parser.addAttributeFilter("contenteditable", (t) => {
                        fO(e) &&
                            V(t, (e) => {
                                e.attr("data-mce-contenteditable", e.attr("contenteditable")), e.attr("contenteditable", "false");
                            });
                    }),
                        e.serializer.addAttributeFilter("data-mce-contenteditable", (t) => {
                            fO(e) &&
                                V(t, (e) => {
                                    e.attr("contenteditable", e.attr("data-mce-contenteditable"));
                                });
                        }),
                        e.serializer.addTempAttr("data-mce-contenteditable");
                },
                hO = (e, t) => {
                    if (((e) => "click" === e.type)(t) && !Wd.metaKeyPressed(t)) {
                        const n = Qt.fromDom(t.target);
                        ((e, t) => $r(t, "a", (t) => nn(t, Qt.fromDom(e.getBody()))).bind((e) => Mt(e, "href")))(e, n).each((n) => {
                            if ((t.preventDefault(), /^#/.test(n))) {
                                const t = e.dom.select(`${n},[name="${((r = n), (o = "#"), Ue(r, o) ? ((e, t) => e.substring(t))(r, o.length) : r)}"]`);
                                t.length && e.selection.scrollIntoView(t[0], !0);
                            } else window.open(n, "_blank", "rel=noopener noreferrer,menubar=yes,toolbar=yes,location=yes,status=yes,resizable=yes,scrollbars=yes");
                            var r, o;
                        });
                    }
                },
                mO = wt.makeMap(
                    "focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input beforeinput contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend touchcancel",
                    " "
                );
            class gO {
                constructor(e) {
                    (this.bindings = {}), (this.settings = e || {}), (this.scope = this.settings.scope || this), (this.toggleEvent = this.settings.toggleEvent || M);
                }
                static isNative(e) {
                    return !!mO[e.toLowerCase()];
                }
                fire(e, t) {
                    return this.dispatch(e, t);
                }
                dispatch(e, t) {
                    const n = e.toLowerCase(),
                        r = gi(n, null != t ? t : {}, this.scope);
                    this.settings.beforeFire && this.settings.beforeFire(r);
                    const o = this.bindings[n];
                    if (o)
                        for (let e = 0, t = o.length; e < t; e++) {
                            const t = o[e];
                            if (!t.removed) {
                                if ((t.once && this.off(n, t.func), r.isImmediatePropagationStopped())) return r;
                                if (!1 === t.func.call(this.scope, r)) return r.preventDefault(), r;
                            }
                        }
                    return r;
                }
                on(e, t, n, r) {
                    if ((!1 === t && (t = M), t)) {
                        const o = { func: t, removed: !1 };
                        r && wt.extend(o, r);
                        const i = e.toLowerCase().split(" ");
                        let s = i.length;
                        for (; s--; ) {
                            const e = i[s];
                            let t = this.bindings[e];
                            t || ((t = []), this.toggleEvent(e, !0)), (t = n ? [o, ...t] : [...t, o]), (this.bindings[e] = t);
                        }
                    }
                    return this;
                }
                off(e, t) {
                    if (e) {
                        const n = e.toLowerCase().split(" ");
                        let r = n.length;
                        for (; r--; ) {
                            const o = n[r];
                            let i = this.bindings[o];
                            if (!o)
                                return (
                                    me(this.bindings, (e, t) => {
                                        this.toggleEvent(t, !1), delete this.bindings[t];
                                    }),
                                    this
                                );
                            if (i) {
                                if (t) {
                                    const e = G(i, (e) => e.func === t);
                                    (i = e.fail),
                                        (this.bindings[o] = i),
                                        V(e.pass, (e) => {
                                            e.removed = !0;
                                        });
                                } else i.length = 0;
                                i.length || (this.toggleEvent(e, !1), delete this.bindings[o]);
                            }
                        }
                    } else
                        me(this.bindings, (e, t) => {
                            this.toggleEvent(t, !1);
                        }),
                            (this.bindings = {});
                    return this;
                }
                once(e, t, n) {
                    return this.on(e, t, n, { once: !0 });
                }
                has(e) {
                    return (e = e.toLowerCase()), !(!this.bindings[e] || 0 === this.bindings[e].length);
                }
            }
            const vO = (e) => (
                    e._eventDispatcher ||
                        (e._eventDispatcher = new gO({
                            scope: e,
                            toggleEvent: (t, n) => {
                                gO.isNative(t) && e.toggleNativeEvent && e.toggleNativeEvent(t, n);
                            },
                        })),
                    e._eventDispatcher
                ),
                yO = {
                    fire(e, t, n) {
                        return this.dispatch(e, t, n);
                    },
                    dispatch(e, t, n) {
                        const r = this;
                        if (r.removed && "remove" !== e && "detach" !== e) return gi(e.toLowerCase(), null != t ? t : {}, r);
                        const o = vO(r).dispatch(e, t);
                        if (!1 !== n && r.parent) {
                            let t = r.parent();
                            for (; t && !o.isPropagationStopped(); ) t.dispatch(e, o, !1), (t = t.parent());
                        }
                        return o;
                    },
                    on(e, t, n) {
                        return vO(this).on(e, t, n);
                    },
                    off(e, t) {
                        return vO(this).off(e, t);
                    },
                    once(e, t) {
                        return vO(this).once(e, t);
                    },
                    hasEventListeners(e) {
                        return vO(this).has(e);
                    },
                },
                bO = Oi.DOM;
            let _O;
            const wO = (e, t) => {
                    if ("selectionchange" === t) return e.getDoc();
                    if (!e.inline && /^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)) return e.getDoc().documentElement;
                    const n = ol(e);
                    return n ? (e.eventRoot || (e.eventRoot = bO.select(n)[0]), e.eventRoot) : e.getBody();
                },
                CO = (e, t, n) => {
                    ((e) => !e.hidden && !fO(e))(e) ? e.dispatch(t, n) : fO(e) && hO(e, n);
                },
                xO = (e, t) => {
                    let n;
                    if ((e.delegates || (e.delegates = {}), e.delegates[t] || e.removed)) return;
                    const r = wO(e, t);
                    if (ol(e)) {
                        if (
                            (_O ||
                                ((_O = {}),
                                e.editorManager.on("removeEditor", () => {
                                    e.editorManager.activeEditor ||
                                        (_O &&
                                            (me(_O, (t, n) => {
                                                e.dom.unbind(wO(e, n));
                                            }),
                                            (_O = null)));
                                })),
                            _O[t])
                        )
                            return;
                        (n = (n) => {
                            const r = n.target,
                                o = e.editorManager.get();
                            let i = o.length;
                            for (; i--; ) {
                                const e = o[i].getBody();
                                (e === r || bO.isChildOf(r, e)) && CO(o[i], t, n);
                            }
                        }),
                            (_O[t] = n),
                            bO.bind(r, t, n);
                    } else
                        (n = (n) => {
                            CO(e, t, n);
                        }),
                            bO.bind(r, t, n),
                            (e.delegates[t] = n);
                },
                EO = {
                    ...yO,
                    bindPendingEventDelegates() {
                        const e = this;
                        wt.each(e._pendingNativeEvents, (t) => {
                            xO(e, t);
                        });
                    },
                    toggleNativeEvent(e, t) {
                        const n = this;
                        "focus" !== e &&
                            "blur" !== e &&
                            (n.removed ||
                                (t
                                    ? n.initialized
                                        ? xO(n, e)
                                        : n._pendingNativeEvents
                                        ? n._pendingNativeEvents.push(e)
                                        : (n._pendingNativeEvents = [e])
                                    : n.initialized && (n.dom.unbind(wO(n, e), e, n.delegates[e]), delete n.delegates[e])));
                    },
                    unbindAllNativeEvents() {
                        const e = this,
                            t = e.getBody(),
                            n = e.dom;
                        e.delegates &&
                            (me(e.delegates, (t, n) => {
                                e.dom.unbind(wO(e, n), n, t);
                            }),
                            delete e.delegates),
                            !e.inline && t && n && ((t.onload = null), n.unbind(e.getWin()), n.unbind(e.getDoc())),
                            n && (n.unbind(t), n.unbind(e.getContainer()));
                    },
                },
                kO = (e) => (h(e) ? { value: e.split(/[ ,]/), valid: !0 } : k(e, h) ? { value: e, valid: !0 } : { valid: !1, message: "The value must be a string[] or a comma/space separated string." }),
                AO = (e, t) => e + (Ye(t.message) ? "" : ". " + t.message),
                SO = (e) => e.valid,
                TO = (e, t, n = "") => {
                    const r = t(e);
                    return b(r) ? (r ? { value: e, valid: !0 } : { valid: !1, message: n }) : r;
                },
                NO = (e, t) => {
                    const n = {},
                        r = {},
                        o = (e, t, n) => {
                            const o = TO(t, n);
                            return SO(o) ? ((r[e] = o.value), !0) : (console.warn(AO(`Invalid value passed for the ${e} option`, o)), !1);
                        },
                        i = (e) => Ee(n, e);
                    return {
                        register: (e, i) => {
                            const s = ((e) => h(e.processor))(i)
                                    ? ((e) => {
                                          const t = (() => {
                                              switch (e) {
                                                  case "array":
                                                      return v;
                                                  case "boolean":
                                                      return b;
                                                  case "function":
                                                      return x;
                                                  case "number":
                                                      return E;
                                                  case "object":
                                                      return m;
                                                  case "string":
                                                      return h;
                                                  case "string[]":
                                                      return kO;
                                                  case "object[]":
                                                      return (e) => k(e, m);
                                                  case "regexp":
                                                      return (e) => p(e, RegExp);
                                              }
                                          })();
                                          return (n) => TO(n, t, `The value must be a ${e}.`);
                                      })(i.processor)
                                    : i.processor,
                                a = ((e, t, n) => {
                                    if (!_(t)) {
                                        const r = TO(t, n);
                                        if (SO(r)) return r.value;
                                        console.error(AO(`Invalid default value passed for the "${e}" option`, r));
                                    }
                                })(e, i.default, s);
                            n[e] = { ...i, default: a, processor: s };
                            xe(r, e)
                                .orThunk(() => xe(t, e))
                                .each((t) => o(e, t, s));
                        },
                        isRegistered: i,
                        get: (e) =>
                            xe(r, e)
                                .orThunk(() => xe(n, e).map((e) => e.default))
                                .getOrUndefined(),
                        set: (e, t) => {
                            if (i(e)) {
                                const r = n[e];
                                return r.immutable ? (console.error(`"${e}" is an immutable option and cannot be updated`), !1) : o(e, t, r.processor);
                            }
                            return console.warn(`"${e}" is not a registered option. Ensure the option has been registered before setting a value.`), !1;
                        },
                        unset: (e) => {
                            const t = i(e);
                            return t && delete r[e], t;
                        },
                        isSet: (e) => Ee(r, e),
                    };
                },
                OO = ["design", "readonly"],
                DO = (e, t, n, r) => {
                    const o = n[t.get()],
                        i = n[r];
                    try {
                        i.activate();
                    } catch (e) {
                        return void console.error(`problem while activating editor mode ${r}:`, e);
                    }
                    o.deactivate(),
                        o.editorReadOnly !== i.editorReadOnly && dO(e, i.editorReadOnly),
                        t.set(r),
                        ((e, t) => {
                            e.dispatch("SwitchMode", { mode: t });
                        })(e, r);
                },
                RO = (e) => {
                    const t = Li("design"),
                        n = Li({ design: { activate: A, deactivate: A, editorReadOnly: !1 }, readonly: { activate: A, deactivate: A, editorReadOnly: !0 } });
                    return (
                        ((e) => {
                            e.serializer
                                ? pO(e)
                                : e.on("PreInit", () => {
                                      pO(e);
                                  });
                        })(e),
                        ((e) => {
                            e.on("ShowCaret", (t) => {
                                fO(e) && t.preventDefault();
                            }),
                                e.on("ObjectSelected", (t) => {
                                    fO(e) && t.preventDefault();
                                });
                        })(e),
                        {
                            isReadOnly: () => fO(e),
                            set: (r) =>
                                ((e, t, n, r) => {
                                    if (r !== n.get()) {
                                        if (!Ee(t, r)) throw new Error(`Editor mode '${r}' is invalid`);
                                        e.initialized ? DO(e, n, t, r) : e.on("init", () => DO(e, n, t, r));
                                    }
                                })(e, n.get(), t, r),
                            get: () => t.get(),
                            register: (e, t) => {
                                n.set(
                                    ((e, t, n) => {
                                        if (q(OO, t)) throw new Error("Cannot override default mode " + t);
                                        return {
                                            ...e,
                                            [t]: {
                                                ...n,
                                                deactivate: () => {
                                                    try {
                                                        n.deactivate();
                                                    } catch (e) {
                                                        console.error(`problem while deactivating editor mode ${t}:`, e);
                                                    }
                                                },
                                            },
                                        };
                                    })(n.get(), e, t)
                                );
                            },
                        }
                    );
                },
                LO = wt.each,
                PO = wt.explode,
                $O = { f1: 112, f2: 113, f3: 114, f4: 115, f5: 116, f6: 117, f7: 118, f8: 119, f9: 120, f10: 121, f11: 122, f12: 123 },
                MO = wt.makeMap("alt,ctrl,shift,meta,access"),
                IO = (e) => {
                    let t;
                    const n = {},
                        r = gt.os.isMacOS() || gt.os.isiOS();
                    LO(PO(e.toLowerCase(), "+"), (e) => {
                        e in MO ? (n[e] = !0) : /^[0-9]{2,}$/.test(e) ? (n.keyCode = parseInt(e, 10)) : ((n.charCode = e.charCodeAt(0)), (n.keyCode = $O[e] || e.toUpperCase().charCodeAt(0)));
                    });
                    const o = [n.keyCode];
                    for (t in MO) n[t] ? o.push(t) : (n[t] = !1);
                    return (n.id = o.join(",")), n.access && ((n.alt = !0), r ? (n.ctrl = !0) : (n.shift = !0)), n.meta && (r ? (n.meta = !0) : ((n.ctrl = !0), (n.meta = !1))), n;
                };
            class BO {
                constructor(e) {
                    (this.shortcuts = {}), (this.pendingPatterns = []), (this.editor = e);
                    const t = this;
                    e.on("keyup keypress keydown", (e) => {
                        (!t.hasModifier(e) && !t.isFunctionKey(e)) ||
                            e.isDefaultPrevented() ||
                            (LO(t.shortcuts, (n) => {
                                if (t.matchShortcut(e, n)) return (t.pendingPatterns = n.subpatterns.slice(0)), "keydown" === e.type && t.executeShortcutAction(n), !0;
                            }),
                            t.matchShortcut(e, t.pendingPatterns[0]) && (1 === t.pendingPatterns.length && "keydown" === e.type && t.executeShortcutAction(t.pendingPatterns[0]), t.pendingPatterns.shift()));
                    });
                }
                add(e, t, n, r) {
                    const o = this,
                        i = o.normalizeCommandFunc(n);
                    return (
                        LO(PO(wt.trim(e)), (e) => {
                            const n = o.createShortcut(e, t, i, r);
                            o.shortcuts[n.id] = n;
                        }),
                        !0
                    );
                }
                remove(e) {
                    const t = this.createShortcut(e);
                    return !!this.shortcuts[t.id] && (delete this.shortcuts[t.id], !0);
                }
                normalizeCommandFunc(e) {
                    const t = this,
                        n = e;
                    return "string" == typeof n
                        ? () => {
                              t.editor.execCommand(n, !1, null);
                          }
                        : wt.isArray(n)
                        ? () => {
                              t.editor.execCommand(n[0], n[1], n[2]);
                          }
                        : n;
                }
                createShortcut(e, t, n, r) {
                    const o = wt.map(PO(e, ">"), IO);
                    return (o[o.length - 1] = wt.extend(o[o.length - 1], { func: n, scope: r || this.editor })), wt.extend(o[0], { desc: this.editor.translate(t), subpatterns: o.slice(1) });
                }
                hasModifier(e) {
                    return e.altKey || e.ctrlKey || e.metaKey;
                }
                isFunctionKey(e) {
                    return "keydown" === e.type && e.keyCode >= 112 && e.keyCode <= 123;
                }
                matchShortcut(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);
                }
                executeShortcutAction(e) {
                    return e.func ? e.func.call(e.scope) : null;
                }
            }
            const jO = () => {
                    const e = (() => {
                        const e = {},
                            t = {},
                            n = {},
                            r = {},
                            o = {},
                            i = {},
                            s = {},
                            a = (e, t) => (n, r) => (e[n.toLowerCase()] = { ...r, type: t });
                        return {
                            addButton: a(e, "button"),
                            addGroupToolbarButton: a(e, "grouptoolbarbutton"),
                            addToggleButton: a(e, "togglebutton"),
                            addMenuButton: a(e, "menubutton"),
                            addSplitButton: a(e, "splitbutton"),
                            addMenuItem: a(t, "menuitem"),
                            addNestedMenuItem: a(t, "nestedmenuitem"),
                            addToggleMenuItem: a(t, "togglemenuitem"),
                            addAutocompleter: a(n, "autocompleter"),
                            addContextMenu: a(o, "contextmenu"),
                            addContextToolbar: a(i, "contexttoolbar"),
                            addContextForm: a(i, "contextform"),
                            addSidebar: a(s, "sidebar"),
                            addIcon: (e, t) => (r[e.toLowerCase()] = t),
                            getAll: () => ({ buttons: e, menuItems: t, icons: r, popups: n, contextMenus: o, contextToolbars: i, sidebars: s }),
                        };
                    })();
                    return {
                        addAutocompleter: e.addAutocompleter,
                        addButton: e.addButton,
                        addContextForm: e.addContextForm,
                        addContextMenu: e.addContextMenu,
                        addContextToolbar: e.addContextToolbar,
                        addIcon: e.addIcon,
                        addMenuButton: e.addMenuButton,
                        addMenuItem: e.addMenuItem,
                        addNestedMenuItem: e.addNestedMenuItem,
                        addSidebar: e.addSidebar,
                        addSplitButton: e.addSplitButton,
                        addToggleButton: e.addToggleButton,
                        addGroupToolbarButton: e.addGroupToolbarButton,
                        addToggleMenuItem: e.addToggleMenuItem,
                        getAll: e.getAll,
                    };
                },
                FO = Oi.DOM,
                HO = wt.extend,
                UO = wt.each;
            class qO {
                constructor(e, t, n) {
                    (this.plugins = {}), (this.contentCSS = []), (this.contentStyles = []), (this.loadedCSS = {}), (this.isNotDirty = !1), (this.editorManager = n), (this.documentBaseUrl = n.documentBaseURL), HO(this, EO);
                    const r = this;
                    (this.id = e), (this.hidden = !1);
                    const o = ((e, t) => UN(PN || $N, PN, t, e, t))(n.defaultOptions, t);
                    (this.options = NO(0, o)),
                        ((e) => {
                            const t = e.options.register;
                            t("id", { processor: "string", default: e.id }),
                                t("selector", { processor: "string" }),
                                t("target", { processor: "object" }),
                                t("suffix", { processor: "string" }),
                                t("cache_suffix", { processor: "string" }),
                                t("base_url", { processor: "string" }),
                                t("referrer_policy", { processor: "string", default: "" }),
                                t("language_load", { processor: "boolean" }),
                                t("inline", { processor: "boolean", default: !1 }),
                                t("iframe_attrs", { processor: "object", default: {} }),
                                t("doctype", { processor: "string", default: "<!DOCTYPE html>" }),
                                t("document_base_url", { processor: "string", default: e.documentBaseUrl }),
                                t("body_id", { processor: wa(e, "tinymce"), default: "tinymce" }),
                                t("body_class", { processor: wa(e), default: "" }),
                                t("content_security_policy", { processor: "string", default: "" }),
                                t("br_in_pre", { processor: "boolean", default: !0 }),
                                t("forced_root_block", {
                                    processor: (e) => {
                                        const t = h(e) && Ge(e);
                                        return t ? { value: e, valid: t } : { valid: !1, message: "Must be a non-empty string." };
                                    },
                                    default: "p",
                                }),
                                t("forced_root_block_attrs", { processor: "object", default: {} }),
                                t("br_newline_selector", { processor: "string", default: ".mce-toc h2,figcaption,caption" }),
                                t("no_newline_selector", { processor: "string", default: "" }),
                                t("keep_styles", { processor: "boolean", default: !0 }),
                                t("end_container_on_empty_block", { processor: "boolean", default: !1 }),
                                t("font_size_style_values", { processor: "string", default: "xx-small,x-small,small,medium,large,x-large,xx-large" }),
                                t("font_size_legacy_values", { processor: "string", default: "xx-small,small,medium,large,x-large,xx-large,300%" }),
                                t("font_size_classes", { processor: "string", default: "" }),
                                t("automatic_uploads", { processor: "boolean", default: !0 }),
                                t("images_reuse_filename", { processor: "boolean", default: !1 }),
                                t("images_replace_blob_uris", { processor: "boolean", default: !0 }),
                                t("icons", { processor: "string", default: "" }),
                                t("icons_url", { processor: "string", default: "" }),
                                t("images_upload_url", { processor: "string", default: "" }),
                                t("images_upload_base_path", { processor: "string", default: "" }),
                                t("images_upload_base_path", { processor: "string", default: "" }),
                                t("images_upload_credentials", { processor: "boolean", default: !1 }),
                                t("images_upload_handler", { processor: "function" }),
                                t("language", { processor: "string", default: "en" }),
                                t("language_url", { processor: "string", default: "" }),
                                t("entity_encoding", { processor: "string", default: "named" }),
                                t("indent", { processor: "boolean", default: !0 }),
                                t("indent_before", {
                                    processor: "string",
                                    default:
                                        "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",
                                }),
                                t("indent_after", {
                                    processor: "string",
                                    default:
                                        "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",
                                }),
                                t("indent_use_margin", { processor: "boolean", default: !1 }),
                                t("indentation", { processor: "string", default: "40px" }),
                                t("content_css", {
                                    processor: (e) => {
                                        const t = !1 === e || h(e) || k(e, h);
                                        return t
                                            ? h(e)
                                                ? { value: W(e.split(","), We), valid: t }
                                                : v(e)
                                                ? { value: e, valid: t }
                                                : !1 === e
                                                ? { value: [], valid: t }
                                                : { value: e, valid: t }
                                            : { valid: !1, message: "Must be false, a string or an array of strings." };
                                    },
                                    default: ml(e) ? [] : ["default"],
                                }),
                                t("content_style", { processor: "string" }),
                                t("content_css_cors", { processor: "boolean", default: !1 }),
                                t("font_css", {
                                    processor: (e) => {
                                        const t = h(e) || k(e, h);
                                        if (t) {
                                            return { value: v(e) ? e : W(e.split(","), We), valid: t };
                                        }
                                        return { valid: !1, message: "Must be a string or an array of strings." };
                                    },
                                    default: [],
                                }),
                                t("inline_boundaries", { processor: "boolean", default: !0 }),
                                t("inline_boundaries_selector", { processor: "string", default: "a[href],code,.mce-annotation" }),
                                t("object_resizing", {
                                    processor: (e) => {
                                        const t = b(e) || h(e);
                                        return t
                                            ? !1 === e || ma.isiPhone() || ma.isiPad()
                                                ? { value: "", valid: t }
                                                : { value: !0 === e ? "table,img,figure.image,div,video,iframe" : e, valid: t }
                                            : { valid: !1, message: "Must be boolean or a string" };
                                    },
                                    default: !ga,
                                }),
                                t("resize_img_proportional", { processor: "boolean", default: !0 }),
                                t("event_root", { processor: "object" }),
                                t("service_message", { processor: "string" }),
                                t("theme", { processor: (e) => !1 === e || h(e) || x(e), default: "silver" }),
                                t("theme_url", { processor: "string" }),
                                t("formats", { processor: "object" }),
                                t("format_empty_lines", { processor: "boolean", default: !1 }),
                                t("preview_styles", {
                                    processor: (e) => {
                                        const t = !1 === e || h(e);
                                        return t ? { value: !1 === e ? "" : e, valid: t } : { valid: !1, message: "Must be false or a string" };
                                    },
                                    default: "font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow",
                                }),
                                t("custom_ui_selector", { processor: "string", default: "" }),
                                t("hidden_input", { processor: "boolean", default: !0 }),
                                t("submit_patch", { processor: "boolean", default: !0 }),
                                t("encoding", { processor: "string" }),
                                t("add_form_submit_trigger", { processor: "boolean", default: !0 }),
                                t("add_unload_trigger", { processor: "boolean", default: !0 }),
                                t("custom_undo_redo_levels", { processor: "number", default: 0 }),
                                t("disable_nodechange", { processor: "boolean", default: !1 }),
                                t("readonly", { processor: "boolean", default: !1 }),
                                t("plugins", { processor: "string[]", default: [] }),
                                t("external_plugins", { processor: "object" }),
                                t("forced_plugins", { processor: "string[]" }),
                                t("model", { processor: "string", default: e.hasPlugin("rtc") ? "plugin" : "dom" }),
                                t("model_url", { processor: "string" }),
                                t("block_unsupported_drop", { processor: "boolean", default: !0 }),
                                t("visual", { processor: "boolean", default: !0 }),
                                t("visual_table_class", { processor: "string", default: "mce-item-table" }),
                                t("visual_anchor_class", { processor: "string", default: "mce-item-anchor" }),
                                t("iframe_aria_text", { processor: "string", default: "Rich Text Area. Press ALT-0 for help." }),
                                t("setup", { processor: "function" }),
                                t("init_instance_callback", { processor: "function" }),
                                t("url_converter", { processor: "function", default: e.convertURL }),
                                t("url_converter_scope", { processor: "object", default: e }),
                                t("urlconverter_callback", { processor: "function" }),
                                t("allow_conditional_comments", { processor: "boolean", default: !1 }),
                                t("allow_html_data_urls", { processor: "boolean", default: !1 }),
                                t("allow_svg_data_urls", { processor: "boolean" }),
                                t("allow_html_in_named_anchor", { processor: "boolean", default: !1 }),
                                t("allow_script_urls", { processor: "boolean", default: !1 }),
                                t("allow_unsafe_link_target", { processor: "boolean", default: !1 }),
                                t("convert_fonts_to_spans", { processor: "boolean", default: !0, deprecated: !0 }),
                                t("fix_list_elements", { processor: "boolean", default: !1 }),
                                t("preserve_cdata", { processor: "boolean", default: !1 }),
                                t("remove_trailing_brs", { processor: "boolean" }),
                                t("inline_styles", { processor: "boolean", default: !0, deprecated: !0 }),
                                t("element_format", { processor: "string", default: "html" }),
                                t("entities", { processor: "string" }),
                                t("schema", { processor: "string", default: "html5" }),
                                t("convert_urls", { processor: "boolean", default: !0 }),
                                t("relative_urls", { processor: "boolean", default: !0 }),
                                t("remove_script_host", { processor: "boolean", default: !0 }),
                                t("custom_elements", { processor: "string" }),
                                t("extended_valid_elements", { processor: "string" }),
                                t("invalid_elements", { processor: "string" }),
                                t("invalid_styles", { processor: _a }),
                                t("valid_children", { processor: "string" }),
                                t("valid_classes", { processor: _a }),
                                t("valid_elements", { processor: "string" }),
                                t("valid_styles", { processor: _a }),
                                t("verify_html", { processor: "boolean", default: !0 }),
                                t("auto_focus", { processor: (e) => h(e) || !0 === e }),
                                t("browser_spellcheck", { processor: "boolean", default: !1 }),
                                t("protect", { processor: "array" }),
                                t("images_file_types", { processor: "string", default: "jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp" }),
                                t("deprecation_warnings", { processor: "boolean", default: !0 }),
                                t("a11y_advanced_options", { processor: "boolean", default: !1 }),
                                t("api_key", { processor: "string" }),
                                t("paste_block_drop", { processor: "boolean", default: !1 }),
                                t("paste_data_images", { processor: "boolean", default: !0 }),
                                t("paste_preprocess", { processor: "function" }),
                                t("paste_postprocess", { processor: "function" }),
                                t("paste_webkit_styles", { processor: "string", default: "none" }),
                                t("paste_remove_styles_if_webkit", { processor: "boolean", default: !0 }),
                                t("paste_merge_formats", { processor: "boolean", default: !0 }),
                                t("smart_paste", { processor: "boolean", default: !0 }),
                                t("paste_as_text", { processor: "boolean", default: !1 }),
                                t("paste_tab_spaces", { processor: "number", default: 4 }),
                                t("text_patterns", {
                                    processor: (e) => {
                                        if (k(e, m) || !1 === e) {
                                            return { value: ha(!1 === e ? [] : e), valid: !0 };
                                        }
                                        return { valid: !1, message: "Must be an array of objects or false." };
                                    },
                                    default: [
                                        { start: "*", end: "*", format: "italic" },
                                        { start: "**", end: "**", format: "bold" },
                                        { start: "#", format: "h1" },
                                        { start: "##", format: "h2" },
                                        { start: "###", format: "h3" },
                                        { start: "####", format: "h4" },
                                        { start: "#####", format: "h5" },
                                        { start: "######", format: "h6" },
                                        { start: "1. ", cmd: "InsertOrderedList" },
                                        { start: "* ", cmd: "InsertUnorderedList" },
                                        { start: "- ", cmd: "InsertUnorderedList" },
                                    ],
                                }),
                                t("noneditable_class", { processor: "string", default: "mceNonEditable" }),
                                t("editable_class", { processor: "string", default: "mceEditable" }),
                                t("noneditable_regexp", { processor: (e) => (k(e, ya) ? { value: e, valid: !0 } : ya(e) ? { value: [e], valid: !0 } : { valid: !1, message: "Must be a RegExp or an array of RegExp." }), default: [] }),
                                t("table_tab_navigation", { processor: "boolean", default: !0 }),
                                e.on("ScriptsLoaded", () => {
                                    t("directionality", { processor: "string", default: Ii.isRtl() ? "rtl" : void 0 }), t("placeholder", { processor: "string", default: va.getAttrib(e.getElement(), "placeholder") });
                                });
                        })(r);
                    const i = this.options.get;
                    i("deprecation_warnings") && zb(t, o);
                    const s = i("suffix");
                    s && (n.suffix = s), (this.suffix = n.suffix);
                    const a = i("base_url");
                    a && n._setBaseUrl(a), (this.baseUri = n.baseURI);
                    const l = Wa(r);
                    l && (Ri.ScriptLoader._setReferrerPolicy(l), Oi.DOM.styleSheetLoader._setReferrerPolicy(l)),
                        (Bi.languageLoad = i("language_load")),
                        (Bi.baseURL = n.baseURL),
                        this.setDirty(!1),
                        (this.documentBaseURI = new Ay(Ea(r), { base_uri: this.baseUri })),
                        (this.baseURI = this.baseUri),
                        (this.inline = ml(r)),
                        (this.shortcuts = new BO(this)),
                        (this.editorCommands = new lO(this)),
                        aO(this);
                    const c = i("cache_suffix");
                    c && (gt.cacheSuffix = c.replace(/^[\?\&]+/, "")),
                        (this.ui = { registry: jO(), styleSheetLoader: void 0, show: A, hide: A, setEnabled: A, isEnabled: I }),
                        (this.mode = RO(r)),
                        n.dispatch("SetupEditor", { editor: this });
                    const u = Dl(r);
                    x(u) && u.call(r, r);
                }
                render() {
                    RN(this);
                }
                focus(e) {
                    this.execCommand("mceFocus", !1, e);
                }
                hasFocus() {
                    return bp(this);
                }
                translate(e) {
                    return Ii.translate(e);
                }
                getParam(e, t, n) {
                    const r = this.options;
                    return r.isRegistered(e) || (C(n) ? r.register(e, { processor: n, default: t }) : r.register(e, { processor: I, default: t })), r.isSet(e) || _(t) ? r.get(e) : t;
                }
                hasPlugin(e, t) {
                    return !!q(El(this), e) && (!t || void 0 !== s_.get(e));
                }
                nodeChanged(e) {
                    this._nodeChangeDispatcher.nodeChanged(e);
                }
                addCommand(e, t, n) {
                    this.editorCommands.addCommand(e, t, n);
                }
                addQueryStateHandler(e, t, n) {
                    this.editorCommands.addQueryStateHandler(e, t, n);
                }
                addQueryValueHandler(e, t, n) {
                    this.editorCommands.addQueryValueHandler(e, t, n);
                }
                addShortcut(e, t, n, r) {
                    this.shortcuts.add(e, t, n, r);
                }
                execCommand(e, t, n, r) {
                    return this.editorCommands.execCommand(e, t, n, r);
                }
                queryCommandState(e) {
                    return this.editorCommands.queryCommandState(e);
                }
                queryCommandValue(e) {
                    return this.editorCommands.queryCommandValue(e);
                }
                queryCommandSupported(e) {
                    return this.editorCommands.queryCommandSupported(e);
                }
                show() {
                    const e = this;
                    e.hidden && ((e.hidden = !1), e.inline ? (e.getBody().contentEditable = "true") : (FO.show(e.getContainer()), FO.hide(e.id)), e.load(), e.dispatch("show"));
                }
                hide() {
                    const e = this;
                    e.hidden ||
                        (e.save(),
                        e.inline ? ((e.getBody().contentEditable = "false"), e === e.editorManager.focusedEditor && (e.editorManager.focusedEditor = null)) : (FO.hide(e.getContainer()), FO.setStyle(e.id, "display", e.orgDisplay)),
                        (e.hidden = !0),
                        e.dispatch("hide"));
                }
                isHidden() {
                    return this.hidden;
                }
                setProgressState(e, t) {
                    this.dispatch("ProgressState", { state: e, time: t });
                }
                load(e) {
                    const t = this;
                    let n,
                        r = t.getElement();
                    if (t.removed) return "";
                    if (r) {
                        (e = e || {}).load = !0;
                        const o = fr(r) ? r.value : r.innerHTML;
                        return (n = t.setContent(o, e)), (e.element = r), e.no_events || t.dispatch("LoadContent", e), (e.element = r = null), n;
                    }
                }
                save(e) {
                    const t = this;
                    let n,
                        r,
                        o = t.getElement();
                    if (o && t.initialized && !t.removed)
                        return (
                            ((e = e || {}).save = !0),
                            (e.element = o),
                            (n = e.content = t.getContent(e)),
                            e.no_events || t.dispatch("SaveContent", e),
                            "raw" === e.format && t.dispatch("RawSaveContent", e),
                            (n = e.content),
                            fr(o)
                                ? (o.value = n)
                                : ((!e.is_removing && t.inline) || (o.innerHTML = n),
                                  (r = FO.getParent(t.id, "form")) &&
                                      UO(r.elements, (e) => {
                                          if (e.name === t.id) return (e.value = n), !1;
                                      })),
                            (e.element = o = null),
                            !1 !== e.set_dirty && t.setDirty(!1),
                            n
                        );
                }
                setContent(e, t) {
                    return jb(this, e, t);
                }
                getContent(e) {
                    return Bb(this, e);
                }
                insertContent(e, t) {
                    t && (e = HO({ content: e }, t)), this.execCommand("mceInsertContent", !1, e);
                }
                resetContent(e) {
                    void 0 === e ? jb(this, this.startContent, { format: "raw" }) : jb(this, e), this.undoManager.reset(), this.setDirty(!1), this.nodeChanged();
                }
                isDirty() {
                    return !this.isNotDirty;
                }
                setDirty(e) {
                    const t = !this.isNotDirty;
                    (this.isNotDirty = !e), e && e !== t && this.dispatch("dirty");
                }
                getContainer() {
                    const e = this;
                    return e.container || (e.container = FO.get(e.editorContainer || e.id + "_parent")), e.container;
                }
                getContentAreaContainer() {
                    return this.contentAreaContainer;
                }
                getElement() {
                    return this.targetElm || (this.targetElm = FO.get(this.id)), this.targetElm;
                }
                getWin() {
                    const e = this;
                    let t;
                    return e.contentWindow || ((t = e.iframeElement), t && (e.contentWindow = t.contentWindow)), e.contentWindow;
                }
                getDoc() {
                    const e = this;
                    let t;
                    return e.contentDocument || ((t = e.getWin()), t && (e.contentDocument = t.document)), e.contentDocument;
                }
                getBody() {
                    const e = this.getDoc();
                    return this.bodyElement || (e ? e.body : null);
                }
                convertURL(e, t, n) {
                    const r = this,
                        o = r.options.get,
                        i = Ll(r);
                    return x(i)
                        ? i.call(r, e, n, !0, t)
                        : !o("convert_urls") || (n && "LINK" === n.nodeName) || 0 === e.indexOf("file:") || 0 === e.length
                        ? e
                        : o("relative_urls")
                        ? r.documentBaseURI.toRelative(e)
                        : (e = r.documentBaseURI.toAbsolute(e, o("remove_script_host")));
                }
                addVisual(e) {
                    qN(this, e);
                }
                remove() {
                    Kb(this);
                }
                destroy(e) {
                    Gb(this, e);
                }
                uploadImages() {
                    return this.editorUpload.uploadImages();
                }
                _scanForImages() {
                    return this.editorUpload.scanForImages();
                }
            }
            const zO = Oi.DOM,
                WO = wt.each;
            let VO,
                KO = !1,
                GO = [];
            const YO = (e) => {
                    const t = e.type;
                    WO(ZO.get(), (n) => {
                        switch (t) {
                            case "scroll":
                                n.dispatch("ScrollWindow", e);
                                break;
                            case "resize":
                                n.dispatch("ResizeWindow", e);
                        }
                    });
                },
                XO = (e) => {
                    if (e !== KO) {
                        const t = Oi.DOM;
                        e ? (t.bind(window, "resize", YO), t.bind(window, "scroll", YO)) : (t.unbind(window, "resize", YO), t.unbind(window, "scroll", YO)), (KO = e);
                    }
                },
                JO = (e) => {
                    const t = GO;
                    return (GO = Y(GO, (t) => e !== t)), ZO.activeEditor === e && (ZO.activeEditor = GO.length > 0 ? GO[0] : null), ZO.focusedEditor === e && (ZO.focusedEditor = null), t.length !== GO.length;
                },
                QO = "CSS1Compat" !== document.compatMode,
                ZO = {
                    ...yO,
                    baseURI: null,
                    baseURL: null,
                    defaultOptions: {},
                    documentBaseURL: null,
                    suffix: null,
                    majorVersion: "6",
                    minorVersion: "0.3",
                    releaseDate: "2022-05-25",
                    i18n: Ii,
                    activeEditor: null,
                    focusedEditor: null,
                    setup() {
                        let e,
                            t,
                            n = "";
                        (t = Ay.getDocumentBaseUrl(document.location)), /^[^:]+:\/\/\/?[^\/]+\//.test(t) && ((t = t.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, "")), /[\/\\]$/.test(t) || (t += "/"));
                        const r = window.tinymce || window.tinyMCEPreInit;
                        if (r) (e = r.base || r.baseURL), (n = r.suffix);
                        else {
                            const t = document.getElementsByTagName("script");
                            for (let r = 0; r < t.length; r++) {
                                const o = t[r].src || "";
                                if ("" === o) continue;
                                const i = o.substring(o.lastIndexOf("/"));
                                if (/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(o)) {
                                    -1 !== i.indexOf(".min") && (n = ".min"), (e = o.substring(0, o.lastIndexOf("/")));
                                    break;
                                }
                            }
                            if (!e && document.currentScript) {
                                const t = document.currentScript.src;
                                -1 !== t.indexOf(".min") && (n = ".min"), (e = t.substring(0, t.lastIndexOf("/")));
                            }
                        }
                        var o;
                        (this.baseURL = new Ay(t).toAbsolute(e)), (this.documentBaseURL = t), (this.baseURI = new Ay(this.baseURL)), (this.suffix = n), (o = this).on("AddEditor", R(pp, o)), o.on("RemoveEditor", R(hp, o));
                    },
                    overrideDefaults(e) {
                        const t = e.base_url;
                        t && this._setBaseUrl(t);
                        const n = e.suffix;
                        e.suffix && (this.suffix = n), (this.defaultOptions = e);
                        const r = e.plugin_base_urls;
                        void 0 !== r &&
                            me(r, (e, t) => {
                                Bi.PluginManager.urls[t] = e;
                            });
                    },
                    init(e) {
                        const t = this;
                        let n;
                        const r = wt.makeMap(
                            "area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option table tbody tfoot thead tr th td script noscript style textarea video audio iframe object menu",
                            " "
                        );
                        let o = (e) => {
                            n = e;
                        };
                        const i = () => {
                            let n = 0;
                            const s = [];
                            let a;
                            zO.unbind(window, "ready", i),
                                ((n) => {
                                    const r = e[n];
                                    if (r) r.apply(t, []);
                                })("onpageload"),
                                (a = ((e, t) => {
                                    const n = [],
                                        r = x(t) ? (e) => z(n, (n) => t(n, e)) : (e) => q(n, e);
                                    for (let t = 0, o = e.length; t < o; t++) {
                                        const o = e[t];
                                        r(o) || n.push(o);
                                    }
                                    return n;
                                })(
                                    ((e) =>
                                        gt.browser.isIE() || gt.browser.isEdge()
                                            ? (p_("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tiny.cloud/docs/tinymce/6/support/#supportedwebbrowsers"), [])
                                            : QO
                                            ? (p_("Failed to initialize the editor as the document is not in standards mode. TinyMCE requires standards mode."), [])
                                            : h(e.selector)
                                            ? zO.select(e.selector)
                                            : C(e.target)
                                            ? [e.target]
                                            : [])(e)
                                )),
                                wt.each(a, (e) => {
                                    var n;
                                    (n = t.get(e.id)) && n.initialized && !(n.getContainer() || n.getBody()).parentNode && (JO(n), n.unbindAllNativeEvents(), n.destroy(!0), (n.removed = !0), (n = null));
                                }),
                                (a = wt.grep(a, (e) => !t.get(e.id))),
                                0 === a.length
                                    ? o([])
                                    : WO(a, (i) => {
                                          ((e, t) => e.inline && t.tagName.toLowerCase() in r)(e, i)
                                              ? p_("Could not initialize inline editor on invalid inline target element", i)
                                              : ((e, r, i) => {
                                                    const l = new qO(e, r, t);
                                                    s.push(l),
                                                        l.on("init", () => {
                                                            ++n === a.length && o(s);
                                                        }),
                                                        (l.targetElm = l.targetElm || i),
                                                        l.render();
                                                })(
                                                    ((e) => {
                                                        let t = e.id;
                                                        return (
                                                            t ||
                                                                ((t = xe(e, "name")
                                                                    .filter((e) => !zO.get(e))
                                                                    .getOrThunk(zO.uniqueId)),
                                                                e.setAttribute("id", t)),
                                                            t
                                                        );
                                                    })(i),
                                                    e,
                                                    i
                                                );
                                      });
                        };
                        return (
                            zO.bind(window, "ready", i),
                            new Promise((e) => {
                                n
                                    ? e(n)
                                    : (o = (t) => {
                                          e(t);
                                      });
                            })
                        );
                    },
                    get(e) {
                        return 0 === arguments.length ? GO.slice(0) : h(e) ? Z(GO, (t) => t.id === e).getOr(null) : E(e) && GO[e] ? GO[e] : null;
                    },
                    add(e) {
                        const t = this,
                            n = t.get(e.id);
                        return (
                            n === e ||
                                (null === n && GO.push(e),
                                XO(!0),
                                (t.activeEditor = e),
                                t.dispatch("AddEditor", { editor: e }),
                                VO ||
                                    ((VO = (e) => {
                                        const n = t.dispatch("BeforeUnload");
                                        if (n.returnValue) return e.preventDefault(), (e.returnValue = n.returnValue), n.returnValue;
                                    }),
                                    window.addEventListener("beforeunload", VO))),
                            e
                        );
                    },
                    createEditor(e, t) {
                        return this.add(new qO(e, t, this));
                    },
                    remove(e) {
                        const t = this;
                        let n, r;
                        if (e) {
                            if (!h(e)) return (r = e), y(t.get(r.id)) ? null : (JO(r) && t.dispatch("RemoveEditor", { editor: r }), 0 === GO.length && window.removeEventListener("beforeunload", VO), r.remove(), XO(GO.length > 0), r);
                            WO(zO.select(e), (e) => {
                                (r = t.get(e.id)), r && t.remove(r);
                            });
                        } else for (n = GO.length - 1; n >= 0; n--) t.remove(GO[n]);
                    },
                    execCommand(e, t, n) {
                        var r;
                        const o = this,
                            i = m(n) ? (null !== (r = n.id) && void 0 !== r ? r : n.index) : n;
                        switch (e) {
                            case "mceAddEditor":
                                if (!o.get(i)) {
                                    const e = n.options;
                                    new qO(i, e, o).render();
                                }
                                return !0;
                            case "mceRemoveEditor": {
                                const e = o.get(i);
                                return e && e.remove(), !0;
                            }
                            case "mceToggleEditor": {
                                const e = o.get(i);
                                return e ? (e.isHidden() ? e.show() : e.hide(), !0) : (o.execCommand("mceAddEditor", !1, n), !0);
                            }
                        }
                        return !!o.activeEditor && o.activeEditor.execCommand(e, t, n);
                    },
                    triggerSave: () => {
                        WO(GO, (e) => {
                            e.save();
                        });
                    },
                    addI18n: (e, t) => {
                        Ii.add(e, t);
                    },
                    translate: (e) => Ii.translate(e),
                    setActive(e) {
                        const t = this.activeEditor;
                        this.activeEditor !== e && (t && t.dispatch("deactivate", { relatedTarget: e }), e.dispatch("activate", { relatedTarget: t })), (this.activeEditor = e);
                    },
                    _setBaseUrl(e) {
                        (this.baseURL = new Ay(this.documentBaseURL).toAbsolute(e.replace(/\/+$/, ""))), (this.baseURI = new Ay(this.baseURL));
                    },
                };
            ZO.setup();
            const eD = (() => {
                    const e = ji();
                    return {
                        FakeClipboardItem: (e) => ({ items: e, types: pe(e), getType: (t) => xe(e, t).getOrUndefined() }),
                        write: (t) => {
                            e.set(t);
                        },
                        read: () => e.get().getOrUndefined(),
                        clear: e.clear,
                    };
                })(),
                tD = Math.min,
                nD = Math.max,
                rD = Math.round,
                oD = (e, t, n) => {
                    let r = t.x,
                        o = t.y;
                    const i = e.w,
                        s = e.h,
                        a = t.w,
                        l = t.h,
                        c = (n || "").split("");
                    return (
                        "b" === c[0] && (o += l),
                        "r" === c[1] && (r += a),
                        "c" === c[0] && (o += rD(l / 2)),
                        "c" === c[1] && (r += rD(a / 2)),
                        "b" === c[3] && (o -= s),
                        "r" === c[4] && (r -= i),
                        "c" === c[3] && (o -= rD(s / 2)),
                        "c" === c[4] && (r -= rD(i / 2)),
                        iD(r, o, i, s)
                    );
                },
                iD = (e, t, n, r) => ({ x: e, y: t, w: n, h: r }),
                sD = {
                    inflate: (e, t, n) => iD(e.x - t, e.y - n, e.w + 2 * t, e.h + 2 * n),
                    relativePosition: oD,
                    findBestRelativePosition: (e, t, n, r) => {
                        let o, i;
                        for (i = 0; i < r.length; i++) if (((o = oD(e, t, r[i])), o.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: (e, t) => {
                        const n = nD(e.x, t.x),
                            r = nD(e.y, t.y),
                            o = tD(e.x + e.w, t.x + t.w),
                            i = tD(e.y + e.h, t.y + t.h);
                        return o - n < 0 || i - r < 0 ? null : iD(n, r, o - n, i - r);
                    },
                    clamp: (e, t, n) => {
                        let r = e.x,
                            o = e.y,
                            i = e.x + e.w,
                            s = e.y + e.h;
                        const a = t.x + t.w,
                            l = t.y + t.h,
                            c = nD(0, t.x - r),
                            u = nD(0, t.y - o),
                            d = nD(0, i - a),
                            f = nD(0, s - l);
                        return (r += c), (o += u), n && ((i += c), (s += u), (r -= d), (o -= f)), (i -= d), (s -= f), iD(r, o, i - r, s - o);
                    },
                    create: iD,
                    fromClientRect: (e) => iD(e.left, e.top, e.width, e.height),
                },
                aD = (() => {
                    const e = {},
                        t = {};
                    return {
                        load: (n, r) => {
                            const o = `Script at URL "${r}" failed to load`,
                                i = `Script at URL "${r}" did not call \`tinymce.Resource.add('${n}', data)\` within 1 second`;
                            if (void 0 !== e[n]) return e[n];
                            {
                                const s = new Promise((e, s) => {
                                    const a = ((e, t, n = 1e3) => {
                                        let r = !1,
                                            o = null;
                                        const i = (e) => (...t) => {
                                                r || ((r = !0), null !== o && (clearTimeout(o), (o = null)), e.apply(null, t));
                                            },
                                            s = i(e),
                                            a = i(t);
                                        return {
                                            start: (...e) => {
                                                r || null !== o || (o = setTimeout(() => a.apply(null, e), n));
                                            },
                                            resolve: s,
                                            reject: a,
                                        };
                                    })(e, s);
                                    (t[n] = a.resolve),
                                        Ri.ScriptLoader.loadScript(r).then(
                                            () => a.start(i),
                                            () => a.reject(o)
                                        );
                                });
                                return (e[n] = s), s;
                            }
                        },
                        add: (n, r) => {
                            void 0 !== t[n] && (t[n](r), delete t[n]), (e[n] = Promise.resolve(r));
                        },
                        unload: (t) => {
                            delete e[t];
                        },
                    };
                })();
            let lD;
            try {
                const e = "__storage_test__";
                (lD = window.localStorage), lD.setItem(e, e), lD.removeItem(e);
            } catch (e) {
                lD = (() => {
                    let e = {},
                        t = [];
                    const n = {
                        getItem: (t) => {
                            const n = e[t];
                            return n || null;
                        },
                        setItem: (n, r) => {
                            t.push(n), (e[n] = String(r));
                        },
                        key: (e) => t[e],
                        removeItem: (n) => {
                            (t = t.filter((e) => e === n)), delete e[n];
                        },
                        clear: () => {
                            (t = []), (e = {});
                        },
                        length: 0,
                    };
                    return Object.defineProperty(n, "length", { get: () => t.length, configurable: !1, enumerable: !1 }), n;
                })();
            }
            const cD = {
                    geom: { Rect: sD },
                    util: {
                        Delay: lp,
                        Tools: wt,
                        VK: Wd,
                        URI: Ay,
                        EventDispatcher: gO,
                        Observable: yO,
                        I18n: Ii,
                        LocalStorage: lD,
                        ImageUploader: (e) => {
                            const t = v_(),
                                n = C_(e, t);
                            return { upload: (t, r = !0) => n.upload(t, r ? w_(e) : void 0) };
                        },
                    },
                    dom: { EventUtils: Ci, TreeWalker: Br, TextSeeker: ss, DOMUtils: Oi, ScriptLoader: Ri, RangeUtils: Af, Serializer: Ib, StyleSheetLoader: Mr, ControlSelection: Vd, BookmarkManager: Id, Selection: Rb, Event: Ci.Event },
                    html: { Styles: fi, Entities: Zo, Node: Bp, Schema: di, DomParser: My, Writer: Kp, Serializer: Gp },
                    Env: gt,
                    AddOnManager: Bi,
                    Annotator: Md,
                    Formatter: P_,
                    UndoManager: M_,
                    EditorCommands: lO,
                    WindowManager: l_,
                    NotificationManager: i_,
                    EditorObservable: EO,
                    Shortcuts: BO,
                    Editor: qO,
                    FocusManager: ap,
                    EditorManager: ZO,
                    DOM: Oi.DOM,
                    ScriptLoader: Ri.ScriptLoader,
                    PluginManager: s_,
                    ThemeManager: a_,
                    ModelManager: Xb,
                    IconManager: Yb,
                    Resource: aD,
                    FakeClipboard: eD,
                    trim: wt.trim,
                    isArray: wt.isArray,
                    is: wt.is,
                    toArray: wt.toArray,
                    makeMap: wt.makeMap,
                    each: wt.each,
                    map: wt.map,
                    grep: wt.grep,
                    inArray: wt.inArray,
                    extend: wt.extend,
                    walk: wt.walk,
                    resolve: wt.resolve,
                    explode: wt.explode,
                    _addCacheSuffix: wt._addCacheSuffix,
                },
                uD = wt.extend(ZO, cD);
            ((e) => {
                (window.tinymce = e), (window.tinyMCE = e);
            })(uD),
                ((t) => {
                    try {
                        e.exports = t;
                    } catch (e) {}
                })(uD);
        })();
    },
    function (e, t, n) {
        n(14), (e.exports = n(45));
    },
    function (e, t, n) {
        "use strict";
        n.r(t);
        var r = n(12),
            o = n.n(r);
        n(15),
            n(36),
            (window.Vue = n(37)),
            $(function () {
                $(".btn-delete").on("click", function () {
                    return confirm("Are you sure you want to delete this?");
                }),
                    $(".select2").select2(),
                    $('[data-toggle="tooltip"]').tooltip(),
                    $("form").on("submit", function () {
                        $(":submit").attr("disabled", "disabled").html('<span class="spinner-border spinner-border-sm mr-2" role="status" aria-hidden="true">\n            <span class="sr-only">\n            </span>');
                    }),
                    $(".loading-link").on("click", function (e) {
                        $(e.target).attr("disabled", "disabled").html('<span class="spinner-border spinner-border-sm mr-2" role="status" aria-hidden="true">\n            <span class="sr-only">\n            </span>');
                    });
            }),
            o.a.init({ selector: ".text-editor", height: 400, statusbar: !0, branding: !1, paste_as_text: !0 });
    },
    function (e, t, n) {
        window._ = n(16);
        try {
            (window.Popper = n(18).default), (window.$ = window.jQuery = n(2)), n(41);
        } catch (e) {}
        (window.axios = n(19)), (window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest");
    },
    function (e, t, n) {
        (function (e, r) {
            var o;
            (function () {
                var i = "Expected a function",
                    s = "__lodash_placeholder__",
                    a = [
                        ["ary", 128],
                        ["bind", 1],
                        ["bindKey", 2],
                        ["curry", 8],
                        ["curryRight", 16],
                        ["flip", 512],
                        ["partial", 32],
                        ["partialRight", 64],
                        ["rearg", 256],
                    ],
                    l = "[object Arguments]",
                    c = "[object Array]",
                    u = "[object Boolean]",
                    d = "[object Date]",
                    f = "[object Error]",
                    p = "[object Function]",
                    h = "[object GeneratorFunction]",
                    m = "[object Map]",
                    g = "[object Number]",
                    v = "[object Object]",
                    y = "[object RegExp]",
                    b = "[object Set]",
                    _ = "[object String]",
                    w = "[object Symbol]",
                    C = "[object WeakMap]",
                    x = "[object ArrayBuffer]",
                    E = "[object DataView]",
                    k = "[object Float32Array]",
                    A = "[object Float64Array]",
                    S = "[object Int8Array]",
                    T = "[object Int16Array]",
                    N = "[object Int32Array]",
                    O = "[object Uint8Array]",
                    D = "[object Uint16Array]",
                    R = "[object Uint32Array]",
                    L = /\b__p \+= '';/g,
                    P = /\b(__p \+=) '' \+/g,
                    $ = /(__e\(.*?\)|\b__t\)) \+\n'';/g,
                    M = /&(?:amp|lt|gt|quot|#39);/g,
                    I = /[&<>"']/g,
                    B = RegExp(M.source),
                    j = RegExp(I.source),
                    F = /<%-([\s\S]+?)%>/g,
                    H = /<%([\s\S]+?)%>/g,
                    U = /<%=([\s\S]+?)%>/g,
                    q = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
                    z = /^\w*$/,
                    W = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
                    V = /[\\^$.*+?()[\]{}|]/g,
                    K = RegExp(V.source),
                    G = /^\s+/,
                    Y = /\s/,
                    X = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
                    J = /\{\n\/\* \[wrapped with (.+)\] \*/,
                    Q = /,? & /,
                    Z = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
                    ee = /[()=,{}\[\]\/\s]/,
                    te = /\\(\\)?/g,
                    ne = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,
                    re = /\w*$/,
                    oe = /^[-+]0x[0-9a-f]+$/i,
                    ie = /^0b[01]+$/i,
                    se = /^\[object .+?Constructor\]$/,
                    ae = /^0o[0-7]+$/i,
                    le = /^(?:0|[1-9]\d*)$/,
                    ce = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
                    ue = /($^)/,
                    de = /['\n\r\u2028\u2029\\]/g,
                    fe = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",
                    pe =
                        "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
                    he = "[\\ud800-\\udfff]",
                    me = "[" + pe + "]",
                    ge = "[" + fe + "]",
                    ve = "\\d+",
                    ye = "[\\u2700-\\u27bf]",
                    be = "[a-z\\xdf-\\xf6\\xf8-\\xff]",
                    _e = "[^\\ud800-\\udfff" + pe + ve + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",
                    we = "\\ud83c[\\udffb-\\udfff]",
                    Ce = "[^\\ud800-\\udfff]",
                    xe = "(?:\\ud83c[\\udde6-\\uddff]){2}",
                    Ee = "[\\ud800-\\udbff][\\udc00-\\udfff]",
                    ke = "[A-Z\\xc0-\\xd6\\xd8-\\xde]",
                    Ae = "(?:" + be + "|" + _e + ")",
                    Se = "(?:" + ke + "|" + _e + ")",
                    Te = "(?:" + ge + "|" + we + ")" + "?",
                    Ne = "[\\ufe0e\\ufe0f]?" + Te + ("(?:\\u200d(?:" + [Ce, xe, Ee].join("|") + ")[\\ufe0e\\ufe0f]?" + Te + ")*"),
                    Oe = "(?:" + [ye, xe, Ee].join("|") + ")" + Ne,
                    De = "(?:" + [Ce + ge + "?", ge, xe, Ee, he].join("|") + ")",
                    Re = RegExp("['’]", "g"),
                    Le = RegExp(ge, "g"),
                    Pe = RegExp(we + "(?=" + we + ")|" + De + Ne, "g"),
                    $e = RegExp(
                        [
                            ke + "?" + be + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [me, ke, "$"].join("|") + ")",
                            Se + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [me, ke + Ae, "$"].join("|") + ")",
                            ke + "?" + Ae + "+(?:['’](?:d|ll|m|re|s|t|ve))?",
                            ke + "+(?:['’](?:D|LL|M|RE|S|T|VE))?",
                            "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",
                            "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",
                            ve,
                            Oe,
                        ].join("|"),
                        "g"
                    ),
                    Me = RegExp("[\\u200d\\ud800-\\udfff" + fe + "\\ufe0e\\ufe0f]"),
                    Ie = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
                    Be = [
                        "Array",
                        "Buffer",
                        "DataView",
                        "Date",
                        "Error",
                        "Float32Array",
                        "Float64Array",
                        "Function",
                        "Int8Array",
                        "Int16Array",
                        "Int32Array",
                        "Map",
                        "Math",
                        "Object",
                        "Promise",
                        "RegExp",
                        "Set",
                        "String",
                        "Symbol",
                        "TypeError",
                        "Uint8Array",
                        "Uint8ClampedArray",
                        "Uint16Array",
                        "Uint32Array",
                        "WeakMap",
                        "_",
                        "clearTimeout",
                        "isFinite",
                        "parseInt",
                        "setTimeout",
                    ],
                    je = -1,
                    Fe = {};
                (Fe[k] = Fe[A] = Fe[S] = Fe[T] = Fe[N] = Fe[O] = Fe["[object Uint8ClampedArray]"] = Fe[D] = Fe[R] = !0),
                    (Fe[l] = Fe[c] = Fe[x] = Fe[u] = Fe[E] = Fe[d] = Fe[f] = Fe[p] = Fe[m] = Fe[g] = Fe[v] = Fe[y] = Fe[b] = Fe[_] = Fe[C] = !1);
                var He = {};
                (He[l] = He[c] = He[x] = He[E] = He[u] = He[d] = He[k] = He[A] = He[S] = He[T] = He[N] = He[m] = He[g] = He[v] = He[y] = He[b] = He[_] = He[w] = He[O] = He["[object Uint8ClampedArray]"] = He[D] = He[R] = !0),
                    (He[f] = He[p] = He[C] = !1);
                var Ue = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" },
                    qe = parseFloat,
                    ze = parseInt,
                    We = "object" == typeof e && e && e.Object === Object && e,
                    Ve = "object" == typeof self && self && self.Object === Object && self,
                    Ke = We || Ve || Function("return this")(),
                    Ge = t && !t.nodeType && t,
                    Ye = Ge && "object" == typeof r && r && !r.nodeType && r,
                    Xe = Ye && Ye.exports === Ge,
                    Je = Xe && We.process,
                    Qe = (function () {
                        try {
                            var e = Ye && Ye.require && Ye.require("util").types;
                            return e || (Je && Je.binding && Je.binding("util"));
                        } catch (e) {}
                    })(),
                    Ze = Qe && Qe.isArrayBuffer,
                    et = Qe && Qe.isDate,
                    tt = Qe && Qe.isMap,
                    nt = Qe && Qe.isRegExp,
                    rt = Qe && Qe.isSet,
                    ot = Qe && Qe.isTypedArray;
                function it(e, t, n) {
                    switch (n.length) {
                        case 0:
                            return e.call(t);
                        case 1:
                            return e.call(t, n[0]);
                        case 2:
                            return e.call(t, n[0], n[1]);
                        case 3:
                            return e.call(t, n[0], n[1], n[2]);
                    }
                    return e.apply(t, n);
                }
                function st(e, t, n, r) {
                    for (var o = -1, i = null == e ? 0 : e.length; ++o < i; ) {
                        var s = e[o];
                        t(r, s, n(s), e);
                    }
                    return r;
                }
                function at(e, t) {
                    for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e); );
                    return e;
                }
                function lt(e, t) {
                    for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e); );
                    return e;
                }
                function ct(e, t) {
                    for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) if (!t(e[n], n, e)) return !1;
                    return !0;
                }
                function ut(e, t) {
                    for (var n = -1, r = null == e ? 0 : e.length, o = 0, i = []; ++n < r; ) {
                        var s = e[n];
                        t(s, n, e) && (i[o++] = s);
                    }
                    return i;
                }
                function dt(e, t) {
                    return !!(null == e ? 0 : e.length) && wt(e, t, 0) > -1;
                }
                function ft(e, t, n) {
                    for (var r = -1, o = null == e ? 0 : e.length; ++r < o; ) if (n(t, e[r])) return !0;
                    return !1;
                }
                function pt(e, t) {
                    for (var n = -1, r = null == e ? 0 : e.length, o = Array(r); ++n < r; ) o[n] = t(e[n], n, e);
                    return o;
                }
                function ht(e, t) {
                    for (var n = -1, r = t.length, o = e.length; ++n < r; ) e[o + n] = t[n];
                    return e;
                }
                function mt(e, t, n, r) {
                    var o = -1,
                        i = null == e ? 0 : e.length;
                    for (r && i && (n = e[++o]); ++o < i; ) n = t(n, e[o], o, e);
                    return n;
                }
                function gt(e, t, n, r) {
                    var o = null == e ? 0 : e.length;
                    for (r && o && (n = e[--o]); o--; ) n = t(n, e[o], o, e);
                    return n;
                }
                function vt(e, t) {
                    for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) if (t(e[n], n, e)) return !0;
                    return !1;
                }
                var yt = kt("length");
                function bt(e, t, n) {
                    var r;
                    return (
                        n(e, function (e, n, o) {
                            if (t(e, n, o)) return (r = n), !1;
                        }),
                        r
                    );
                }
                function _t(e, t, n, r) {
                    for (var o = e.length, i = n + (r ? 1 : -1); r ? i-- : ++i < o; ) if (t(e[i], i, e)) return i;
                    return -1;
                }
                function wt(e, t, n) {
                    return t == t
                        ? (function (e, t, n) {
                              var r = n - 1,
                                  o = e.length;
                              for (; ++r < o; ) if (e[r] === t) return r;
                              return -1;
                          })(e, t, n)
                        : _t(e, xt, n);
                }
                function Ct(e, t, n, r) {
                    for (var o = n - 1, i = e.length; ++o < i; ) if (r(e[o], t)) return o;
                    return -1;
                }
                function xt(e) {
                    return e != e;
                }
                function Et(e, t) {
                    var n = null == e ? 0 : e.length;
                    return n ? Tt(e, t) / n : NaN;
                }
                function kt(e) {
                    return function (t) {
                        return null == t ? void 0 : t[e];
                    };
                }
                function At(e) {
                    return function (t) {
                        return null == e ? void 0 : e[t];
                    };
                }
                function St(e, t, n, r, o) {
                    return (
                        o(e, function (e, o, i) {
                            n = r ? ((r = !1), e) : t(n, e, o, i);
                        }),
                        n
                    );
                }
                function Tt(e, t) {
                    for (var n, r = -1, o = e.length; ++r < o; ) {
                        var i = t(e[r]);
                        void 0 !== i && (n = void 0 === n ? i : n + i);
                    }
                    return n;
                }
                function Nt(e, t) {
                    for (var n = -1, r = Array(e); ++n < e; ) r[n] = t(n);
                    return r;
                }
                function Ot(e) {
                    return e ? e.slice(0, Gt(e) + 1).replace(G, "") : e;
                }
                function Dt(e) {
                    return function (t) {
                        return e(t);
                    };
                }
                function Rt(e, t) {
                    return pt(t, function (t) {
                        return e[t];
                    });
                }
                function Lt(e, t) {
                    return e.has(t);
                }
                function Pt(e, t) {
                    for (var n = -1, r = e.length; ++n < r && wt(t, e[n], 0) > -1; );
                    return n;
                }
                function $t(e, t) {
                    for (var n = e.length; n-- && wt(t, e[n], 0) > -1; );
                    return n;
                }
                function Mt(e, t) {
                    for (var n = e.length, r = 0; n--; ) e[n] === t && ++r;
                    return r;
                }
                var It = At({
                        À: "A",
                        Á: "A",
                        Â: "A",
                        Ã: "A",
                        Ä: "A",
                        Å: "A",
                        à: "a",
                        á: "a",
                        â: "a",
                        ã: "a",
                        ä: "a",
                        å: "a",
                        Ç: "C",
                        ç: "c",
                        Ð: "D",
                        ð: "d",
                        È: "E",
                        É: "E",
                        Ê: "E",
                        Ë: "E",
                        è: "e",
                        é: "e",
                        ê: "e",
                        ë: "e",
                        Ì: "I",
                        Í: "I",
                        Î: "I",
                        Ï: "I",
                        ì: "i",
                        í: "i",
                        î: "i",
                        ï: "i",
                        Ñ: "N",
                        ñ: "n",
                        Ò: "O",
                        Ó: "O",
                        Ô: "O",
                        Õ: "O",
                        Ö: "O",
                        Ø: "O",
                        ò: "o",
                        ó: "o",
                        ô: "o",
                        õ: "o",
                        ö: "o",
                        ø: "o",
                        Ù: "U",
                        Ú: "U",
                        Û: "U",
                        Ü: "U",
                        ù: "u",
                        ú: "u",
                        û: "u",
                        ü: "u",
                        Ý: "Y",
                        ý: "y",
                        ÿ: "y",
                        Æ: "Ae",
                        æ: "ae",
                        Þ: "Th",
                        þ: "th",
                        ß: "ss",
                        Ā: "A",
                        Ă: "A",
                        Ą: "A",
                        ā: "a",
                        ă: "a",
                        ą: "a",
                        Ć: "C",
                        Ĉ: "C",
                        Ċ: "C",
                        Č: "C",
                        ć: "c",
                        ĉ: "c",
                        ċ: "c",
                        č: "c",
                        Ď: "D",
                        Đ: "D",
                        ď: "d",
                        đ: "d",
                        Ē: "E",
                        Ĕ: "E",
                        Ė: "E",
                        Ę: "E",
                        Ě: "E",
                        ē: "e",
                        ĕ: "e",
                        ė: "e",
                        ę: "e",
                        ě: "e",
                        Ĝ: "G",
                        Ğ: "G",
                        Ġ: "G",
                        Ģ: "G",
                        ĝ: "g",
                        ğ: "g",
                        ġ: "g",
                        ģ: "g",
                        Ĥ: "H",
                        Ħ: "H",
                        ĥ: "h",
                        ħ: "h",
                        Ĩ: "I",
                        Ī: "I",
                        Ĭ: "I",
                        Į: "I",
                        İ: "I",
                        ĩ: "i",
                        ī: "i",
                        ĭ: "i",
                        į: "i",
                        ı: "i",
                        Ĵ: "J",
                        ĵ: "j",
                        Ķ: "K",
                        ķ: "k",
                        ĸ: "k",
                        Ĺ: "L",
                        Ļ: "L",
                        Ľ: "L",
                        Ŀ: "L",
                        Ł: "L",
                        ĺ: "l",
                        ļ: "l",
                        ľ: "l",
                        ŀ: "l",
                        ł: "l",
                        Ń: "N",
                        Ņ: "N",
                        Ň: "N",
                        Ŋ: "N",
                        ń: "n",
                        ņ: "n",
                        ň: "n",
                        ŋ: "n",
                        Ō: "O",
                        Ŏ: "O",
                        Ő: "O",
                        ō: "o",
                        ŏ: "o",
                        ő: "o",
                        Ŕ: "R",
                        Ŗ: "R",
                        Ř: "R",
                        ŕ: "r",
                        ŗ: "r",
                        ř: "r",
                        Ś: "S",
                        Ŝ: "S",
                        Ş: "S",
                        Š: "S",
                        ś: "s",
                        ŝ: "s",
                        ş: "s",
                        š: "s",
                        Ţ: "T",
                        Ť: "T",
                        Ŧ: "T",
                        ţ: "t",
                        ť: "t",
                        ŧ: "t",
                        Ũ: "U",
                        Ū: "U",
                        Ŭ: "U",
                        Ů: "U",
                        Ű: "U",
                        Ų: "U",
                        ũ: "u",
                        ū: "u",
                        ŭ: "u",
                        ů: "u",
                        ű: "u",
                        ų: "u",
                        Ŵ: "W",
                        ŵ: "w",
                        Ŷ: "Y",
                        ŷ: "y",
                        Ÿ: "Y",
                        Ź: "Z",
                        Ż: "Z",
                        Ž: "Z",
                        ź: "z",
                        ż: "z",
                        ž: "z",
                        Ĳ: "IJ",
                        ĳ: "ij",
                        Œ: "Oe",
                        œ: "oe",
                        ŉ: "'n",
                        ſ: "s",
                    }),
                    Bt = At({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" });
                function jt(e) {
                    return "\\" + Ue[e];
                }
                function Ft(e) {
                    return Me.test(e);
                }
                function Ht(e) {
                    var t = -1,
                        n = Array(e.size);
                    return (
                        e.forEach(function (e, r) {
                            n[++t] = [r, e];
                        }),
                        n
                    );
                }
                function Ut(e, t) {
                    return function (n) {
                        return e(t(n));
                    };
                }
                function qt(e, t) {
                    for (var n = -1, r = e.length, o = 0, i = []; ++n < r; ) {
                        var a = e[n];
                        (a !== t && a !== s) || ((e[n] = s), (i[o++] = n));
                    }
                    return i;
                }
                function zt(e) {
                    var t = -1,
                        n = Array(e.size);
                    return (
                        e.forEach(function (e) {
                            n[++t] = e;
                        }),
                        n
                    );
                }
                function Wt(e) {
                    var t = -1,
                        n = Array(e.size);
                    return (
                        e.forEach(function (e) {
                            n[++t] = [e, e];
                        }),
                        n
                    );
                }
                function Vt(e) {
                    return Ft(e)
                        ? (function (e) {
                              var t = (Pe.lastIndex = 0);
                              for (; Pe.test(e); ) ++t;
                              return t;
                          })(e)
                        : yt(e);
                }
                function Kt(e) {
                    return Ft(e)
                        ? (function (e) {
                              return e.match(Pe) || [];
                          })(e)
                        : (function (e) {
                              return e.split("");
                          })(e);
                }
                function Gt(e) {
                    for (var t = e.length; t-- && Y.test(e.charAt(t)); );
                    return t;
                }
                var Yt = At({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'" });
                var Xt = (function e(t) {
                    var n,
                        r = (t = null == t ? Ke : Xt.defaults(Ke.Object(), t, Xt.pick(Ke, Be))).Array,
                        o = t.Date,
                        Y = t.Error,
                        fe = t.Function,
                        pe = t.Math,
                        he = t.Object,
                        me = t.RegExp,
                        ge = t.String,
                        ve = t.TypeError,
                        ye = r.prototype,
                        be = fe.prototype,
                        _e = he.prototype,
                        we = t["__core-js_shared__"],
                        Ce = be.toString,
                        xe = _e.hasOwnProperty,
                        Ee = 0,
                        ke = (n = /[^.]+$/.exec((we && we.keys && we.keys.IE_PROTO) || "")) ? "Symbol(src)_1." + n : "",
                        Ae = _e.toString,
                        Se = Ce.call(he),
                        Te = Ke._,
                        Ne = me(
                            "^" +
                                Ce.call(xe)
                                    .replace(V, "\\$&")
                                    .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") +
                                "$"
                        ),
                        Oe = Xe ? t.Buffer : void 0,
                        De = t.Symbol,
                        Pe = t.Uint8Array,
                        Me = Oe ? Oe.allocUnsafe : void 0,
                        Ue = Ut(he.getPrototypeOf, he),
                        We = he.create,
                        Ve = _e.propertyIsEnumerable,
                        Ge = ye.splice,
                        Ye = De ? De.isConcatSpreadable : void 0,
                        Je = De ? De.iterator : void 0,
                        Qe = De ? De.toStringTag : void 0,
                        yt = (function () {
                            try {
                                var e = ti(he, "defineProperty");
                                return e({}, "", {}), e;
                            } catch (e) {}
                        })(),
                        At = t.clearTimeout !== Ke.clearTimeout && t.clearTimeout,
                        Jt = o && o.now !== Ke.Date.now && o.now,
                        Qt = t.setTimeout !== Ke.setTimeout && t.setTimeout,
                        Zt = pe.ceil,
                        en = pe.floor,
                        tn = he.getOwnPropertySymbols,
                        nn = Oe ? Oe.isBuffer : void 0,
                        rn = t.isFinite,
                        on = ye.join,
                        sn = Ut(he.keys, he),
                        an = pe.max,
                        ln = pe.min,
                        cn = o.now,
                        un = t.parseInt,
                        dn = pe.random,
                        fn = ye.reverse,
                        pn = ti(t, "DataView"),
                        hn = ti(t, "Map"),
                        mn = ti(t, "Promise"),
                        gn = ti(t, "Set"),
                        vn = ti(t, "WeakMap"),
                        yn = ti(he, "create"),
                        bn = vn && new vn(),
                        _n = {},
                        wn = Ti(pn),
                        Cn = Ti(hn),
                        xn = Ti(mn),
                        En = Ti(gn),
                        kn = Ti(vn),
                        An = De ? De.prototype : void 0,
                        Sn = An ? An.valueOf : void 0,
                        Tn = An ? An.toString : void 0;
                    function Nn(e) {
                        if (Ws(e) && !Ps(e) && !(e instanceof Ln)) {
                            if (e instanceof Rn) return e;
                            if (xe.call(e, "__wrapped__")) return Ni(e);
                        }
                        return new Rn(e);
                    }
                    var On = (function () {
                        function e() {}
                        return function (t) {
                            if (!zs(t)) return {};
                            if (We) return We(t);
                            e.prototype = t;
                            var n = new e();
                            return (e.prototype = void 0), n;
                        };
                    })();
                    function Dn() {}
                    function Rn(e, t) {
                        (this.__wrapped__ = e), (this.__actions__ = []), (this.__chain__ = !!t), (this.__index__ = 0), (this.__values__ = void 0);
                    }
                    function Ln(e) {
                        (this.__wrapped__ = e), (this.__actions__ = []), (this.__dir__ = 1), (this.__filtered__ = !1), (this.__iteratees__ = []), (this.__takeCount__ = 4294967295), (this.__views__ = []);
                    }
                    function Pn(e) {
                        var t = -1,
                            n = null == e ? 0 : e.length;
                        for (this.clear(); ++t < n; ) {
                            var r = e[t];
                            this.set(r[0], r[1]);
                        }
                    }
                    function $n(e) {
                        var t = -1,
                            n = null == e ? 0 : e.length;
                        for (this.clear(); ++t < n; ) {
                            var r = e[t];
                            this.set(r[0], r[1]);
                        }
                    }
                    function Mn(e) {
                        var t = -1,
                            n = null == e ? 0 : e.length;
                        for (this.clear(); ++t < n; ) {
                            var r = e[t];
                            this.set(r[0], r[1]);
                        }
                    }
                    function In(e) {
                        var t = -1,
                            n = null == e ? 0 : e.length;
                        for (this.__data__ = new Mn(); ++t < n; ) this.add(e[t]);
                    }
                    function Bn(e) {
                        var t = (this.__data__ = new $n(e));
                        this.size = t.size;
                    }
                    function jn(e, t) {
                        var n = Ps(e),
                            r = !n && Ls(e),
                            o = !n && !r && Bs(e),
                            i = !n && !r && !o && Zs(e),
                            s = n || r || o || i,
                            a = s ? Nt(e.length, ge) : [],
                            l = a.length;
                        for (var c in e) (!t && !xe.call(e, c)) || (s && ("length" == c || (o && ("offset" == c || "parent" == c)) || (i && ("buffer" == c || "byteLength" == c || "byteOffset" == c)) || li(c, l))) || a.push(c);
                        return a;
                    }
                    function Fn(e) {
                        var t = e.length;
                        return t ? e[Ir(0, t - 1)] : void 0;
                    }
                    function Hn(e, t) {
                        return ki(bo(e), Xn(t, 0, e.length));
                    }
                    function Un(e) {
                        return ki(bo(e));
                    }
                    function qn(e, t, n) {
                        ((void 0 !== n && !Os(e[t], n)) || (void 0 === n && !(t in e))) && Gn(e, t, n);
                    }
                    function zn(e, t, n) {
                        var r = e[t];
                        (xe.call(e, t) && Os(r, n) && (void 0 !== n || t in e)) || Gn(e, t, n);
                    }
                    function Wn(e, t) {
                        for (var n = e.length; n--; ) if (Os(e[n][0], t)) return n;
                        return -1;
                    }
                    function Vn(e, t, n, r) {
                        return (
                            tr(e, function (e, o, i) {
                                t(r, e, n(e), i);
                            }),
                            r
                        );
                    }
                    function Kn(e, t) {
                        return e && _o(t, wa(t), e);
                    }
                    function Gn(e, t, n) {
                        "__proto__" == t && yt ? yt(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : (e[t] = n);
                    }
                    function Yn(e, t) {
                        for (var n = -1, o = t.length, i = r(o), s = null == e; ++n < o; ) i[n] = s ? void 0 : ga(e, t[n]);
                        return i;
                    }
                    function Xn(e, t, n) {
                        return e == e && (void 0 !== n && (e = e <= n ? e : n), void 0 !== t && (e = e >= t ? e : t)), e;
                    }
                    function Jn(e, t, n, r, o, i) {
                        var s,
                            a = 1 & t,
                            c = 2 & t,
                            f = 4 & t;
                        if ((n && (s = o ? n(e, r, o, i) : n(e)), void 0 !== s)) return s;
                        if (!zs(e)) return e;
                        var C = Ps(e);
                        if (C) {
                            if (
                                ((s = (function (e) {
                                    var t = e.length,
                                        n = new e.constructor(t);
                                    t && "string" == typeof e[0] && xe.call(e, "index") && ((n.index = e.index), (n.input = e.input));
                                    return n;
                                })(e)),
                                !a)
                            )
                                return bo(e, s);
                        } else {
                            var L = oi(e),
                                P = L == p || L == h;
                            if (Bs(e)) return po(e, a);
                            if (L == v || L == l || (P && !o)) {
                                if (((s = c || P ? {} : si(e)), !a))
                                    return c
                                        ? (function (e, t) {
                                              return _o(e, ri(e), t);
                                          })(
                                              e,
                                              (function (e, t) {
                                                  return e && _o(t, Ca(t), e);
                                              })(s, e)
                                          )
                                        : (function (e, t) {
                                              return _o(e, ni(e), t);
                                          })(e, Kn(s, e));
                            } else {
                                if (!He[L]) return o ? e : {};
                                s = (function (e, t, n) {
                                    var r = e.constructor;
                                    switch (t) {
                                        case x:
                                            return ho(e);
                                        case u:
                                        case d:
                                            return new r(+e);
                                        case E:
                                            return (function (e, t) {
                                                var n = t ? ho(e.buffer) : e.buffer;
                                                return new e.constructor(n, e.byteOffset, e.byteLength);
                                            })(e, n);
                                        case k:
                                        case A:
                                        case S:
                                        case T:
                                        case N:
                                        case O:
                                        case "[object Uint8ClampedArray]":
                                        case D:
                                        case R:
                                            return mo(e, n);
                                        case m:
                                            return new r();
                                        case g:
                                        case _:
                                            return new r(e);
                                        case y:
                                            return (function (e) {
                                                var t = new e.constructor(e.source, re.exec(e));
                                                return (t.lastIndex = e.lastIndex), t;
                                            })(e);
                                        case b:
                                            return new r();
                                        case w:
                                            return (o = e), Sn ? he(Sn.call(o)) : {};
                                    }
                                    var o;
                                })(e, L, a);
                            }
                        }
                        i || (i = new Bn());
                        var $ = i.get(e);
                        if ($) return $;
                        i.set(e, s),
                            Xs(e)
                                ? e.forEach(function (r) {
                                      s.add(Jn(r, t, n, r, e, i));
                                  })
                                : Vs(e) &&
                                  e.forEach(function (r, o) {
                                      s.set(o, Jn(r, t, n, o, e, i));
                                  });
                        var M = C ? void 0 : (f ? (c ? Go : Ko) : c ? Ca : wa)(e);
                        return (
                            at(M || e, function (r, o) {
                                M && (r = e[(o = r)]), zn(s, o, Jn(r, t, n, o, e, i));
                            }),
                            s
                        );
                    }
                    function Qn(e, t, n) {
                        var r = n.length;
                        if (null == e) return !r;
                        for (e = he(e); r--; ) {
                            var o = n[r],
                                i = t[o],
                                s = e[o];
                            if ((void 0 === s && !(o in e)) || !i(s)) return !1;
                        }
                        return !0;
                    }
                    function Zn(e, t, n) {
                        if ("function" != typeof e) throw new ve(i);
                        return wi(function () {
                            e.apply(void 0, n);
                        }, t);
                    }
                    function er(e, t, n, r) {
                        var o = -1,
                            i = dt,
                            s = !0,
                            a = e.length,
                            l = [],
                            c = t.length;
                        if (!a) return l;
                        n && (t = pt(t, Dt(n))), r ? ((i = ft), (s = !1)) : t.length >= 200 && ((i = Lt), (s = !1), (t = new In(t)));
                        e: for (; ++o < a; ) {
                            var u = e[o],
                                d = null == n ? u : n(u);
                            if (((u = r || 0 !== u ? u : 0), s && d == d)) {
                                for (var f = c; f--; ) if (t[f] === d) continue e;
                                l.push(u);
                            } else i(t, d, r) || l.push(u);
                        }
                        return l;
                    }
                    (Nn.templateSettings = { escape: F, evaluate: H, interpolate: U, variable: "", imports: { _: Nn } }),
                        (Nn.prototype = Dn.prototype),
                        (Nn.prototype.constructor = Nn),
                        (Rn.prototype = On(Dn.prototype)),
                        (Rn.prototype.constructor = Rn),
                        (Ln.prototype = On(Dn.prototype)),
                        (Ln.prototype.constructor = Ln),
                        (Pn.prototype.clear = function () {
                            (this.__data__ = yn ? yn(null) : {}), (this.size = 0);
                        }),
                        (Pn.prototype.delete = function (e) {
                            var t = this.has(e) && delete this.__data__[e];
                            return (this.size -= t ? 1 : 0), t;
                        }),
                        (Pn.prototype.get = function (e) {
                            var t = this.__data__;
                            if (yn) {
                                var n = t[e];
                                return "__lodash_hash_undefined__" === n ? void 0 : n;
                            }
                            return xe.call(t, e) ? t[e] : void 0;
                        }),
                        (Pn.prototype.has = function (e) {
                            var t = this.__data__;
                            return yn ? void 0 !== t[e] : xe.call(t, e);
                        }),
                        (Pn.prototype.set = function (e, t) {
                            var n = this.__data__;
                            return (this.size += this.has(e) ? 0 : 1), (n[e] = yn && void 0 === t ? "__lodash_hash_undefined__" : t), this;
                        }),
                        ($n.prototype.clear = function () {
                            (this.__data__ = []), (this.size = 0);
                        }),
                        ($n.prototype.delete = function (e) {
                            var t = this.__data__,
                                n = Wn(t, e);
                            return !(n < 0) && (n == t.length - 1 ? t.pop() : Ge.call(t, n, 1), --this.size, !0);
                        }),
                        ($n.prototype.get = function (e) {
                            var t = this.__data__,
                                n = Wn(t, e);
                            return n < 0 ? void 0 : t[n][1];
                        }),
                        ($n.prototype.has = function (e) {
                            return Wn(this.__data__, e) > -1;
                        }),
                        ($n.prototype.set = function (e, t) {
                            var n = this.__data__,
                                r = Wn(n, e);
                            return r < 0 ? (++this.size, n.push([e, t])) : (n[r][1] = t), this;
                        }),
                        (Mn.prototype.clear = function () {
                            (this.size = 0), (this.__data__ = { hash: new Pn(), map: new (hn || $n)(), string: new Pn() });
                        }),
                        (Mn.prototype.delete = function (e) {
                            var t = Zo(this, e).delete(e);
                            return (this.size -= t ? 1 : 0), t;
                        }),
                        (Mn.prototype.get = function (e) {
                            return Zo(this, e).get(e);
                        }),
                        (Mn.prototype.has = function (e) {
                            return Zo(this, e).has(e);
                        }),
                        (Mn.prototype.set = function (e, t) {
                            var n = Zo(this, e),
                                r = n.size;
                            return n.set(e, t), (this.size += n.size == r ? 0 : 1), this;
                        }),
                        (In.prototype.add = In.prototype.push = function (e) {
                            return this.__data__.set(e, "__lodash_hash_undefined__"), this;
                        }),
                        (In.prototype.has = function (e) {
                            return this.__data__.has(e);
                        }),
                        (Bn.prototype.clear = function () {
                            (this.__data__ = new $n()), (this.size = 0);
                        }),
                        (Bn.prototype.delete = function (e) {
                            var t = this.__data__,
                                n = t.delete(e);
                            return (this.size = t.size), n;
                        }),
                        (Bn.prototype.get = function (e) {
                            return this.__data__.get(e);
                        }),
                        (Bn.prototype.has = function (e) {
                            return this.__data__.has(e);
                        }),
                        (Bn.prototype.set = function (e, t) {
                            var n = this.__data__;
                            if (n instanceof $n) {
                                var r = n.__data__;
                                if (!hn || r.length < 199) return r.push([e, t]), (this.size = ++n.size), this;
                                n = this.__data__ = new Mn(r);
                            }
                            return n.set(e, t), (this.size = n.size), this;
                        });
                    var tr = xo(cr),
                        nr = xo(ur, !0);
                    function rr(e, t) {
                        var n = !0;
                        return (
                            tr(e, function (e, r, o) {
                                return (n = !!t(e, r, o));
                            }),
                            n
                        );
                    }
                    function or(e, t, n) {
                        for (var r = -1, o = e.length; ++r < o; ) {
                            var i = e[r],
                                s = t(i);
                            if (null != s && (void 0 === a ? s == s && !Qs(s) : n(s, a)))
                                var a = s,
                                    l = i;
                        }
                        return l;
                    }
                    function ir(e, t) {
                        var n = [];
                        return (
                            tr(e, function (e, r, o) {
                                t(e, r, o) && n.push(e);
                            }),
                            n
                        );
                    }
                    function sr(e, t, n, r, o) {
                        var i = -1,
                            s = e.length;
                        for (n || (n = ai), o || (o = []); ++i < s; ) {
                            var a = e[i];
                            t > 0 && n(a) ? (t > 1 ? sr(a, t - 1, n, r, o) : ht(o, a)) : r || (o[o.length] = a);
                        }
                        return o;
                    }
                    var ar = Eo(),
                        lr = Eo(!0);
                    function cr(e, t) {
                        return e && ar(e, t, wa);
                    }
                    function ur(e, t) {
                        return e && lr(e, t, wa);
                    }
                    function dr(e, t) {
                        return ut(t, function (t) {
                            return Hs(e[t]);
                        });
                    }
                    function fr(e, t) {
                        for (var n = 0, r = (t = lo(t, e)).length; null != e && n < r; ) e = e[Si(t[n++])];
                        return n && n == r ? e : void 0;
                    }
                    function pr(e, t, n) {
                        var r = t(e);
                        return Ps(e) ? r : ht(r, n(e));
                    }
                    function hr(e) {
                        return null == e
                            ? void 0 === e
                                ? "[object Undefined]"
                                : "[object Null]"
                            : Qe && Qe in he(e)
                            ? (function (e) {
                                  var t = xe.call(e, Qe),
                                      n = e[Qe];
                                  try {
                                      e[Qe] = void 0;
                                      var r = !0;
                                  } catch (e) {}
                                  var o = Ae.call(e);
                                  r && (t ? (e[Qe] = n) : delete e[Qe]);
                                  return o;
                              })(e)
                            : (function (e) {
                                  return Ae.call(e);
                              })(e);
                    }
                    function mr(e, t) {
                        return e > t;
                    }
                    function gr(e, t) {
                        return null != e && xe.call(e, t);
                    }
                    function vr(e, t) {
                        return null != e && t in he(e);
                    }
                    function yr(e, t, n) {
                        for (var o = n ? ft : dt, i = e[0].length, s = e.length, a = s, l = r(s), c = 1 / 0, u = []; a--; ) {
                            var d = e[a];
                            a && t && (d = pt(d, Dt(t))), (c = ln(d.length, c)), (l[a] = !n && (t || (i >= 120 && d.length >= 120)) ? new In(a && d) : void 0);
                        }
                        d = e[0];
                        var f = -1,
                            p = l[0];
                        e: for (; ++f < i && u.length < c; ) {
                            var h = d[f],
                                m = t ? t(h) : h;
                            if (((h = n || 0 !== h ? h : 0), !(p ? Lt(p, m) : o(u, m, n)))) {
                                for (a = s; --a; ) {
                                    var g = l[a];
                                    if (!(g ? Lt(g, m) : o(e[a], m, n))) continue e;
                                }
                                p && p.push(m), u.push(h);
                            }
                        }
                        return u;
                    }
                    function br(e, t, n) {
                        var r = null == (e = vi(e, (t = lo(t, e)))) ? e : e[Si(Fi(t))];
                        return null == r ? void 0 : it(r, e, n);
                    }
                    function _r(e) {
                        return Ws(e) && hr(e) == l;
                    }
                    function wr(e, t, n, r, o) {
                        return (
                            e === t ||
                            (null == e || null == t || (!Ws(e) && !Ws(t))
                                ? e != e && t != t
                                : (function (e, t, n, r, o, i) {
                                      var s = Ps(e),
                                          a = Ps(t),
                                          p = s ? c : oi(e),
                                          h = a ? c : oi(t),
                                          C = (p = p == l ? v : p) == v,
                                          k = (h = h == l ? v : h) == v,
                                          A = p == h;
                                      if (A && Bs(e)) {
                                          if (!Bs(t)) return !1;
                                          (s = !0), (C = !1);
                                      }
                                      if (A && !C)
                                          return (
                                              i || (i = new Bn()),
                                              s || Zs(e)
                                                  ? Wo(e, t, n, r, o, i)
                                                  : (function (e, t, n, r, o, i, s) {
                                                        switch (n) {
                                                            case E:
                                                                if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;
                                                                (e = e.buffer), (t = t.buffer);
                                                            case x:
                                                                return !(e.byteLength != t.byteLength || !i(new Pe(e), new Pe(t)));
                                                            case u:
                                                            case d:
                                                            case g:
                                                                return Os(+e, +t);
                                                            case f:
                                                                return e.name == t.name && e.message == t.message;
                                                            case y:
                                                            case _:
                                                                return e == t + "";
                                                            case m:
                                                                var a = Ht;
                                                            case b:
                                                                var l = 1 & r;
                                                                if ((a || (a = zt), e.size != t.size && !l)) return !1;
                                                                var c = s.get(e);
                                                                if (c) return c == t;
                                                                (r |= 2), s.set(e, t);
                                                                var p = Wo(a(e), a(t), r, o, i, s);
                                                                return s.delete(e), p;
                                                            case w:
                                                                if (Sn) return Sn.call(e) == Sn.call(t);
                                                        }
                                                        return !1;
                                                    })(e, t, p, n, r, o, i)
                                          );
                                      if (!(1 & n)) {
                                          var S = C && xe.call(e, "__wrapped__"),
                                              T = k && xe.call(t, "__wrapped__");
                                          if (S || T) {
                                              var N = S ? e.value() : e,
                                                  O = T ? t.value() : t;
                                              return i || (i = new Bn()), o(N, O, n, r, i);
                                          }
                                      }
                                      if (!A) return !1;
                                      return (
                                          i || (i = new Bn()),
                                          (function (e, t, n, r, o, i) {
                                              var s = 1 & n,
                                                  a = Ko(e),
                                                  l = a.length,
                                                  c = Ko(t).length;
                                              if (l != c && !s) return !1;
                                              var u = l;
                                              for (; u--; ) {
                                                  var d = a[u];
                                                  if (!(s ? d in t : xe.call(t, d))) return !1;
                                              }
                                              var f = i.get(e),
                                                  p = i.get(t);
                                              if (f && p) return f == t && p == e;
                                              var h = !0;
                                              i.set(e, t), i.set(t, e);
                                              var m = s;
                                              for (; ++u < l; ) {
                                                  d = a[u];
                                                  var g = e[d],
                                                      v = t[d];
                                                  if (r) var y = s ? r(v, g, d, t, e, i) : r(g, v, d, e, t, i);
                                                  if (!(void 0 === y ? g === v || o(g, v, n, r, i) : y)) {
                                                      h = !1;
                                                      break;
                                                  }
                                                  m || (m = "constructor" == d);
                                              }
                                              if (h && !m) {
                                                  var b = e.constructor,
                                                      _ = t.constructor;
                                                  b == _ || !("constructor" in e) || !("constructor" in t) || ("function" == typeof b && b instanceof b && "function" == typeof _ && _ instanceof _) || (h = !1);
                                              }
                                              return i.delete(e), i.delete(t), h;
                                          })(e, t, n, r, o, i)
                                      );
                                  })(e, t, n, r, wr, o))
                        );
                    }
                    function Cr(e, t, n, r) {
                        var o = n.length,
                            i = o,
                            s = !r;
                        if (null == e) return !i;
                        for (e = he(e); o--; ) {
                            var a = n[o];
                            if (s && a[2] ? a[1] !== e[a[0]] : !(a[0] in e)) return !1;
                        }
                        for (; ++o < i; ) {
                            var l = (a = n[o])[0],
                                c = e[l],
                                u = a[1];
                            if (s && a[2]) {
                                if (void 0 === c && !(l in e)) return !1;
                            } else {
                                var d = new Bn();
                                if (r) var f = r(c, u, l, e, t, d);
                                if (!(void 0 === f ? wr(u, c, 3, r, d) : f)) return !1;
                            }
                        }
                        return !0;
                    }
                    function xr(e) {
                        return !(!zs(e) || ((t = e), ke && ke in t)) && (Hs(e) ? Ne : se).test(Ti(e));
                        var t;
                    }
                    function Er(e) {
                        return "function" == typeof e ? e : null == e ? Ka : "object" == typeof e ? (Ps(e) ? Or(e[0], e[1]) : Nr(e)) : nl(e);
                    }
                    function kr(e) {
                        if (!pi(e)) return sn(e);
                        var t = [];
                        for (var n in he(e)) xe.call(e, n) && "constructor" != n && t.push(n);
                        return t;
                    }
                    function Ar(e) {
                        if (!zs(e))
                            return (function (e) {
                                var t = [];
                                if (null != e) for (var n in he(e)) t.push(n);
                                return t;
                            })(e);
                        var t = pi(e),
                            n = [];
                        for (var r in e) ("constructor" != r || (!t && xe.call(e, r))) && n.push(r);
                        return n;
                    }
                    function Sr(e, t) {
                        return e < t;
                    }
                    function Tr(e, t) {
                        var n = -1,
                            o = Ms(e) ? r(e.length) : [];
                        return (
                            tr(e, function (e, r, i) {
                                o[++n] = t(e, r, i);
                            }),
                            o
                        );
                    }
                    function Nr(e) {
                        var t = ei(e);
                        return 1 == t.length && t[0][2]
                            ? mi(t[0][0], t[0][1])
                            : function (n) {
                                  return n === e || Cr(n, e, t);
                              };
                    }
                    function Or(e, t) {
                        return ui(e) && hi(t)
                            ? mi(Si(e), t)
                            : function (n) {
                                  var r = ga(n, e);
                                  return void 0 === r && r === t ? va(n, e) : wr(t, r, 3);
                              };
                    }
                    function Dr(e, t, n, r, o) {
                        e !== t &&
                            ar(
                                t,
                                function (i, s) {
                                    if ((o || (o = new Bn()), zs(i)))
                                        !(function (e, t, n, r, o, i, s) {
                                            var a = bi(e, n),
                                                l = bi(t, n),
                                                c = s.get(l);
                                            if (c) return void qn(e, n, c);
                                            var u = i ? i(a, l, n + "", e, t, s) : void 0,
                                                d = void 0 === u;
                                            if (d) {
                                                var f = Ps(l),
                                                    p = !f && Bs(l),
                                                    h = !f && !p && Zs(l);
                                                (u = l),
                                                    f || p || h
                                                        ? Ps(a)
                                                            ? (u = a)
                                                            : Is(a)
                                                            ? (u = bo(a))
                                                            : p
                                                            ? ((d = !1), (u = po(l, !0)))
                                                            : h
                                                            ? ((d = !1), (u = mo(l, !0)))
                                                            : (u = [])
                                                        : Gs(l) || Ls(l)
                                                        ? ((u = a), Ls(a) ? (u = aa(a)) : (zs(a) && !Hs(a)) || (u = si(l)))
                                                        : (d = !1);
                                            }
                                            d && (s.set(l, u), o(u, l, r, i, s), s.delete(l));
                                            qn(e, n, u);
                                        })(e, t, s, n, Dr, r, o);
                                    else {
                                        var a = r ? r(bi(e, s), i, s + "", e, t, o) : void 0;
                                        void 0 === a && (a = i), qn(e, s, a);
                                    }
                                },
                                Ca
                            );
                    }
                    function Rr(e, t) {
                        var n = e.length;
                        if (n) return li((t += t < 0 ? n : 0), n) ? e[t] : void 0;
                    }
                    function Lr(e, t, n) {
                        t = t.length
                            ? pt(t, function (e) {
                                  return Ps(e)
                                      ? function (t) {
                                            return fr(t, 1 === e.length ? e[0] : e);
                                        }
                                      : e;
                              })
                            : [Ka];
                        var r = -1;
                        return (
                            (t = pt(t, Dt(Qo()))),
                            (function (e, t) {
                                var n = e.length;
                                for (e.sort(t); n--; ) e[n] = e[n].value;
                                return e;
                            })(
                                Tr(e, function (e, n, o) {
                                    return {
                                        criteria: pt(t, function (t) {
                                            return t(e);
                                        }),
                                        index: ++r,
                                        value: e,
                                    };
                                }),
                                function (e, t) {
                                    return (function (e, t, n) {
                                        var r = -1,
                                            o = e.criteria,
                                            i = t.criteria,
                                            s = o.length,
                                            a = n.length;
                                        for (; ++r < s; ) {
                                            var l = go(o[r], i[r]);
                                            if (l) {
                                                if (r >= a) return l;
                                                var c = n[r];
                                                return l * ("desc" == c ? -1 : 1);
                                            }
                                        }
                                        return e.index - t.index;
                                    })(e, t, n);
                                }
                            )
                        );
                    }
                    function Pr(e, t, n) {
                        for (var r = -1, o = t.length, i = {}; ++r < o; ) {
                            var s = t[r],
                                a = fr(e, s);
                            n(a, s) && Ur(i, lo(s, e), a);
                        }
                        return i;
                    }
                    function $r(e, t, n, r) {
                        var o = r ? Ct : wt,
                            i = -1,
                            s = t.length,
                            a = e;
                        for (e === t && (t = bo(t)), n && (a = pt(e, Dt(n))); ++i < s; ) for (var l = 0, c = t[i], u = n ? n(c) : c; (l = o(a, u, l, r)) > -1; ) a !== e && Ge.call(a, l, 1), Ge.call(e, l, 1);
                        return e;
                    }
                    function Mr(e, t) {
                        for (var n = e ? t.length : 0, r = n - 1; n--; ) {
                            var o = t[n];
                            if (n == r || o !== i) {
                                var i = o;
                                li(o) ? Ge.call(e, o, 1) : eo(e, o);
                            }
                        }
                        return e;
                    }
                    function Ir(e, t) {
                        return e + en(dn() * (t - e + 1));
                    }
                    function Br(e, t) {
                        var n = "";
                        if (!e || t < 1 || t > 9007199254740991) return n;
                        do {
                            t % 2 && (n += e), (t = en(t / 2)) && (e += e);
                        } while (t);
                        return n;
                    }
                    function jr(e, t) {
                        return Ci(gi(e, t, Ka), e + "");
                    }
                    function Fr(e) {
                        return Fn(Oa(e));
                    }
                    function Hr(e, t) {
                        var n = Oa(e);
                        return ki(n, Xn(t, 0, n.length));
                    }
                    function Ur(e, t, n, r) {
                        if (!zs(e)) return e;
                        for (var o = -1, i = (t = lo(t, e)).length, s = i - 1, a = e; null != a && ++o < i; ) {
                            var l = Si(t[o]),
                                c = n;
                            if ("__proto__" === l || "constructor" === l || "prototype" === l) return e;
                            if (o != s) {
                                var u = a[l];
                                void 0 === (c = r ? r(u, l, a) : void 0) && (c = zs(u) ? u : li(t[o + 1]) ? [] : {});
                            }
                            zn(a, l, c), (a = a[l]);
                        }
                        return e;
                    }
                    var qr = bn
                            ? function (e, t) {
                                  return bn.set(e, t), e;
                              }
                            : Ka,
                        zr = yt
                            ? function (e, t) {
                                  return yt(e, "toString", { configurable: !0, enumerable: !1, value: za(t), writable: !0 });
                              }
                            : Ka;
                    function Wr(e) {
                        return ki(Oa(e));
                    }
                    function Vr(e, t, n) {
                        var o = -1,
                            i = e.length;
                        t < 0 && (t = -t > i ? 0 : i + t), (n = n > i ? i : n) < 0 && (n += i), (i = t > n ? 0 : (n - t) >>> 0), (t >>>= 0);
                        for (var s = r(i); ++o < i; ) s[o] = e[o + t];
                        return s;
                    }
                    function Kr(e, t) {
                        var n;
                        return (
                            tr(e, function (e, r, o) {
                                return !(n = t(e, r, o));
                            }),
                            !!n
                        );
                    }
                    function Gr(e, t, n) {
                        var r = 0,
                            o = null == e ? r : e.length;
                        if ("number" == typeof t && t == t && o <= 2147483647) {
                            for (; r < o; ) {
                                var i = (r + o) >>> 1,
                                    s = e[i];
                                null !== s && !Qs(s) && (n ? s <= t : s < t) ? (r = i + 1) : (o = i);
                            }
                            return o;
                        }
                        return Yr(e, t, Ka, n);
                    }
                    function Yr(e, t, n, r) {
                        var o = 0,
                            i = null == e ? 0 : e.length;
                        if (0 === i) return 0;
                        for (var s = (t = n(t)) != t, a = null === t, l = Qs(t), c = void 0 === t; o < i; ) {
                            var u = en((o + i) / 2),
                                d = n(e[u]),
                                f = void 0 !== d,
                                p = null === d,
                                h = d == d,
                                m = Qs(d);
                            if (s) var g = r || h;
                            else g = c ? h && (r || f) : a ? h && f && (r || !p) : l ? h && f && !p && (r || !m) : !p && !m && (r ? d <= t : d < t);
                            g ? (o = u + 1) : (i = u);
                        }
                        return ln(i, 4294967294);
                    }
                    function Xr(e, t) {
                        for (var n = -1, r = e.length, o = 0, i = []; ++n < r; ) {
                            var s = e[n],
                                a = t ? t(s) : s;
                            if (!n || !Os(a, l)) {
                                var l = a;
                                i[o++] = 0 === s ? 0 : s;
                            }
                        }
                        return i;
                    }
                    function Jr(e) {
                        return "number" == typeof e ? e : Qs(e) ? NaN : +e;
                    }
                    function Qr(e) {
                        if ("string" == typeof e) return e;
                        if (Ps(e)) return pt(e, Qr) + "";
                        if (Qs(e)) return Tn ? Tn.call(e) : "";
                        var t = e + "";
                        return "0" == t && 1 / e == -1 / 0 ? "-0" : t;
                    }
                    function Zr(e, t, n) {
                        var r = -1,
                            o = dt,
                            i = e.length,
                            s = !0,
                            a = [],
                            l = a;
                        if (n) (s = !1), (o = ft);
                        else if (i >= 200) {
                            var c = t ? null : jo(e);
                            if (c) return zt(c);
                            (s = !1), (o = Lt), (l = new In());
                        } else l = t ? [] : a;
                        e: for (; ++r < i; ) {
                            var u = e[r],
                                d = t ? t(u) : u;
                            if (((u = n || 0 !== u ? u : 0), s && d == d)) {
                                for (var f = l.length; f--; ) if (l[f] === d) continue e;
                                t && l.push(d), a.push(u);
                            } else o(l, d, n) || (l !== a && l.push(d), a.push(u));
                        }
                        return a;
                    }
                    function eo(e, t) {
                        return null == (e = vi(e, (t = lo(t, e)))) || delete e[Si(Fi(t))];
                    }
                    function to(e, t, n, r) {
                        return Ur(e, t, n(fr(e, t)), r);
                    }
                    function no(e, t, n, r) {
                        for (var o = e.length, i = r ? o : -1; (r ? i-- : ++i < o) && t(e[i], i, e); );
                        return n ? Vr(e, r ? 0 : i, r ? i + 1 : o) : Vr(e, r ? i + 1 : 0, r ? o : i);
                    }
                    function ro(e, t) {
                        var n = e;
                        return (
                            n instanceof Ln && (n = n.value()),
                            mt(
                                t,
                                function (e, t) {
                                    return t.func.apply(t.thisArg, ht([e], t.args));
                                },
                                n
                            )
                        );
                    }
                    function oo(e, t, n) {
                        var o = e.length;
                        if (o < 2) return o ? Zr(e[0]) : [];
                        for (var i = -1, s = r(o); ++i < o; ) for (var a = e[i], l = -1; ++l < o; ) l != i && (s[i] = er(s[i] || a, e[l], t, n));
                        return Zr(sr(s, 1), t, n);
                    }
                    function io(e, t, n) {
                        for (var r = -1, o = e.length, i = t.length, s = {}; ++r < o; ) {
                            var a = r < i ? t[r] : void 0;
                            n(s, e[r], a);
                        }
                        return s;
                    }
                    function so(e) {
                        return Is(e) ? e : [];
                    }
                    function ao(e) {
                        return "function" == typeof e ? e : Ka;
                    }
                    function lo(e, t) {
                        return Ps(e) ? e : ui(e, t) ? [e] : Ai(la(e));
                    }
                    var co = jr;
                    function uo(e, t, n) {
                        var r = e.length;
                        return (n = void 0 === n ? r : n), !t && n >= r ? e : Vr(e, t, n);
                    }
                    var fo =
                        At ||
                        function (e) {
                            return Ke.clearTimeout(e);
                        };
                    function po(e, t) {
                        if (t) return e.slice();
                        var n = e.length,
                            r = Me ? Me(n) : new e.constructor(n);
                        return e.copy(r), r;
                    }
                    function ho(e) {
                        var t = new e.constructor(e.byteLength);
                        return new Pe(t).set(new Pe(e)), t;
                    }
                    function mo(e, t) {
                        var n = t ? ho(e.buffer) : e.buffer;
                        return new e.constructor(n, e.byteOffset, e.length);
                    }
                    function go(e, t) {
                        if (e !== t) {
                            var n = void 0 !== e,
                                r = null === e,
                                o = e == e,
                                i = Qs(e),
                                s = void 0 !== t,
                                a = null === t,
                                l = t == t,
                                c = Qs(t);
                            if ((!a && !c && !i && e > t) || (i && s && l && !a && !c) || (r && s && l) || (!n && l) || !o) return 1;
                            if ((!r && !i && !c && e < t) || (c && n && o && !r && !i) || (a && n && o) || (!s && o) || !l) return -1;
                        }
                        return 0;
                    }
                    function vo(e, t, n, o) {
                        for (var i = -1, s = e.length, a = n.length, l = -1, c = t.length, u = an(s - a, 0), d = r(c + u), f = !o; ++l < c; ) d[l] = t[l];
                        for (; ++i < a; ) (f || i < s) && (d[n[i]] = e[i]);
                        for (; u--; ) d[l++] = e[i++];
                        return d;
                    }
                    function yo(e, t, n, o) {
                        for (var i = -1, s = e.length, a = -1, l = n.length, c = -1, u = t.length, d = an(s - l, 0), f = r(d + u), p = !o; ++i < d; ) f[i] = e[i];
                        for (var h = i; ++c < u; ) f[h + c] = t[c];
                        for (; ++a < l; ) (p || i < s) && (f[h + n[a]] = e[i++]);
                        return f;
                    }
                    function bo(e, t) {
                        var n = -1,
                            o = e.length;
                        for (t || (t = r(o)); ++n < o; ) t[n] = e[n];
                        return t;
                    }
                    function _o(e, t, n, r) {
                        var o = !n;
                        n || (n = {});
                        for (var i = -1, s = t.length; ++i < s; ) {
                            var a = t[i],
                                l = r ? r(n[a], e[a], a, n, e) : void 0;
                            void 0 === l && (l = e[a]), o ? Gn(n, a, l) : zn(n, a, l);
                        }
                        return n;
                    }
                    function wo(e, t) {
                        return function (n, r) {
                            var o = Ps(n) ? st : Vn,
                                i = t ? t() : {};
                            return o(n, e, Qo(r, 2), i);
                        };
                    }
                    function Co(e) {
                        return jr(function (t, n) {
                            var r = -1,
                                o = n.length,
                                i = o > 1 ? n[o - 1] : void 0,
                                s = o > 2 ? n[2] : void 0;
                            for (i = e.length > 3 && "function" == typeof i ? (o--, i) : void 0, s && ci(n[0], n[1], s) && ((i = o < 3 ? void 0 : i), (o = 1)), t = he(t); ++r < o; ) {
                                var a = n[r];
                                a && e(t, a, r, i);
                            }
                            return t;
                        });
                    }
                    function xo(e, t) {
                        return function (n, r) {
                            if (null == n) return n;
                            if (!Ms(n)) return e(n, r);
                            for (var o = n.length, i = t ? o : -1, s = he(n); (t ? i-- : ++i < o) && !1 !== r(s[i], i, s); );
                            return n;
                        };
                    }
                    function Eo(e) {
                        return function (t, n, r) {
                            for (var o = -1, i = he(t), s = r(t), a = s.length; a--; ) {
                                var l = s[e ? a : ++o];
                                if (!1 === n(i[l], l, i)) break;
                            }
                            return t;
                        };
                    }
                    function ko(e) {
                        return function (t) {
                            var n = Ft((t = la(t))) ? Kt(t) : void 0,
                                r = n ? n[0] : t.charAt(0),
                                o = n ? uo(n, 1).join("") : t.slice(1);
                            return r[e]() + o;
                        };
                    }
                    function Ao(e) {
                        return function (t) {
                            return mt(Ha(La(t).replace(Re, "")), e, "");
                        };
                    }
                    function So(e) {
                        return function () {
                            var t = arguments;
                            switch (t.length) {
                                case 0:
                                    return new e();
                                case 1:
                                    return new e(t[0]);
                                case 2:
                                    return new e(t[0], t[1]);
                                case 3:
                                    return new e(t[0], t[1], t[2]);
                                case 4:
                                    return new e(t[0], t[1], t[2], t[3]);
                                case 5:
                                    return new e(t[0], t[1], t[2], t[3], t[4]);
                                case 6:
                                    return new e(t[0], t[1], t[2], t[3], t[4], t[5]);
                                case 7:
                                    return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]);
                            }
                            var n = On(e.prototype),
                                r = e.apply(n, t);
                            return zs(r) ? r : n;
                        };
                    }
                    function To(e) {
                        return function (t, n, r) {
                            var o = he(t);
                            if (!Ms(t)) {
                                var i = Qo(n, 3);
                                (t = wa(t)),
                                    (n = function (e) {
                                        return i(o[e], e, o);
                                    });
                            }
                            var s = e(t, n, r);
                            return s > -1 ? o[i ? t[s] : s] : void 0;
                        };
                    }
                    function No(e) {
                        return Vo(function (t) {
                            var n = t.length,
                                r = n,
                                o = Rn.prototype.thru;
                            for (e && t.reverse(); r--; ) {
                                var s = t[r];
                                if ("function" != typeof s) throw new ve(i);
                                if (o && !a && "wrapper" == Xo(s)) var a = new Rn([], !0);
                            }
                            for (r = a ? r : n; ++r < n; ) {
                                var l = Xo((s = t[r])),
                                    c = "wrapper" == l ? Yo(s) : void 0;
                                a = c && di(c[0]) && 424 == c[1] && !c[4].length && 1 == c[9] ? a[Xo(c[0])].apply(a, c[3]) : 1 == s.length && di(s) ? a[l]() : a.thru(s);
                            }
                            return function () {
                                var e = arguments,
                                    r = e[0];
                                if (a && 1 == e.length && Ps(r)) return a.plant(r).value();
                                for (var o = 0, i = n ? t[o].apply(this, e) : r; ++o < n; ) i = t[o].call(this, i);
                                return i;
                            };
                        });
                    }
                    function Oo(e, t, n, o, i, s, a, l, c, u) {
                        var d = 128 & t,
                            f = 1 & t,
                            p = 2 & t,
                            h = 24 & t,
                            m = 512 & t,
                            g = p ? void 0 : So(e);
                        return function v() {
                            for (var y = arguments.length, b = r(y), _ = y; _--; ) b[_] = arguments[_];
                            if (h)
                                var w = Jo(v),
                                    C = Mt(b, w);
                            if ((o && (b = vo(b, o, i, h)), s && (b = yo(b, s, a, h)), (y -= C), h && y < u)) {
                                var x = qt(b, w);
                                return Io(e, t, Oo, v.placeholder, n, b, x, l, c, u - y);
                            }
                            var E = f ? n : this,
                                k = p ? E[e] : e;
                            return (y = b.length), l ? (b = yi(b, l)) : m && y > 1 && b.reverse(), d && c < y && (b.length = c), this && this !== Ke && this instanceof v && (k = g || So(k)), k.apply(E, b);
                        };
                    }
                    function Do(e, t) {
                        return function (n, r) {
                            return (function (e, t, n, r) {
                                return (
                                    cr(e, function (e, o, i) {
                                        t(r, n(e), o, i);
                                    }),
                                    r
                                );
                            })(n, e, t(r), {});
                        };
                    }
                    function Ro(e, t) {
                        return function (n, r) {
                            var o;
                            if (void 0 === n && void 0 === r) return t;
                            if ((void 0 !== n && (o = n), void 0 !== r)) {
                                if (void 0 === o) return r;
                                "string" == typeof n || "string" == typeof r ? ((n = Qr(n)), (r = Qr(r))) : ((n = Jr(n)), (r = Jr(r))), (o = e(n, r));
                            }
                            return o;
                        };
                    }
                    function Lo(e) {
                        return Vo(function (t) {
                            return (
                                (t = pt(t, Dt(Qo()))),
                                jr(function (n) {
                                    var r = this;
                                    return e(t, function (e) {
                                        return it(e, r, n);
                                    });
                                })
                            );
                        });
                    }
                    function Po(e, t) {
                        var n = (t = void 0 === t ? " " : Qr(t)).length;
                        if (n < 2) return n ? Br(t, e) : t;
                        var r = Br(t, Zt(e / Vt(t)));
                        return Ft(t) ? uo(Kt(r), 0, e).join("") : r.slice(0, e);
                    }
                    function $o(e) {
                        return function (t, n, o) {
                            return (
                                o && "number" != typeof o && ci(t, n, o) && (n = o = void 0),
                                (t = ra(t)),
                                void 0 === n ? ((n = t), (t = 0)) : (n = ra(n)),
                                (function (e, t, n, o) {
                                    for (var i = -1, s = an(Zt((t - e) / (n || 1)), 0), a = r(s); s--; ) (a[o ? s : ++i] = e), (e += n);
                                    return a;
                                })(t, n, (o = void 0 === o ? (t < n ? 1 : -1) : ra(o)), e)
                            );
                        };
                    }
                    function Mo(e) {
                        return function (t, n) {
                            return ("string" == typeof t && "string" == typeof n) || ((t = sa(t)), (n = sa(n))), e(t, n);
                        };
                    }
                    function Io(e, t, n, r, o, i, s, a, l, c) {
                        var u = 8 & t;
                        (t |= u ? 32 : 64), 4 & (t &= ~(u ? 64 : 32)) || (t &= -4);
                        var d = [e, t, o, u ? i : void 0, u ? s : void 0, u ? void 0 : i, u ? void 0 : s, a, l, c],
                            f = n.apply(void 0, d);
                        return di(e) && _i(f, d), (f.placeholder = r), xi(f, e, t);
                    }
                    function Bo(e) {
                        var t = pe[e];
                        return function (e, n) {
                            if (((e = sa(e)), (n = null == n ? 0 : ln(oa(n), 292)) && rn(e))) {
                                var r = (la(e) + "e").split("e");
                                return +((r = (la(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n));
                            }
                            return t(e);
                        };
                    }
                    var jo =
                        gn && 1 / zt(new gn([, -0]))[1] == 1 / 0
                            ? function (e) {
                                  return new gn(e);
                              }
                            : Qa;
                    function Fo(e) {
                        return function (t) {
                            var n = oi(t);
                            return n == m
                                ? Ht(t)
                                : n == b
                                ? Wt(t)
                                : (function (e, t) {
                                      return pt(t, function (t) {
                                          return [t, e[t]];
                                      });
                                  })(t, e(t));
                        };
                    }
                    function Ho(e, t, n, o, a, l, c, u) {
                        var d = 2 & t;
                        if (!d && "function" != typeof e) throw new ve(i);
                        var f = o ? o.length : 0;
                        if ((f || ((t &= -97), (o = a = void 0)), (c = void 0 === c ? c : an(oa(c), 0)), (u = void 0 === u ? u : oa(u)), (f -= a ? a.length : 0), 64 & t)) {
                            var p = o,
                                h = a;
                            o = a = void 0;
                        }
                        var m = d ? void 0 : Yo(e),
                            g = [e, t, n, o, a, p, h, l, c, u];
                        if (
                            (m &&
                                (function (e, t) {
                                    var n = e[1],
                                        r = t[1],
                                        o = n | r,
                                        i = o < 131,
                                        a = (128 == r && 8 == n) || (128 == r && 256 == n && e[7].length <= t[8]) || (384 == r && t[7].length <= t[8] && 8 == n);
                                    if (!i && !a) return e;
                                    1 & r && ((e[2] = t[2]), (o |= 1 & n ? 0 : 4));
                                    var l = t[3];
                                    if (l) {
                                        var c = e[3];
                                        (e[3] = c ? vo(c, l, t[4]) : l), (e[4] = c ? qt(e[3], s) : t[4]);
                                    }
                                    (l = t[5]) && ((c = e[5]), (e[5] = c ? yo(c, l, t[6]) : l), (e[6] = c ? qt(e[5], s) : t[6]));
                                    (l = t[7]) && (e[7] = l);
                                    128 & r && (e[8] = null == e[8] ? t[8] : ln(e[8], t[8]));
                                    null == e[9] && (e[9] = t[9]);
                                    (e[0] = t[0]), (e[1] = o);
                                })(g, m),
                            (e = g[0]),
                            (t = g[1]),
                            (n = g[2]),
                            (o = g[3]),
                            (a = g[4]),
                            !(u = g[9] = void 0 === g[9] ? (d ? 0 : e.length) : an(g[9] - f, 0)) && 24 & t && (t &= -25),
                            t && 1 != t)
                        )
                            v =
                                8 == t || 16 == t
                                    ? (function (e, t, n) {
                                          var o = So(e);
                                          return function i() {
                                              for (var s = arguments.length, a = r(s), l = s, c = Jo(i); l--; ) a[l] = arguments[l];
                                              var u = s < 3 && a[0] !== c && a[s - 1] !== c ? [] : qt(a, c);
                                              if ((s -= u.length) < n) return Io(e, t, Oo, i.placeholder, void 0, a, u, void 0, void 0, n - s);
                                              var d = this && this !== Ke && this instanceof i ? o : e;
                                              return it(d, this, a);
                                          };
                                      })(e, t, u)
                                    : (32 != t && 33 != t) || a.length
                                    ? Oo.apply(void 0, g)
                                    : (function (e, t, n, o) {
                                          var i = 1 & t,
                                              s = So(e);
                                          return function t() {
                                              for (var a = -1, l = arguments.length, c = -1, u = o.length, d = r(u + l), f = this && this !== Ke && this instanceof t ? s : e; ++c < u; ) d[c] = o[c];
                                              for (; l--; ) d[c++] = arguments[++a];
                                              return it(f, i ? n : this, d);
                                          };
                                      })(e, t, n, o);
                        else
                            var v = (function (e, t, n) {
                                var r = 1 & t,
                                    o = So(e);
                                return function t() {
                                    var i = this && this !== Ke && this instanceof t ? o : e;
                                    return i.apply(r ? n : this, arguments);
                                };
                            })(e, t, n);
                        return xi((m ? qr : _i)(v, g), e, t);
                    }
                    function Uo(e, t, n, r) {
                        return void 0 === e || (Os(e, _e[n]) && !xe.call(r, n)) ? t : e;
                    }
                    function qo(e, t, n, r, o, i) {
                        return zs(e) && zs(t) && (i.set(t, e), Dr(e, t, void 0, qo, i), i.delete(t)), e;
                    }
                    function zo(e) {
                        return Gs(e) ? void 0 : e;
                    }
                    function Wo(e, t, n, r, o, i) {
                        var s = 1 & n,
                            a = e.length,
                            l = t.length;
                        if (a != l && !(s && l > a)) return !1;
                        var c = i.get(e),
                            u = i.get(t);
                        if (c && u) return c == t && u == e;
                        var d = -1,
                            f = !0,
                            p = 2 & n ? new In() : void 0;
                        for (i.set(e, t), i.set(t, e); ++d < a; ) {
                            var h = e[d],
                                m = t[d];
                            if (r) var g = s ? r(m, h, d, t, e, i) : r(h, m, d, e, t, i);
                            if (void 0 !== g) {
                                if (g) continue;
                                f = !1;
                                break;
                            }
                            if (p) {
                                if (
                                    !vt(t, function (e, t) {
                                        if (!Lt(p, t) && (h === e || o(h, e, n, r, i))) return p.push(t);
                                    })
                                ) {
                                    f = !1;
                                    break;
                                }
                            } else if (h !== m && !o(h, m, n, r, i)) {
                                f = !1;
                                break;
                            }
                        }
                        return i.delete(e), i.delete(t), f;
                    }
                    function Vo(e) {
                        return Ci(gi(e, void 0, $i), e + "");
                    }
                    function Ko(e) {
                        return pr(e, wa, ni);
                    }
                    function Go(e) {
                        return pr(e, Ca, ri);
                    }
                    var Yo = bn
                        ? function (e) {
                              return bn.get(e);
                          }
                        : Qa;
                    function Xo(e) {
                        for (var t = e.name + "", n = _n[t], r = xe.call(_n, t) ? n.length : 0; r--; ) {
                            var o = n[r],
                                i = o.func;
                            if (null == i || i == e) return o.name;
                        }
                        return t;
                    }
                    function Jo(e) {
                        return (xe.call(Nn, "placeholder") ? Nn : e).placeholder;
                    }
                    function Qo() {
                        var e = Nn.iteratee || Ga;
                        return (e = e === Ga ? Er : e), arguments.length ? e(arguments[0], arguments[1]) : e;
                    }
                    function Zo(e, t) {
                        var n,
                            r,
                            o = e.__data__;
                        return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? o["string" == typeof t ? "string" : "hash"] : o.map;
                    }
                    function ei(e) {
                        for (var t = wa(e), n = t.length; n--; ) {
                            var r = t[n],
                                o = e[r];
                            t[n] = [r, o, hi(o)];
                        }
                        return t;
                    }
                    function ti(e, t) {
                        var n = (function (e, t) {
                            return null == e ? void 0 : e[t];
                        })(e, t);
                        return xr(n) ? n : void 0;
                    }
                    var ni = tn
                            ? function (e) {
                                  return null == e
                                      ? []
                                      : ((e = he(e)),
                                        ut(tn(e), function (t) {
                                            return Ve.call(e, t);
                                        }));
                              }
                            : il,
                        ri = tn
                            ? function (e) {
                                  for (var t = []; e; ) ht(t, ni(e)), (e = Ue(e));
                                  return t;
                              }
                            : il,
                        oi = hr;
                    function ii(e, t, n) {
                        for (var r = -1, o = (t = lo(t, e)).length, i = !1; ++r < o; ) {
                            var s = Si(t[r]);
                            if (!(i = null != e && n(e, s))) break;
                            e = e[s];
                        }
                        return i || ++r != o ? i : !!(o = null == e ? 0 : e.length) && qs(o) && li(s, o) && (Ps(e) || Ls(e));
                    }
                    function si(e) {
                        return "function" != typeof e.constructor || pi(e) ? {} : On(Ue(e));
                    }
                    function ai(e) {
                        return Ps(e) || Ls(e) || !!(Ye && e && e[Ye]);
                    }
                    function li(e, t) {
                        var n = typeof e;
                        return !!(t = null == t ? 9007199254740991 : t) && ("number" == n || ("symbol" != n && le.test(e))) && e > -1 && e % 1 == 0 && e < t;
                    }
                    function ci(e, t, n) {
                        if (!zs(n)) return !1;
                        var r = typeof t;
                        return !!("number" == r ? Ms(n) && li(t, n.length) : "string" == r && t in n) && Os(n[t], e);
                    }
                    function ui(e, t) {
                        if (Ps(e)) return !1;
                        var n = typeof e;
                        return !("number" != n && "symbol" != n && "boolean" != n && null != e && !Qs(e)) || z.test(e) || !q.test(e) || (null != t && e in he(t));
                    }
                    function di(e) {
                        var t = Xo(e),
                            n = Nn[t];
                        if ("function" != typeof n || !(t in Ln.prototype)) return !1;
                        if (e === n) return !0;
                        var r = Yo(n);
                        return !!r && e === r[0];
                    }
                    ((pn && oi(new pn(new ArrayBuffer(1))) != E) || (hn && oi(new hn()) != m) || (mn && "[object Promise]" != oi(mn.resolve())) || (gn && oi(new gn()) != b) || (vn && oi(new vn()) != C)) &&
                        (oi = function (e) {
                            var t = hr(e),
                                n = t == v ? e.constructor : void 0,
                                r = n ? Ti(n) : "";
                            if (r)
                                switch (r) {
                                    case wn:
                                        return E;
                                    case Cn:
                                        return m;
                                    case xn:
                                        return "[object Promise]";
                                    case En:
                                        return b;
                                    case kn:
                                        return C;
                                }
                            return t;
                        });
                    var fi = we ? Hs : sl;
                    function pi(e) {
                        var t = e && e.constructor;
                        return e === (("function" == typeof t && t.prototype) || _e);
                    }
                    function hi(e) {
                        return e == e && !zs(e);
                    }
                    function mi(e, t) {
                        return function (n) {
                            return null != n && n[e] === t && (void 0 !== t || e in he(n));
                        };
                    }
                    function gi(e, t, n) {
                        return (
                            (t = an(void 0 === t ? e.length - 1 : t, 0)),
                            function () {
                                for (var o = arguments, i = -1, s = an(o.length - t, 0), a = r(s); ++i < s; ) a[i] = o[t + i];
                                i = -1;
                                for (var l = r(t + 1); ++i < t; ) l[i] = o[i];
                                return (l[t] = n(a)), it(e, this, l);
                            }
                        );
                    }
                    function vi(e, t) {
                        return t.length < 2 ? e : fr(e, Vr(t, 0, -1));
                    }
                    function yi(e, t) {
                        for (var n = e.length, r = ln(t.length, n), o = bo(e); r--; ) {
                            var i = t[r];
                            e[r] = li(i, n) ? o[i] : void 0;
                        }
                        return e;
                    }
                    function bi(e, t) {
                        if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t];
                    }
                    var _i = Ei(qr),
                        wi =
                            Qt ||
                            function (e, t) {
                                return Ke.setTimeout(e, t);
                            },
                        Ci = Ei(zr);
                    function xi(e, t, n) {
                        var r = t + "";
                        return Ci(
                            e,
                            (function (e, t) {
                                var n = t.length;
                                if (!n) return e;
                                var r = n - 1;
                                return (t[r] = (n > 1 ? "& " : "") + t[r]), (t = t.join(n > 2 ? ", " : " ")), e.replace(X, "{\n/* [wrapped with " + t + "] */\n");
                            })(
                                r,
                                (function (e, t) {
                                    return (
                                        at(a, function (n) {
                                            var r = "_." + n[0];
                                            t & n[1] && !dt(e, r) && e.push(r);
                                        }),
                                        e.sort()
                                    );
                                })(
                                    (function (e) {
                                        var t = e.match(J);
                                        return t ? t[1].split(Q) : [];
                                    })(r),
                                    n
                                )
                            )
                        );
                    }
                    function Ei(e) {
                        var t = 0,
                            n = 0;
                        return function () {
                            var r = cn(),
                                o = 16 - (r - n);
                            if (((n = r), o > 0)) {
                                if (++t >= 800) return arguments[0];
                            } else t = 0;
                            return e.apply(void 0, arguments);
                        };
                    }
                    function ki(e, t) {
                        var n = -1,
                            r = e.length,
                            o = r - 1;
                        for (t = void 0 === t ? r : t; ++n < t; ) {
                            var i = Ir(n, o),
                                s = e[i];
                            (e[i] = e[n]), (e[n] = s);
                        }
                        return (e.length = t), e;
                    }
                    var Ai = (function (e) {
                        var t = Es(e, function (e) {
                                return 500 === n.size && n.clear(), e;
                            }),
                            n = t.cache;
                        return t;
                    })(function (e) {
                        var t = [];
                        return (
                            46 === e.charCodeAt(0) && t.push(""),
                            e.replace(W, function (e, n, r, o) {
                                t.push(r ? o.replace(te, "$1") : n || e);
                            }),
                            t
                        );
                    });
                    function Si(e) {
                        if ("string" == typeof e || Qs(e)) return e;
                        var t = e + "";
                        return "0" == t && 1 / e == -1 / 0 ? "-0" : t;
                    }
                    function Ti(e) {
                        if (null != e) {
                            try {
                                return Ce.call(e);
                            } catch (e) {}
                            try {
                                return e + "";
                            } catch (e) {}
                        }
                        return "";
                    }
                    function Ni(e) {
                        if (e instanceof Ln) return e.clone();
                        var t = new Rn(e.__wrapped__, e.__chain__);
                        return (t.__actions__ = bo(e.__actions__)), (t.__index__ = e.__index__), (t.__values__ = e.__values__), t;
                    }
                    var Oi = jr(function (e, t) {
                            return Is(e) ? er(e, sr(t, 1, Is, !0)) : [];
                        }),
                        Di = jr(function (e, t) {
                            var n = Fi(t);
                            return Is(n) && (n = void 0), Is(e) ? er(e, sr(t, 1, Is, !0), Qo(n, 2)) : [];
                        }),
                        Ri = jr(function (e, t) {
                            var n = Fi(t);
                            return Is(n) && (n = void 0), Is(e) ? er(e, sr(t, 1, Is, !0), void 0, n) : [];
                        });
                    function Li(e, t, n) {
                        var r = null == e ? 0 : e.length;
                        if (!r) return -1;
                        var o = null == n ? 0 : oa(n);
                        return o < 0 && (o = an(r + o, 0)), _t(e, Qo(t, 3), o);
                    }
                    function Pi(e, t, n) {
                        var r = null == e ? 0 : e.length;
                        if (!r) return -1;
                        var o = r - 1;
                        return void 0 !== n && ((o = oa(n)), (o = n < 0 ? an(r + o, 0) : ln(o, r - 1))), _t(e, Qo(t, 3), o, !0);
                    }
                    function $i(e) {
                        return (null == e ? 0 : e.length) ? sr(e, 1) : [];
                    }
                    function Mi(e) {
                        return e && e.length ? e[0] : void 0;
                    }
                    var Ii = jr(function (e) {
                            var t = pt(e, so);
                            return t.length && t[0] === e[0] ? yr(t) : [];
                        }),
                        Bi = jr(function (e) {
                            var t = Fi(e),
                                n = pt(e, so);
                            return t === Fi(n) ? (t = void 0) : n.pop(), n.length && n[0] === e[0] ? yr(n, Qo(t, 2)) : [];
                        }),
                        ji = jr(function (e) {
                            var t = Fi(e),
                                n = pt(e, so);
                            return (t = "function" == typeof t ? t : void 0) && n.pop(), n.length && n[0] === e[0] ? yr(n, void 0, t) : [];
                        });
                    function Fi(e) {
                        var t = null == e ? 0 : e.length;
                        return t ? e[t - 1] : void 0;
                    }
                    var Hi = jr(Ui);
                    function Ui(e, t) {
                        return e && e.length && t && t.length ? $r(e, t) : e;
                    }
                    var qi = Vo(function (e, t) {
                        var n = null == e ? 0 : e.length,
                            r = Yn(e, t);
                        return (
                            Mr(
                                e,
                                pt(t, function (e) {
                                    return li(e, n) ? +e : e;
                                }).sort(go)
                            ),
                            r
                        );
                    });
                    function zi(e) {
                        return null == e ? e : fn.call(e);
                    }
                    var Wi = jr(function (e) {
                            return Zr(sr(e, 1, Is, !0));
                        }),
                        Vi = jr(function (e) {
                            var t = Fi(e);
                            return Is(t) && (t = void 0), Zr(sr(e, 1, Is, !0), Qo(t, 2));
                        }),
                        Ki = jr(function (e) {
                            var t = Fi(e);
                            return (t = "function" == typeof t ? t : void 0), Zr(sr(e, 1, Is, !0), void 0, t);
                        });
                    function Gi(e) {
                        if (!e || !e.length) return [];
                        var t = 0;
                        return (
                            (e = ut(e, function (e) {
                                if (Is(e)) return (t = an(e.length, t)), !0;
                            })),
                            Nt(t, function (t) {
                                return pt(e, kt(t));
                            })
                        );
                    }
                    function Yi(e, t) {
                        if (!e || !e.length) return [];
                        var n = Gi(e);
                        return null == t
                            ? n
                            : pt(n, function (e) {
                                  return it(t, void 0, e);
                              });
                    }
                    var Xi = jr(function (e, t) {
                            return Is(e) ? er(e, t) : [];
                        }),
                        Ji = jr(function (e) {
                            return oo(ut(e, Is));
                        }),
                        Qi = jr(function (e) {
                            var t = Fi(e);
                            return Is(t) && (t = void 0), oo(ut(e, Is), Qo(t, 2));
                        }),
                        Zi = jr(function (e) {
                            var t = Fi(e);
                            return (t = "function" == typeof t ? t : void 0), oo(ut(e, Is), void 0, t);
                        }),
                        es = jr(Gi);
                    var ts = jr(function (e) {
                        var t = e.length,
                            n = t > 1 ? e[t - 1] : void 0;
                        return (n = "function" == typeof n ? (e.pop(), n) : void 0), Yi(e, n);
                    });
                    function ns(e) {
                        var t = Nn(e);
                        return (t.__chain__ = !0), t;
                    }
                    function rs(e, t) {
                        return t(e);
                    }
                    var os = Vo(function (e) {
                        var t = e.length,
                            n = t ? e[0] : 0,
                            r = this.__wrapped__,
                            o = function (t) {
                                return Yn(t, e);
                            };
                        return !(t > 1 || this.__actions__.length) && r instanceof Ln && li(n)
                            ? ((r = r.slice(n, +n + (t ? 1 : 0))).__actions__.push({ func: rs, args: [o], thisArg: void 0 }),
                              new Rn(r, this.__chain__).thru(function (e) {
                                  return t && !e.length && e.push(void 0), e;
                              }))
                            : this.thru(o);
                    });
                    var is = wo(function (e, t, n) {
                        xe.call(e, n) ? ++e[n] : Gn(e, n, 1);
                    });
                    var ss = To(Li),
                        as = To(Pi);
                    function ls(e, t) {
                        return (Ps(e) ? at : tr)(e, Qo(t, 3));
                    }
                    function cs(e, t) {
                        return (Ps(e) ? lt : nr)(e, Qo(t, 3));
                    }
                    var us = wo(function (e, t, n) {
                        xe.call(e, n) ? e[n].push(t) : Gn(e, n, [t]);
                    });
                    var ds = jr(function (e, t, n) {
                            var o = -1,
                                i = "function" == typeof t,
                                s = Ms(e) ? r(e.length) : [];
                            return (
                                tr(e, function (e) {
                                    s[++o] = i ? it(t, e, n) : br(e, t, n);
                                }),
                                s
                            );
                        }),
                        fs = wo(function (e, t, n) {
                            Gn(e, n, t);
                        });
                    function ps(e, t) {
                        return (Ps(e) ? pt : Tr)(e, Qo(t, 3));
                    }
                    var hs = wo(
                        function (e, t, n) {
                            e[n ? 0 : 1].push(t);
                        },
                        function () {
                            return [[], []];
                        }
                    );
                    var ms = jr(function (e, t) {
                            if (null == e) return [];
                            var n = t.length;
                            return n > 1 && ci(e, t[0], t[1]) ? (t = []) : n > 2 && ci(t[0], t[1], t[2]) && (t = [t[0]]), Lr(e, sr(t, 1), []);
                        }),
                        gs =
                            Jt ||
                            function () {
                                return Ke.Date.now();
                            };
                    function vs(e, t, n) {
                        return (t = n ? void 0 : t), Ho(e, 128, void 0, void 0, void 0, void 0, (t = e && null == t ? e.length : t));
                    }
                    function ys(e, t) {
                        var n;
                        if ("function" != typeof t) throw new ve(i);
                        return (
                            (e = oa(e)),
                            function () {
                                return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = void 0), n;
                            }
                        );
                    }
                    var bs = jr(function (e, t, n) {
                            var r = 1;
                            if (n.length) {
                                var o = qt(n, Jo(bs));
                                r |= 32;
                            }
                            return Ho(e, r, t, n, o);
                        }),
                        _s = jr(function (e, t, n) {
                            var r = 3;
                            if (n.length) {
                                var o = qt(n, Jo(_s));
                                r |= 32;
                            }
                            return Ho(t, r, e, n, o);
                        });
                    function ws(e, t, n) {
                        var r,
                            o,
                            s,
                            a,
                            l,
                            c,
                            u = 0,
                            d = !1,
                            f = !1,
                            p = !0;
                        if ("function" != typeof e) throw new ve(i);
                        function h(t) {
                            var n = r,
                                i = o;
                            return (r = o = void 0), (u = t), (a = e.apply(i, n));
                        }
                        function m(e) {
                            return (u = e), (l = wi(v, t)), d ? h(e) : a;
                        }
                        function g(e) {
                            var n = e - c;
                            return void 0 === c || n >= t || n < 0 || (f && e - u >= s);
                        }
                        function v() {
                            var e = gs();
                            if (g(e)) return y(e);
                            l = wi(
                                v,
                                (function (e) {
                                    var n = t - (e - c);
                                    return f ? ln(n, s - (e - u)) : n;
                                })(e)
                            );
                        }
                        function y(e) {
                            return (l = void 0), p && r ? h(e) : ((r = o = void 0), a);
                        }
                        function b() {
                            var e = gs(),
                                n = g(e);
                            if (((r = arguments), (o = this), (c = e), n)) {
                                if (void 0 === l) return m(c);
                                if (f) return fo(l), (l = wi(v, t)), h(c);
                            }
                            return void 0 === l && (l = wi(v, t)), a;
                        }
                        return (
                            (t = sa(t) || 0),
                            zs(n) && ((d = !!n.leading), (s = (f = "maxWait" in n) ? an(sa(n.maxWait) || 0, t) : s), (p = "trailing" in n ? !!n.trailing : p)),
                            (b.cancel = function () {
                                void 0 !== l && fo(l), (u = 0), (r = c = o = l = void 0);
                            }),
                            (b.flush = function () {
                                return void 0 === l ? a : y(gs());
                            }),
                            b
                        );
                    }
                    var Cs = jr(function (e, t) {
                            return Zn(e, 1, t);
                        }),
                        xs = jr(function (e, t, n) {
                            return Zn(e, sa(t) || 0, n);
                        });
                    function Es(e, t) {
                        if ("function" != typeof e || (null != t && "function" != typeof t)) throw new ve(i);
                        var n = function () {
                            var r = arguments,
                                o = t ? t.apply(this, r) : r[0],
                                i = n.cache;
                            if (i.has(o)) return i.get(o);
                            var s = e.apply(this, r);
                            return (n.cache = i.set(o, s) || i), s;
                        };
                        return (n.cache = new (Es.Cache || Mn)()), n;
                    }
                    function ks(e) {
                        if ("function" != typeof e) throw new ve(i);
                        return function () {
                            var t = arguments;
                            switch (t.length) {
                                case 0:
                                    return !e.call(this);
                                case 1:
                                    return !e.call(this, t[0]);
                                case 2:
                                    return !e.call(this, t[0], t[1]);
                                case 3:
                                    return !e.call(this, t[0], t[1], t[2]);
                            }
                            return !e.apply(this, t);
                        };
                    }
                    Es.Cache = Mn;
                    var As = co(function (e, t) {
                            var n = (t = 1 == t.length && Ps(t[0]) ? pt(t[0], Dt(Qo())) : pt(sr(t, 1), Dt(Qo()))).length;
                            return jr(function (r) {
                                for (var o = -1, i = ln(r.length, n); ++o < i; ) r[o] = t[o].call(this, r[o]);
                                return it(e, this, r);
                            });
                        }),
                        Ss = jr(function (e, t) {
                            return Ho(e, 32, void 0, t, qt(t, Jo(Ss)));
                        }),
                        Ts = jr(function (e, t) {
                            return Ho(e, 64, void 0, t, qt(t, Jo(Ts)));
                        }),
                        Ns = Vo(function (e, t) {
                            return Ho(e, 256, void 0, void 0, void 0, t);
                        });
                    function Os(e, t) {
                        return e === t || (e != e && t != t);
                    }
                    var Ds = Mo(mr),
                        Rs = Mo(function (e, t) {
                            return e >= t;
                        }),
                        Ls = _r(
                            (function () {
                                return arguments;
                            })()
                        )
                            ? _r
                            : function (e) {
                                  return Ws(e) && xe.call(e, "callee") && !Ve.call(e, "callee");
                              },
                        Ps = r.isArray,
                        $s = Ze
                            ? Dt(Ze)
                            : function (e) {
                                  return Ws(e) && hr(e) == x;
                              };
                    function Ms(e) {
                        return null != e && qs(e.length) && !Hs(e);
                    }
                    function Is(e) {
                        return Ws(e) && Ms(e);
                    }
                    var Bs = nn || sl,
                        js = et
                            ? Dt(et)
                            : function (e) {
                                  return Ws(e) && hr(e) == d;
                              };
                    function Fs(e) {
                        if (!Ws(e)) return !1;
                        var t = hr(e);
                        return t == f || "[object DOMException]" == t || ("string" == typeof e.message && "string" == typeof e.name && !Gs(e));
                    }
                    function Hs(e) {
                        if (!zs(e)) return !1;
                        var t = hr(e);
                        return t == p || t == h || "[object AsyncFunction]" == t || "[object Proxy]" == t;
                    }
                    function Us(e) {
                        return "number" == typeof e && e == oa(e);
                    }
                    function qs(e) {
                        return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991;
                    }
                    function zs(e) {
                        var t = typeof e;
                        return null != e && ("object" == t || "function" == t);
                    }
                    function Ws(e) {
                        return null != e && "object" == typeof e;
                    }
                    var Vs = tt
                        ? Dt(tt)
                        : function (e) {
                              return Ws(e) && oi(e) == m;
                          };
                    function Ks(e) {
                        return "number" == typeof e || (Ws(e) && hr(e) == g);
                    }
                    function Gs(e) {
                        if (!Ws(e) || hr(e) != v) return !1;
                        var t = Ue(e);
                        if (null === t) return !0;
                        var n = xe.call(t, "constructor") && t.constructor;
                        return "function" == typeof n && n instanceof n && Ce.call(n) == Se;
                    }
                    var Ys = nt
                        ? Dt(nt)
                        : function (e) {
                              return Ws(e) && hr(e) == y;
                          };
                    var Xs = rt
                        ? Dt(rt)
                        : function (e) {
                              return Ws(e) && oi(e) == b;
                          };
                    function Js(e) {
                        return "string" == typeof e || (!Ps(e) && Ws(e) && hr(e) == _);
                    }
                    function Qs(e) {
                        return "symbol" == typeof e || (Ws(e) && hr(e) == w);
                    }
                    var Zs = ot
                        ? Dt(ot)
                        : function (e) {
                              return Ws(e) && qs(e.length) && !!Fe[hr(e)];
                          };
                    var ea = Mo(Sr),
                        ta = Mo(function (e, t) {
                            return e <= t;
                        });
                    function na(e) {
                        if (!e) return [];
                        if (Ms(e)) return Js(e) ? Kt(e) : bo(e);
                        if (Je && e[Je])
                            return (function (e) {
                                for (var t, n = []; !(t = e.next()).done; ) n.push(t.value);
                                return n;
                            })(e[Je]());
                        var t = oi(e);
                        return (t == m ? Ht : t == b ? zt : Oa)(e);
                    }
                    function ra(e) {
                        return e ? ((e = sa(e)) === 1 / 0 || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0) : 0 === e ? e : 0;
                    }
                    function oa(e) {
                        var t = ra(e),
                            n = t % 1;
                        return t == t ? (n ? t - n : t) : 0;
                    }
                    function ia(e) {
                        return e ? Xn(oa(e), 0, 4294967295) : 0;
                    }
                    function sa(e) {
                        if ("number" == typeof e) return e;
                        if (Qs(e)) return NaN;
                        if (zs(e)) {
                            var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                            e = zs(t) ? t + "" : t;
                        }
                        if ("string" != typeof e) return 0 === e ? e : +e;
                        e = Ot(e);
                        var n = ie.test(e);
                        return n || ae.test(e) ? ze(e.slice(2), n ? 2 : 8) : oe.test(e) ? NaN : +e;
                    }
                    function aa(e) {
                        return _o(e, Ca(e));
                    }
                    function la(e) {
                        return null == e ? "" : Qr(e);
                    }
                    var ca = Co(function (e, t) {
                            if (pi(t) || Ms(t)) _o(t, wa(t), e);
                            else for (var n in t) xe.call(t, n) && zn(e, n, t[n]);
                        }),
                        ua = Co(function (e, t) {
                            _o(t, Ca(t), e);
                        }),
                        da = Co(function (e, t, n, r) {
                            _o(t, Ca(t), e, r);
                        }),
                        fa = Co(function (e, t, n, r) {
                            _o(t, wa(t), e, r);
                        }),
                        pa = Vo(Yn);
                    var ha = jr(function (e, t) {
                            e = he(e);
                            var n = -1,
                                r = t.length,
                                o = r > 2 ? t[2] : void 0;
                            for (o && ci(t[0], t[1], o) && (r = 1); ++n < r; )
                                for (var i = t[n], s = Ca(i), a = -1, l = s.length; ++a < l; ) {
                                    var c = s[a],
                                        u = e[c];
                                    (void 0 === u || (Os(u, _e[c]) && !xe.call(e, c))) && (e[c] = i[c]);
                                }
                            return e;
                        }),
                        ma = jr(function (e) {
                            return e.push(void 0, qo), it(Ea, void 0, e);
                        });
                    function ga(e, t, n) {
                        var r = null == e ? void 0 : fr(e, t);
                        return void 0 === r ? n : r;
                    }
                    function va(e, t) {
                        return null != e && ii(e, t, vr);
                    }
                    var ya = Do(function (e, t, n) {
                            null != t && "function" != typeof t.toString && (t = Ae.call(t)), (e[t] = n);
                        }, za(Ka)),
                        ba = Do(function (e, t, n) {
                            null != t && "function" != typeof t.toString && (t = Ae.call(t)), xe.call(e, t) ? e[t].push(n) : (e[t] = [n]);
                        }, Qo),
                        _a = jr(br);
                    function wa(e) {
                        return Ms(e) ? jn(e) : kr(e);
                    }
                    function Ca(e) {
                        return Ms(e) ? jn(e, !0) : Ar(e);
                    }
                    var xa = Co(function (e, t, n) {
                            Dr(e, t, n);
                        }),
                        Ea = Co(function (e, t, n, r) {
                            Dr(e, t, n, r);
                        }),
                        ka = Vo(function (e, t) {
                            var n = {};
                            if (null == e) return n;
                            var r = !1;
                            (t = pt(t, function (t) {
                                return (t = lo(t, e)), r || (r = t.length > 1), t;
                            })),
                                _o(e, Go(e), n),
                                r && (n = Jn(n, 7, zo));
                            for (var o = t.length; o--; ) eo(n, t[o]);
                            return n;
                        });
                    var Aa = Vo(function (e, t) {
                        return null == e
                            ? {}
                            : (function (e, t) {
                                  return Pr(e, t, function (t, n) {
                                      return va(e, n);
                                  });
                              })(e, t);
                    });
                    function Sa(e, t) {
                        if (null == e) return {};
                        var n = pt(Go(e), function (e) {
                            return [e];
                        });
                        return (
                            (t = Qo(t)),
                            Pr(e, n, function (e, n) {
                                return t(e, n[0]);
                            })
                        );
                    }
                    var Ta = Fo(wa),
                        Na = Fo(Ca);
                    function Oa(e) {
                        return null == e ? [] : Rt(e, wa(e));
                    }
                    var Da = Ao(function (e, t, n) {
                        return (t = t.toLowerCase()), e + (n ? Ra(t) : t);
                    });
                    function Ra(e) {
                        return Fa(la(e).toLowerCase());
                    }
                    function La(e) {
                        return (e = la(e)) && e.replace(ce, It).replace(Le, "");
                    }
                    var Pa = Ao(function (e, t, n) {
                            return e + (n ? "-" : "") + t.toLowerCase();
                        }),
                        $a = Ao(function (e, t, n) {
                            return e + (n ? " " : "") + t.toLowerCase();
                        }),
                        Ma = ko("toLowerCase");
                    var Ia = Ao(function (e, t, n) {
                        return e + (n ? "_" : "") + t.toLowerCase();
                    });
                    var Ba = Ao(function (e, t, n) {
                        return e + (n ? " " : "") + Fa(t);
                    });
                    var ja = Ao(function (e, t, n) {
                            return e + (n ? " " : "") + t.toUpperCase();
                        }),
                        Fa = ko("toUpperCase");
                    function Ha(e, t, n) {
                        return (
                            (e = la(e)),
                            void 0 === (t = n ? void 0 : t)
                                ? (function (e) {
                                      return Ie.test(e);
                                  })(e)
                                    ? (function (e) {
                                          return e.match($e) || [];
                                      })(e)
                                    : (function (e) {
                                          return e.match(Z) || [];
                                      })(e)
                                : e.match(t) || []
                        );
                    }
                    var Ua = jr(function (e, t) {
                            try {
                                return it(e, void 0, t);
                            } catch (e) {
                                return Fs(e) ? e : new Y(e);
                            }
                        }),
                        qa = Vo(function (e, t) {
                            return (
                                at(t, function (t) {
                                    (t = Si(t)), Gn(e, t, bs(e[t], e));
                                }),
                                e
                            );
                        });
                    function za(e) {
                        return function () {
                            return e;
                        };
                    }
                    var Wa = No(),
                        Va = No(!0);
                    function Ka(e) {
                        return e;
                    }
                    function Ga(e) {
                        return Er("function" == typeof e ? e : Jn(e, 1));
                    }
                    var Ya = jr(function (e, t) {
                            return function (n) {
                                return br(n, e, t);
                            };
                        }),
                        Xa = jr(function (e, t) {
                            return function (n) {
                                return br(e, n, t);
                            };
                        });
                    function Ja(e, t, n) {
                        var r = wa(t),
                            o = dr(t, r);
                        null != n || (zs(t) && (o.length || !r.length)) || ((n = t), (t = e), (e = this), (o = dr(t, wa(t))));
                        var i = !(zs(n) && "chain" in n && !n.chain),
                            s = Hs(e);
                        return (
                            at(o, function (n) {
                                var r = t[n];
                                (e[n] = r),
                                    s &&
                                        (e.prototype[n] = function () {
                                            var t = this.__chain__;
                                            if (i || t) {
                                                var n = e(this.__wrapped__),
                                                    o = (n.__actions__ = bo(this.__actions__));
                                                return o.push({ func: r, args: arguments, thisArg: e }), (n.__chain__ = t), n;
                                            }
                                            return r.apply(e, ht([this.value()], arguments));
                                        });
                            }),
                            e
                        );
                    }
                    function Qa() {}
                    var Za = Lo(pt),
                        el = Lo(ct),
                        tl = Lo(vt);
                    function nl(e) {
                        return ui(e)
                            ? kt(Si(e))
                            : (function (e) {
                                  return function (t) {
                                      return fr(t, e);
                                  };
                              })(e);
                    }
                    var rl = $o(),
                        ol = $o(!0);
                    function il() {
                        return [];
                    }
                    function sl() {
                        return !1;
                    }
                    var al = Ro(function (e, t) {
                            return e + t;
                        }, 0),
                        ll = Bo("ceil"),
                        cl = Ro(function (e, t) {
                            return e / t;
                        }, 1),
                        ul = Bo("floor");
                    var dl,
                        fl = Ro(function (e, t) {
                            return e * t;
                        }, 1),
                        pl = Bo("round"),
                        hl = Ro(function (e, t) {
                            return e - t;
                        }, 0);
                    return (
                        (Nn.after = function (e, t) {
                            if ("function" != typeof t) throw new ve(i);
                            return (
                                (e = oa(e)),
                                function () {
                                    if (--e < 1) return t.apply(this, arguments);
                                }
                            );
                        }),
                        (Nn.ary = vs),
                        (Nn.assign = ca),
                        (Nn.assignIn = ua),
                        (Nn.assignInWith = da),
                        (Nn.assignWith = fa),
                        (Nn.at = pa),
                        (Nn.before = ys),
                        (Nn.bind = bs),
                        (Nn.bindAll = qa),
                        (Nn.bindKey = _s),
                        (Nn.castArray = function () {
                            if (!arguments.length) return [];
                            var e = arguments[0];
                            return Ps(e) ? e : [e];
                        }),
                        (Nn.chain = ns),
                        (Nn.chunk = function (e, t, n) {
                            t = (n ? ci(e, t, n) : void 0 === t) ? 1 : an(oa(t), 0);
                            var o = null == e ? 0 : e.length;
                            if (!o || t < 1) return [];
                            for (var i = 0, s = 0, a = r(Zt(o / t)); i < o; ) a[s++] = Vr(e, i, (i += t));
                            return a;
                        }),
                        (Nn.compact = function (e) {
                            for (var t = -1, n = null == e ? 0 : e.length, r = 0, o = []; ++t < n; ) {
                                var i = e[t];
                                i && (o[r++] = i);
                            }
                            return o;
                        }),
                        (Nn.concat = function () {
                            var e = arguments.length;
                            if (!e) return [];
                            for (var t = r(e - 1), n = arguments[0], o = e; o--; ) t[o - 1] = arguments[o];
                            return ht(Ps(n) ? bo(n) : [n], sr(t, 1));
                        }),
                        (Nn.cond = function (e) {
                            var t = null == e ? 0 : e.length,
                                n = Qo();
                            return (
                                (e = t
                                    ? pt(e, function (e) {
                                          if ("function" != typeof e[1]) throw new ve(i);
                                          return [n(e[0]), e[1]];
                                      })
                                    : []),
                                jr(function (n) {
                                    for (var r = -1; ++r < t; ) {
                                        var o = e[r];
                                        if (it(o[0], this, n)) return it(o[1], this, n);
                                    }
                                })
                            );
                        }),
                        (Nn.conforms = function (e) {
                            return (function (e) {
                                var t = wa(e);
                                return function (n) {
                                    return Qn(n, e, t);
                                };
                            })(Jn(e, 1));
                        }),
                        (Nn.constant = za),
                        (Nn.countBy = is),
                        (Nn.create = function (e, t) {
                            var n = On(e);
                            return null == t ? n : Kn(n, t);
                        }),
                        (Nn.curry = function e(t, n, r) {
                            var o = Ho(t, 8, void 0, void 0, void 0, void 0, void 0, (n = r ? void 0 : n));
                            return (o.placeholder = e.placeholder), o;
                        }),
                        (Nn.curryRight = function e(t, n, r) {
                            var o = Ho(t, 16, void 0, void 0, void 0, void 0, void 0, (n = r ? void 0 : n));
                            return (o.placeholder = e.placeholder), o;
                        }),
                        (Nn.debounce = ws),
                        (Nn.defaults = ha),
                        (Nn.defaultsDeep = ma),
                        (Nn.defer = Cs),
                        (Nn.delay = xs),
                        (Nn.difference = Oi),
                        (Nn.differenceBy = Di),
                        (Nn.differenceWith = Ri),
                        (Nn.drop = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            return r ? Vr(e, (t = n || void 0 === t ? 1 : oa(t)) < 0 ? 0 : t, r) : [];
                        }),
                        (Nn.dropRight = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            return r ? Vr(e, 0, (t = r - (t = n || void 0 === t ? 1 : oa(t))) < 0 ? 0 : t) : [];
                        }),
                        (Nn.dropRightWhile = function (e, t) {
                            return e && e.length ? no(e, Qo(t, 3), !0, !0) : [];
                        }),
                        (Nn.dropWhile = function (e, t) {
                            return e && e.length ? no(e, Qo(t, 3), !0) : [];
                        }),
                        (Nn.fill = function (e, t, n, r) {
                            var o = null == e ? 0 : e.length;
                            return o
                                ? (n && "number" != typeof n && ci(e, t, n) && ((n = 0), (r = o)),
                                  (function (e, t, n, r) {
                                      var o = e.length;
                                      for ((n = oa(n)) < 0 && (n = -n > o ? 0 : o + n), (r = void 0 === r || r > o ? o : oa(r)) < 0 && (r += o), r = n > r ? 0 : ia(r); n < r; ) e[n++] = t;
                                      return e;
                                  })(e, t, n, r))
                                : [];
                        }),
                        (Nn.filter = function (e, t) {
                            return (Ps(e) ? ut : ir)(e, Qo(t, 3));
                        }),
                        (Nn.flatMap = function (e, t) {
                            return sr(ps(e, t), 1);
                        }),
                        (Nn.flatMapDeep = function (e, t) {
                            return sr(ps(e, t), 1 / 0);
                        }),
                        (Nn.flatMapDepth = function (e, t, n) {
                            return (n = void 0 === n ? 1 : oa(n)), sr(ps(e, t), n);
                        }),
                        (Nn.flatten = $i),
                        (Nn.flattenDeep = function (e) {
                            return (null == e ? 0 : e.length) ? sr(e, 1 / 0) : [];
                        }),
                        (Nn.flattenDepth = function (e, t) {
                            return (null == e ? 0 : e.length) ? sr(e, (t = void 0 === t ? 1 : oa(t))) : [];
                        }),
                        (Nn.flip = function (e) {
                            return Ho(e, 512);
                        }),
                        (Nn.flow = Wa),
                        (Nn.flowRight = Va),
                        (Nn.fromPairs = function (e) {
                            for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n; ) {
                                var o = e[t];
                                r[o[0]] = o[1];
                            }
                            return r;
                        }),
                        (Nn.functions = function (e) {
                            return null == e ? [] : dr(e, wa(e));
                        }),
                        (Nn.functionsIn = function (e) {
                            return null == e ? [] : dr(e, Ca(e));
                        }),
                        (Nn.groupBy = us),
                        (Nn.initial = function (e) {
                            return (null == e ? 0 : e.length) ? Vr(e, 0, -1) : [];
                        }),
                        (Nn.intersection = Ii),
                        (Nn.intersectionBy = Bi),
                        (Nn.intersectionWith = ji),
                        (Nn.invert = ya),
                        (Nn.invertBy = ba),
                        (Nn.invokeMap = ds),
                        (Nn.iteratee = Ga),
                        (Nn.keyBy = fs),
                        (Nn.keys = wa),
                        (Nn.keysIn = Ca),
                        (Nn.map = ps),
                        (Nn.mapKeys = function (e, t) {
                            var n = {};
                            return (
                                (t = Qo(t, 3)),
                                cr(e, function (e, r, o) {
                                    Gn(n, t(e, r, o), e);
                                }),
                                n
                            );
                        }),
                        (Nn.mapValues = function (e, t) {
                            var n = {};
                            return (
                                (t = Qo(t, 3)),
                                cr(e, function (e, r, o) {
                                    Gn(n, r, t(e, r, o));
                                }),
                                n
                            );
                        }),
                        (Nn.matches = function (e) {
                            return Nr(Jn(e, 1));
                        }),
                        (Nn.matchesProperty = function (e, t) {
                            return Or(e, Jn(t, 1));
                        }),
                        (Nn.memoize = Es),
                        (Nn.merge = xa),
                        (Nn.mergeWith = Ea),
                        (Nn.method = Ya),
                        (Nn.methodOf = Xa),
                        (Nn.mixin = Ja),
                        (Nn.negate = ks),
                        (Nn.nthArg = function (e) {
                            return (
                                (e = oa(e)),
                                jr(function (t) {
                                    return Rr(t, e);
                                })
                            );
                        }),
                        (Nn.omit = ka),
                        (Nn.omitBy = function (e, t) {
                            return Sa(e, ks(Qo(t)));
                        }),
                        (Nn.once = function (e) {
                            return ys(2, e);
                        }),
                        (Nn.orderBy = function (e, t, n, r) {
                            return null == e ? [] : (Ps(t) || (t = null == t ? [] : [t]), Ps((n = r ? void 0 : n)) || (n = null == n ? [] : [n]), Lr(e, t, n));
                        }),
                        (Nn.over = Za),
                        (Nn.overArgs = As),
                        (Nn.overEvery = el),
                        (Nn.overSome = tl),
                        (Nn.partial = Ss),
                        (Nn.partialRight = Ts),
                        (Nn.partition = hs),
                        (Nn.pick = Aa),
                        (Nn.pickBy = Sa),
                        (Nn.property = nl),
                        (Nn.propertyOf = function (e) {
                            return function (t) {
                                return null == e ? void 0 : fr(e, t);
                            };
                        }),
                        (Nn.pull = Hi),
                        (Nn.pullAll = Ui),
                        (Nn.pullAllBy = function (e, t, n) {
                            return e && e.length && t && t.length ? $r(e, t, Qo(n, 2)) : e;
                        }),
                        (Nn.pullAllWith = function (e, t, n) {
                            return e && e.length && t && t.length ? $r(e, t, void 0, n) : e;
                        }),
                        (Nn.pullAt = qi),
                        (Nn.range = rl),
                        (Nn.rangeRight = ol),
                        (Nn.rearg = Ns),
                        (Nn.reject = function (e, t) {
                            return (Ps(e) ? ut : ir)(e, ks(Qo(t, 3)));
                        }),
                        (Nn.remove = function (e, t) {
                            var n = [];
                            if (!e || !e.length) return n;
                            var r = -1,
                                o = [],
                                i = e.length;
                            for (t = Qo(t, 3); ++r < i; ) {
                                var s = e[r];
                                t(s, r, e) && (n.push(s), o.push(r));
                            }
                            return Mr(e, o), n;
                        }),
                        (Nn.rest = function (e, t) {
                            if ("function" != typeof e) throw new ve(i);
                            return jr(e, (t = void 0 === t ? t : oa(t)));
                        }),
                        (Nn.reverse = zi),
                        (Nn.sampleSize = function (e, t, n) {
                            return (t = (n ? ci(e, t, n) : void 0 === t) ? 1 : oa(t)), (Ps(e) ? Hn : Hr)(e, t);
                        }),
                        (Nn.set = function (e, t, n) {
                            return null == e ? e : Ur(e, t, n);
                        }),
                        (Nn.setWith = function (e, t, n, r) {
                            return (r = "function" == typeof r ? r : void 0), null == e ? e : Ur(e, t, n, r);
                        }),
                        (Nn.shuffle = function (e) {
                            return (Ps(e) ? Un : Wr)(e);
                        }),
                        (Nn.slice = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            return r ? (n && "number" != typeof n && ci(e, t, n) ? ((t = 0), (n = r)) : ((t = null == t ? 0 : oa(t)), (n = void 0 === n ? r : oa(n))), Vr(e, t, n)) : [];
                        }),
                        (Nn.sortBy = ms),
                        (Nn.sortedUniq = function (e) {
                            return e && e.length ? Xr(e) : [];
                        }),
                        (Nn.sortedUniqBy = function (e, t) {
                            return e && e.length ? Xr(e, Qo(t, 2)) : [];
                        }),
                        (Nn.split = function (e, t, n) {
                            return (
                                n && "number" != typeof n && ci(e, t, n) && (t = n = void 0),
                                (n = void 0 === n ? 4294967295 : n >>> 0) ? ((e = la(e)) && ("string" == typeof t || (null != t && !Ys(t))) && !(t = Qr(t)) && Ft(e) ? uo(Kt(e), 0, n) : e.split(t, n)) : []
                            );
                        }),
                        (Nn.spread = function (e, t) {
                            if ("function" != typeof e) throw new ve(i);
                            return (
                                (t = null == t ? 0 : an(oa(t), 0)),
                                jr(function (n) {
                                    var r = n[t],
                                        o = uo(n, 0, t);
                                    return r && ht(o, r), it(e, this, o);
                                })
                            );
                        }),
                        (Nn.tail = function (e) {
                            var t = null == e ? 0 : e.length;
                            return t ? Vr(e, 1, t) : [];
                        }),
                        (Nn.take = function (e, t, n) {
                            return e && e.length ? Vr(e, 0, (t = n || void 0 === t ? 1 : oa(t)) < 0 ? 0 : t) : [];
                        }),
                        (Nn.takeRight = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            return r ? Vr(e, (t = r - (t = n || void 0 === t ? 1 : oa(t))) < 0 ? 0 : t, r) : [];
                        }),
                        (Nn.takeRightWhile = function (e, t) {
                            return e && e.length ? no(e, Qo(t, 3), !1, !0) : [];
                        }),
                        (Nn.takeWhile = function (e, t) {
                            return e && e.length ? no(e, Qo(t, 3)) : [];
                        }),
                        (Nn.tap = function (e, t) {
                            return t(e), e;
                        }),
                        (Nn.throttle = function (e, t, n) {
                            var r = !0,
                                o = !0;
                            if ("function" != typeof e) throw new ve(i);
                            return zs(n) && ((r = "leading" in n ? !!n.leading : r), (o = "trailing" in n ? !!n.trailing : o)), ws(e, t, { leading: r, maxWait: t, trailing: o });
                        }),
                        (Nn.thru = rs),
                        (Nn.toArray = na),
                        (Nn.toPairs = Ta),
                        (Nn.toPairsIn = Na),
                        (Nn.toPath = function (e) {
                            return Ps(e) ? pt(e, Si) : Qs(e) ? [e] : bo(Ai(la(e)));
                        }),
                        (Nn.toPlainObject = aa),
                        (Nn.transform = function (e, t, n) {
                            var r = Ps(e),
                                o = r || Bs(e) || Zs(e);
                            if (((t = Qo(t, 4)), null == n)) {
                                var i = e && e.constructor;
                                n = o ? (r ? new i() : []) : zs(e) && Hs(i) ? On(Ue(e)) : {};
                            }
                            return (
                                (o ? at : cr)(e, function (e, r, o) {
                                    return t(n, e, r, o);
                                }),
                                n
                            );
                        }),
                        (Nn.unary = function (e) {
                            return vs(e, 1);
                        }),
                        (Nn.union = Wi),
                        (Nn.unionBy = Vi),
                        (Nn.unionWith = Ki),
                        (Nn.uniq = function (e) {
                            return e && e.length ? Zr(e) : [];
                        }),
                        (Nn.uniqBy = function (e, t) {
                            return e && e.length ? Zr(e, Qo(t, 2)) : [];
                        }),
                        (Nn.uniqWith = function (e, t) {
                            return (t = "function" == typeof t ? t : void 0), e && e.length ? Zr(e, void 0, t) : [];
                        }),
                        (Nn.unset = function (e, t) {
                            return null == e || eo(e, t);
                        }),
                        (Nn.unzip = Gi),
                        (Nn.unzipWith = Yi),
                        (Nn.update = function (e, t, n) {
                            return null == e ? e : to(e, t, ao(n));
                        }),
                        (Nn.updateWith = function (e, t, n, r) {
                            return (r = "function" == typeof r ? r : void 0), null == e ? e : to(e, t, ao(n), r);
                        }),
                        (Nn.values = Oa),
                        (Nn.valuesIn = function (e) {
                            return null == e ? [] : Rt(e, Ca(e));
                        }),
                        (Nn.without = Xi),
                        (Nn.words = Ha),
                        (Nn.wrap = function (e, t) {
                            return Ss(ao(t), e);
                        }),
                        (Nn.xor = Ji),
                        (Nn.xorBy = Qi),
                        (Nn.xorWith = Zi),
                        (Nn.zip = es),
                        (Nn.zipObject = function (e, t) {
                            return io(e || [], t || [], zn);
                        }),
                        (Nn.zipObjectDeep = function (e, t) {
                            return io(e || [], t || [], Ur);
                        }),
                        (Nn.zipWith = ts),
                        (Nn.entries = Ta),
                        (Nn.entriesIn = Na),
                        (Nn.extend = ua),
                        (Nn.extendWith = da),
                        Ja(Nn, Nn),
                        (Nn.add = al),
                        (Nn.attempt = Ua),
                        (Nn.camelCase = Da),
                        (Nn.capitalize = Ra),
                        (Nn.ceil = ll),
                        (Nn.clamp = function (e, t, n) {
                            return void 0 === n && ((n = t), (t = void 0)), void 0 !== n && (n = (n = sa(n)) == n ? n : 0), void 0 !== t && (t = (t = sa(t)) == t ? t : 0), Xn(sa(e), t, n);
                        }),
                        (Nn.clone = function (e) {
                            return Jn(e, 4);
                        }),
                        (Nn.cloneDeep = function (e) {
                            return Jn(e, 5);
                        }),
                        (Nn.cloneDeepWith = function (e, t) {
                            return Jn(e, 5, (t = "function" == typeof t ? t : void 0));
                        }),
                        (Nn.cloneWith = function (e, t) {
                            return Jn(e, 4, (t = "function" == typeof t ? t : void 0));
                        }),
                        (Nn.conformsTo = function (e, t) {
                            return null == t || Qn(e, t, wa(t));
                        }),
                        (Nn.deburr = La),
                        (Nn.defaultTo = function (e, t) {
                            return null == e || e != e ? t : e;
                        }),
                        (Nn.divide = cl),
                        (Nn.endsWith = function (e, t, n) {
                            (e = la(e)), (t = Qr(t));
                            var r = e.length,
                                o = (n = void 0 === n ? r : Xn(oa(n), 0, r));
                            return (n -= t.length) >= 0 && e.slice(n, o) == t;
                        }),
                        (Nn.eq = Os),
                        (Nn.escape = function (e) {
                            return (e = la(e)) && j.test(e) ? e.replace(I, Bt) : e;
                        }),
                        (Nn.escapeRegExp = function (e) {
                            return (e = la(e)) && K.test(e) ? e.replace(V, "\\$&") : e;
                        }),
                        (Nn.every = function (e, t, n) {
                            var r = Ps(e) ? ct : rr;
                            return n && ci(e, t, n) && (t = void 0), r(e, Qo(t, 3));
                        }),
                        (Nn.find = ss),
                        (Nn.findIndex = Li),
                        (Nn.findKey = function (e, t) {
                            return bt(e, Qo(t, 3), cr);
                        }),
                        (Nn.findLast = as),
                        (Nn.findLastIndex = Pi),
                        (Nn.findLastKey = function (e, t) {
                            return bt(e, Qo(t, 3), ur);
                        }),
                        (Nn.floor = ul),
                        (Nn.forEach = ls),
                        (Nn.forEachRight = cs),
                        (Nn.forIn = function (e, t) {
                            return null == e ? e : ar(e, Qo(t, 3), Ca);
                        }),
                        (Nn.forInRight = function (e, t) {
                            return null == e ? e : lr(e, Qo(t, 3), Ca);
                        }),
                        (Nn.forOwn = function (e, t) {
                            return e && cr(e, Qo(t, 3));
                        }),
                        (Nn.forOwnRight = function (e, t) {
                            return e && ur(e, Qo(t, 3));
                        }),
                        (Nn.get = ga),
                        (Nn.gt = Ds),
                        (Nn.gte = Rs),
                        (Nn.has = function (e, t) {
                            return null != e && ii(e, t, gr);
                        }),
                        (Nn.hasIn = va),
                        (Nn.head = Mi),
                        (Nn.identity = Ka),
                        (Nn.includes = function (e, t, n, r) {
                            (e = Ms(e) ? e : Oa(e)), (n = n && !r ? oa(n) : 0);
                            var o = e.length;
                            return n < 0 && (n = an(o + n, 0)), Js(e) ? n <= o && e.indexOf(t, n) > -1 : !!o && wt(e, t, n) > -1;
                        }),
                        (Nn.indexOf = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            if (!r) return -1;
                            var o = null == n ? 0 : oa(n);
                            return o < 0 && (o = an(r + o, 0)), wt(e, t, o);
                        }),
                        (Nn.inRange = function (e, t, n) {
                            return (
                                (t = ra(t)),
                                void 0 === n ? ((n = t), (t = 0)) : (n = ra(n)),
                                (function (e, t, n) {
                                    return e >= ln(t, n) && e < an(t, n);
                                })((e = sa(e)), t, n)
                            );
                        }),
                        (Nn.invoke = _a),
                        (Nn.isArguments = Ls),
                        (Nn.isArray = Ps),
                        (Nn.isArrayBuffer = $s),
                        (Nn.isArrayLike = Ms),
                        (Nn.isArrayLikeObject = Is),
                        (Nn.isBoolean = function (e) {
                            return !0 === e || !1 === e || (Ws(e) && hr(e) == u);
                        }),
                        (Nn.isBuffer = Bs),
                        (Nn.isDate = js),
                        (Nn.isElement = function (e) {
                            return Ws(e) && 1 === e.nodeType && !Gs(e);
                        }),
                        (Nn.isEmpty = function (e) {
                            if (null == e) return !0;
                            if (Ms(e) && (Ps(e) || "string" == typeof e || "function" == typeof e.splice || Bs(e) || Zs(e) || Ls(e))) return !e.length;
                            var t = oi(e);
                            if (t == m || t == b) return !e.size;
                            if (pi(e)) return !kr(e).length;
                            for (var n in e) if (xe.call(e, n)) return !1;
                            return !0;
                        }),
                        (Nn.isEqual = function (e, t) {
                            return wr(e, t);
                        }),
                        (Nn.isEqualWith = function (e, t, n) {
                            var r = (n = "function" == typeof n ? n : void 0) ? n(e, t) : void 0;
                            return void 0 === r ? wr(e, t, void 0, n) : !!r;
                        }),
                        (Nn.isError = Fs),
                        (Nn.isFinite = function (e) {
                            return "number" == typeof e && rn(e);
                        }),
                        (Nn.isFunction = Hs),
                        (Nn.isInteger = Us),
                        (Nn.isLength = qs),
                        (Nn.isMap = Vs),
                        (Nn.isMatch = function (e, t) {
                            return e === t || Cr(e, t, ei(t));
                        }),
                        (Nn.isMatchWith = function (e, t, n) {
                            return (n = "function" == typeof n ? n : void 0), Cr(e, t, ei(t), n);
                        }),
                        (Nn.isNaN = function (e) {
                            return Ks(e) && e != +e;
                        }),
                        (Nn.isNative = function (e) {
                            if (fi(e)) throw new Y("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
                            return xr(e);
                        }),
                        (Nn.isNil = function (e) {
                            return null == e;
                        }),
                        (Nn.isNull = function (e) {
                            return null === e;
                        }),
                        (Nn.isNumber = Ks),
                        (Nn.isObject = zs),
                        (Nn.isObjectLike = Ws),
                        (Nn.isPlainObject = Gs),
                        (Nn.isRegExp = Ys),
                        (Nn.isSafeInteger = function (e) {
                            return Us(e) && e >= -9007199254740991 && e <= 9007199254740991;
                        }),
                        (Nn.isSet = Xs),
                        (Nn.isString = Js),
                        (Nn.isSymbol = Qs),
                        (Nn.isTypedArray = Zs),
                        (Nn.isUndefined = function (e) {
                            return void 0 === e;
                        }),
                        (Nn.isWeakMap = function (e) {
                            return Ws(e) && oi(e) == C;
                        }),
                        (Nn.isWeakSet = function (e) {
                            return Ws(e) && "[object WeakSet]" == hr(e);
                        }),
                        (Nn.join = function (e, t) {
                            return null == e ? "" : on.call(e, t);
                        }),
                        (Nn.kebabCase = Pa),
                        (Nn.last = Fi),
                        (Nn.lastIndexOf = function (e, t, n) {
                            var r = null == e ? 0 : e.length;
                            if (!r) return -1;
                            var o = r;
                            return (
                                void 0 !== n && (o = (o = oa(n)) < 0 ? an(r + o, 0) : ln(o, r - 1)),
                                t == t
                                    ? (function (e, t, n) {
                                          for (var r = n + 1; r--; ) if (e[r] === t) return r;
                                          return r;
                                      })(e, t, o)
                                    : _t(e, xt, o, !0)
                            );
                        }),
                        (Nn.lowerCase = $a),
                        (Nn.lowerFirst = Ma),
                        (Nn.lt = ea),
                        (Nn.lte = ta),
                        (Nn.max = function (e) {
                            return e && e.length ? or(e, Ka, mr) : void 0;
                        }),
                        (Nn.maxBy = function (e, t) {
                            return e && e.length ? or(e, Qo(t, 2), mr) : void 0;
                        }),
                        (Nn.mean = function (e) {
                            return Et(e, Ka);
                        }),
                        (Nn.meanBy = function (e, t) {
                            return Et(e, Qo(t, 2));
                        }),
                        (Nn.min = function (e) {
                            return e && e.length ? or(e, Ka, Sr) : void 0;
                        }),
                        (Nn.minBy = function (e, t) {
                            return e && e.length ? or(e, Qo(t, 2), Sr) : void 0;
                        }),
                        (Nn.stubArray = il),
                        (Nn.stubFalse = sl),
                        (Nn.stubObject = function () {
                            return {};
                        }),
                        (Nn.stubString = function () {
                            return "";
                        }),
                        (Nn.stubTrue = function () {
                            return !0;
                        }),
                        (Nn.multiply = fl),
                        (Nn.nth = function (e, t) {
                            return e && e.length ? Rr(e, oa(t)) : void 0;
                        }),
                        (Nn.noConflict = function () {
                            return Ke._ === this && (Ke._ = Te), this;
                        }),
                        (Nn.noop = Qa),
                        (Nn.now = gs),
                        (Nn.pad = function (e, t, n) {
                            e = la(e);
                            var r = (t = oa(t)) ? Vt(e) : 0;
                            if (!t || r >= t) return e;
                            var o = (t - r) / 2;
                            return Po(en(o), n) + e + Po(Zt(o), n);
                        }),
                        (Nn.padEnd = function (e, t, n) {
                            e = la(e);
                            var r = (t = oa(t)) ? Vt(e) : 0;
                            return t && r < t ? e + Po(t - r, n) : e;
                        }),
                        (Nn.padStart = function (e, t, n) {
                            e = la(e);
                            var r = (t = oa(t)) ? Vt(e) : 0;
                            return t && r < t ? Po(t - r, n) + e : e;
                        }),
                        (Nn.parseInt = function (e, t, n) {
                            return n || null == t ? (t = 0) : t && (t = +t), un(la(e).replace(G, ""), t || 0);
                        }),
                        (Nn.random = function (e, t, n) {
                            if (
                                (n && "boolean" != typeof n && ci(e, t, n) && (t = n = void 0),
                                void 0 === n && ("boolean" == typeof t ? ((n = t), (t = void 0)) : "boolean" == typeof e && ((n = e), (e = void 0))),
                                void 0 === e && void 0 === t ? ((e = 0), (t = 1)) : ((e = ra(e)), void 0 === t ? ((t = e), (e = 0)) : (t = ra(t))),
                                e > t)
                            ) {
                                var r = e;
                                (e = t), (t = r);
                            }
                            if (n || e % 1 || t % 1) {
                                var o = dn();
                                return ln(e + o * (t - e + qe("1e-" + ((o + "").length - 1))), t);
                            }
                            return Ir(e, t);
                        }),
                        (Nn.reduce = function (e, t, n) {
                            var r = Ps(e) ? mt : St,
                                o = arguments.length < 3;
                            return r(e, Qo(t, 4), n, o, tr);
                        }),
                        (Nn.reduceRight = function (e, t, n) {
                            var r = Ps(e) ? gt : St,
                                o = arguments.length < 3;
                            return r(e, Qo(t, 4), n, o, nr);
                        }),
                        (Nn.repeat = function (e, t, n) {
                            return (t = (n ? ci(e, t, n) : void 0 === t) ? 1 : oa(t)), Br(la(e), t);
                        }),
                        (Nn.replace = function () {
                            var e = arguments,
                                t = la(e[0]);
                            return e.length < 3 ? t : t.replace(e[1], e[2]);
                        }),
                        (Nn.result = function (e, t, n) {
                            var r = -1,
                                o = (t = lo(t, e)).length;
                            for (o || ((o = 1), (e = void 0)); ++r < o; ) {
                                var i = null == e ? void 0 : e[Si(t[r])];
                                void 0 === i && ((r = o), (i = n)), (e = Hs(i) ? i.call(e) : i);
                            }
                            return e;
                        }),
                        (Nn.round = pl),
                        (Nn.runInContext = e),
                        (Nn.sample = function (e) {
                            return (Ps(e) ? Fn : Fr)(e);
                        }),
                        (Nn.size = function (e) {
                            if (null == e) return 0;
                            if (Ms(e)) return Js(e) ? Vt(e) : e.length;
                            var t = oi(e);
                            return t == m || t == b ? e.size : kr(e).length;
                        }),
                        (Nn.snakeCase = Ia),
                        (Nn.some = function (e, t, n) {
                            var r = Ps(e) ? vt : Kr;
                            return n && ci(e, t, n) && (t = void 0), r(e, Qo(t, 3));
                        }),
                        (Nn.sortedIndex = function (e, t) {
                            return Gr(e, t);
                        }),
                        (Nn.sortedIndexBy = function (e, t, n) {
                            return Yr(e, t, Qo(n, 2));
                        }),
                        (Nn.sortedIndexOf = function (e, t) {
                            var n = null == e ? 0 : e.length;
                            if (n) {
                                var r = Gr(e, t);
                                if (r < n && Os(e[r], t)) return r;
                            }
                            return -1;
                        }),
                        (Nn.sortedLastIndex = function (e, t) {
                            return Gr(e, t, !0);
                        }),
                        (Nn.sortedLastIndexBy = function (e, t, n) {
                            return Yr(e, t, Qo(n, 2), !0);
                        }),
                        (Nn.sortedLastIndexOf = function (e, t) {
                            if (null == e ? 0 : e.length) {
                                var n = Gr(e, t, !0) - 1;
                                if (Os(e[n], t)) return n;
                            }
                            return -1;
                        }),
                        (Nn.startCase = Ba),
                        (Nn.startsWith = function (e, t, n) {
                            return (e = la(e)), (n = null == n ? 0 : Xn(oa(n), 0, e.length)), (t = Qr(t)), e.slice(n, n + t.length) == t;
                        }),
                        (Nn.subtract = hl),
                        (Nn.sum = function (e) {
                            return e && e.length ? Tt(e, Ka) : 0;
                        }),
                        (Nn.sumBy = function (e, t) {
                            return e && e.length ? Tt(e, Qo(t, 2)) : 0;
                        }),
                        (Nn.template = function (e, t, n) {
                            var r = Nn.templateSettings;
                            n && ci(e, t, n) && (t = void 0), (e = la(e)), (t = da({}, t, r, Uo));
                            var o,
                                i,
                                s = da({}, t.imports, r.imports, Uo),
                                a = wa(s),
                                l = Rt(s, a),
                                c = 0,
                                u = t.interpolate || ue,
                                d = "__p += '",
                                f = me((t.escape || ue).source + "|" + u.source + "|" + (u === U ? ne : ue).source + "|" + (t.evaluate || ue).source + "|$", "g"),
                                p = "//# sourceURL=" + (xe.call(t, "sourceURL") ? (t.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++je + "]") + "\n";
                            e.replace(f, function (t, n, r, s, a, l) {
                                return (
                                    r || (r = s),
                                    (d += e.slice(c, l).replace(de, jt)),
                                    n && ((o = !0), (d += "' +\n__e(" + n + ") +\n'")),
                                    a && ((i = !0), (d += "';\n" + a + ";\n__p += '")),
                                    r && (d += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"),
                                    (c = l + t.length),
                                    t
                                );
                            }),
                                (d += "';\n");
                            var h = xe.call(t, "variable") && t.variable;
                            if (h) {
                                if (ee.test(h)) throw new Y("Invalid `variable` option passed into `_.template`");
                            } else d = "with (obj) {\n" + d + "\n}\n";
                            (d = (i ? d.replace(L, "") : d).replace(P, "$1").replace($, "$1;")),
                                (d =
                                    "function(" +
                                    (h || "obj") +
                                    ") {\n" +
                                    (h ? "" : "obj || (obj = {});\n") +
                                    "var __t, __p = ''" +
                                    (o ? ", __e = _.escape" : "") +
                                    (i ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") +
                                    d +
                                    "return __p\n}");
                            var m = Ua(function () {
                                return fe(a, p + "return " + d).apply(void 0, l);
                            });
                            if (((m.source = d), Fs(m))) throw m;
                            return m;
                        }),
                        (Nn.times = function (e, t) {
                            if ((e = oa(e)) < 1 || e > 9007199254740991) return [];
                            var n = 4294967295,
                                r = ln(e, 4294967295);
                            e -= 4294967295;
                            for (var o = Nt(r, (t = Qo(t))); ++n < e; ) t(n);
                            return o;
                        }),
                        (Nn.toFinite = ra),
                        (Nn.toInteger = oa),
                        (Nn.toLength = ia),
                        (Nn.toLower = function (e) {
                            return la(e).toLowerCase();
                        }),
                        (Nn.toNumber = sa),
                        (Nn.toSafeInteger = function (e) {
                            return e ? Xn(oa(e), -9007199254740991, 9007199254740991) : 0 === e ? e : 0;
                        }),
                        (Nn.toString = la),
                        (Nn.toUpper = function (e) {
                            return la(e).toUpperCase();
                        }),
                        (Nn.trim = function (e, t, n) {
                            if ((e = la(e)) && (n || void 0 === t)) return Ot(e);
                            if (!e || !(t = Qr(t))) return e;
                            var r = Kt(e),
                                o = Kt(t);
                            return uo(r, Pt(r, o), $t(r, o) + 1).join("");
                        }),
                        (Nn.trimEnd = function (e, t, n) {
                            if ((e = la(e)) && (n || void 0 === t)) return e.slice(0, Gt(e) + 1);
                            if (!e || !(t = Qr(t))) return e;
                            var r = Kt(e);
                            return uo(r, 0, $t(r, Kt(t)) + 1).join("");
                        }),
                        (Nn.trimStart = function (e, t, n) {
                            if ((e = la(e)) && (n || void 0 === t)) return e.replace(G, "");
                            if (!e || !(t = Qr(t))) return e;
                            var r = Kt(e);
                            return uo(r, Pt(r, Kt(t))).join("");
                        }),
                        (Nn.truncate = function (e, t) {
                            var n = 30,
                                r = "...";
                            if (zs(t)) {
                                var o = "separator" in t ? t.separator : o;
                                (n = "length" in t ? oa(t.length) : n), (r = "omission" in t ? Qr(t.omission) : r);
                            }
                            var i = (e = la(e)).length;
                            if (Ft(e)) {
                                var s = Kt(e);
                                i = s.length;
                            }
                            if (n >= i) return e;
                            var a = n - Vt(r);
                            if (a < 1) return r;
                            var l = s ? uo(s, 0, a).join("") : e.slice(0, a);
                            if (void 0 === o) return l + r;
                            if ((s && (a += l.length - a), Ys(o))) {
                                if (e.slice(a).search(o)) {
                                    var c,
                                        u = l;
                                    for (o.global || (o = me(o.source, la(re.exec(o)) + "g")), o.lastIndex = 0; (c = o.exec(u)); ) var d = c.index;
                                    l = l.slice(0, void 0 === d ? a : d);
                                }
                            } else if (e.indexOf(Qr(o), a) != a) {
                                var f = l.lastIndexOf(o);
                                f > -1 && (l = l.slice(0, f));
                            }
                            return l + r;
                        }),
                        (Nn.unescape = function (e) {
                            return (e = la(e)) && B.test(e) ? e.replace(M, Yt) : e;
                        }),
                        (Nn.uniqueId = function (e) {
                            var t = ++Ee;
                            return la(e) + t;
                        }),
                        (Nn.upperCase = ja),
                        (Nn.upperFirst = Fa),
                        (Nn.each = ls),
                        (Nn.eachRight = cs),
                        (Nn.first = Mi),
                        Ja(
                            Nn,
                            ((dl = {}),
                            cr(Nn, function (e, t) {
                                xe.call(Nn.prototype, t) || (dl[t] = e);
                            }),
                            dl),
                            { chain: !1 }
                        ),
                        (Nn.VERSION = "4.17.21"),
                        at(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function (e) {
                            Nn[e].placeholder = Nn;
                        }),
                        at(["drop", "take"], function (e, t) {
                            (Ln.prototype[e] = function (n) {
                                n = void 0 === n ? 1 : an(oa(n), 0);
                                var r = this.__filtered__ && !t ? new Ln(this) : this.clone();
                                return r.__filtered__ ? (r.__takeCount__ = ln(n, r.__takeCount__)) : r.__views__.push({ size: ln(n, 4294967295), type: e + (r.__dir__ < 0 ? "Right" : "") }), r;
                            }),
                                (Ln.prototype[e + "Right"] = function (t) {
                                    return this.reverse()[e](t).reverse();
                                });
                        }),
                        at(["filter", "map", "takeWhile"], function (e, t) {
                            var n = t + 1,
                                r = 1 == n || 3 == n;
                            Ln.prototype[e] = function (e) {
                                var t = this.clone();
                                return t.__iteratees__.push({ iteratee: Qo(e, 3), type: n }), (t.__filtered__ = t.__filtered__ || r), t;
                            };
                        }),
                        at(["head", "last"], function (e, t) {
                            var n = "take" + (t ? "Right" : "");
                            Ln.prototype[e] = function () {
                                return this[n](1).value()[0];
                            };
                        }),
                        at(["initial", "tail"], function (e, t) {
                            var n = "drop" + (t ? "" : "Right");
                            Ln.prototype[e] = function () {
                                return this.__filtered__ ? new Ln(this) : this[n](1);
                            };
                        }),
                        (Ln.prototype.compact = function () {
                            return this.filter(Ka);
                        }),
                        (Ln.prototype.find = function (e) {
                            return this.filter(e).head();
                        }),
                        (Ln.prototype.findLast = function (e) {
                            return this.reverse().find(e);
                        }),
                        (Ln.prototype.invokeMap = jr(function (e, t) {
                            return "function" == typeof e
                                ? new Ln(this)
                                : this.map(function (n) {
                                      return br(n, e, t);
                                  });
                        })),
                        (Ln.prototype.reject = function (e) {
                            return this.filter(ks(Qo(e)));
                        }),
                        (Ln.prototype.slice = function (e, t) {
                            e = oa(e);
                            var n = this;
                            return n.__filtered__ && (e > 0 || t < 0) ? new Ln(n) : (e < 0 ? (n = n.takeRight(-e)) : e && (n = n.drop(e)), void 0 !== t && (n = (t = oa(t)) < 0 ? n.dropRight(-t) : n.take(t - e)), n);
                        }),
                        (Ln.prototype.takeRightWhile = function (e) {
                            return this.reverse().takeWhile(e).reverse();
                        }),
                        (Ln.prototype.toArray = function () {
                            return this.take(4294967295);
                        }),
                        cr(Ln.prototype, function (e, t) {
                            var n = /^(?:filter|find|map|reject)|While$/.test(t),
                                r = /^(?:head|last)$/.test(t),
                                o = Nn[r ? "take" + ("last" == t ? "Right" : "") : t],
                                i = r || /^find/.test(t);
                            o &&
                                (Nn.prototype[t] = function () {
                                    var t = this.__wrapped__,
                                        s = r ? [1] : arguments,
                                        a = t instanceof Ln,
                                        l = s[0],
                                        c = a || Ps(t),
                                        u = function (e) {
                                            var t = o.apply(Nn, ht([e], s));
                                            return r && d ? t[0] : t;
                                        };
                                    c && n && "function" == typeof l && 1 != l.length && (a = c = !1);
                                    var d = this.__chain__,
                                        f = !!this.__actions__.length,
                                        p = i && !d,
                                        h = a && !f;
                                    if (!i && c) {
                                        t = h ? t : new Ln(this);
                                        var m = e.apply(t, s);
                                        return m.__actions__.push({ func: rs, args: [u], thisArg: void 0 }), new Rn(m, d);
                                    }
                                    return p && h ? e.apply(this, s) : ((m = this.thru(u)), p ? (r ? m.value()[0] : m.value()) : m);
                                });
                        }),
                        at(["pop", "push", "shift", "sort", "splice", "unshift"], function (e) {
                            var t = ye[e],
                                n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru",
                                r = /^(?:pop|shift)$/.test(e);
                            Nn.prototype[e] = function () {
                                var e = arguments;
                                if (r && !this.__chain__) {
                                    var o = this.value();
                                    return t.apply(Ps(o) ? o : [], e);
                                }
                                return this[n](function (n) {
                                    return t.apply(Ps(n) ? n : [], e);
                                });
                            };
                        }),
                        cr(Ln.prototype, function (e, t) {
                            var n = Nn[t];
                            if (n) {
                                var r = n.name + "";
                                xe.call(_n, r) || (_n[r] = []), _n[r].push({ name: t, func: n });
                            }
                        }),
                        (_n[Oo(void 0, 2).name] = [{ name: "wrapper", func: void 0 }]),
                        (Ln.prototype.clone = function () {
                            var e = new Ln(this.__wrapped__);
                            return (
                                (e.__actions__ = bo(this.__actions__)),
                                (e.__dir__ = this.__dir__),
                                (e.__filtered__ = this.__filtered__),
                                (e.__iteratees__ = bo(this.__iteratees__)),
                                (e.__takeCount__ = this.__takeCount__),
                                (e.__views__ = bo(this.__views__)),
                                e
                            );
                        }),
                        (Ln.prototype.reverse = function () {
                            if (this.__filtered__) {
                                var e = new Ln(this);
                                (e.__dir__ = -1), (e.__filtered__ = !0);
                            } else (e = this.clone()).__dir__ *= -1;
                            return e;
                        }),
                        (Ln.prototype.value = function () {
                            var e = this.__wrapped__.value(),
                                t = this.__dir__,
                                n = Ps(e),
                                r = t < 0,
                                o = n ? e.length : 0,
                                i = (function (e, t, n) {
                                    var r = -1,
                                        o = n.length;
                                    for (; ++r < o; ) {
                                        var i = n[r],
                                            s = i.size;
                                        switch (i.type) {
                                            case "drop":
                                                e += s;
                                                break;
                                            case "dropRight":
                                                t -= s;
                                                break;
                                            case "take":
                                                t = ln(t, e + s);
                                                break;
                                            case "takeRight":
                                                e = an(e, t - s);
                                        }
                                    }
                                    return { start: e, end: t };
                                })(0, o, this.__views__),
                                s = i.start,
                                a = i.end,
                                l = a - s,
                                c = r ? a : s - 1,
                                u = this.__iteratees__,
                                d = u.length,
                                f = 0,
                                p = ln(l, this.__takeCount__);
                            if (!n || (!r && o == l && p == l)) return ro(e, this.__actions__);
                            var h = [];
                            e: for (; l-- && f < p; ) {
                                for (var m = -1, g = e[(c += t)]; ++m < d; ) {
                                    var v = u[m],
                                        y = v.iteratee,
                                        b = v.type,
                                        _ = y(g);
                                    if (2 == b) g = _;
                                    else if (!_) {
                                        if (1 == b) continue e;
                                        break e;
                                    }
                                }
                                h[f++] = g;
                            }
                            return h;
                        }),
                        (Nn.prototype.at = os),
                        (Nn.prototype.chain = function () {
                            return ns(this);
                        }),
                        (Nn.prototype.commit = function () {
                            return new Rn(this.value(), this.__chain__);
                        }),
                        (Nn.prototype.next = function () {
                            void 0 === this.__values__ && (this.__values__ = na(this.value()));
                            var e = this.__index__ >= this.__values__.length;
                            return { done: e, value: e ? void 0 : this.__values__[this.__index__++] };
                        }),
                        (Nn.prototype.plant = function (e) {
                            for (var t, n = this; n instanceof Dn; ) {
                                var r = Ni(n);
                                (r.__index__ = 0), (r.__values__ = void 0), t ? (o.__wrapped__ = r) : (t = r);
                                var o = r;
                                n = n.__wrapped__;
                            }
                            return (o.__wrapped__ = e), t;
                        }),
                        (Nn.prototype.reverse = function () {
                            var e = this.__wrapped__;
                            if (e instanceof Ln) {
                                var t = e;
                                return this.__actions__.length && (t = new Ln(this)), (t = t.reverse()).__actions__.push({ func: rs, args: [zi], thisArg: void 0 }), new Rn(t, this.__chain__);
                            }
                            return this.thru(zi);
                        }),
                        (Nn.prototype.toJSON = Nn.prototype.valueOf = Nn.prototype.value = function () {
                            return ro(this.__wrapped__, this.__actions__);
                        }),
                        (Nn.prototype.first = Nn.prototype.head),
                        Je &&
                            (Nn.prototype[Je] = function () {
                                return this;
                            }),
                        Nn
                    );
                })();
                (Ke._ = Xt),
                    void 0 ===
                        (o = function () {
                            return Xt;
                        }.call(t, n, t, r)) || (r.exports = o);
            }.call(this));
        }.call(this, n(1), n(17)(e)));
    },
    function (e, t) {
        e.exports = function (e) {
            return (
                e.webpackPolyfill ||
                    ((e.deprecate = function () {}),
                    (e.paths = []),
                    e.children || (e.children = []),
                    Object.defineProperty(e, "loaded", {
                        enumerable: !0,
                        get: function () {
                            return e.l;
                        },
                    }),
                    Object.defineProperty(e, "id", {
                        enumerable: !0,
                        get: function () {
                            return e.i;
                        },
                    }),
                    (e.webpackPolyfill = 1)),
                e
            );
        };
    },
    function (e, t, n) {
        "use strict";
        n.r(t),
            function (e) {
                var n = "undefined" != typeof window && "undefined" != typeof document && "undefined" != typeof navigator,
                    r = (function () {
                        for (var e = ["Edge", "Trident", "Firefox"], t = 0; t < e.length; t += 1) if (n && navigator.userAgent.indexOf(e[t]) >= 0) return 1;
                        return 0;
                    })();
                var o =
                    n && window.Promise
                        ? function (e) {
                              var t = !1;
                              return function () {
                                  t ||
                                      ((t = !0),
                                      window.Promise.resolve().then(function () {
                                          (t = !1), e();
                                      }));
                              };
                          }
                        : function (e) {
                              var t = !1;
                              return function () {
                                  t ||
                                      ((t = !0),
                                      setTimeout(function () {
                                          (t = !1), e();
                                      }, r));
                              };
                          };
                function i(e) {
                    return e && "[object Function]" === {}.toString.call(e);
                }
                function s(e, t) {
                    if (1 !== e.nodeType) return [];
                    var n = e.ownerDocument.defaultView.getComputedStyle(e, null);
                    return t ? n[t] : n;
                }
                function a(e) {
                    return "HTML" === e.nodeName ? e : e.parentNode || e.host;
                }
                function l(e) {
                    if (!e) return document.body;
                    switch (e.nodeName) {
                        case "HTML":
                        case "BODY":
                            return e.ownerDocument.body;
                        case "#document":
                            return e.body;
                    }
                    var t = s(e),
                        n = t.overflow,
                        r = t.overflowX,
                        o = t.overflowY;
                    return /(auto|scroll|overlay)/.test(n + o + r) ? e : l(a(e));
                }
                function c(e) {
                    return e && e.referenceNode ? e.referenceNode : e;
                }
                var u = n && !(!window.MSInputMethodContext || !document.documentMode),
                    d = n && /MSIE 10/.test(navigator.userAgent);
                function f(e) {
                    return 11 === e ? u : 10 === e ? d : u || d;
                }
                function p(e) {
                    if (!e) return document.documentElement;
                    for (var t = f(10) ? document.body : null, n = e.offsetParent || null; n === t && e.nextElementSibling; ) n = (e = e.nextElementSibling).offsetParent;
                    var r = n && n.nodeName;
                    return r && "BODY" !== r && "HTML" !== r ? (-1 !== ["TH", "TD", "TABLE"].indexOf(n.nodeName) && "static" === s(n, "position") ? p(n) : n) : e ? e.ownerDocument.documentElement : document.documentElement;
                }
                function h(e) {
                    return null !== e.parentNode ? h(e.parentNode) : e;
                }
                function m(e, t) {
                    if (!(e && e.nodeType && t && t.nodeType)) return document.documentElement;
                    var n = e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING,
                        r = n ? e : t,
                        o = n ? t : e,
                        i = document.createRange();
                    i.setStart(r, 0), i.setEnd(o, 0);
                    var s,
                        a,
                        l = i.commonAncestorContainer;
                    if ((e !== l && t !== l) || r.contains(o)) return "BODY" === (a = (s = l).nodeName) || ("HTML" !== a && p(s.firstElementChild) !== s) ? p(l) : l;
                    var c = h(e);
                    return c.host ? m(c.host, t) : m(e, h(t).host);
                }
                function g(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top",
                        n = "top" === t ? "scrollTop" : "scrollLeft",
                        r = e.nodeName;
                    if ("BODY" === r || "HTML" === r) {
                        var o = e.ownerDocument.documentElement,
                            i = e.ownerDocument.scrollingElement || o;
                        return i[n];
                    }
                    return e[n];
                }
                function v(e, t) {
                    var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                        r = g(t, "top"),
                        o = g(t, "left"),
                        i = n ? -1 : 1;
                    return (e.top += r * i), (e.bottom += r * i), (e.left += o * i), (e.right += o * i), e;
                }
                function y(e, t) {
                    var n = "x" === t ? "Left" : "Top",
                        r = "Left" === n ? "Right" : "Bottom";
                    return parseFloat(e["border" + n + "Width"]) + parseFloat(e["border" + r + "Width"]);
                }
                function b(e, t, n, r) {
                    return Math.max(
                        t["offset" + e],
                        t["scroll" + e],
                        n["client" + e],
                        n["offset" + e],
                        n["scroll" + e],
                        f(10) ? parseInt(n["offset" + e]) + parseInt(r["margin" + ("Height" === e ? "Top" : "Left")]) + parseInt(r["margin" + ("Height" === e ? "Bottom" : "Right")]) : 0
                    );
                }
                function _(e) {
                    var t = e.body,
                        n = e.documentElement,
                        r = f(10) && getComputedStyle(n);
                    return { height: b("Height", t, n, r), width: b("Width", t, n, r) };
                }
                var w = function (e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
                    },
                    C = (function () {
                        function e(e, t) {
                            for (var n = 0; n < t.length; n++) {
                                var r = t[n];
                                (r.enumerable = r.enumerable || !1), (r.configurable = !0), "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
                            }
                        }
                        return function (t, n, r) {
                            return n && e(t.prototype, n), r && e(t, r), t;
                        };
                    })(),
                    x = function (e, t, n) {
                        return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = n), e;
                    },
                    E =
                        Object.assign ||
                        function (e) {
                            for (var t = 1; t < arguments.length; t++) {
                                var n = arguments[t];
                                for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
                            }
                            return e;
                        };
                function k(e) {
                    return E({}, e, { right: e.left + e.width, bottom: e.top + e.height });
                }
                function A(e) {
                    var t = {};
                    try {
                        if (f(10)) {
                            t = e.getBoundingClientRect();
                            var n = g(e, "top"),
                                r = g(e, "left");
                            (t.top += n), (t.left += r), (t.bottom += n), (t.right += r);
                        } else t = e.getBoundingClientRect();
                    } catch (e) {}
                    var o = { left: t.left, top: t.top, width: t.right - t.left, height: t.bottom - t.top },
                        i = "HTML" === e.nodeName ? _(e.ownerDocument) : {},
                        a = i.width || e.clientWidth || o.width,
                        l = i.height || e.clientHeight || o.height,
                        c = e.offsetWidth - a,
                        u = e.offsetHeight - l;
                    if (c || u) {
                        var d = s(e);
                        (c -= y(d, "x")), (u -= y(d, "y")), (o.width -= c), (o.height -= u);
                    }
                    return k(o);
                }
                function S(e, t) {
                    var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                        r = f(10),
                        o = "HTML" === t.nodeName,
                        i = A(e),
                        a = A(t),
                        c = l(e),
                        u = s(t),
                        d = parseFloat(u.borderTopWidth),
                        p = parseFloat(u.borderLeftWidth);
                    n && o && ((a.top = Math.max(a.top, 0)), (a.left = Math.max(a.left, 0)));
                    var h = k({ top: i.top - a.top - d, left: i.left - a.left - p, width: i.width, height: i.height });
                    if (((h.marginTop = 0), (h.marginLeft = 0), !r && o)) {
                        var m = parseFloat(u.marginTop),
                            g = parseFloat(u.marginLeft);
                        (h.top -= d - m), (h.bottom -= d - m), (h.left -= p - g), (h.right -= p - g), (h.marginTop = m), (h.marginLeft = g);
                    }
                    return (r && !n ? t.contains(c) : t === c && "BODY" !== c.nodeName) && (h = v(h, t)), h;
                }
                function T(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                        n = e.ownerDocument.documentElement,
                        r = S(e, n),
                        o = Math.max(n.clientWidth, window.innerWidth || 0),
                        i = Math.max(n.clientHeight, window.innerHeight || 0),
                        s = t ? 0 : g(n),
                        a = t ? 0 : g(n, "left"),
                        l = { top: s - r.top + r.marginTop, left: a - r.left + r.marginLeft, width: o, height: i };
                    return k(l);
                }
                function N(e) {
                    var t = e.nodeName;
                    if ("BODY" === t || "HTML" === t) return !1;
                    if ("fixed" === s(e, "position")) return !0;
                    var n = a(e);
                    return !!n && N(n);
                }
                function O(e) {
                    if (!e || !e.parentElement || f()) return document.documentElement;
                    for (var t = e.parentElement; t && "none" === s(t, "transform"); ) t = t.parentElement;
                    return t || document.documentElement;
                }
                function D(e, t, n, r) {
                    var o = arguments.length > 4 && void 0 !== arguments[4] && arguments[4],
                        i = { top: 0, left: 0 },
                        s = o ? O(e) : m(e, c(t));
                    if ("viewport" === r) i = T(s, o);
                    else {
                        var u = void 0;
                        "scrollParent" === r ? "BODY" === (u = l(a(t))).nodeName && (u = e.ownerDocument.documentElement) : (u = "window" === r ? e.ownerDocument.documentElement : r);
                        var d = S(u, s, o);
                        if ("HTML" !== u.nodeName || N(s)) i = d;
                        else {
                            var f = _(e.ownerDocument),
                                p = f.height,
                                h = f.width;
                            (i.top += d.top - d.marginTop), (i.bottom = p + d.top), (i.left += d.left - d.marginLeft), (i.right = h + d.left);
                        }
                    }
                    var g = "number" == typeof (n = n || 0);
                    return (i.left += g ? n : n.left || 0), (i.top += g ? n : n.top || 0), (i.right -= g ? n : n.right || 0), (i.bottom -= g ? n : n.bottom || 0), i;
                }
                function R(e) {
                    return e.width * e.height;
                }
                function L(e, t, n, r, o) {
                    var i = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
                    if (-1 === e.indexOf("auto")) return e;
                    var s = D(n, r, i, o),
                        a = {
                            top: { width: s.width, height: t.top - s.top },
                            right: { width: s.right - t.right, height: s.height },
                            bottom: { width: s.width, height: s.bottom - t.bottom },
                            left: { width: t.left - s.left, height: s.height },
                        },
                        l = Object.keys(a)
                            .map(function (e) {
                                return E({ key: e }, a[e], { area: R(a[e]) });
                            })
                            .sort(function (e, t) {
                                return t.area - e.area;
                            }),
                        c = l.filter(function (e) {
                            var t = e.width,
                                r = e.height;
                            return t >= n.clientWidth && r >= n.clientHeight;
                        }),
                        u = c.length > 0 ? c[0].key : l[0].key,
                        d = e.split("-")[1];
                    return u + (d ? "-" + d : "");
                }
                function P(e, t, n) {
                    var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null,
                        o = r ? O(t) : m(t, c(n));
                    return S(n, o, r);
                }
                function $(e) {
                    var t = e.ownerDocument.defaultView.getComputedStyle(e),
                        n = parseFloat(t.marginTop || 0) + parseFloat(t.marginBottom || 0),
                        r = parseFloat(t.marginLeft || 0) + parseFloat(t.marginRight || 0);
                    return { width: e.offsetWidth + r, height: e.offsetHeight + n };
                }
                function M(e) {
                    var t = { left: "right", right: "left", bottom: "top", top: "bottom" };
                    return e.replace(/left|right|bottom|top/g, function (e) {
                        return t[e];
                    });
                }
                function I(e, t, n) {
                    n = n.split("-")[0];
                    var r = $(e),
                        o = { width: r.width, height: r.height },
                        i = -1 !== ["right", "left"].indexOf(n),
                        s = i ? "top" : "left",
                        a = i ? "left" : "top",
                        l = i ? "height" : "width",
                        c = i ? "width" : "height";
                    return (o[s] = t[s] + t[l] / 2 - r[l] / 2), (o[a] = n === a ? t[a] - r[c] : t[M(a)]), o;
                }
                function B(e, t) {
                    return Array.prototype.find ? e.find(t) : e.filter(t)[0];
                }
                function j(e, t, n) {
                    return (
                        (void 0 === n
                            ? e
                            : e.slice(
                                  0,
                                  (function (e, t, n) {
                                      if (Array.prototype.findIndex)
                                          return e.findIndex(function (e) {
                                              return e[t] === n;
                                          });
                                      var r = B(e, function (e) {
                                          return e[t] === n;
                                      });
                                      return e.indexOf(r);
                                  })(e, "name", n)
                              )
                        ).forEach(function (e) {
                            e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
                            var n = e.function || e.fn;
                            e.enabled && i(n) && ((t.offsets.popper = k(t.offsets.popper)), (t.offsets.reference = k(t.offsets.reference)), (t = n(t, e)));
                        }),
                        t
                    );
                }
                function F() {
                    if (!this.state.isDestroyed) {
                        var e = { instance: this, styles: {}, arrowStyles: {}, attributes: {}, flipped: !1, offsets: {} };
                        (e.offsets.reference = P(this.state, this.popper, this.reference, this.options.positionFixed)),
                            (e.placement = L(this.options.placement, e.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding)),
                            (e.originalPlacement = e.placement),
                            (e.positionFixed = this.options.positionFixed),
                            (e.offsets.popper = I(this.popper, e.offsets.reference, e.placement)),
                            (e.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute"),
                            (e = j(this.modifiers, e)),
                            this.state.isCreated ? this.options.onUpdate(e) : ((this.state.isCreated = !0), this.options.onCreate(e));
                    }
                }
                function H(e, t) {
                    return e.some(function (e) {
                        var n = e.name;
                        return e.enabled && n === t;
                    });
                }
                function U(e) {
                    for (var t = [!1, "ms", "Webkit", "Moz", "O"], n = e.charAt(0).toUpperCase() + e.slice(1), r = 0; r < t.length; r++) {
                        var o = t[r],
                            i = o ? "" + o + n : e;
                        if (void 0 !== document.body.style[i]) return i;
                    }
                    return null;
                }
                function q() {
                    return (
                        (this.state.isDestroyed = !0),
                        H(this.modifiers, "applyStyle") &&
                            (this.popper.removeAttribute("x-placement"),
                            (this.popper.style.position = ""),
                            (this.popper.style.top = ""),
                            (this.popper.style.left = ""),
                            (this.popper.style.right = ""),
                            (this.popper.style.bottom = ""),
                            (this.popper.style.willChange = ""),
                            (this.popper.style[U("transform")] = "")),
                        this.disableEventListeners(),
                        this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper),
                        this
                    );
                }
                function z(e) {
                    var t = e.ownerDocument;
                    return t ? t.defaultView : window;
                }
                function W(e, t, n, r) {
                    (n.updateBound = r), z(e).addEventListener("resize", n.updateBound, { passive: !0 });
                    var o = l(e);
                    return (
                        (function e(t, n, r, o) {
                            var i = "BODY" === t.nodeName,
                                s = i ? t.ownerDocument.defaultView : t;
                            s.addEventListener(n, r, { passive: !0 }), i || e(l(s.parentNode), n, r, o), o.push(s);
                        })(o, "scroll", n.updateBound, n.scrollParents),
                        (n.scrollElement = o),
                        (n.eventsEnabled = !0),
                        n
                    );
                }
                function V() {
                    this.state.eventsEnabled || (this.state = W(this.reference, this.options, this.state, this.scheduleUpdate));
                }
                function K() {
                    var e, t;
                    this.state.eventsEnabled &&
                        (cancelAnimationFrame(this.scheduleUpdate),
                        (this.state =
                            ((e = this.reference),
                            (t = this.state),
                            z(e).removeEventListener("resize", t.updateBound),
                            t.scrollParents.forEach(function (e) {
                                e.removeEventListener("scroll", t.updateBound);
                            }),
                            (t.updateBound = null),
                            (t.scrollParents = []),
                            (t.scrollElement = null),
                            (t.eventsEnabled = !1),
                            t)));
                }
                function G(e) {
                    return "" !== e && !isNaN(parseFloat(e)) && isFinite(e);
                }
                function Y(e, t) {
                    Object.keys(t).forEach(function (n) {
                        var r = "";
                        -1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(n) && G(t[n]) && (r = "px"), (e.style[n] = t[n] + r);
                    });
                }
                var X = n && /Firefox/i.test(navigator.userAgent);
                function J(e, t, n) {
                    var r = B(e, function (e) {
                            return e.name === t;
                        }),
                        o =
                            !!r &&
                            e.some(function (e) {
                                return e.name === n && e.enabled && e.order < r.order;
                            });
                    if (!o) {
                        var i = "`" + t + "`",
                            s = "`" + n + "`";
                        console.warn(s + " modifier is required by " + i + " modifier in order to work, be sure to include it before " + i + "!");
                    }
                    return o;
                }
                var Q = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
                    Z = Q.slice(3);
                function ee(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                        n = Z.indexOf(e),
                        r = Z.slice(n + 1).concat(Z.slice(0, n));
                    return t ? r.reverse() : r;
                }
                var te = "flip",
                    ne = "clockwise",
                    re = "counterclockwise";
                function oe(e, t, n, r) {
                    var o = [0, 0],
                        i = -1 !== ["right", "left"].indexOf(r),
                        s = e.split(/(\+|\-)/).map(function (e) {
                            return e.trim();
                        }),
                        a = s.indexOf(
                            B(s, function (e) {
                                return -1 !== e.search(/,|\s/);
                            })
                        );
                    s[a] && -1 === s[a].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
                    var l = /\s*,\s*|\s+/,
                        c = -1 !== a ? [s.slice(0, a).concat([s[a].split(l)[0]]), [s[a].split(l)[1]].concat(s.slice(a + 1))] : [s];
                    return (
                        (c = c.map(function (e, r) {
                            var o = (1 === r ? !i : i) ? "height" : "width",
                                s = !1;
                            return e
                                .reduce(function (e, t) {
                                    return "" === e[e.length - 1] && -1 !== ["+", "-"].indexOf(t) ? ((e[e.length - 1] = t), (s = !0), e) : s ? ((e[e.length - 1] += t), (s = !1), e) : e.concat(t);
                                }, [])
                                .map(function (e) {
                                    return (function (e, t, n, r) {
                                        var o = e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
                                            i = +o[1],
                                            s = o[2];
                                        if (!i) return e;
                                        if (0 === s.indexOf("%")) {
                                            var a = void 0;
                                            switch (s) {
                                                case "%p":
                                                    a = n;
                                                    break;
                                                case "%":
                                                case "%r":
                                                default:
                                                    a = r;
                                            }
                                            return (k(a)[t] / 100) * i;
                                        }
                                        if ("vh" === s || "vw" === s) {
                                            return (("vh" === s ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100) * i;
                                        }
                                        return i;
                                    })(e, o, t, n);
                                });
                        })).forEach(function (e, t) {
                            e.forEach(function (n, r) {
                                G(n) && (o[t] += n * ("-" === e[r - 1] ? -1 : 1));
                            });
                        }),
                        o
                    );
                }
                var ie = {
                        placement: "bottom",
                        positionFixed: !1,
                        eventsEnabled: !0,
                        removeOnDestroy: !1,
                        onCreate: function () {},
                        onUpdate: function () {},
                        modifiers: {
                            shift: {
                                order: 100,
                                enabled: !0,
                                fn: function (e) {
                                    var t = e.placement,
                                        n = t.split("-")[0],
                                        r = t.split("-")[1];
                                    if (r) {
                                        var o = e.offsets,
                                            i = o.reference,
                                            s = o.popper,
                                            a = -1 !== ["bottom", "top"].indexOf(n),
                                            l = a ? "left" : "top",
                                            c = a ? "width" : "height",
                                            u = { start: x({}, l, i[l]), end: x({}, l, i[l] + i[c] - s[c]) };
                                        e.offsets.popper = E({}, s, u[r]);
                                    }
                                    return e;
                                },
                            },
                            offset: {
                                order: 200,
                                enabled: !0,
                                fn: function (e, t) {
                                    var n = t.offset,
                                        r = e.placement,
                                        o = e.offsets,
                                        i = o.popper,
                                        s = o.reference,
                                        a = r.split("-")[0],
                                        l = void 0;
                                    return (
                                        (l = G(+n) ? [+n, 0] : oe(n, i, s, a)),
                                        "left" === a
                                            ? ((i.top += l[0]), (i.left -= l[1]))
                                            : "right" === a
                                            ? ((i.top += l[0]), (i.left += l[1]))
                                            : "top" === a
                                            ? ((i.left += l[0]), (i.top -= l[1]))
                                            : "bottom" === a && ((i.left += l[0]), (i.top += l[1])),
                                        (e.popper = i),
                                        e
                                    );
                                },
                                offset: 0,
                            },
                            preventOverflow: {
                                order: 300,
                                enabled: !0,
                                fn: function (e, t) {
                                    var n = t.boundariesElement || p(e.instance.popper);
                                    e.instance.reference === n && (n = p(n));
                                    var r = U("transform"),
                                        o = e.instance.popper.style,
                                        i = o.top,
                                        s = o.left,
                                        a = o[r];
                                    (o.top = ""), (o.left = ""), (o[r] = "");
                                    var l = D(e.instance.popper, e.instance.reference, t.padding, n, e.positionFixed);
                                    (o.top = i), (o.left = s), (o[r] = a), (t.boundaries = l);
                                    var c = t.priority,
                                        u = e.offsets.popper,
                                        d = {
                                            primary: function (e) {
                                                var n = u[e];
                                                return u[e] < l[e] && !t.escapeWithReference && (n = Math.max(u[e], l[e])), x({}, e, n);
                                            },
                                            secondary: function (e) {
                                                var n = "right" === e ? "left" : "top",
                                                    r = u[n];
                                                return u[e] > l[e] && !t.escapeWithReference && (r = Math.min(u[n], l[e] - ("right" === e ? u.width : u.height))), x({}, n, r);
                                            },
                                        };
                                    return (
                                        c.forEach(function (e) {
                                            var t = -1 !== ["left", "top"].indexOf(e) ? "primary" : "secondary";
                                            u = E({}, u, d[t](e));
                                        }),
                                        (e.offsets.popper = u),
                                        e
                                    );
                                },
                                priority: ["left", "right", "top", "bottom"],
                                padding: 5,
                                boundariesElement: "scrollParent",
                            },
                            keepTogether: {
                                order: 400,
                                enabled: !0,
                                fn: function (e) {
                                    var t = e.offsets,
                                        n = t.popper,
                                        r = t.reference,
                                        o = e.placement.split("-")[0],
                                        i = Math.floor,
                                        s = -1 !== ["top", "bottom"].indexOf(o),
                                        a = s ? "right" : "bottom",
                                        l = s ? "left" : "top",
                                        c = s ? "width" : "height";
                                    return n[a] < i(r[l]) && (e.offsets.popper[l] = i(r[l]) - n[c]), n[l] > i(r[a]) && (e.offsets.popper[l] = i(r[a])), e;
                                },
                            },
                            arrow: {
                                order: 500,
                                enabled: !0,
                                fn: function (e, t) {
                                    var n;
                                    if (!J(e.instance.modifiers, "arrow", "keepTogether")) return e;
                                    var r = t.element;
                                    if ("string" == typeof r) {
                                        if (!(r = e.instance.popper.querySelector(r))) return e;
                                    } else if (!e.instance.popper.contains(r)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), e;
                                    var o = e.placement.split("-")[0],
                                        i = e.offsets,
                                        a = i.popper,
                                        l = i.reference,
                                        c = -1 !== ["left", "right"].indexOf(o),
                                        u = c ? "height" : "width",
                                        d = c ? "Top" : "Left",
                                        f = d.toLowerCase(),
                                        p = c ? "left" : "top",
                                        h = c ? "bottom" : "right",
                                        m = $(r)[u];
                                    l[h] - m < a[f] && (e.offsets.popper[f] -= a[f] - (l[h] - m)), l[f] + m > a[h] && (e.offsets.popper[f] += l[f] + m - a[h]), (e.offsets.popper = k(e.offsets.popper));
                                    var g = l[f] + l[u] / 2 - m / 2,
                                        v = s(e.instance.popper),
                                        y = parseFloat(v["margin" + d]),
                                        b = parseFloat(v["border" + d + "Width"]),
                                        _ = g - e.offsets.popper[f] - y - b;
                                    return (_ = Math.max(Math.min(a[u] - m, _), 0)), (e.arrowElement = r), (e.offsets.arrow = (x((n = {}), f, Math.round(_)), x(n, p, ""), n)), e;
                                },
                                element: "[x-arrow]",
                            },
                            flip: {
                                order: 600,
                                enabled: !0,
                                fn: function (e, t) {
                                    if (H(e.instance.modifiers, "inner")) return e;
                                    if (e.flipped && e.placement === e.originalPlacement) return e;
                                    var n = D(e.instance.popper, e.instance.reference, t.padding, t.boundariesElement, e.positionFixed),
                                        r = e.placement.split("-")[0],
                                        o = M(r),
                                        i = e.placement.split("-")[1] || "",
                                        s = [];
                                    switch (t.behavior) {
                                        case te:
                                            s = [r, o];
                                            break;
                                        case ne:
                                            s = ee(r);
                                            break;
                                        case re:
                                            s = ee(r, !0);
                                            break;
                                        default:
                                            s = t.behavior;
                                    }
                                    return (
                                        s.forEach(function (a, l) {
                                            if (r !== a || s.length === l + 1) return e;
                                            (r = e.placement.split("-")[0]), (o = M(r));
                                            var c = e.offsets.popper,
                                                u = e.offsets.reference,
                                                d = Math.floor,
                                                f = ("left" === r && d(c.right) > d(u.left)) || ("right" === r && d(c.left) < d(u.right)) || ("top" === r && d(c.bottom) > d(u.top)) || ("bottom" === r && d(c.top) < d(u.bottom)),
                                                p = d(c.left) < d(n.left),
                                                h = d(c.right) > d(n.right),
                                                m = d(c.top) < d(n.top),
                                                g = d(c.bottom) > d(n.bottom),
                                                v = ("left" === r && p) || ("right" === r && h) || ("top" === r && m) || ("bottom" === r && g),
                                                y = -1 !== ["top", "bottom"].indexOf(r),
                                                b = !!t.flipVariations && ((y && "start" === i && p) || (y && "end" === i && h) || (!y && "start" === i && m) || (!y && "end" === i && g)),
                                                _ = !!t.flipVariationsByContent && ((y && "start" === i && h) || (y && "end" === i && p) || (!y && "start" === i && g) || (!y && "end" === i && m)),
                                                w = b || _;
                                            (f || v || w) &&
                                                ((e.flipped = !0),
                                                (f || v) && (r = s[l + 1]),
                                                w &&
                                                    (i = (function (e) {
                                                        return "end" === e ? "start" : "start" === e ? "end" : e;
                                                    })(i)),
                                                (e.placement = r + (i ? "-" + i : "")),
                                                (e.offsets.popper = E({}, e.offsets.popper, I(e.instance.popper, e.offsets.reference, e.placement))),
                                                (e = j(e.instance.modifiers, e, "flip")));
                                        }),
                                        e
                                    );
                                },
                                behavior: "flip",
                                padding: 5,
                                boundariesElement: "viewport",
                                flipVariations: !1,
                                flipVariationsByContent: !1,
                            },
                            inner: {
                                order: 700,
                                enabled: !1,
                                fn: function (e) {
                                    var t = e.placement,
                                        n = t.split("-")[0],
                                        r = e.offsets,
                                        o = r.popper,
                                        i = r.reference,
                                        s = -1 !== ["left", "right"].indexOf(n),
                                        a = -1 === ["top", "left"].indexOf(n);
                                    return (o[s ? "left" : "top"] = i[n] - (a ? o[s ? "width" : "height"] : 0)), (e.placement = M(t)), (e.offsets.popper = k(o)), e;
                                },
                            },
                            hide: {
                                order: 800,
                                enabled: !0,
                                fn: function (e) {
                                    if (!J(e.instance.modifiers, "hide", "preventOverflow")) return e;
                                    var t = e.offsets.reference,
                                        n = B(e.instance.modifiers, function (e) {
                                            return "preventOverflow" === e.name;
                                        }).boundaries;
                                    if (t.bottom < n.top || t.left > n.right || t.top > n.bottom || t.right < n.left) {
                                        if (!0 === e.hide) return e;
                                        (e.hide = !0), (e.attributes["x-out-of-boundaries"] = "");
                                    } else {
                                        if (!1 === e.hide) return e;
                                        (e.hide = !1), (e.attributes["x-out-of-boundaries"] = !1);
                                    }
                                    return e;
                                },
                            },
                            computeStyle: {
                                order: 850,
                                enabled: !0,
                                fn: function (e, t) {
                                    var n = t.x,
                                        r = t.y,
                                        o = e.offsets.popper,
                                        i = B(e.instance.modifiers, function (e) {
                                            return "applyStyle" === e.name;
                                        }).gpuAcceleration;
                                    void 0 !== i && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
                                    var s = void 0 !== i ? i : t.gpuAcceleration,
                                        a = p(e.instance.popper),
                                        l = A(a),
                                        c = { position: o.position },
                                        u = (function (e, t) {
                                            var n = e.offsets,
                                                r = n.popper,
                                                o = n.reference,
                                                i = Math.round,
                                                s = Math.floor,
                                                a = function (e) {
                                                    return e;
                                                },
                                                l = i(o.width),
                                                c = i(r.width),
                                                u = -1 !== ["left", "right"].indexOf(e.placement),
                                                d = -1 !== e.placement.indexOf("-"),
                                                f = t ? (u || d || l % 2 == c % 2 ? i : s) : a,
                                                p = t ? i : a;
                                            return { left: f(l % 2 == 1 && c % 2 == 1 && !d && t ? r.left - 1 : r.left), top: p(r.top), bottom: p(r.bottom), right: f(r.right) };
                                        })(e, window.devicePixelRatio < 2 || !X),
                                        d = "bottom" === n ? "top" : "bottom",
                                        f = "right" === r ? "left" : "right",
                                        h = U("transform"),
                                        m = void 0,
                                        g = void 0;
                                    if (
                                        ((g = "bottom" === d ? ("HTML" === a.nodeName ? -a.clientHeight + u.bottom : -l.height + u.bottom) : u.top),
                                        (m = "right" === f ? ("HTML" === a.nodeName ? -a.clientWidth + u.right : -l.width + u.right) : u.left),
                                        s && h)
                                    )
                                        (c[h] = "translate3d(" + m + "px, " + g + "px, 0)"), (c[d] = 0), (c[f] = 0), (c.willChange = "transform");
                                    else {
                                        var v = "bottom" === d ? -1 : 1,
                                            y = "right" === f ? -1 : 1;
                                        (c[d] = g * v), (c[f] = m * y), (c.willChange = d + ", " + f);
                                    }
                                    var b = { "x-placement": e.placement };
                                    return (e.attributes = E({}, b, e.attributes)), (e.styles = E({}, c, e.styles)), (e.arrowStyles = E({}, e.offsets.arrow, e.arrowStyles)), e;
                                },
                                gpuAcceleration: !0,
                                x: "bottom",
                                y: "right",
                            },
                            applyStyle: {
                                order: 900,
                                enabled: !0,
                                fn: function (e) {
                                    var t, n;
                                    return (
                                        Y(e.instance.popper, e.styles),
                                        (t = e.instance.popper),
                                        (n = e.attributes),
                                        Object.keys(n).forEach(function (e) {
                                            !1 !== n[e] ? t.setAttribute(e, n[e]) : t.removeAttribute(e);
                                        }),
                                        e.arrowElement && Object.keys(e.arrowStyles).length && Y(e.arrowElement, e.arrowStyles),
                                        e
                                    );
                                },
                                onLoad: function (e, t, n, r, o) {
                                    var i = P(o, t, e, n.positionFixed),
                                        s = L(n.placement, i, t, e, n.modifiers.flip.boundariesElement, n.modifiers.flip.padding);
                                    return t.setAttribute("x-placement", s), Y(t, { position: n.positionFixed ? "fixed" : "absolute" }), n;
                                },
                                gpuAcceleration: void 0,
                            },
                        },
                    },
                    se = (function () {
                        function e(t, n) {
                            var r = this,
                                s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                            w(this, e),
                                (this.scheduleUpdate = function () {
                                    return requestAnimationFrame(r.update);
                                }),
                                (this.update = o(this.update.bind(this))),
                                (this.options = E({}, e.Defaults, s)),
                                (this.state = { isDestroyed: !1, isCreated: !1, scrollParents: [] }),
                                (this.reference = t && t.jquery ? t[0] : t),
                                (this.popper = n && n.jquery ? n[0] : n),
                                (this.options.modifiers = {}),
                                Object.keys(E({}, e.Defaults.modifiers, s.modifiers)).forEach(function (t) {
                                    r.options.modifiers[t] = E({}, e.Defaults.modifiers[t] || {}, s.modifiers ? s.modifiers[t] : {});
                                }),
                                (this.modifiers = Object.keys(this.options.modifiers)
                                    .map(function (e) {
                                        return E({ name: e }, r.options.modifiers[e]);
                                    })
                                    .sort(function (e, t) {
                                        return e.order - t.order;
                                    })),
                                this.modifiers.forEach(function (e) {
                                    e.enabled && i(e.onLoad) && e.onLoad(r.reference, r.popper, r.options, e, r.state);
                                }),
                                this.update();
                            var a = this.options.eventsEnabled;
                            a && this.enableEventListeners(), (this.state.eventsEnabled = a);
                        }
                        return (
                            C(e, [
                                {
                                    key: "update",
                                    value: function () {
                                        return F.call(this);
                                    },
                                },
                                {
                                    key: "destroy",
                                    value: function () {
                                        return q.call(this);
                                    },
                                },
                                {
                                    key: "enableEventListeners",
                                    value: function () {
                                        return V.call(this);
                                    },
                                },
                                {
                                    key: "disableEventListeners",
                                    value: function () {
                                        return K.call(this);
                                    },
                                },
                            ]),
                            e
                        );
                    })();
                (se.Utils = ("undefined" != typeof window ? window : e).PopperUtils), (se.placements = Q), (se.Defaults = ie), (t.default = se);
            }.call(this, n(1));
    },
    function (e, t, n) {
        e.exports = n(20);
    },
    function (e, t, n) {
        "use strict";
        var r = n(0),
            o = n(3),
            i = n(21),
            s = n(10);
        function a(e) {
            var t = new i(e),
                n = o(i.prototype.request, t);
            return r.extend(n, i.prototype, t), r.extend(n, t), n;
        }
        var l = a(n(6));
        (l.Axios = i),
            (l.create = function (e) {
                return a(s(l.defaults, e));
            }),
            (l.Cancel = n(11)),
            (l.CancelToken = n(34)),
            (l.isCancel = n(5)),
            (l.all = function (e) {
                return Promise.all(e);
            }),
            (l.spread = n(35)),
            (e.exports = l),
            (e.exports.default = l);
    },
    function (e, t, n) {
        "use strict";
        var r = n(0),
            o = n(4),
            i = n(22),
            s = n(23),
            a = n(10);
        function l(e) {
            (this.defaults = e), (this.interceptors = { request: new i(), response: new i() });
        }
        (l.prototype.request = function (e) {
            "string" == typeof e ? ((e = arguments[1] || {}).url = arguments[0]) : (e = e || {}),
                (e = a(this.defaults, e)).method ? (e.method = e.method.toLowerCase()) : this.defaults.method ? (e.method = this.defaults.method.toLowerCase()) : (e.method = "get");
            var t = [s, void 0],
                n = Promise.resolve(e);
            for (
                this.interceptors.request.forEach(function (e) {
                    t.unshift(e.fulfilled, e.rejected);
                }),
                    this.interceptors.response.forEach(function (e) {
                        t.push(e.fulfilled, e.rejected);
                    });
                t.length;

            )
                n = n.then(t.shift(), t.shift());
            return n;
        }),
            (l.prototype.getUri = function (e) {
                return (e = a(this.defaults, e)), o(e.url, e.params, e.paramsSerializer).replace(/^\?/, "");
            }),
            r.forEach(["delete", "get", "head", "options"], function (e) {
                l.prototype[e] = function (t, n) {
                    return this.request(r.merge(n || {}, { method: e, url: t }));
                };
            }),
            r.forEach(["post", "put", "patch"], function (e) {
                l.prototype[e] = function (t, n, o) {
                    return this.request(r.merge(o || {}, { method: e, url: t, data: n }));
                };
            }),
            (e.exports = l);
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        function o() {
            this.handlers = [];
        }
        (o.prototype.use = function (e, t) {
            return this.handlers.push({ fulfilled: e, rejected: t }), this.handlers.length - 1;
        }),
            (o.prototype.eject = function (e) {
                this.handlers[e] && (this.handlers[e] = null);
            }),
            (o.prototype.forEach = function (e) {
                r.forEach(this.handlers, function (t) {
                    null !== t && e(t);
                });
            }),
            (e.exports = o);
    },
    function (e, t, n) {
        "use strict";
        var r = n(0),
            o = n(24),
            i = n(5),
            s = n(6);
        function a(e) {
            e.cancelToken && e.cancelToken.throwIfRequested();
        }
        e.exports = function (e) {
            return (
                a(e),
                (e.headers = e.headers || {}),
                (e.data = o(e.data, e.headers, e.transformRequest)),
                (e.headers = r.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers)),
                r.forEach(["delete", "get", "head", "post", "put", "patch", "common"], function (t) {
                    delete e.headers[t];
                }),
                (e.adapter || s.adapter)(e).then(
                    function (t) {
                        return a(e), (t.data = o(t.data, t.headers, e.transformResponse)), t;
                    },
                    function (t) {
                        return i(t) || (a(e), t && t.response && (t.response.data = o(t.response.data, t.response.headers, e.transformResponse))), Promise.reject(t);
                    }
                )
            );
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        e.exports = function (e, t, n) {
            return (
                r.forEach(n, function (n) {
                    e = n(e, t);
                }),
                e
            );
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        e.exports = function (e, t) {
            r.forEach(e, function (n, r) {
                r !== t && r.toUpperCase() === t.toUpperCase() && ((e[t] = n), delete e[r]);
            });
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(9);
        e.exports = function (e, t, n) {
            var o = n.config.validateStatus;
            !o || o(n.status) ? e(n) : t(r("Request failed with status code " + n.status, n.config, null, n.request, n));
        };
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e, t, n, r, o) {
            return (
                (e.config = t),
                n && (e.code = n),
                (e.request = r),
                (e.response = o),
                (e.isAxiosError = !0),
                (e.toJSON = function () {
                    return {
                        message: this.message,
                        name: this.name,
                        description: this.description,
                        number: this.number,
                        fileName: this.fileName,
                        lineNumber: this.lineNumber,
                        columnNumber: this.columnNumber,
                        stack: this.stack,
                        config: this.config,
                        code: this.code,
                    };
                }),
                e
            );
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(29),
            o = n(30);
        e.exports = function (e, t) {
            return e && !r(t) ? o(e, t) : t;
        };
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e);
        };
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e, t) {
            return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e;
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0),
            o = [
                "age",
                "authorization",
                "content-length",
                "content-type",
                "etag",
                "expires",
                "from",
                "host",
                "if-modified-since",
                "if-unmodified-since",
                "last-modified",
                "location",
                "max-forwards",
                "proxy-authorization",
                "referer",
                "retry-after",
                "user-agent",
            ];
        e.exports = function (e) {
            var t,
                n,
                i,
                s = {};
            return e
                ? (r.forEach(e.split("\n"), function (e) {
                      if (((i = e.indexOf(":")), (t = r.trim(e.substr(0, i)).toLowerCase()), (n = r.trim(e.substr(i + 1))), t)) {
                          if (s[t] && o.indexOf(t) >= 0) return;
                          s[t] = "set-cookie" === t ? (s[t] ? s[t] : []).concat([n]) : s[t] ? s[t] + ", " + n : n;
                      }
                  }),
                  s)
                : s;
        };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        e.exports = r.isStandardBrowserEnv()
            ? (function () {
                  var e,
                      t = /(msie|trident)/i.test(navigator.userAgent),
                      n = document.createElement("a");
                  function o(e) {
                      var r = e;
                      return (
                          t && (n.setAttribute("href", r), (r = n.href)),
                          n.setAttribute("href", r),
                          {
                              href: n.href,
                              protocol: n.protocol ? n.protocol.replace(/:$/, "") : "",
                              host: n.host,
                              search: n.search ? n.search.replace(/^\?/, "") : "",
                              hash: n.hash ? n.hash.replace(/^#/, "") : "",
                              hostname: n.hostname,
                              port: n.port,
                              pathname: "/" === n.pathname.charAt(0) ? n.pathname : "/" + n.pathname,
                          }
                      );
                  }
                  return (
                      (e = o(window.location.href)),
                      function (t) {
                          var n = r.isString(t) ? o(t) : t;
                          return n.protocol === e.protocol && n.host === e.host;
                      }
                  );
              })()
            : function () {
                  return !0;
              };
    },
    function (e, t, n) {
        "use strict";
        var r = n(0);
        e.exports = r.isStandardBrowserEnv()
            ? {
                  write: function (e, t, n, o, i, s) {
                      var a = [];
                      a.push(e + "=" + encodeURIComponent(t)),
                          r.isNumber(n) && a.push("expires=" + new Date(n).toGMTString()),
                          r.isString(o) && a.push("path=" + o),
                          r.isString(i) && a.push("domain=" + i),
                          !0 === s && a.push("secure"),
                          (document.cookie = a.join("; "));
                  },
                  read: function (e) {
                      var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
                      return t ? decodeURIComponent(t[3]) : null;
                  },
                  remove: function (e) {
                      this.write(e, "", Date.now() - 864e5);
                  },
              }
            : {
                  write: function () {},
                  read: function () {
                      return null;
                  },
                  remove: function () {},
              };
    },
    function (e, t, n) {
        "use strict";
        var r = n(11);
        function o(e) {
            if ("function" != typeof e) throw new TypeError("executor must be a function.");
            var t;
            this.promise = new Promise(function (e) {
                t = e;
            });
            var n = this;
            e(function (e) {
                n.reason || ((n.reason = new r(e)), t(n.reason));
            });
        }
        (o.prototype.throwIfRequested = function () {
            if (this.reason) throw this.reason;
        }),
            (o.source = function () {
                var e;
                return {
                    token: new o(function (t) {
                        e = t;
                    }),
                    cancel: e,
                };
            }),
            (e.exports = o);
    },
    function (e, t, n) {
        "use strict";
        e.exports = function (e) {
            return function (t) {
                return e.apply(null, t);
            };
        };
    },
    function (e, t, n) {
        var r, o, i;
        (o = [n(2)]),
            void 0 ===
                (i =
                    "function" ==
                    typeof (r = function (e) {
                        var t = (function () {
                                if (e && e.fn && e.fn.select2 && e.fn.select2.amd) var t = e.fn.select2.amd;
                                return (
                                    (function () {
                                        var e, n, r;
                                        (t && t.requirejs) ||
                                            (t ? (n = t) : (t = {}),
                                            (function (t) {
                                                var o,
                                                    i,
                                                    s,
                                                    a,
                                                    l = {},
                                                    c = {},
                                                    u = {},
                                                    d = {},
                                                    f = Object.prototype.hasOwnProperty,
                                                    p = [].slice,
                                                    h = /\.js$/;
                                                function m(e, t) {
                                                    return f.call(e, t);
                                                }
                                                function g(e, t) {
                                                    var n,
                                                        r,
                                                        o,
                                                        i,
                                                        s,
                                                        a,
                                                        l,
                                                        c,
                                                        d,
                                                        f,
                                                        p,
                                                        m = t && t.split("/"),
                                                        g = u.map,
                                                        v = (g && g["*"]) || {};
                                                    if (e) {
                                                        for (
                                                            s = (e = e.split("/")).length - 1, u.nodeIdCompat && h.test(e[s]) && (e[s] = e[s].replace(h, "")), "." === e[0].charAt(0) && m && (e = m.slice(0, m.length - 1).concat(e)), d = 0;
                                                            d < e.length;
                                                            d++
                                                        )
                                                            if ("." === (p = e[d])) e.splice(d, 1), (d -= 1);
                                                            else if (".." === p) {
                                                                if (0 === d || (1 === d && ".." === e[2]) || ".." === e[d - 1]) continue;
                                                                d > 0 && (e.splice(d - 1, 2), (d -= 2));
                                                            }
                                                        e = e.join("/");
                                                    }
                                                    if ((m || v) && g) {
                                                        for (d = (n = e.split("/")).length; d > 0; d -= 1) {
                                                            if (((r = n.slice(0, d).join("/")), m))
                                                                for (f = m.length; f > 0; f -= 1)
                                                                    if ((o = g[m.slice(0, f).join("/")]) && (o = o[r])) {
                                                                        (i = o), (a = d);
                                                                        break;
                                                                    }
                                                            if (i) break;
                                                            !l && v && v[r] && ((l = v[r]), (c = d));
                                                        }
                                                        !i && l && ((i = l), (a = c)), i && (n.splice(0, a, i), (e = n.join("/")));
                                                    }
                                                    return e;
                                                }
                                                function v(e, t) {
                                                    return function () {
                                                        var n = p.call(arguments, 0);
                                                        return "string" != typeof n[0] && 1 === n.length && n.push(null), i.apply(void 0, n.concat([e, t]));
                                                    };
                                                }
                                                function y(e) {
                                                    return function (t) {
                                                        l[e] = t;
                                                    };
                                                }
                                                function b(e) {
                                                    if (m(c, e)) {
                                                        var t = c[e];
                                                        delete c[e], (d[e] = !0), o.apply(void 0, t);
                                                    }
                                                    if (!m(l, e) && !m(d, e)) throw new Error("No " + e);
                                                    return l[e];
                                                }
                                                function _(e) {
                                                    var t,
                                                        n = e ? e.indexOf("!") : -1;
                                                    return n > -1 && ((t = e.substring(0, n)), (e = e.substring(n + 1, e.length))), [t, e];
                                                }
                                                function w(e) {
                                                    return e ? _(e) : [];
                                                }
                                                function C(e) {
                                                    return function () {
                                                        return (u && u.config && u.config[e]) || {};
                                                    };
                                                }
                                                (s = function (e, t) {
                                                    var n,
                                                        r,
                                                        o = _(e),
                                                        i = o[0],
                                                        s = t[1];
                                                    return (
                                                        (e = o[1]),
                                                        i && (n = b((i = g(i, s)))),
                                                        i
                                                            ? (e =
                                                                  n && n.normalize
                                                                      ? n.normalize(
                                                                            e,
                                                                            ((r = s),
                                                                            function (e) {
                                                                                return g(e, r);
                                                                            })
                                                                        )
                                                                      : g(e, s))
                                                            : ((i = (o = _((e = g(e, s))))[0]), (e = o[1]), i && (n = b(i))),
                                                        { f: i ? i + "!" + e : e, n: e, pr: i, p: n }
                                                    );
                                                }),
                                                    (a = {
                                                        require: function (e) {
                                                            return v(e);
                                                        },
                                                        exports: function (e) {
                                                            var t = l[e];
                                                            return void 0 !== t ? t : (l[e] = {});
                                                        },
                                                        module: function (e) {
                                                            return { id: e, uri: "", exports: l[e], config: C(e) };
                                                        },
                                                    }),
                                                    (o = function (e, t, n, r) {
                                                        var o,
                                                            i,
                                                            u,
                                                            f,
                                                            p,
                                                            h,
                                                            g,
                                                            _ = [],
                                                            C = typeof n;
                                                        if (((h = w((r = r || e))), "undefined" === C || "function" === C)) {
                                                            for (t = !t.length && n.length ? ["require", "exports", "module"] : t, p = 0; p < t.length; p += 1)
                                                                if ("require" === (i = (f = s(t[p], h)).f)) _[p] = a.require(e);
                                                                else if ("exports" === i) (_[p] = a.exports(e)), (g = !0);
                                                                else if ("module" === i) o = _[p] = a.module(e);
                                                                else if (m(l, i) || m(c, i) || m(d, i)) _[p] = b(i);
                                                                else {
                                                                    if (!f.p) throw new Error(e + " missing " + i);
                                                                    f.p.load(f.n, v(r, !0), y(i), {}), (_[p] = l[i]);
                                                                }
                                                            (u = n ? n.apply(l[e], _) : void 0), e && (o && void 0 !== o.exports && o.exports !== l[e] ? (l[e] = o.exports) : (void 0 === u && g) || (l[e] = u));
                                                        } else e && (l[e] = n);
                                                    }),
                                                    (e = n = i = function (e, t, n, r, l) {
                                                        if ("string" == typeof e) return a[e] ? a[e](t) : b(s(e, w(t)).f);
                                                        if (!e.splice) {
                                                            if (((u = e).deps && i(u.deps, u.callback), !t)) return;
                                                            t.splice ? ((e = t), (t = n), (n = null)) : (e = void 0);
                                                        }
                                                        return (
                                                            (t = t || function () {}),
                                                            "function" == typeof n && ((n = r), (r = l)),
                                                            r
                                                                ? o(void 0, e, t, n)
                                                                : setTimeout(function () {
                                                                      o(void 0, e, t, n);
                                                                  }, 4),
                                                            i
                                                        );
                                                    }),
                                                    (i.config = function (e) {
                                                        return i(e);
                                                    }),
                                                    (e._defined = l),
                                                    ((r = function (e, t, n) {
                                                        if ("string" != typeof e) throw new Error("See almond README: incorrect module build, no module name");
                                                        t.splice || ((n = t), (t = [])), m(l, e) || m(c, e) || (c[e] = [e, t, n]);
                                                    }).amd = { jQuery: !0 });
                                            })(),
                                            (t.requirejs = e),
                                            (t.require = n),
                                            (t.define = r));
                                    })(),
                                    t.define("almond", function () {}),
                                    t.define("jquery", [], function () {
                                        var t = e || $;
                                        return (
                                            null == t &&
                                                console &&
                                                console.error &&
                                                console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),
                                            t
                                        );
                                    }),
                                    t.define("select2/utils", ["jquery"], function (e) {
                                        var t = {};
                                        function n(e) {
                                            var t = e.prototype,
                                                n = [];
                                            for (var r in t) "function" == typeof t[r] && "constructor" !== r && n.push(r);
                                            return n;
                                        }
                                        (t.Extend = function (e, t) {
                                            var n = {}.hasOwnProperty;
                                            function r() {
                                                this.constructor = e;
                                            }
                                            for (var o in t) n.call(t, o) && (e[o] = t[o]);
                                            return (r.prototype = t.prototype), (e.prototype = new r()), (e.__super__ = t.prototype), e;
                                        }),
                                            (t.Decorate = function (e, t) {
                                                var r = n(t),
                                                    o = n(e);
                                                function i() {
                                                    var n = Array.prototype.unshift,
                                                        r = t.prototype.constructor.length,
                                                        o = e.prototype.constructor;
                                                    r > 0 && (n.call(arguments, e.prototype.constructor), (o = t.prototype.constructor)), o.apply(this, arguments);
                                                }
                                                (t.displayName = e.displayName),
                                                    (i.prototype = new (function () {
                                                        this.constructor = i;
                                                    })());
                                                for (var s = 0; s < o.length; s++) {
                                                    var a = o[s];
                                                    i.prototype[a] = e.prototype[a];
                                                }
                                                for (
                                                    var l = function (e) {
                                                            var n = function () {};
                                                            (e in i.prototype) && (n = i.prototype[e]);
                                                            var r = t.prototype[e];
                                                            return function () {
                                                                var e = Array.prototype.unshift;
                                                                return e.call(arguments, n), r.apply(this, arguments);
                                                            };
                                                        },
                                                        c = 0;
                                                    c < r.length;
                                                    c++
                                                ) {
                                                    var u = r[c];
                                                    i.prototype[u] = l(u);
                                                }
                                                return i;
                                            });
                                        var r = function () {
                                            this.listeners = {};
                                        };
                                        (r.prototype.on = function (e, t) {
                                            (this.listeners = this.listeners || {}), e in this.listeners ? this.listeners[e].push(t) : (this.listeners[e] = [t]);
                                        }),
                                            (r.prototype.trigger = function (e) {
                                                var t = Array.prototype.slice,
                                                    n = t.call(arguments, 1);
                                                (this.listeners = this.listeners || {}),
                                                    null == n && (n = []),
                                                    0 === n.length && n.push({}),
                                                    (n[0]._type = e),
                                                    e in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)),
                                                    "*" in this.listeners && this.invoke(this.listeners["*"], arguments);
                                            }),
                                            (r.prototype.invoke = function (e, t) {
                                                for (var n = 0, r = e.length; n < r; n++) e[n].apply(this, t);
                                            }),
                                            (t.Observable = r),
                                            (t.generateChars = function (e) {
                                                for (var t = "", n = 0; n < e; n++) t += Math.floor(36 * Math.random()).toString(36);
                                                return t;
                                            }),
                                            (t.bind = function (e, t) {
                                                return function () {
                                                    e.apply(t, arguments);
                                                };
                                            }),
                                            (t._convertData = function (e) {
                                                for (var t in e) {
                                                    var n = t.split("-"),
                                                        r = e;
                                                    if (1 !== n.length) {
                                                        for (var o = 0; o < n.length; o++) {
                                                            var i = n[o];
                                                            (i = i.substring(0, 1).toLowerCase() + i.substring(1)) in r || (r[i] = {}), o == n.length - 1 && (r[i] = e[t]), (r = r[i]);
                                                        }
                                                        delete e[t];
                                                    }
                                                }
                                                return e;
                                            }),
                                            (t.hasScroll = function (t, n) {
                                                var r = e(n),
                                                    o = n.style.overflowX,
                                                    i = n.style.overflowY;
                                                return (o !== i || ("hidden" !== i && "visible" !== i)) && ("scroll" === o || "scroll" === i || r.innerHeight() < n.scrollHeight || r.innerWidth() < n.scrollWidth);
                                            }),
                                            (t.escapeMarkup = function (e) {
                                                var t = { "\\": "&#92;", "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#47;" };
                                                return "string" != typeof e
                                                    ? e
                                                    : String(e).replace(/[&<>"'\/\\]/g, function (e) {
                                                          return t[e];
                                                      });
                                            }),
                                            (t.appendMany = function (t, n) {
                                                if ("1.7" === e.fn.jquery.substr(0, 3)) {
                                                    var r = e();
                                                    e.map(n, function (e) {
                                                        r = r.add(e);
                                                    }),
                                                        (n = r);
                                                }
                                                t.append(n);
                                            }),
                                            (t.__cache = {});
                                        var o = 0;
                                        return (
                                            (t.GetUniqueElementId = function (e) {
                                                var t = e.getAttribute("data-select2-id");
                                                return null == t && (e.id ? ((t = e.id), e.setAttribute("data-select2-id", t)) : (e.setAttribute("data-select2-id", ++o), (t = o.toString()))), t;
                                            }),
                                            (t.StoreData = function (e, n, r) {
                                                var o = t.GetUniqueElementId(e);
                                                t.__cache[o] || (t.__cache[o] = {}), (t.__cache[o][n] = r);
                                            }),
                                            (t.GetData = function (n, r) {
                                                var o = t.GetUniqueElementId(n);
                                                return r ? (t.__cache[o] && null != t.__cache[o][r] ? t.__cache[o][r] : e(n).data(r)) : t.__cache[o];
                                            }),
                                            (t.RemoveData = function (e) {
                                                var n = t.GetUniqueElementId(e);
                                                null != t.__cache[n] && delete t.__cache[n], e.removeAttribute("data-select2-id");
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/results", ["jquery", "./utils"], function (e, t) {
                                        function n(e, t, r) {
                                            (this.$element = e), (this.data = r), (this.options = t), n.__super__.constructor.call(this);
                                        }
                                        return (
                                            t.Extend(n, t.Observable),
                                            (n.prototype.render = function () {
                                                var t = e('<ul class="select2-results__options" role="listbox"></ul>');
                                                return this.options.get("multiple") && t.attr("aria-multiselectable", "true"), (this.$results = t), t;
                                            }),
                                            (n.prototype.clear = function () {
                                                this.$results.empty();
                                            }),
                                            (n.prototype.displayMessage = function (t) {
                                                var n = this.options.get("escapeMarkup");
                                                this.clear(), this.hideLoading();
                                                var r = e('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),
                                                    o = this.options.get("translations").get(t.message);
                                                r.append(n(o(t.args))), (r[0].className += " select2-results__message"), this.$results.append(r);
                                            }),
                                            (n.prototype.hideMessages = function () {
                                                this.$results.find(".select2-results__message").remove();
                                            }),
                                            (n.prototype.append = function (e) {
                                                this.hideLoading();
                                                var t = [];
                                                if (null != e.results && 0 !== e.results.length) {
                                                    e.results = this.sort(e.results);
                                                    for (var n = 0; n < e.results.length; n++) {
                                                        var r = e.results[n],
                                                            o = this.option(r);
                                                        t.push(o);
                                                    }
                                                    this.$results.append(t);
                                                } else 0 === this.$results.children().length && this.trigger("results:message", { message: "noResults" });
                                            }),
                                            (n.prototype.position = function (e, t) {
                                                t.find(".select2-results").append(e);
                                            }),
                                            (n.prototype.sort = function (e) {
                                                return this.options.get("sorter")(e);
                                            }),
                                            (n.prototype.highlightFirstItem = function () {
                                                var e = this.$results.find(".select2-results__option[aria-selected]"),
                                                    t = e.filter("[aria-selected=true]");
                                                t.length > 0 ? t.first().trigger("mouseenter") : e.first().trigger("mouseenter"), this.ensureHighlightVisible();
                                            }),
                                            (n.prototype.setClasses = function () {
                                                var n = this;
                                                this.data.current(function (r) {
                                                    var o = e.map(r, function (e) {
                                                        return e.id.toString();
                                                    });
                                                    n.$results.find(".select2-results__option[aria-selected]").each(function () {
                                                        var n = e(this),
                                                            r = t.GetData(this, "data"),
                                                            i = "" + r.id;
                                                        (null != r.element && r.element.selected) || (null == r.element && e.inArray(i, o) > -1) ? n.attr("aria-selected", "true") : n.attr("aria-selected", "false");
                                                    });
                                                });
                                            }),
                                            (n.prototype.showLoading = function (e) {
                                                this.hideLoading();
                                                var t = { disabled: !0, loading: !0, text: this.options.get("translations").get("searching")(e) },
                                                    n = this.option(t);
                                                (n.className += " loading-results"), this.$results.prepend(n);
                                            }),
                                            (n.prototype.hideLoading = function () {
                                                this.$results.find(".loading-results").remove();
                                            }),
                                            (n.prototype.option = function (n) {
                                                var r = document.createElement("li");
                                                r.className = "select2-results__option";
                                                var o = { role: "option", "aria-selected": "false" },
                                                    i = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
                                                for (var s in (((null != n.element && i.call(n.element, ":disabled")) || (null == n.element && n.disabled)) && (delete o["aria-selected"], (o["aria-disabled"] = "true")),
                                                null == n.id && delete o["aria-selected"],
                                                null != n._resultId && (r.id = n._resultId),
                                                n.title && (r.title = n.title),
                                                n.children && ((o.role = "group"), (o["aria-label"] = n.text), delete o["aria-selected"]),
                                                o)) {
                                                    var a = o[s];
                                                    r.setAttribute(s, a);
                                                }
                                                if (n.children) {
                                                    var l = e(r),
                                                        c = document.createElement("strong");
                                                    (c.className = "select2-results__group"), e(c), this.template(n, c);
                                                    for (var u = [], d = 0; d < n.children.length; d++) {
                                                        var f = n.children[d],
                                                            p = this.option(f);
                                                        u.push(p);
                                                    }
                                                    var h = e("<ul></ul>", { class: "select2-results__options select2-results__options--nested" });
                                                    h.append(u), l.append(c), l.append(h);
                                                } else this.template(n, r);
                                                return t.StoreData(r, "data", n), r;
                                            }),
                                            (n.prototype.bind = function (n, r) {
                                                var o = this,
                                                    i = n.id + "-results";
                                                this.$results.attr("id", i),
                                                    n.on("results:all", function (e) {
                                                        o.clear(), o.append(e.data), n.isOpen() && (o.setClasses(), o.highlightFirstItem());
                                                    }),
                                                    n.on("results:append", function (e) {
                                                        o.append(e.data), n.isOpen() && o.setClasses();
                                                    }),
                                                    n.on("query", function (e) {
                                                        o.hideMessages(), o.showLoading(e);
                                                    }),
                                                    n.on("select", function () {
                                                        n.isOpen() && (o.setClasses(), o.options.get("scrollAfterSelect") && o.highlightFirstItem());
                                                    }),
                                                    n.on("unselect", function () {
                                                        n.isOpen() && (o.setClasses(), o.options.get("scrollAfterSelect") && o.highlightFirstItem());
                                                    }),
                                                    n.on("open", function () {
                                                        o.$results.attr("aria-expanded", "true"), o.$results.attr("aria-hidden", "false"), o.setClasses(), o.ensureHighlightVisible();
                                                    }),
                                                    n.on("close", function () {
                                                        o.$results.attr("aria-expanded", "false"), o.$results.attr("aria-hidden", "true"), o.$results.removeAttr("aria-activedescendant");
                                                    }),
                                                    n.on("results:toggle", function () {
                                                        var e = o.getHighlightedResults();
                                                        0 !== e.length && e.trigger("mouseup");
                                                    }),
                                                    n.on("results:select", function () {
                                                        var e = o.getHighlightedResults();
                                                        if (0 !== e.length) {
                                                            var n = t.GetData(e[0], "data");
                                                            "true" == e.attr("aria-selected") ? o.trigger("close", {}) : o.trigger("select", { data: n });
                                                        }
                                                    }),
                                                    n.on("results:previous", function () {
                                                        var e = o.getHighlightedResults(),
                                                            t = o.$results.find("[aria-selected]"),
                                                            n = t.index(e);
                                                        if (!(n <= 0)) {
                                                            var r = n - 1;
                                                            0 === e.length && (r = 0);
                                                            var i = t.eq(r);
                                                            i.trigger("mouseenter");
                                                            var s = o.$results.offset().top,
                                                                a = i.offset().top,
                                                                l = o.$results.scrollTop() + (a - s);
                                                            0 === r ? o.$results.scrollTop(0) : a - s < 0 && o.$results.scrollTop(l);
                                                        }
                                                    }),
                                                    n.on("results:next", function () {
                                                        var e = o.getHighlightedResults(),
                                                            t = o.$results.find("[aria-selected]"),
                                                            n = t.index(e) + 1;
                                                        if (!(n >= t.length)) {
                                                            var r = t.eq(n);
                                                            r.trigger("mouseenter");
                                                            var i = o.$results.offset().top + o.$results.outerHeight(!1),
                                                                s = r.offset().top + r.outerHeight(!1),
                                                                a = o.$results.scrollTop() + s - i;
                                                            0 === n ? o.$results.scrollTop(0) : s > i && o.$results.scrollTop(a);
                                                        }
                                                    }),
                                                    n.on("results:focus", function (e) {
                                                        e.element.addClass("select2-results__option--highlighted");
                                                    }),
                                                    n.on("results:message", function (e) {
                                                        o.displayMessage(e);
                                                    }),
                                                    e.fn.mousewheel &&
                                                        this.$results.on("mousewheel", function (e) {
                                                            var t = o.$results.scrollTop(),
                                                                n = o.$results.get(0).scrollHeight - t + e.deltaY,
                                                                r = e.deltaY > 0 && t - e.deltaY <= 0,
                                                                i = e.deltaY < 0 && n <= o.$results.height();
                                                            r
                                                                ? (o.$results.scrollTop(0), e.preventDefault(), e.stopPropagation())
                                                                : i && (o.$results.scrollTop(o.$results.get(0).scrollHeight - o.$results.height()), e.preventDefault(), e.stopPropagation());
                                                        }),
                                                    this.$results.on("mouseup", ".select2-results__option[aria-selected]", function (n) {
                                                        var r = e(this),
                                                            i = t.GetData(this, "data");
                                                        "true" !== r.attr("aria-selected")
                                                            ? o.trigger("select", { originalEvent: n, data: i })
                                                            : o.options.get("multiple")
                                                            ? o.trigger("unselect", { originalEvent: n, data: i })
                                                            : o.trigger("close", {});
                                                    }),
                                                    this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function (n) {
                                                        var r = t.GetData(this, "data");
                                                        o.getHighlightedResults().removeClass("select2-results__option--highlighted"), o.trigger("results:focus", { data: r, element: e(this) });
                                                    });
                                            }),
                                            (n.prototype.getHighlightedResults = function () {
                                                return this.$results.find(".select2-results__option--highlighted");
                                            }),
                                            (n.prototype.destroy = function () {
                                                this.$results.remove();
                                            }),
                                            (n.prototype.ensureHighlightVisible = function () {
                                                var e = this.getHighlightedResults();
                                                if (0 !== e.length) {
                                                    var t = this.$results.find("[aria-selected]").index(e),
                                                        n = this.$results.offset().top,
                                                        r = e.offset().top,
                                                        o = this.$results.scrollTop() + (r - n),
                                                        i = r - n;
                                                    (o -= 2 * e.outerHeight(!1)), t <= 2 ? this.$results.scrollTop(0) : (i > this.$results.outerHeight() || i < 0) && this.$results.scrollTop(o);
                                                }
                                            }),
                                            (n.prototype.template = function (t, n) {
                                                var r = this.options.get("templateResult"),
                                                    o = this.options.get("escapeMarkup"),
                                                    i = r(t, n);
                                                null == i ? (n.style.display = "none") : "string" == typeof i ? (n.innerHTML = o(i)) : e(n).append(i);
                                            }),
                                            n
                                        );
                                    }),
                                    t.define("select2/keys", [], function () {
                                        return { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46 };
                                    }),
                                    t.define("select2/selection/base", ["jquery", "../utils", "../keys"], function (e, t, n) {
                                        function r(e, t) {
                                            (this.$element = e), (this.options = t), r.__super__.constructor.call(this);
                                        }
                                        return (
                                            t.Extend(r, t.Observable),
                                            (r.prototype.render = function () {
                                                var n = e('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
                                                return (
                                                    (this._tabindex = 0),
                                                    null != t.GetData(this.$element[0], "old-tabindex")
                                                        ? (this._tabindex = t.GetData(this.$element[0], "old-tabindex"))
                                                        : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")),
                                                    n.attr("title", this.$element.attr("title")),
                                                    n.attr("tabindex", this._tabindex),
                                                    n.attr("aria-disabled", "false"),
                                                    (this.$selection = n),
                                                    n
                                                );
                                            }),
                                            (r.prototype.bind = function (e, t) {
                                                var r = this,
                                                    o = e.id + "-results";
                                                (this.container = e),
                                                    this.$selection.on("focus", function (e) {
                                                        r.trigger("focus", e);
                                                    }),
                                                    this.$selection.on("blur", function (e) {
                                                        r._handleBlur(e);
                                                    }),
                                                    this.$selection.on("keydown", function (e) {
                                                        r.trigger("keypress", e), e.which === n.SPACE && e.preventDefault();
                                                    }),
                                                    e.on("results:focus", function (e) {
                                                        r.$selection.attr("aria-activedescendant", e.data._resultId);
                                                    }),
                                                    e.on("selection:update", function (e) {
                                                        r.update(e.data);
                                                    }),
                                                    e.on("open", function () {
                                                        r.$selection.attr("aria-expanded", "true"), r.$selection.attr("aria-owns", o), r._attachCloseHandler(e);
                                                    }),
                                                    e.on("close", function () {
                                                        r.$selection.attr("aria-expanded", "false"),
                                                            r.$selection.removeAttr("aria-activedescendant"),
                                                            r.$selection.removeAttr("aria-owns"),
                                                            r.$selection.trigger("focus"),
                                                            r._detachCloseHandler(e);
                                                    }),
                                                    e.on("enable", function () {
                                                        r.$selection.attr("tabindex", r._tabindex), r.$selection.attr("aria-disabled", "false");
                                                    }),
                                                    e.on("disable", function () {
                                                        r.$selection.attr("tabindex", "-1"), r.$selection.attr("aria-disabled", "true");
                                                    });
                                            }),
                                            (r.prototype._handleBlur = function (t) {
                                                var n = this;
                                                window.setTimeout(function () {
                                                    document.activeElement == n.$selection[0] || e.contains(n.$selection[0], document.activeElement) || n.trigger("blur", t);
                                                }, 1);
                                            }),
                                            (r.prototype._attachCloseHandler = function (n) {
                                                e(document.body).on("mousedown.select2." + n.id, function (n) {
                                                    var r = e(n.target).closest(".select2");
                                                    e(".select2.select2-container--open").each(function () {
                                                        this != r[0] && t.GetData(this, "element").select2("close");
                                                    });
                                                });
                                            }),
                                            (r.prototype._detachCloseHandler = function (t) {
                                                e(document.body).off("mousedown.select2." + t.id);
                                            }),
                                            (r.prototype.position = function (e, t) {
                                                t.find(".selection").append(e);
                                            }),
                                            (r.prototype.destroy = function () {
                                                this._detachCloseHandler(this.container);
                                            }),
                                            (r.prototype.update = function (e) {
                                                throw new Error("The `update` method must be defined in child classes.");
                                            }),
                                            (r.prototype.isEnabled = function () {
                                                return !this.isDisabled();
                                            }),
                                            (r.prototype.isDisabled = function () {
                                                return this.options.get("disabled");
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function (e, t, n, r) {
                                        function o() {
                                            o.__super__.constructor.apply(this, arguments);
                                        }
                                        return (
                                            n.Extend(o, t),
                                            (o.prototype.render = function () {
                                                var e = o.__super__.render.call(this);
                                                return (
                                                    e.addClass("select2-selection--single"),
                                                    e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),
                                                    e
                                                );
                                            }),
                                            (o.prototype.bind = function (e, t) {
                                                var n = this;
                                                o.__super__.bind.apply(this, arguments);
                                                var r = e.id + "-container";
                                                this.$selection.find(".select2-selection__rendered").attr("id", r).attr("role", "textbox").attr("aria-readonly", "true"),
                                                    this.$selection.attr("aria-labelledby", r),
                                                    this.$selection.on("mousedown", function (e) {
                                                        1 === e.which && n.trigger("toggle", { originalEvent: e });
                                                    }),
                                                    this.$selection.on("focus", function (e) {}),
                                                    this.$selection.on("blur", function (e) {}),
                                                    e.on("focus", function (t) {
                                                        e.isOpen() || n.$selection.trigger("focus");
                                                    });
                                            }),
                                            (o.prototype.clear = function () {
                                                var e = this.$selection.find(".select2-selection__rendered");
                                                e.empty(), e.removeAttr("title");
                                            }),
                                            (o.prototype.display = function (e, t) {
                                                var n = this.options.get("templateSelection");
                                                return this.options.get("escapeMarkup")(n(e, t));
                                            }),
                                            (o.prototype.selectionContainer = function () {
                                                return e("<span></span>");
                                            }),
                                            (o.prototype.update = function (e) {
                                                if (0 !== e.length) {
                                                    var t = e[0],
                                                        n = this.$selection.find(".select2-selection__rendered"),
                                                        r = this.display(t, n);
                                                    n.empty().append(r);
                                                    var o = t.title || t.text;
                                                    o ? n.attr("title", o) : n.removeAttr("title");
                                                } else this.clear();
                                            }),
                                            o
                                        );
                                    }),
                                    t.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function (e, t, n) {
                                        function r(e, t) {
                                            r.__super__.constructor.apply(this, arguments);
                                        }
                                        return (
                                            n.Extend(r, t),
                                            (r.prototype.render = function () {
                                                var e = r.__super__.render.call(this);
                                                return e.addClass("select2-selection--multiple"), e.html('<ul class="select2-selection__rendered"></ul>'), e;
                                            }),
                                            (r.prototype.bind = function (t, o) {
                                                var i = this;
                                                r.__super__.bind.apply(this, arguments),
                                                    this.$selection.on("click", function (e) {
                                                        i.trigger("toggle", { originalEvent: e });
                                                    }),
                                                    this.$selection.on("click", ".select2-selection__choice__remove", function (t) {
                                                        if (!i.isDisabled()) {
                                                            var r = e(this).parent(),
                                                                o = n.GetData(r[0], "data");
                                                            i.trigger("unselect", { originalEvent: t, data: o });
                                                        }
                                                    });
                                            }),
                                            (r.prototype.clear = function () {
                                                var e = this.$selection.find(".select2-selection__rendered");
                                                e.empty(), e.removeAttr("title");
                                            }),
                                            (r.prototype.display = function (e, t) {
                                                var n = this.options.get("templateSelection");
                                                return this.options.get("escapeMarkup")(n(e, t));
                                            }),
                                            (r.prototype.selectionContainer = function () {
                                                return e('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');
                                            }),
                                            (r.prototype.update = function (e) {
                                                if ((this.clear(), 0 !== e.length)) {
                                                    for (var t = [], r = 0; r < e.length; r++) {
                                                        var o = e[r],
                                                            i = this.selectionContainer(),
                                                            s = this.display(o, i);
                                                        i.append(s);
                                                        var a = o.title || o.text;
                                                        a && i.attr("title", a), n.StoreData(i[0], "data", o), t.push(i);
                                                    }
                                                    var l = this.$selection.find(".select2-selection__rendered");
                                                    n.appendMany(l, t);
                                                }
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/selection/placeholder", ["../utils"], function (e) {
                                        function t(e, t, n) {
                                            (this.placeholder = this.normalizePlaceholder(n.get("placeholder"))), e.call(this, t, n);
                                        }
                                        return (
                                            (t.prototype.normalizePlaceholder = function (e, t) {
                                                return "string" == typeof t && (t = { id: "", text: t }), t;
                                            }),
                                            (t.prototype.createPlaceholder = function (e, t) {
                                                var n = this.selectionContainer();
                                                return n.html(this.display(t)), n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), n;
                                            }),
                                            (t.prototype.update = function (e, t) {
                                                var n = 1 == t.length && t[0].id != this.placeholder.id;
                                                if (t.length > 1 || n) return e.call(this, t);
                                                this.clear();
                                                var r = this.createPlaceholder(this.placeholder);
                                                this.$selection.find(".select2-selection__rendered").append(r);
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function (e, t, n) {
                                        function r() {}
                                        return (
                                            (r.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    null == this.placeholder &&
                                                        this.options.get("debug") &&
                                                        window.console &&
                                                        console.error &&
                                                        console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),
                                                    this.$selection.on("mousedown", ".select2-selection__clear", function (e) {
                                                        r._handleClear(e);
                                                    }),
                                                    t.on("keypress", function (e) {
                                                        r._handleKeyboardClear(e, t);
                                                    });
                                            }),
                                            (r.prototype._handleClear = function (e, t) {
                                                if (!this.isDisabled()) {
                                                    var r = this.$selection.find(".select2-selection__clear");
                                                    if (0 !== r.length) {
                                                        t.stopPropagation();
                                                        var o = n.GetData(r[0], "data"),
                                                            i = this.$element.val();
                                                        this.$element.val(this.placeholder.id);
                                                        var s = { data: o };
                                                        if ((this.trigger("clear", s), s.prevented)) this.$element.val(i);
                                                        else {
                                                            for (var a = 0; a < o.length; a++) if (((s = { data: o[a] }), this.trigger("unselect", s), s.prevented)) return void this.$element.val(i);
                                                            this.$element.trigger("input").trigger("change"), this.trigger("toggle", {});
                                                        }
                                                    }
                                                }
                                            }),
                                            (r.prototype._handleKeyboardClear = function (e, n, r) {
                                                r.isOpen() || (n.which != t.DELETE && n.which != t.BACKSPACE) || this._handleClear(n);
                                            }),
                                            (r.prototype.update = function (t, r) {
                                                if ((t.call(this, r), !(this.$selection.find(".select2-selection__placeholder").length > 0 || 0 === r.length))) {
                                                    var o = this.options.get("translations").get("removeAllItems"),
                                                        i = e('<span class="select2-selection__clear" title="' + o() + '">&times;</span>');
                                                    n.StoreData(i[0], "data", r), this.$selection.find(".select2-selection__rendered").prepend(i);
                                                }
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/selection/search", ["jquery", "../utils", "../keys"], function (e, t, n) {
                                        function r(e, t, n) {
                                            e.call(this, t, n);
                                        }
                                        return (
                                            (r.prototype.render = function (t) {
                                                var n = e(
                                                    '<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>'
                                                );
                                                (this.$searchContainer = n), (this.$search = n.find("input"));
                                                var r = t.call(this);
                                                return this._transferTabIndex(), r;
                                            }),
                                            (r.prototype.bind = function (e, r, o) {
                                                var i = this,
                                                    s = r.id + "-results";
                                                e.call(this, r, o),
                                                    r.on("open", function () {
                                                        i.$search.attr("aria-controls", s), i.$search.trigger("focus");
                                                    }),
                                                    r.on("close", function () {
                                                        i.$search.val(""), i.$search.removeAttr("aria-controls"), i.$search.removeAttr("aria-activedescendant"), i.$search.trigger("focus");
                                                    }),
                                                    r.on("enable", function () {
                                                        i.$search.prop("disabled", !1), i._transferTabIndex();
                                                    }),
                                                    r.on("disable", function () {
                                                        i.$search.prop("disabled", !0);
                                                    }),
                                                    r.on("focus", function (e) {
                                                        i.$search.trigger("focus");
                                                    }),
                                                    r.on("results:focus", function (e) {
                                                        e.data._resultId ? i.$search.attr("aria-activedescendant", e.data._resultId) : i.$search.removeAttr("aria-activedescendant");
                                                    }),
                                                    this.$selection.on("focusin", ".select2-search--inline", function (e) {
                                                        i.trigger("focus", e);
                                                    }),
                                                    this.$selection.on("focusout", ".select2-search--inline", function (e) {
                                                        i._handleBlur(e);
                                                    }),
                                                    this.$selection.on("keydown", ".select2-search--inline", function (e) {
                                                        if ((e.stopPropagation(), i.trigger("keypress", e), (i._keyUpPrevented = e.isDefaultPrevented()), e.which === n.BACKSPACE && "" === i.$search.val())) {
                                                            var r = i.$searchContainer.prev(".select2-selection__choice");
                                                            if (r.length > 0) {
                                                                var o = t.GetData(r[0], "data");
                                                                i.searchRemoveChoice(o), e.preventDefault();
                                                            }
                                                        }
                                                    }),
                                                    this.$selection.on("click", ".select2-search--inline", function (e) {
                                                        i.$search.val() && e.stopPropagation();
                                                    });
                                                var a = document.documentMode,
                                                    l = a && a <= 11;
                                                this.$selection.on("input.searchcheck", ".select2-search--inline", function (e) {
                                                    l ? i.$selection.off("input.search input.searchcheck") : i.$selection.off("keyup.search");
                                                }),
                                                    this.$selection.on("keyup.search input.search", ".select2-search--inline", function (e) {
                                                        if (l && "input" === e.type) i.$selection.off("input.search input.searchcheck");
                                                        else {
                                                            var t = e.which;
                                                            t != n.SHIFT && t != n.CTRL && t != n.ALT && t != n.TAB && i.handleSearch(e);
                                                        }
                                                    });
                                            }),
                                            (r.prototype._transferTabIndex = function (e) {
                                                this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1");
                                            }),
                                            (r.prototype.createPlaceholder = function (e, t) {
                                                this.$search.attr("placeholder", t.text);
                                            }),
                                            (r.prototype.update = function (e, t) {
                                                var n = this.$search[0] == document.activeElement;
                                                this.$search.attr("placeholder", ""),
                                                    e.call(this, t),
                                                    this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),
                                                    this.resizeSearch(),
                                                    n && this.$search.trigger("focus");
                                            }),
                                            (r.prototype.handleSearch = function () {
                                                if ((this.resizeSearch(), !this._keyUpPrevented)) {
                                                    var e = this.$search.val();
                                                    this.trigger("query", { term: e });
                                                }
                                                this._keyUpPrevented = !1;
                                            }),
                                            (r.prototype.searchRemoveChoice = function (e, t) {
                                                this.trigger("unselect", { data: t }), this.$search.val(t.text), this.handleSearch();
                                            }),
                                            (r.prototype.resizeSearch = function () {
                                                this.$search.css("width", "25px");
                                                var e = "";
                                                (e = "" !== this.$search.attr("placeholder") ? this.$selection.find(".select2-selection__rendered").width() : 0.75 * (this.$search.val().length + 1) + "em"), this.$search.css("width", e);
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/selection/eventRelay", ["jquery"], function (e) {
                                        function t() {}
                                        return (
                                            (t.prototype.bind = function (t, n, r) {
                                                var o = this,
                                                    i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"],
                                                    s = ["opening", "closing", "selecting", "unselecting", "clearing"];
                                                t.call(this, n, r),
                                                    n.on("*", function (t, n) {
                                                        if (-1 !== e.inArray(t, i)) {
                                                            n = n || {};
                                                            var r = e.Event("select2:" + t, { params: n });
                                                            o.$element.trigger(r), -1 !== e.inArray(t, s) && (n.prevented = r.isDefaultPrevented());
                                                        }
                                                    });
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/translation", ["jquery", "require"], function (e, t) {
                                        function n(e) {
                                            this.dict = e || {};
                                        }
                                        return (
                                            (n.prototype.all = function () {
                                                return this.dict;
                                            }),
                                            (n.prototype.get = function (e) {
                                                return this.dict[e];
                                            }),
                                            (n.prototype.extend = function (t) {
                                                this.dict = e.extend({}, t.all(), this.dict);
                                            }),
                                            (n._cache = {}),
                                            (n.loadPath = function (e) {
                                                if (!(e in n._cache)) {
                                                    var r = t(e);
                                                    n._cache[e] = r;
                                                }
                                                return new n(n._cache[e]);
                                            }),
                                            n
                                        );
                                    }),
                                    t.define("select2/diacritics", [], function () {
                                        return {
                                            "Ⓐ": "A",
                                            Ａ: "A",
                                            À: "A",
                                            Á: "A",
                                            Â: "A",
                                            Ầ: "A",
                                            Ấ: "A",
                                            Ẫ: "A",
                                            Ẩ: "A",
                                            Ã: "A",
                                            Ā: "A",
                                            Ă: "A",
                                            Ằ: "A",
                                            Ắ: "A",
                                            Ẵ: "A",
                                            Ẳ: "A",
                                            Ȧ: "A",
                                            Ǡ: "A",
                                            Ä: "A",
                                            Ǟ: "A",
                                            Ả: "A",
                                            Å: "A",
                                            Ǻ: "A",
                                            Ǎ: "A",
                                            Ȁ: "A",
                                            Ȃ: "A",
                                            Ạ: "A",
                                            Ậ: "A",
                                            Ặ: "A",
                                            Ḁ: "A",
                                            Ą: "A",
                                            Ⱥ: "A",
                                            Ɐ: "A",
                                            Ꜳ: "AA",
                                            Æ: "AE",
                                            Ǽ: "AE",
                                            Ǣ: "AE",
                                            Ꜵ: "AO",
                                            Ꜷ: "AU",
                                            Ꜹ: "AV",
                                            Ꜻ: "AV",
                                            Ꜽ: "AY",
                                            "Ⓑ": "B",
                                            Ｂ: "B",
                                            Ḃ: "B",
                                            Ḅ: "B",
                                            Ḇ: "B",
                                            Ƀ: "B",
                                            Ƃ: "B",
                                            Ɓ: "B",
                                            "Ⓒ": "C",
                                            Ｃ: "C",
                                            Ć: "C",
                                            Ĉ: "C",
                                            Ċ: "C",
                                            Č: "C",
                                            Ç: "C",
                                            Ḉ: "C",
                                            Ƈ: "C",
                                            Ȼ: "C",
                                            Ꜿ: "C",
                                            "Ⓓ": "D",
                                            Ｄ: "D",
                                            Ḋ: "D",
                                            Ď: "D",
                                            Ḍ: "D",
                                            Ḑ: "D",
                                            Ḓ: "D",
                                            Ḏ: "D",
                                            Đ: "D",
                                            Ƌ: "D",
                                            Ɗ: "D",
                                            Ɖ: "D",
                                            Ꝺ: "D",
                                            Ǳ: "DZ",
                                            Ǆ: "DZ",
                                            ǲ: "Dz",
                                            ǅ: "Dz",
                                            "Ⓔ": "E",
                                            Ｅ: "E",
                                            È: "E",
                                            É: "E",
                                            Ê: "E",
                                            Ề: "E",
                                            Ế: "E",
                                            Ễ: "E",
                                            Ể: "E",
                                            Ẽ: "E",
                                            Ē: "E",
                                            Ḕ: "E",
                                            Ḗ: "E",
                                            Ĕ: "E",
                                            Ė: "E",
                                            Ë: "E",
                                            Ẻ: "E",
                                            Ě: "E",
                                            Ȅ: "E",
                                            Ȇ: "E",
                                            Ẹ: "E",
                                            Ệ: "E",
                                            Ȩ: "E",
                                            Ḝ: "E",
                                            Ę: "E",
                                            Ḙ: "E",
                                            Ḛ: "E",
                                            Ɛ: "E",
                                            Ǝ: "E",
                                            "Ⓕ": "F",
                                            Ｆ: "F",
                                            Ḟ: "F",
                                            Ƒ: "F",
                                            Ꝼ: "F",
                                            "Ⓖ": "G",
                                            Ｇ: "G",
                                            Ǵ: "G",
                                            Ĝ: "G",
                                            Ḡ: "G",
                                            Ğ: "G",
                                            Ġ: "G",
                                            Ǧ: "G",
                                            Ģ: "G",
                                            Ǥ: "G",
                                            Ɠ: "G",
                                            Ꞡ: "G",
                                            Ᵹ: "G",
                                            Ꝿ: "G",
                                            "Ⓗ": "H",
                                            Ｈ: "H",
                                            Ĥ: "H",
                                            Ḣ: "H",
                                            Ḧ: "H",
                                            Ȟ: "H",
                                            Ḥ: "H",
                                            Ḩ: "H",
                                            Ḫ: "H",
                                            Ħ: "H",
                                            Ⱨ: "H",
                                            Ⱶ: "H",
                                            Ɥ: "H",
                                            "Ⓘ": "I",
                                            Ｉ: "I",
                                            Ì: "I",
                                            Í: "I",
                                            Î: "I",
                                            Ĩ: "I",
                                            Ī: "I",
                                            Ĭ: "I",
                                            İ: "I",
                                            Ï: "I",
                                            Ḯ: "I",
                                            Ỉ: "I",
                                            Ǐ: "I",
                                            Ȉ: "I",
                                            Ȋ: "I",
                                            Ị: "I",
                                            Į: "I",
                                            Ḭ: "I",
                                            Ɨ: "I",
                                            "Ⓙ": "J",
                                            Ｊ: "J",
                                            Ĵ: "J",
                                            Ɉ: "J",
                                            "Ⓚ": "K",
                                            Ｋ: "K",
                                            Ḱ: "K",
                                            Ǩ: "K",
                                            Ḳ: "K",
                                            Ķ: "K",
                                            Ḵ: "K",
                                            Ƙ: "K",
                                            Ⱪ: "K",
                                            Ꝁ: "K",
                                            Ꝃ: "K",
                                            Ꝅ: "K",
                                            Ꞣ: "K",
                                            "Ⓛ": "L",
                                            Ｌ: "L",
                                            Ŀ: "L",
                                            Ĺ: "L",
                                            Ľ: "L",
                                            Ḷ: "L",
                                            Ḹ: "L",
                                            Ļ: "L",
                                            Ḽ: "L",
                                            Ḻ: "L",
                                            Ł: "L",
                                            Ƚ: "L",
                                            Ɫ: "L",
                                            Ⱡ: "L",
                                            Ꝉ: "L",
                                            Ꝇ: "L",
                                            Ꞁ: "L",
                                            Ǉ: "LJ",
                                            ǈ: "Lj",
                                            "Ⓜ": "M",
                                            Ｍ: "M",
                                            Ḿ: "M",
                                            Ṁ: "M",
                                            Ṃ: "M",
                                            Ɱ: "M",
                                            Ɯ: "M",
                                            "Ⓝ": "N",
                                            Ｎ: "N",
                                            Ǹ: "N",
                                            Ń: "N",
                                            Ñ: "N",
                                            Ṅ: "N",
                                            Ň: "N",
                                            Ṇ: "N",
                                            Ņ: "N",
                                            Ṋ: "N",
                                            Ṉ: "N",
                                            Ƞ: "N",
                                            Ɲ: "N",
                                            Ꞑ: "N",
                                            Ꞥ: "N",
                                            Ǌ: "NJ",
                                            ǋ: "Nj",
                                            "Ⓞ": "O",
                                            Ｏ: "O",
                                            Ò: "O",
                                            Ó: "O",
                                            Ô: "O",
                                            Ồ: "O",
                                            Ố: "O",
                                            Ỗ: "O",
                                            Ổ: "O",
                                            Õ: "O",
                                            Ṍ: "O",
                                            Ȭ: "O",
                                            Ṏ: "O",
                                            Ō: "O",
                                            Ṑ: "O",
                                            Ṓ: "O",
                                            Ŏ: "O",
                                            Ȯ: "O",
                                            Ȱ: "O",
                                            Ö: "O",
                                            Ȫ: "O",
                                            Ỏ: "O",
                                            Ő: "O",
                                            Ǒ: "O",
                                            Ȍ: "O",
                                            Ȏ: "O",
                                            Ơ: "O",
                                            Ờ: "O",
                                            Ớ: "O",
                                            Ỡ: "O",
                                            Ở: "O",
                                            Ợ: "O",
                                            Ọ: "O",
                                            Ộ: "O",
                                            Ǫ: "O",
                                            Ǭ: "O",
                                            Ø: "O",
                                            Ǿ: "O",
                                            Ɔ: "O",
                                            Ɵ: "O",
                                            Ꝋ: "O",
                                            Ꝍ: "O",
                                            Œ: "OE",
                                            Ƣ: "OI",
                                            Ꝏ: "OO",
                                            Ȣ: "OU",
                                            "Ⓟ": "P",
                                            Ｐ: "P",
                                            Ṕ: "P",
                                            Ṗ: "P",
                                            Ƥ: "P",
                                            Ᵽ: "P",
                                            Ꝑ: "P",
                                            Ꝓ: "P",
                                            Ꝕ: "P",
                                            "Ⓠ": "Q",
                                            Ｑ: "Q",
                                            Ꝗ: "Q",
                                            Ꝙ: "Q",
                                            Ɋ: "Q",
                                            "Ⓡ": "R",
                                            Ｒ: "R",
                                            Ŕ: "R",
                                            Ṙ: "R",
                                            Ř: "R",
                                            Ȑ: "R",
                                            Ȓ: "R",
                                            Ṛ: "R",
                                            Ṝ: "R",
                                            Ŗ: "R",
                                            Ṟ: "R",
                                            Ɍ: "R",
                                            Ɽ: "R",
                                            Ꝛ: "R",
                                            Ꞧ: "R",
                                            Ꞃ: "R",
                                            "Ⓢ": "S",
                                            Ｓ: "S",
                                            ẞ: "S",
                                            Ś: "S",
                                            Ṥ: "S",
                                            Ŝ: "S",
                                            Ṡ: "S",
                                            Š: "S",
                                            Ṧ: "S",
                                            Ṣ: "S",
                                            Ṩ: "S",
                                            Ș: "S",
                                            Ş: "S",
                                            Ȿ: "S",
                                            Ꞩ: "S",
                                            Ꞅ: "S",
                                            "Ⓣ": "T",
                                            Ｔ: "T",
                                            Ṫ: "T",
                                            Ť: "T",
                                            Ṭ: "T",
                                            Ț: "T",
                                            Ţ: "T",
                                            Ṱ: "T",
                                            Ṯ: "T",
                                            Ŧ: "T",
                                            Ƭ: "T",
                                            Ʈ: "T",
                                            Ⱦ: "T",
                                            Ꞇ: "T",
                                            Ꜩ: "TZ",
                                            "Ⓤ": "U",
                                            Ｕ: "U",
                                            Ù: "U",
                                            Ú: "U",
                                            Û: "U",
                                            Ũ: "U",
                                            Ṹ: "U",
                                            Ū: "U",
                                            Ṻ: "U",
                                            Ŭ: "U",
                                            Ü: "U",
                                            Ǜ: "U",
                                            Ǘ: "U",
                                            Ǖ: "U",
                                            Ǚ: "U",
                                            Ủ: "U",
                                            Ů: "U",
                                            Ű: "U",
                                            Ǔ: "U",
                                            Ȕ: "U",
                                            Ȗ: "U",
                                            Ư: "U",
                                            Ừ: "U",
                                            Ứ: "U",
                                            Ữ: "U",
                                            Ử: "U",
                                            Ự: "U",
                                            Ụ: "U",
                                            Ṳ: "U",
                                            Ų: "U",
                                            Ṷ: "U",
                                            Ṵ: "U",
                                            Ʉ: "U",
                                            "Ⓥ": "V",
                                            Ｖ: "V",
                                            Ṽ: "V",
                                            Ṿ: "V",
                                            Ʋ: "V",
                                            Ꝟ: "V",
                                            Ʌ: "V",
                                            Ꝡ: "VY",
                                            "Ⓦ": "W",
                                            Ｗ: "W",
                                            Ẁ: "W",
                                            Ẃ: "W",
                                            Ŵ: "W",
                                            Ẇ: "W",
                                            Ẅ: "W",
                                            Ẉ: "W",
                                            Ⱳ: "W",
                                            "Ⓧ": "X",
                                            Ｘ: "X",
                                            Ẋ: "X",
                                            Ẍ: "X",
                                            "Ⓨ": "Y",
                                            Ｙ: "Y",
                                            Ỳ: "Y",
                                            Ý: "Y",
                                            Ŷ: "Y",
                                            Ỹ: "Y",
                                            Ȳ: "Y",
                                            Ẏ: "Y",
                                            Ÿ: "Y",
                                            Ỷ: "Y",
                                            Ỵ: "Y",
                                            Ƴ: "Y",
                                            Ɏ: "Y",
                                            Ỿ: "Y",
                                            "Ⓩ": "Z",
                                            Ｚ: "Z",
                                            Ź: "Z",
                                            Ẑ: "Z",
                                            Ż: "Z",
                                            Ž: "Z",
                                            Ẓ: "Z",
                                            Ẕ: "Z",
                                            Ƶ: "Z",
                                            Ȥ: "Z",
                                            Ɀ: "Z",
                                            Ⱬ: "Z",
                                            Ꝣ: "Z",
                                            "ⓐ": "a",
                                            ａ: "a",
                                            ẚ: "a",
                                            à: "a",
                                            á: "a",
                                            â: "a",
                                            ầ: "a",
                                            ấ: "a",
                                            ẫ: "a",
                                            ẩ: "a",
                                            ã: "a",
                                            ā: "a",
                                            ă: "a",
                                            ằ: "a",
                                            ắ: "a",
                                            ẵ: "a",
                                            ẳ: "a",
                                            ȧ: "a",
                                            ǡ: "a",
                                            ä: "a",
                                            ǟ: "a",
                                            ả: "a",
                                            å: "a",
                                            ǻ: "a",
                                            ǎ: "a",
                                            ȁ: "a",
                                            ȃ: "a",
                                            ạ: "a",
                                            ậ: "a",
                                            ặ: "a",
                                            ḁ: "a",
                                            ą: "a",
                                            ⱥ: "a",
                                            ɐ: "a",
                                            ꜳ: "aa",
                                            æ: "ae",
                                            ǽ: "ae",
                                            ǣ: "ae",
                                            ꜵ: "ao",
                                            ꜷ: "au",
                                            ꜹ: "av",
                                            ꜻ: "av",
                                            ꜽ: "ay",
                                            "ⓑ": "b",
                                            ｂ: "b",
                                            ḃ: "b",
                                            ḅ: "b",
                                            ḇ: "b",
                                            ƀ: "b",
                                            ƃ: "b",
                                            ɓ: "b",
                                            "ⓒ": "c",
                                            ｃ: "c",
                                            ć: "c",
                                            ĉ: "c",
                                            ċ: "c",
                                            č: "c",
                                            ç: "c",
                                            ḉ: "c",
                                            ƈ: "c",
                                            ȼ: "c",
                                            ꜿ: "c",
                                            ↄ: "c",
                                            "ⓓ": "d",
                                            ｄ: "d",
                                            ḋ: "d",
                                            ď: "d",
                                            ḍ: "d",
                                            ḑ: "d",
                                            ḓ: "d",
                                            ḏ: "d",
                                            đ: "d",
                                            ƌ: "d",
                                            ɖ: "d",
                                            ɗ: "d",
                                            ꝺ: "d",
                                            ǳ: "dz",
                                            ǆ: "dz",
                                            "ⓔ": "e",
                                            ｅ: "e",
                                            è: "e",
                                            é: "e",
                                            ê: "e",
                                            ề: "e",
                                            ế: "e",
                                            ễ: "e",
                                            ể: "e",
                                            ẽ: "e",
                                            ē: "e",
                                            ḕ: "e",
                                            ḗ: "e",
                                            ĕ: "e",
                                            ė: "e",
                                            ë: "e",
                                            ẻ: "e",
                                            ě: "e",
                                            ȅ: "e",
                                            ȇ: "e",
                                            ẹ: "e",
                                            ệ: "e",
                                            ȩ: "e",
                                            ḝ: "e",
                                            ę: "e",
                                            ḙ: "e",
                                            ḛ: "e",
                                            ɇ: "e",
                                            ɛ: "e",
                                            ǝ: "e",
                                            "ⓕ": "f",
                                            ｆ: "f",
                                            ḟ: "f",
                                            ƒ: "f",
                                            ꝼ: "f",
                                            "ⓖ": "g",
                                            ｇ: "g",
                                            ǵ: "g",
                                            ĝ: "g",
                                            ḡ: "g",
                                            ğ: "g",
                                            ġ: "g",
                                            ǧ: "g",
                                            ģ: "g",
                                            ǥ: "g",
                                            ɠ: "g",
                                            ꞡ: "g",
                                            ᵹ: "g",
                                            ꝿ: "g",
                                            "ⓗ": "h",
                                            ｈ: "h",
                                            ĥ: "h",
                                            ḣ: "h",
                                            ḧ: "h",
                                            ȟ: "h",
                                            ḥ: "h",
                                            ḩ: "h",
                                            ḫ: "h",
                                            ẖ: "h",
                                            ħ: "h",
                                            ⱨ: "h",
                                            ⱶ: "h",
                                            ɥ: "h",
                                            ƕ: "hv",
                                            "ⓘ": "i",
                                            ｉ: "i",
                                            ì: "i",
                                            í: "i",
                                            î: "i",
                                            ĩ: "i",
                                            ī: "i",
                                            ĭ: "i",
                                            ï: "i",
                                            ḯ: "i",
                                            ỉ: "i",
                                            ǐ: "i",
                                            ȉ: "i",
                                            ȋ: "i",
                                            ị: "i",
                                            į: "i",
                                            ḭ: "i",
                                            ɨ: "i",
                                            ı: "i",
                                            "ⓙ": "j",
                                            ｊ: "j",
                                            ĵ: "j",
                                            ǰ: "j",
                                            ɉ: "j",
                                            "ⓚ": "k",
                                            ｋ: "k",
                                            ḱ: "k",
                                            ǩ: "k",
                                            ḳ: "k",
                                            ķ: "k",
                                            ḵ: "k",
                                            ƙ: "k",
                                            ⱪ: "k",
                                            ꝁ: "k",
                                            ꝃ: "k",
                                            ꝅ: "k",
                                            ꞣ: "k",
                                            "ⓛ": "l",
                                            ｌ: "l",
                                            ŀ: "l",
                                            ĺ: "l",
                                            ľ: "l",
                                            ḷ: "l",
                                            ḹ: "l",
                                            ļ: "l",
                                            ḽ: "l",
                                            ḻ: "l",
                                            ſ: "l",
                                            ł: "l",
                                            ƚ: "l",
                                            ɫ: "l",
                                            ⱡ: "l",
                                            ꝉ: "l",
                                            ꞁ: "l",
                                            ꝇ: "l",
                                            ǉ: "lj",
                                            "ⓜ": "m",
                                            ｍ: "m",
                                            ḿ: "m",
                                            ṁ: "m",
                                            ṃ: "m",
                                            ɱ: "m",
                                            ɯ: "m",
                                            "ⓝ": "n",
                                            ｎ: "n",
                                            ǹ: "n",
                                            ń: "n",
                                            ñ: "n",
                                            ṅ: "n",
                                            ň: "n",
                                            ṇ: "n",
                                            ņ: "n",
                                            ṋ: "n",
                                            ṉ: "n",
                                            ƞ: "n",
                                            ɲ: "n",
                                            ŉ: "n",
                                            ꞑ: "n",
                                            ꞥ: "n",
                                            ǌ: "nj",
                                            "ⓞ": "o",
                                            ｏ: "o",
                                            ò: "o",
                                            ó: "o",
                                            ô: "o",
                                            ồ: "o",
                                            ố: "o",
                                            ỗ: "o",
                                            ổ: "o",
                                            õ: "o",
                                            ṍ: "o",
                                            ȭ: "o",
                                            ṏ: "o",
                                            ō: "o",
                                            ṑ: "o",
                                            ṓ: "o",
                                            ŏ: "o",
                                            ȯ: "o",
                                            ȱ: "o",
                                            ö: "o",
                                            ȫ: "o",
                                            ỏ: "o",
                                            ő: "o",
                                            ǒ: "o",
                                            ȍ: "o",
                                            ȏ: "o",
                                            ơ: "o",
                                            ờ: "o",
                                            ớ: "o",
                                            ỡ: "o",
                                            ở: "o",
                                            ợ: "o",
                                            ọ: "o",
                                            ộ: "o",
                                            ǫ: "o",
                                            ǭ: "o",
                                            ø: "o",
                                            ǿ: "o",
                                            ɔ: "o",
                                            ꝋ: "o",
                                            ꝍ: "o",
                                            ɵ: "o",
                                            œ: "oe",
                                            ƣ: "oi",
                                            ȣ: "ou",
                                            ꝏ: "oo",
                                            "ⓟ": "p",
                                            ｐ: "p",
                                            ṕ: "p",
                                            ṗ: "p",
                                            ƥ: "p",
                                            ᵽ: "p",
                                            ꝑ: "p",
                                            ꝓ: "p",
                                            ꝕ: "p",
                                            "ⓠ": "q",
                                            ｑ: "q",
                                            ɋ: "q",
                                            ꝗ: "q",
                                            ꝙ: "q",
                                            "ⓡ": "r",
                                            ｒ: "r",
                                            ŕ: "r",
                                            ṙ: "r",
                                            ř: "r",
                                            ȑ: "r",
                                            ȓ: "r",
                                            ṛ: "r",
                                            ṝ: "r",
                                            ŗ: "r",
                                            ṟ: "r",
                                            ɍ: "r",
                                            ɽ: "r",
                                            ꝛ: "r",
                                            ꞧ: "r",
                                            ꞃ: "r",
                                            "ⓢ": "s",
                                            ｓ: "s",
                                            ß: "s",
                                            ś: "s",
                                            ṥ: "s",
                                            ŝ: "s",
                                            ṡ: "s",
                                            š: "s",
                                            ṧ: "s",
                                            ṣ: "s",
                                            ṩ: "s",
                                            ș: "s",
                                            ş: "s",
                                            ȿ: "s",
                                            ꞩ: "s",
                                            ꞅ: "s",
                                            ẛ: "s",
                                            "ⓣ": "t",
                                            ｔ: "t",
                                            ṫ: "t",
                                            ẗ: "t",
                                            ť: "t",
                                            ṭ: "t",
                                            ț: "t",
                                            ţ: "t",
                                            ṱ: "t",
                                            ṯ: "t",
                                            ŧ: "t",
                                            ƭ: "t",
                                            ʈ: "t",
                                            ⱦ: "t",
                                            ꞇ: "t",
                                            ꜩ: "tz",
                                            "ⓤ": "u",
                                            ｕ: "u",
                                            ù: "u",
                                            ú: "u",
                                            û: "u",
                                            ũ: "u",
                                            ṹ: "u",
                                            ū: "u",
                                            ṻ: "u",
                                            ŭ: "u",
                                            ü: "u",
                                            ǜ: "u",
                                            ǘ: "u",
                                            ǖ: "u",
                                            ǚ: "u",
                                            ủ: "u",
                                            ů: "u",
                                            ű: "u",
                                            ǔ: "u",
                                            ȕ: "u",
                                            ȗ: "u",
                                            ư: "u",
                                            ừ: "u",
                                            ứ: "u",
                                            ữ: "u",
                                            ử: "u",
                                            ự: "u",
                                            ụ: "u",
                                            ṳ: "u",
                                            ų: "u",
                                            ṷ: "u",
                                            ṵ: "u",
                                            ʉ: "u",
                                            "ⓥ": "v",
                                            ｖ: "v",
                                            ṽ: "v",
                                            ṿ: "v",
                                            ʋ: "v",
                                            ꝟ: "v",
                                            ʌ: "v",
                                            ꝡ: "vy",
                                            "ⓦ": "w",
                                            ｗ: "w",
                                            ẁ: "w",
                                            ẃ: "w",
                                            ŵ: "w",
                                            ẇ: "w",
                                            ẅ: "w",
                                            ẘ: "w",
                                            ẉ: "w",
                                            ⱳ: "w",
                                            "ⓧ": "x",
                                            ｘ: "x",
                                            ẋ: "x",
                                            ẍ: "x",
                                            "ⓨ": "y",
                                            ｙ: "y",
                                            ỳ: "y",
                                            ý: "y",
                                            ŷ: "y",
                                            ỹ: "y",
                                            ȳ: "y",
                                            ẏ: "y",
                                            ÿ: "y",
                                            ỷ: "y",
                                            ẙ: "y",
                                            ỵ: "y",
                                            ƴ: "y",
                                            ɏ: "y",
                                            ỿ: "y",
                                            "ⓩ": "z",
                                            ｚ: "z",
                                            ź: "z",
                                            ẑ: "z",
                                            ż: "z",
                                            ž: "z",
                                            ẓ: "z",
                                            ẕ: "z",
                                            ƶ: "z",
                                            ȥ: "z",
                                            ɀ: "z",
                                            ⱬ: "z",
                                            ꝣ: "z",
                                            Ά: "Α",
                                            Έ: "Ε",
                                            Ή: "Η",
                                            Ί: "Ι",
                                            Ϊ: "Ι",
                                            Ό: "Ο",
                                            Ύ: "Υ",
                                            Ϋ: "Υ",
                                            Ώ: "Ω",
                                            ά: "α",
                                            έ: "ε",
                                            ή: "η",
                                            ί: "ι",
                                            ϊ: "ι",
                                            ΐ: "ι",
                                            ό: "ο",
                                            ύ: "υ",
                                            ϋ: "υ",
                                            ΰ: "υ",
                                            ώ: "ω",
                                            ς: "σ",
                                            "’": "'",
                                        };
                                    }),
                                    t.define("select2/data/base", ["../utils"], function (e) {
                                        function t(e, n) {
                                            t.__super__.constructor.call(this);
                                        }
                                        return (
                                            e.Extend(t, e.Observable),
                                            (t.prototype.current = function (e) {
                                                throw new Error("The `current` method must be defined in child classes.");
                                            }),
                                            (t.prototype.query = function (e, t) {
                                                throw new Error("The `query` method must be defined in child classes.");
                                            }),
                                            (t.prototype.bind = function (e, t) {}),
                                            (t.prototype.destroy = function () {}),
                                            (t.prototype.generateResultId = function (t, n) {
                                                var r = t.id + "-result-";
                                                return (r += e.generateChars(4)), null != n.id ? (r += "-" + n.id.toString()) : (r += "-" + e.generateChars(4)), r;
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/data/select", ["./base", "../utils", "jquery"], function (e, t, n) {
                                        function r(e, t) {
                                            (this.$element = e), (this.options = t), r.__super__.constructor.call(this);
                                        }
                                        return (
                                            t.Extend(r, e),
                                            (r.prototype.current = function (e) {
                                                var t = [],
                                                    r = this;
                                                this.$element.find(":selected").each(function () {
                                                    var e = n(this),
                                                        o = r.item(e);
                                                    t.push(o);
                                                }),
                                                    e(t);
                                            }),
                                            (r.prototype.select = function (e) {
                                                var t = this;
                                                if (((e.selected = !0), n(e.element).is("option"))) return (e.element.selected = !0), void this.$element.trigger("input").trigger("change");
                                                if (this.$element.prop("multiple"))
                                                    this.current(function (r) {
                                                        var o = [];
                                                        (e = [e]).push.apply(e, r);
                                                        for (var i = 0; i < e.length; i++) {
                                                            var s = e[i].id;
                                                            -1 === n.inArray(s, o) && o.push(s);
                                                        }
                                                        t.$element.val(o), t.$element.trigger("input").trigger("change");
                                                    });
                                                else {
                                                    var r = e.id;
                                                    this.$element.val(r), this.$element.trigger("input").trigger("change");
                                                }
                                            }),
                                            (r.prototype.unselect = function (e) {
                                                var t = this;
                                                if (this.$element.prop("multiple")) {
                                                    if (((e.selected = !1), n(e.element).is("option"))) return (e.element.selected = !1), void this.$element.trigger("input").trigger("change");
                                                    this.current(function (r) {
                                                        for (var o = [], i = 0; i < r.length; i++) {
                                                            var s = r[i].id;
                                                            s !== e.id && -1 === n.inArray(s, o) && o.push(s);
                                                        }
                                                        t.$element.val(o), t.$element.trigger("input").trigger("change");
                                                    });
                                                }
                                            }),
                                            (r.prototype.bind = function (e, t) {
                                                var n = this;
                                                (this.container = e),
                                                    e.on("select", function (e) {
                                                        n.select(e.data);
                                                    }),
                                                    e.on("unselect", function (e) {
                                                        n.unselect(e.data);
                                                    });
                                            }),
                                            (r.prototype.destroy = function () {
                                                this.$element.find("*").each(function () {
                                                    t.RemoveData(this);
                                                });
                                            }),
                                            (r.prototype.query = function (e, t) {
                                                var r = [],
                                                    o = this;
                                                this.$element.children().each(function () {
                                                    var t = n(this);
                                                    if (t.is("option") || t.is("optgroup")) {
                                                        var i = o.item(t),
                                                            s = o.matches(e, i);
                                                        null !== s && r.push(s);
                                                    }
                                                }),
                                                    t({ results: r });
                                            }),
                                            (r.prototype.addOptions = function (e) {
                                                t.appendMany(this.$element, e);
                                            }),
                                            (r.prototype.option = function (e) {
                                                var r;
                                                e.children ? ((r = document.createElement("optgroup")).label = e.text) : void 0 !== (r = document.createElement("option")).textContent ? (r.textContent = e.text) : (r.innerText = e.text),
                                                    void 0 !== e.id && (r.value = e.id),
                                                    e.disabled && (r.disabled = !0),
                                                    e.selected && (r.selected = !0),
                                                    e.title && (r.title = e.title);
                                                var o = n(r),
                                                    i = this._normalizeItem(e);
                                                return (i.element = r), t.StoreData(r, "data", i), o;
                                            }),
                                            (r.prototype.item = function (e) {
                                                var r = {};
                                                if (null != (r = t.GetData(e[0], "data"))) return r;
                                                if (e.is("option")) r = { id: e.val(), text: e.text(), disabled: e.prop("disabled"), selected: e.prop("selected"), title: e.prop("title") };
                                                else if (e.is("optgroup")) {
                                                    r = { text: e.prop("label"), children: [], title: e.prop("title") };
                                                    for (var o = e.children("option"), i = [], s = 0; s < o.length; s++) {
                                                        var a = n(o[s]),
                                                            l = this.item(a);
                                                        i.push(l);
                                                    }
                                                    r.children = i;
                                                }
                                                return ((r = this._normalizeItem(r)).element = e[0]), t.StoreData(e[0], "data", r), r;
                                            }),
                                            (r.prototype._normalizeItem = function (e) {
                                                return (
                                                    e !== Object(e) && (e = { id: e, text: e }),
                                                    null != (e = n.extend({}, { text: "" }, e)).id && (e.id = e.id.toString()),
                                                    null != e.text && (e.text = e.text.toString()),
                                                    null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)),
                                                    n.extend({}, { selected: !1, disabled: !1 }, e)
                                                );
                                            }),
                                            (r.prototype.matches = function (e, t) {
                                                return this.options.get("matcher")(e, t);
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/data/array", ["./select", "../utils", "jquery"], function (e, t, n) {
                                        function r(e, t) {
                                            (this._dataToConvert = t.get("data") || []), r.__super__.constructor.call(this, e, t);
                                        }
                                        return (
                                            t.Extend(r, e),
                                            (r.prototype.bind = function (e, t) {
                                                r.__super__.bind.call(this, e, t), this.addOptions(this.convertToOptions(this._dataToConvert));
                                            }),
                                            (r.prototype.select = function (e) {
                                                var t = this.$element.find("option").filter(function (t, n) {
                                                    return n.value == e.id.toString();
                                                });
                                                0 === t.length && ((t = this.option(e)), this.addOptions(t)), r.__super__.select.call(this, e);
                                            }),
                                            (r.prototype.convertToOptions = function (e) {
                                                var r = this,
                                                    o = this.$element.find("option"),
                                                    i = o
                                                        .map(function () {
                                                            return r.item(n(this)).id;
                                                        })
                                                        .get(),
                                                    s = [];
                                                function a(e) {
                                                    return function () {
                                                        return n(this).val() == e.id;
                                                    };
                                                }
                                                for (var l = 0; l < e.length; l++) {
                                                    var c = this._normalizeItem(e[l]);
                                                    if (n.inArray(c.id, i) >= 0) {
                                                        var u = o.filter(a(c)),
                                                            d = this.item(u),
                                                            f = n.extend(!0, {}, c, d),
                                                            p = this.option(f);
                                                        u.replaceWith(p);
                                                    } else {
                                                        var h = this.option(c);
                                                        if (c.children) {
                                                            var m = this.convertToOptions(c.children);
                                                            t.appendMany(h, m);
                                                        }
                                                        s.push(h);
                                                    }
                                                }
                                                return s;
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/data/ajax", ["./array", "../utils", "jquery"], function (e, t, n) {
                                        function r(e, t) {
                                            (this.ajaxOptions = this._applyDefaults(t.get("ajax"))),
                                                null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults),
                                                r.__super__.constructor.call(this, e, t);
                                        }
                                        return (
                                            t.Extend(r, e),
                                            (r.prototype._applyDefaults = function (e) {
                                                var t = {
                                                    data: function (e) {
                                                        return n.extend({}, e, { q: e.term });
                                                    },
                                                    transport: function (e, t, r) {
                                                        var o = n.ajax(e);
                                                        return o.then(t), o.fail(r), o;
                                                    },
                                                };
                                                return n.extend({}, t, e, !0);
                                            }),
                                            (r.prototype.processResults = function (e) {
                                                return e;
                                            }),
                                            (r.prototype.query = function (e, t) {
                                                var r = this;
                                                null != this._request && (n.isFunction(this._request.abort) && this._request.abort(), (this._request = null));
                                                var o = n.extend({ type: "GET" }, this.ajaxOptions);
                                                function i() {
                                                    var i = o.transport(
                                                        o,
                                                        function (o) {
                                                            var i = r.processResults(o, e);
                                                            r.options.get("debug") &&
                                                                window.console &&
                                                                console.error &&
                                                                ((i && i.results && n.isArray(i.results)) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),
                                                                t(i);
                                                        },
                                                        function () {
                                                            (!("status" in i) || (0 !== i.status && "0" !== i.status)) && r.trigger("results:message", { message: "errorLoading" });
                                                        }
                                                    );
                                                    r._request = i;
                                                }
                                                "function" == typeof o.url && (o.url = o.url.call(this.$element, e)),
                                                    "function" == typeof o.data && (o.data = o.data.call(this.$element, e)),
                                                    this.ajaxOptions.delay && null != e.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), (this._queryTimeout = window.setTimeout(i, this.ajaxOptions.delay))) : i();
                                            }),
                                            r
                                        );
                                    }),
                                    t.define("select2/data/tags", ["jquery"], function (e) {
                                        function t(t, n, r) {
                                            var o = r.get("tags"),
                                                i = r.get("createTag");
                                            void 0 !== i && (this.createTag = i);
                                            var s = r.get("insertTag");
                                            if ((void 0 !== s && (this.insertTag = s), t.call(this, n, r), e.isArray(o)))
                                                for (var a = 0; a < o.length; a++) {
                                                    var l = o[a],
                                                        c = this._normalizeItem(l),
                                                        u = this.option(c);
                                                    this.$element.append(u);
                                                }
                                        }
                                        return (
                                            (t.prototype.query = function (e, t, n) {
                                                var r = this;
                                                this._removeOldTags(),
                                                    null != t.term && null == t.page
                                                        ? e.call(this, t, function e(o, i) {
                                                              for (var s = o.results, a = 0; a < s.length; a++) {
                                                                  var l = s[a],
                                                                      c = null != l.children && !e({ results: l.children }, !0);
                                                                  if ((l.text || "").toUpperCase() === (t.term || "").toUpperCase() || c) return !i && ((o.data = s), void n(o));
                                                              }
                                                              if (i) return !0;
                                                              var u = r.createTag(t);
                                                              if (null != u) {
                                                                  var d = r.option(u);
                                                                  d.attr("data-select2-tag", !0), r.addOptions([d]), r.insertTag(s, u);
                                                              }
                                                              (o.results = s), n(o);
                                                          })
                                                        : e.call(this, t, n);
                                            }),
                                            (t.prototype.createTag = function (t, n) {
                                                var r = e.trim(n.term);
                                                return "" === r ? null : { id: r, text: r };
                                            }),
                                            (t.prototype.insertTag = function (e, t, n) {
                                                t.unshift(n);
                                            }),
                                            (t.prototype._removeOldTags = function (t) {
                                                this.$element.find("option[data-select2-tag]").each(function () {
                                                    this.selected || e(this).remove();
                                                });
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/data/tokenizer", ["jquery"], function (e) {
                                        function t(e, t, n) {
                                            var r = n.get("tokenizer");
                                            void 0 !== r && (this.tokenizer = r), e.call(this, t, n);
                                        }
                                        return (
                                            (t.prototype.bind = function (e, t, n) {
                                                e.call(this, t, n), (this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field"));
                                            }),
                                            (t.prototype.query = function (t, n, r) {
                                                var o = this;
                                                n.term = n.term || "";
                                                var i = this.tokenizer(n, this.options, function (t) {
                                                    var n = o._normalizeItem(t);
                                                    if (
                                                        !o.$element.find("option").filter(function () {
                                                            return e(this).val() === n.id;
                                                        }).length
                                                    ) {
                                                        var r = o.option(n);
                                                        r.attr("data-select2-tag", !0), o._removeOldTags(), o.addOptions([r]);
                                                    }
                                                    !(function (e) {
                                                        o.trigger("select", { data: e });
                                                    })(n);
                                                });
                                                i.term !== n.term && (this.$search.length && (this.$search.val(i.term), this.$search.trigger("focus")), (n.term = i.term)), t.call(this, n, r);
                                            }),
                                            (t.prototype.tokenizer = function (t, n, r, o) {
                                                for (
                                                    var i = r.get("tokenSeparators") || [],
                                                        s = n.term,
                                                        a = 0,
                                                        l =
                                                            this.createTag ||
                                                            function (e) {
                                                                return { id: e.term, text: e.term };
                                                            };
                                                    a < s.length;

                                                ) {
                                                    var c = s[a];
                                                    if (-1 !== e.inArray(c, i)) {
                                                        var u = s.substr(0, a),
                                                            d = l(e.extend({}, n, { term: u }));
                                                        null != d ? (o(d), (s = s.substr(a + 1) || ""), (a = 0)) : a++;
                                                    } else a++;
                                                }
                                                return { term: s };
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/data/minimumInputLength", [], function () {
                                        function e(e, t, n) {
                                            (this.minimumInputLength = n.get("minimumInputLength")), e.call(this, t, n);
                                        }
                                        return (
                                            (e.prototype.query = function (e, t, n) {
                                                (t.term = t.term || ""),
                                                    t.term.length < this.minimumInputLength
                                                        ? this.trigger("results:message", { message: "inputTooShort", args: { minimum: this.minimumInputLength, input: t.term, params: t } })
                                                        : e.call(this, t, n);
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/data/maximumInputLength", [], function () {
                                        function e(e, t, n) {
                                            (this.maximumInputLength = n.get("maximumInputLength")), e.call(this, t, n);
                                        }
                                        return (
                                            (e.prototype.query = function (e, t, n) {
                                                (t.term = t.term || ""),
                                                    this.maximumInputLength > 0 && t.term.length > this.maximumInputLength
                                                        ? this.trigger("results:message", { message: "inputTooLong", args: { maximum: this.maximumInputLength, input: t.term, params: t } })
                                                        : e.call(this, t, n);
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/data/maximumSelectionLength", [], function () {
                                        function e(e, t, n) {
                                            (this.maximumSelectionLength = n.get("maximumSelectionLength")), e.call(this, t, n);
                                        }
                                        return (
                                            (e.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    t.on("select", function () {
                                                        r._checkIfMaximumSelected();
                                                    });
                                            }),
                                            (e.prototype.query = function (e, t, n) {
                                                var r = this;
                                                this._checkIfMaximumSelected(function () {
                                                    e.call(r, t, n);
                                                });
                                            }),
                                            (e.prototype._checkIfMaximumSelected = function (e, t) {
                                                var n = this;
                                                this.current(function (e) {
                                                    var r = null != e ? e.length : 0;
                                                    n.maximumSelectionLength > 0 && r >= n.maximumSelectionLength ? n.trigger("results:message", { message: "maximumSelected", args: { maximum: n.maximumSelectionLength } }) : t && t();
                                                });
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/dropdown", ["jquery", "./utils"], function (e, t) {
                                        function n(e, t) {
                                            (this.$element = e), (this.options = t), n.__super__.constructor.call(this);
                                        }
                                        return (
                                            t.Extend(n, t.Observable),
                                            (n.prototype.render = function () {
                                                var t = e('<span class="select2-dropdown"><span class="select2-results"></span></span>');
                                                return t.attr("dir", this.options.get("dir")), (this.$dropdown = t), t;
                                            }),
                                            (n.prototype.bind = function () {}),
                                            (n.prototype.position = function (e, t) {}),
                                            (n.prototype.destroy = function () {
                                                this.$dropdown.remove();
                                            }),
                                            n
                                        );
                                    }),
                                    t.define("select2/dropdown/search", ["jquery", "../utils"], function (e, t) {
                                        function n() {}
                                        return (
                                            (n.prototype.render = function (t) {
                                                var n = t.call(this),
                                                    r = e(
                                                        '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>'
                                                    );
                                                return (this.$searchContainer = r), (this.$search = r.find("input")), n.prepend(r), n;
                                            }),
                                            (n.prototype.bind = function (t, n, r) {
                                                var o = this,
                                                    i = n.id + "-results";
                                                t.call(this, n, r),
                                                    this.$search.on("keydown", function (e) {
                                                        o.trigger("keypress", e), (o._keyUpPrevented = e.isDefaultPrevented());
                                                    }),
                                                    this.$search.on("input", function (t) {
                                                        e(this).off("keyup");
                                                    }),
                                                    this.$search.on("keyup input", function (e) {
                                                        o.handleSearch(e);
                                                    }),
                                                    n.on("open", function () {
                                                        o.$search.attr("tabindex", 0),
                                                            o.$search.attr("aria-controls", i),
                                                            o.$search.trigger("focus"),
                                                            window.setTimeout(function () {
                                                                o.$search.trigger("focus");
                                                            }, 0);
                                                    }),
                                                    n.on("close", function () {
                                                        o.$search.attr("tabindex", -1), o.$search.removeAttr("aria-controls"), o.$search.removeAttr("aria-activedescendant"), o.$search.val(""), o.$search.trigger("blur");
                                                    }),
                                                    n.on("focus", function () {
                                                        n.isOpen() || o.$search.trigger("focus");
                                                    }),
                                                    n.on("results:all", function (e) {
                                                        (null != e.query.term && "" !== e.query.term) || (o.showSearch(e) ? o.$searchContainer.removeClass("select2-search--hide") : o.$searchContainer.addClass("select2-search--hide"));
                                                    }),
                                                    n.on("results:focus", function (e) {
                                                        e.data._resultId ? o.$search.attr("aria-activedescendant", e.data._resultId) : o.$search.removeAttr("aria-activedescendant");
                                                    });
                                            }),
                                            (n.prototype.handleSearch = function (e) {
                                                if (!this._keyUpPrevented) {
                                                    var t = this.$search.val();
                                                    this.trigger("query", { term: t });
                                                }
                                                this._keyUpPrevented = !1;
                                            }),
                                            (n.prototype.showSearch = function (e, t) {
                                                return !0;
                                            }),
                                            n
                                        );
                                    }),
                                    t.define("select2/dropdown/hidePlaceholder", [], function () {
                                        function e(e, t, n, r) {
                                            (this.placeholder = this.normalizePlaceholder(n.get("placeholder"))), e.call(this, t, n, r);
                                        }
                                        return (
                                            (e.prototype.append = function (e, t) {
                                                (t.results = this.removePlaceholder(t.results)), e.call(this, t);
                                            }),
                                            (e.prototype.normalizePlaceholder = function (e, t) {
                                                return "string" == typeof t && (t = { id: "", text: t }), t;
                                            }),
                                            (e.prototype.removePlaceholder = function (e, t) {
                                                for (var n = t.slice(0), r = t.length - 1; r >= 0; r--) {
                                                    var o = t[r];
                                                    this.placeholder.id === o.id && n.splice(r, 1);
                                                }
                                                return n;
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/dropdown/infiniteScroll", ["jquery"], function (e) {
                                        function t(e, t, n, r) {
                                            (this.lastParams = {}), e.call(this, t, n, r), (this.$loadingMore = this.createLoadingMore()), (this.loading = !1);
                                        }
                                        return (
                                            (t.prototype.append = function (e, t) {
                                                this.$loadingMore.remove(), (this.loading = !1), e.call(this, t), this.showLoadingMore(t) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded());
                                            }),
                                            (t.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    t.on("query", function (e) {
                                                        (r.lastParams = e), (r.loading = !0);
                                                    }),
                                                    t.on("query:append", function (e) {
                                                        (r.lastParams = e), (r.loading = !0);
                                                    }),
                                                    this.$results.on("scroll", this.loadMoreIfNeeded.bind(this));
                                            }),
                                            (t.prototype.loadMoreIfNeeded = function () {
                                                var t = e.contains(document.documentElement, this.$loadingMore[0]);
                                                !this.loading && t && this.$results.offset().top + this.$results.outerHeight(!1) + 50 >= this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) && this.loadMore();
                                            }),
                                            (t.prototype.loadMore = function () {
                                                this.loading = !0;
                                                var t = e.extend({}, { page: 1 }, this.lastParams);
                                                t.page++, this.trigger("query:append", t);
                                            }),
                                            (t.prototype.showLoadingMore = function (e, t) {
                                                return t.pagination && t.pagination.more;
                                            }),
                                            (t.prototype.createLoadingMore = function () {
                                                var t = e('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),
                                                    n = this.options.get("translations").get("loadingMore");
                                                return t.html(n(this.lastParams)), t;
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/dropdown/attachBody", ["jquery", "../utils"], function (e, t) {
                                        function n(t, n, r) {
                                            (this.$dropdownParent = e(r.get("dropdownParent") || document.body)), t.call(this, n, r);
                                        }
                                        return (
                                            (n.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    t.on("open", function () {
                                                        r._showDropdown(), r._attachPositioningHandler(t), r._bindContainerResultHandlers(t);
                                                    }),
                                                    t.on("close", function () {
                                                        r._hideDropdown(), r._detachPositioningHandler(t);
                                                    }),
                                                    this.$dropdownContainer.on("mousedown", function (e) {
                                                        e.stopPropagation();
                                                    });
                                            }),
                                            (n.prototype.destroy = function (e) {
                                                e.call(this), this.$dropdownContainer.remove();
                                            }),
                                            (n.prototype.position = function (e, t, n) {
                                                t.attr("class", n.attr("class")), t.removeClass("select2"), t.addClass("select2-container--open"), t.css({ position: "absolute", top: -999999 }), (this.$container = n);
                                            }),
                                            (n.prototype.render = function (t) {
                                                var n = e("<span></span>"),
                                                    r = t.call(this);
                                                return n.append(r), (this.$dropdownContainer = n), n;
                                            }),
                                            (n.prototype._hideDropdown = function (e) {
                                                this.$dropdownContainer.detach();
                                            }),
                                            (n.prototype._bindContainerResultHandlers = function (e, t) {
                                                if (!this._containerResultsHandlersBound) {
                                                    var n = this;
                                                    t.on("results:all", function () {
                                                        n._positionDropdown(), n._resizeDropdown();
                                                    }),
                                                        t.on("results:append", function () {
                                                            n._positionDropdown(), n._resizeDropdown();
                                                        }),
                                                        t.on("results:message", function () {
                                                            n._positionDropdown(), n._resizeDropdown();
                                                        }),
                                                        t.on("select", function () {
                                                            n._positionDropdown(), n._resizeDropdown();
                                                        }),
                                                        t.on("unselect", function () {
                                                            n._positionDropdown(), n._resizeDropdown();
                                                        }),
                                                        (this._containerResultsHandlersBound = !0);
                                                }
                                            }),
                                            (n.prototype._attachPositioningHandler = function (n, r) {
                                                var o = this,
                                                    i = "scroll.select2." + r.id,
                                                    s = "resize.select2." + r.id,
                                                    a = "orientationchange.select2." + r.id,
                                                    l = this.$container.parents().filter(t.hasScroll);
                                                l.each(function () {
                                                    t.StoreData(this, "select2-scroll-position", { x: e(this).scrollLeft(), y: e(this).scrollTop() });
                                                }),
                                                    l.on(i, function (n) {
                                                        var r = t.GetData(this, "select2-scroll-position");
                                                        e(this).scrollTop(r.y);
                                                    }),
                                                    e(window).on(i + " " + s + " " + a, function (e) {
                                                        o._positionDropdown(), o._resizeDropdown();
                                                    });
                                            }),
                                            (n.prototype._detachPositioningHandler = function (n, r) {
                                                var o = "scroll.select2." + r.id,
                                                    i = "resize.select2." + r.id,
                                                    s = "orientationchange.select2." + r.id;
                                                this.$container.parents().filter(t.hasScroll).off(o), e(window).off(o + " " + i + " " + s);
                                            }),
                                            (n.prototype._positionDropdown = function () {
                                                var t = e(window),
                                                    n = this.$dropdown.hasClass("select2-dropdown--above"),
                                                    r = this.$dropdown.hasClass("select2-dropdown--below"),
                                                    o = null,
                                                    i = this.$container.offset();
                                                i.bottom = i.top + this.$container.outerHeight(!1);
                                                var s = { height: this.$container.outerHeight(!1) };
                                                (s.top = i.top), (s.bottom = i.top + s.height);
                                                var a = this.$dropdown.outerHeight(!1),
                                                    l = t.scrollTop(),
                                                    c = t.scrollTop() + t.height(),
                                                    u = l < i.top - a,
                                                    d = c > i.bottom + a,
                                                    f = { left: i.left, top: s.bottom },
                                                    p = this.$dropdownParent;
                                                "static" === p.css("position") && (p = p.offsetParent());
                                                var h = { top: 0, left: 0 };
                                                (e.contains(document.body, p[0]) || p[0].isConnected) && (h = p.offset()),
                                                    (f.top -= h.top),
                                                    (f.left -= h.left),
                                                    n || r || (o = "below"),
                                                    d || !u || n ? !u && d && n && (o = "below") : (o = "above"),
                                                    ("above" == o || (n && "below" !== o)) && (f.top = s.top - h.top - a),
                                                    null != o &&
                                                        (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + o),
                                                        this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + o)),
                                                    this.$dropdownContainer.css(f);
                                            }),
                                            (n.prototype._resizeDropdown = function () {
                                                var e = { width: this.$container.outerWidth(!1) + "px" };
                                                this.options.get("dropdownAutoWidth") && ((e.minWidth = e.width), (e.position = "relative"), (e.width = "auto")), this.$dropdown.css(e);
                                            }),
                                            (n.prototype._showDropdown = function (e) {
                                                this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown();
                                            }),
                                            n
                                        );
                                    }),
                                    t.define("select2/dropdown/minimumResultsForSearch", [], function () {
                                        function e(e, t, n, r) {
                                            (this.minimumResultsForSearch = n.get("minimumResultsForSearch")), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, r);
                                        }
                                        return (
                                            (e.prototype.showSearch = function (e, t) {
                                                return (
                                                    !(
                                                        (function e(t) {
                                                            for (var n = 0, r = 0; r < t.length; r++) {
                                                                var o = t[r];
                                                                o.children ? (n += e(o.children)) : n++;
                                                            }
                                                            return n;
                                                        })(t.data.results) < this.minimumResultsForSearch
                                                    ) && e.call(this, t)
                                                );
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/dropdown/selectOnClose", ["../utils"], function (e) {
                                        function t() {}
                                        return (
                                            (t.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    t.on("close", function (e) {
                                                        r._handleSelectOnClose(e);
                                                    });
                                            }),
                                            (t.prototype._handleSelectOnClose = function (t, n) {
                                                if (n && null != n.originalSelect2Event) {
                                                    var r = n.originalSelect2Event;
                                                    if ("select" === r._type || "unselect" === r._type) return;
                                                }
                                                var o = this.getHighlightedResults();
                                                if (!(o.length < 1)) {
                                                    var i = e.GetData(o[0], "data");
                                                    (null != i.element && i.element.selected) || (null == i.element && i.selected) || this.trigger("select", { data: i });
                                                }
                                            }),
                                            t
                                        );
                                    }),
                                    t.define("select2/dropdown/closeOnSelect", [], function () {
                                        function e() {}
                                        return (
                                            (e.prototype.bind = function (e, t, n) {
                                                var r = this;
                                                e.call(this, t, n),
                                                    t.on("select", function (e) {
                                                        r._selectTriggered(e);
                                                    }),
                                                    t.on("unselect", function (e) {
                                                        r._selectTriggered(e);
                                                    });
                                            }),
                                            (e.prototype._selectTriggered = function (e, t) {
                                                var n = t.originalEvent;
                                                (n && (n.ctrlKey || n.metaKey)) || this.trigger("close", { originalEvent: n, originalSelect2Event: t });
                                            }),
                                            e
                                        );
                                    }),
                                    t.define("select2/i18n/en", [], function () {
                                        return {
                                            errorLoading: function () {
                                                return "The results could not be loaded.";
                                            },
                                            inputTooLong: function (e) {
                                                var t = e.input.length - e.maximum,
                                                    n = "Please delete " + t + " character";
                                                return 1 != t && (n += "s"), n;
                                            },
                                            inputTooShort: function (e) {
                                                return "Please enter " + (e.minimum - e.input.length) + " or more characters";
                                            },
                                            loadingMore: function () {
                                                return "Loading more results…";
                                            },
                                            maximumSelected: function (e) {
                                                var t = "You can only select " + e.maximum + " item";
                                                return 1 != e.maximum && (t += "s"), t;
                                            },
                                            noResults: function () {
                                                return "No results found";
                                            },
                                            searching: function () {
                                                return "Searching…";
                                            },
                                            removeAllItems: function () {
                                                return "Remove all items";
                                            },
                                        };
                                    }),
                                    t.define(
                                        "select2/defaults",
                                        [
                                            "jquery",
                                            "require",
                                            "./results",
                                            "./selection/single",
                                            "./selection/multiple",
                                            "./selection/placeholder",
                                            "./selection/allowClear",
                                            "./selection/search",
                                            "./selection/eventRelay",
                                            "./utils",
                                            "./translation",
                                            "./diacritics",
                                            "./data/select",
                                            "./data/array",
                                            "./data/ajax",
                                            "./data/tags",
                                            "./data/tokenizer",
                                            "./data/minimumInputLength",
                                            "./data/maximumInputLength",
                                            "./data/maximumSelectionLength",
                                            "./dropdown",
                                            "./dropdown/search",
                                            "./dropdown/hidePlaceholder",
                                            "./dropdown/infiniteScroll",
                                            "./dropdown/attachBody",
                                            "./dropdown/minimumResultsForSearch",
                                            "./dropdown/selectOnClose",
                                            "./dropdown/closeOnSelect",
                                            "./i18n/en",
                                        ],
                                        function (e, t, n, r, o, i, s, a, l, c, u, d, f, p, h, m, g, v, y, b, _, w, C, x, E, k, A, S, T) {
                                            function N() {
                                                this.reset();
                                            }
                                            return (
                                                (N.prototype.apply = function (u) {
                                                    if (null == (u = e.extend(!0, {}, this.defaults, u)).dataAdapter) {
                                                        if (
                                                            (null != u.ajax ? (u.dataAdapter = h) : null != u.data ? (u.dataAdapter = p) : (u.dataAdapter = f),
                                                            u.minimumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, v)),
                                                            u.maximumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, y)),
                                                            u.maximumSelectionLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, b)),
                                                            u.tags && (u.dataAdapter = c.Decorate(u.dataAdapter, m)),
                                                            (null == u.tokenSeparators && null == u.tokenizer) || (u.dataAdapter = c.Decorate(u.dataAdapter, g)),
                                                            null != u.query)
                                                        ) {
                                                            var d = t(u.amdBase + "compat/query");
                                                            u.dataAdapter = c.Decorate(u.dataAdapter, d);
                                                        }
                                                        if (null != u.initSelection) {
                                                            var T = t(u.amdBase + "compat/initSelection");
                                                            u.dataAdapter = c.Decorate(u.dataAdapter, T);
                                                        }
                                                    }
                                                    if (
                                                        (null == u.resultsAdapter &&
                                                            ((u.resultsAdapter = n),
                                                            null != u.ajax && (u.resultsAdapter = c.Decorate(u.resultsAdapter, x)),
                                                            null != u.placeholder && (u.resultsAdapter = c.Decorate(u.resultsAdapter, C)),
                                                            u.selectOnClose && (u.resultsAdapter = c.Decorate(u.resultsAdapter, A))),
                                                        null == u.dropdownAdapter)
                                                    ) {
                                                        if (u.multiple) u.dropdownAdapter = _;
                                                        else {
                                                            var N = c.Decorate(_, w);
                                                            u.dropdownAdapter = N;
                                                        }
                                                        if (
                                                            (0 !== u.minimumResultsForSearch && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, k)),
                                                            u.closeOnSelect && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, S)),
                                                            null != u.dropdownCssClass || null != u.dropdownCss || null != u.adaptDropdownCssClass)
                                                        ) {
                                                            var O = t(u.amdBase + "compat/dropdownCss");
                                                            u.dropdownAdapter = c.Decorate(u.dropdownAdapter, O);
                                                        }
                                                        u.dropdownAdapter = c.Decorate(u.dropdownAdapter, E);
                                                    }
                                                    if (null == u.selectionAdapter) {
                                                        if (
                                                            (u.multiple ? (u.selectionAdapter = o) : (u.selectionAdapter = r),
                                                            null != u.placeholder && (u.selectionAdapter = c.Decorate(u.selectionAdapter, i)),
                                                            u.allowClear && (u.selectionAdapter = c.Decorate(u.selectionAdapter, s)),
                                                            u.multiple && (u.selectionAdapter = c.Decorate(u.selectionAdapter, a)),
                                                            null != u.containerCssClass || null != u.containerCss || null != u.adaptContainerCssClass)
                                                        ) {
                                                            var D = t(u.amdBase + "compat/containerCss");
                                                            u.selectionAdapter = c.Decorate(u.selectionAdapter, D);
                                                        }
                                                        u.selectionAdapter = c.Decorate(u.selectionAdapter, l);
                                                    }
                                                    (u.language = this._resolveLanguage(u.language)), u.language.push("en");
                                                    for (var R = [], L = 0; L < u.language.length; L++) {
                                                        var P = u.language[L];
                                                        -1 === R.indexOf(P) && R.push(P);
                                                    }
                                                    return (u.language = R), (u.translations = this._processTranslations(u.language, u.debug)), u;
                                                }),
                                                (N.prototype.reset = function () {
                                                    function t(e) {
                                                        return e.replace(/[^\u0000-\u007E]/g, function (e) {
                                                            return d[e] || e;
                                                        });
                                                    }
                                                    this.defaults = {
                                                        amdBase: "./",
                                                        amdLanguageBase: "./i18n/",
                                                        closeOnSelect: !0,
                                                        debug: !1,
                                                        dropdownAutoWidth: !1,
                                                        escapeMarkup: c.escapeMarkup,
                                                        language: {},
                                                        matcher: function n(r, o) {
                                                            if ("" === e.trim(r.term)) return o;
                                                            if (o.children && o.children.length > 0) {
                                                                for (var i = e.extend(!0, {}, o), s = o.children.length - 1; s >= 0; s--) null == n(r, o.children[s]) && i.children.splice(s, 1);
                                                                return i.children.length > 0 ? i : n(r, i);
                                                            }
                                                            var a = t(o.text).toUpperCase(),
                                                                l = t(r.term).toUpperCase();
                                                            return a.indexOf(l) > -1 ? o : null;
                                                        },
                                                        minimumInputLength: 0,
                                                        maximumInputLength: 0,
                                                        maximumSelectionLength: 0,
                                                        minimumResultsForSearch: 0,
                                                        selectOnClose: !1,
                                                        scrollAfterSelect: !1,
                                                        sorter: function (e) {
                                                            return e;
                                                        },
                                                        templateResult: function (e) {
                                                            return e.text;
                                                        },
                                                        templateSelection: function (e) {
                                                            return e.text;
                                                        },
                                                        theme: "default",
                                                        width: "resolve",
                                                    };
                                                }),
                                                (N.prototype.applyFromElement = function (e, t) {
                                                    var n = e.language,
                                                        r = this.defaults.language,
                                                        o = t.prop("lang"),
                                                        i = t.closest("[lang]").prop("lang"),
                                                        s = Array.prototype.concat.call(this._resolveLanguage(o), this._resolveLanguage(n), this._resolveLanguage(r), this._resolveLanguage(i));
                                                    return (e.language = s), e;
                                                }),
                                                (N.prototype._resolveLanguage = function (t) {
                                                    if (!t) return [];
                                                    if (e.isEmptyObject(t)) return [];
                                                    if (e.isPlainObject(t)) return [t];
                                                    var n;
                                                    n = e.isArray(t) ? t : [t];
                                                    for (var r = [], o = 0; o < n.length; o++)
                                                        if ((r.push(n[o]), "string" == typeof n[o] && n[o].indexOf("-") > 0)) {
                                                            var i = n[o].split("-")[0];
                                                            r.push(i);
                                                        }
                                                    return r;
                                                }),
                                                (N.prototype._processTranslations = function (t, n) {
                                                    for (var r = new u(), o = 0; o < t.length; o++) {
                                                        var i = new u(),
                                                            s = t[o];
                                                        if ("string" == typeof s)
                                                            try {
                                                                i = u.loadPath(s);
                                                            } catch (e) {
                                                                try {
                                                                    (s = this.defaults.amdLanguageBase + s), (i = u.loadPath(s));
                                                                } catch (e) {
                                                                    n && window.console && console.warn && console.warn('Select2: The language file for "' + s + '" could not be automatically loaded. A fallback will be used instead.');
                                                                }
                                                            }
                                                        else i = e.isPlainObject(s) ? new u(s) : s;
                                                        r.extend(i);
                                                    }
                                                    return r;
                                                }),
                                                (N.prototype.set = function (t, n) {
                                                    var r = {};
                                                    r[e.camelCase(t)] = n;
                                                    var o = c._convertData(r);
                                                    e.extend(!0, this.defaults, o);
                                                }),
                                                new N()
                                            );
                                        }
                                    ),
                                    t.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function (e, t, n, r) {
                                        function o(t, o) {
                                            if (((this.options = t), null != o && this.fromElement(o), null != o && (this.options = n.applyFromElement(this.options, o)), (this.options = n.apply(this.options)), o && o.is("input"))) {
                                                var i = e(this.get("amdBase") + "compat/inputData");
                                                this.options.dataAdapter = r.Decorate(this.options.dataAdapter, i);
                                            }
                                        }
                                        return (
                                            (o.prototype.fromElement = function (e) {
                                                var n = ["select2"];
                                                null == this.options.multiple && (this.options.multiple = e.prop("multiple")),
                                                    null == this.options.disabled && (this.options.disabled = e.prop("disabled")),
                                                    null == this.options.dir &&
                                                        (e.prop("dir") ? (this.options.dir = e.prop("dir")) : e.closest("[dir]").prop("dir") ? (this.options.dir = e.closest("[dir]").prop("dir")) : (this.options.dir = "ltr")),
                                                    e.prop("disabled", this.options.disabled),
                                                    e.prop("multiple", this.options.multiple),
                                                    r.GetData(e[0], "select2Tags") &&
                                                        (this.options.debug &&
                                                            window.console &&
                                                            console.warn &&
                                                            console.warn(
                                                                'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'
                                                            ),
                                                        r.StoreData(e[0], "data", r.GetData(e[0], "select2Tags")),
                                                        r.StoreData(e[0], "tags", !0)),
                                                    r.GetData(e[0], "ajaxUrl") &&
                                                        (this.options.debug &&
                                                            window.console &&
                                                            console.warn &&
                                                            console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),
                                                        e.attr("ajax--url", r.GetData(e[0], "ajaxUrl")),
                                                        r.StoreData(e[0], "ajax-Url", r.GetData(e[0], "ajaxUrl")));
                                                var o = {};
                                                function i(e, t) {
                                                    return t.toUpperCase();
                                                }
                                                for (var s = 0; s < e[0].attributes.length; s++) {
                                                    var a = e[0].attributes[s].name;
                                                    if ("data-" == a.substr(0, "data-".length)) {
                                                        var l = a.substring("data-".length),
                                                            c = r.GetData(e[0], l);
                                                        o[l.replace(/-([a-z])/g, i)] = c;
                                                    }
                                                }
                                                t.fn.jquery && "1." == t.fn.jquery.substr(0, 2) && e[0].dataset && (o = t.extend(!0, {}, e[0].dataset, o));
                                                var u = t.extend(!0, {}, r.GetData(e[0]), o);
                                                for (var d in (u = r._convertData(u))) t.inArray(d, n) > -1 || (t.isPlainObject(this.options[d]) ? t.extend(this.options[d], u[d]) : (this.options[d] = u[d]));
                                                return this;
                                            }),
                                            (o.prototype.get = function (e) {
                                                return this.options[e];
                                            }),
                                            (o.prototype.set = function (e, t) {
                                                this.options[e] = t;
                                            }),
                                            o
                                        );
                                    }),
                                    t.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function (e, t, n, r) {
                                        var o = function (e, r) {
                                            null != n.GetData(e[0], "select2") && n.GetData(e[0], "select2").destroy(),
                                                (this.$element = e),
                                                (this.id = this._generateId(e)),
                                                (r = r || {}),
                                                (this.options = new t(r, e)),
                                                o.__super__.constructor.call(this);
                                            var i = e.attr("tabindex") || 0;
                                            n.StoreData(e[0], "old-tabindex", i), e.attr("tabindex", "-1");
                                            var s = this.options.get("dataAdapter");
                                            this.dataAdapter = new s(e, this.options);
                                            var a = this.render();
                                            this._placeContainer(a);
                                            var l = this.options.get("selectionAdapter");
                                            (this.selection = new l(e, this.options)), (this.$selection = this.selection.render()), this.selection.position(this.$selection, a);
                                            var c = this.options.get("dropdownAdapter");
                                            (this.dropdown = new c(e, this.options)), (this.$dropdown = this.dropdown.render()), this.dropdown.position(this.$dropdown, a);
                                            var u = this.options.get("resultsAdapter");
                                            (this.results = new u(e, this.options, this.dataAdapter)), (this.$results = this.results.render()), this.results.position(this.$results, this.$dropdown);
                                            var d = this;
                                            this._bindAdapters(),
                                                this._registerDomEvents(),
                                                this._registerDataEvents(),
                                                this._registerSelectionEvents(),
                                                this._registerDropdownEvents(),
                                                this._registerResultsEvents(),
                                                this._registerEvents(),
                                                this.dataAdapter.current(function (e) {
                                                    d.trigger("selection:update", { data: e });
                                                }),
                                                e.addClass("select2-hidden-accessible"),
                                                e.attr("aria-hidden", "true"),
                                                this._syncAttributes(),
                                                n.StoreData(e[0], "select2", this),
                                                e.data("select2", this);
                                        };
                                        return (
                                            n.Extend(o, n.Observable),
                                            (o.prototype._generateId = function (e) {
                                                return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + n.generateChars(2) : n.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "");
                                            }),
                                            (o.prototype._placeContainer = function (e) {
                                                e.insertAfter(this.$element);
                                                var t = this._resolveWidth(this.$element, this.options.get("width"));
                                                null != t && e.css("width", t);
                                            }),
                                            (o.prototype._resolveWidth = function (e, t) {
                                                var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
                                                if ("resolve" == t) {
                                                    var r = this._resolveWidth(e, "style");
                                                    return null != r ? r : this._resolveWidth(e, "element");
                                                }
                                                if ("element" == t) {
                                                    var o = e.outerWidth(!1);
                                                    return o <= 0 ? "auto" : o + "px";
                                                }
                                                if ("style" == t) {
                                                    var i = e.attr("style");
                                                    if ("string" != typeof i) return null;
                                                    for (var s = i.split(";"), a = 0, l = s.length; a < l; a += 1) {
                                                        var c = s[a].replace(/\s/g, "").match(n);
                                                        if (null !== c && c.length >= 1) return c[1];
                                                    }
                                                    return null;
                                                }
                                                return "computedstyle" == t ? window.getComputedStyle(e[0]).width : t;
                                            }),
                                            (o.prototype._bindAdapters = function () {
                                                this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container);
                                            }),
                                            (o.prototype._registerDomEvents = function () {
                                                var e = this;
                                                this.$element.on("change.select2", function () {
                                                    e.dataAdapter.current(function (t) {
                                                        e.trigger("selection:update", { data: t });
                                                    });
                                                }),
                                                    this.$element.on("focus.select2", function (t) {
                                                        e.trigger("focus", t);
                                                    }),
                                                    (this._syncA = n.bind(this._syncAttributes, this)),
                                                    (this._syncS = n.bind(this._syncSubtree, this)),
                                                    this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
                                                var t = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
                                                null != t
                                                    ? ((this._observer = new t(function (t) {
                                                          e._syncA(), e._syncS(null, t);
                                                      })),
                                                      this._observer.observe(this.$element[0], { attributes: !0, childList: !0, subtree: !1 }))
                                                    : this.$element[0].addEventListener &&
                                                      (this.$element[0].addEventListener("DOMAttrModified", e._syncA, !1),
                                                      this.$element[0].addEventListener("DOMNodeInserted", e._syncS, !1),
                                                      this.$element[0].addEventListener("DOMNodeRemoved", e._syncS, !1));
                                            }),
                                            (o.prototype._registerDataEvents = function () {
                                                var e = this;
                                                this.dataAdapter.on("*", function (t, n) {
                                                    e.trigger(t, n);
                                                });
                                            }),
                                            (o.prototype._registerSelectionEvents = function () {
                                                var t = this,
                                                    n = ["toggle", "focus"];
                                                this.selection.on("toggle", function () {
                                                    t.toggleDropdown();
                                                }),
                                                    this.selection.on("focus", function (e) {
                                                        t.focus(e);
                                                    }),
                                                    this.selection.on("*", function (r, o) {
                                                        -1 === e.inArray(r, n) && t.trigger(r, o);
                                                    });
                                            }),
                                            (o.prototype._registerDropdownEvents = function () {
                                                var e = this;
                                                this.dropdown.on("*", function (t, n) {
                                                    e.trigger(t, n);
                                                });
                                            }),
                                            (o.prototype._registerResultsEvents = function () {
                                                var e = this;
                                                this.results.on("*", function (t, n) {
                                                    e.trigger(t, n);
                                                });
                                            }),
                                            (o.prototype._registerEvents = function () {
                                                var e = this;
                                                this.on("open", function () {
                                                    e.$container.addClass("select2-container--open");
                                                }),
                                                    this.on("close", function () {
                                                        e.$container.removeClass("select2-container--open");
                                                    }),
                                                    this.on("enable", function () {
                                                        e.$container.removeClass("select2-container--disabled");
                                                    }),
                                                    this.on("disable", function () {
                                                        e.$container.addClass("select2-container--disabled");
                                                    }),
                                                    this.on("blur", function () {
                                                        e.$container.removeClass("select2-container--focus");
                                                    }),
                                                    this.on("query", function (t) {
                                                        e.isOpen() || e.trigger("open", {}),
                                                            this.dataAdapter.query(t, function (n) {
                                                                e.trigger("results:all", { data: n, query: t });
                                                            });
                                                    }),
                                                    this.on("query:append", function (t) {
                                                        this.dataAdapter.query(t, function (n) {
                                                            e.trigger("results:append", { data: n, query: t });
                                                        });
                                                    }),
                                                    this.on("keypress", function (t) {
                                                        var n = t.which;
                                                        e.isOpen()
                                                            ? n === r.ESC || n === r.TAB || (n === r.UP && t.altKey)
                                                                ? (e.close(t), t.preventDefault())
                                                                : n === r.ENTER
                                                                ? (e.trigger("results:select", {}), t.preventDefault())
                                                                : n === r.SPACE && t.ctrlKey
                                                                ? (e.trigger("results:toggle", {}), t.preventDefault())
                                                                : n === r.UP
                                                                ? (e.trigger("results:previous", {}), t.preventDefault())
                                                                : n === r.DOWN && (e.trigger("results:next", {}), t.preventDefault())
                                                            : (n === r.ENTER || n === r.SPACE || (n === r.DOWN && t.altKey)) && (e.open(), t.preventDefault());
                                                    });
                                            }),
                                            (o.prototype._syncAttributes = function () {
                                                this.options.set("disabled", this.$element.prop("disabled")), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {});
                                            }),
                                            (o.prototype._isChangeMutation = function (t, n) {
                                                var r = !1,
                                                    o = this;
                                                if (!t || !t.target || "OPTION" === t.target.nodeName || "OPTGROUP" === t.target.nodeName) {
                                                    if (n)
                                                        if (n.addedNodes && n.addedNodes.length > 0) for (var i = 0; i < n.addedNodes.length; i++) n.addedNodes[i].selected && (r = !0);
                                                        else
                                                            n.removedNodes && n.removedNodes.length > 0
                                                                ? (r = !0)
                                                                : e.isArray(n) &&
                                                                  e.each(n, function (e, t) {
                                                                      if (o._isChangeMutation(e, t)) return (r = !0), !1;
                                                                  });
                                                    else r = !0;
                                                    return r;
                                                }
                                            }),
                                            (o.prototype._syncSubtree = function (e, t) {
                                                var n = this._isChangeMutation(e, t),
                                                    r = this;
                                                n &&
                                                    this.dataAdapter.current(function (e) {
                                                        r.trigger("selection:update", { data: e });
                                                    });
                                            }),
                                            (o.prototype.trigger = function (e, t) {
                                                var n = o.__super__.trigger,
                                                    r = { open: "opening", close: "closing", select: "selecting", unselect: "unselecting", clear: "clearing" };
                                                if ((void 0 === t && (t = {}), e in r)) {
                                                    var i = r[e],
                                                        s = { prevented: !1, name: e, args: t };
                                                    if ((n.call(this, i, s), s.prevented)) return void (t.prevented = !0);
                                                }
                                                n.call(this, e, t);
                                            }),
                                            (o.prototype.toggleDropdown = function () {
                                                this.isDisabled() || (this.isOpen() ? this.close() : this.open());
                                            }),
                                            (o.prototype.open = function () {
                                                this.isOpen() || this.isDisabled() || this.trigger("query", {});
                                            }),
                                            (o.prototype.close = function (e) {
                                                this.isOpen() && this.trigger("close", { originalEvent: e });
                                            }),
                                            (o.prototype.isEnabled = function () {
                                                return !this.isDisabled();
                                            }),
                                            (o.prototype.isDisabled = function () {
                                                return this.options.get("disabled");
                                            }),
                                            (o.prototype.isOpen = function () {
                                                return this.$container.hasClass("select2-container--open");
                                            }),
                                            (o.prototype.hasFocus = function () {
                                                return this.$container.hasClass("select2-container--focus");
                                            }),
                                            (o.prototype.focus = function (e) {
                                                this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.trigger("focus", {}));
                                            }),
                                            (o.prototype.enable = function (e) {
                                                this.options.get("debug") &&
                                                    window.console &&
                                                    console.warn &&
                                                    console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),
                                                    (null != e && 0 !== e.length) || (e = [!0]);
                                                var t = !e[0];
                                                this.$element.prop("disabled", t);
                                            }),
                                            (o.prototype.data = function () {
                                                this.options.get("debug") &&
                                                    arguments.length > 0 &&
                                                    window.console &&
                                                    console.warn &&
                                                    console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
                                                var e = [];
                                                return (
                                                    this.dataAdapter.current(function (t) {
                                                        e = t;
                                                    }),
                                                    e
                                                );
                                            }),
                                            (o.prototype.val = function (t) {
                                                if (
                                                    (this.options.get("debug") &&
                                                        window.console &&
                                                        console.warn &&
                                                        console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),
                                                    null == t || 0 === t.length)
                                                )
                                                    return this.$element.val();
                                                var n = t[0];
                                                e.isArray(n) &&
                                                    (n = e.map(n, function (e) {
                                                        return e.toString();
                                                    })),
                                                    this.$element.val(n).trigger("input").trigger("change");
                                            }),
                                            (o.prototype.destroy = function () {
                                                this.$container.remove(),
                                                    this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA),
                                                    null != this._observer
                                                        ? (this._observer.disconnect(), (this._observer = null))
                                                        : this.$element[0].removeEventListener &&
                                                          (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1),
                                                          this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1),
                                                          this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)),
                                                    (this._syncA = null),
                                                    (this._syncS = null),
                                                    this.$element.off(".select2"),
                                                    this.$element.attr("tabindex", n.GetData(this.$element[0], "old-tabindex")),
                                                    this.$element.removeClass("select2-hidden-accessible"),
                                                    this.$element.attr("aria-hidden", "false"),
                                                    n.RemoveData(this.$element[0]),
                                                    this.$element.removeData("select2"),
                                                    this.dataAdapter.destroy(),
                                                    this.selection.destroy(),
                                                    this.dropdown.destroy(),
                                                    this.results.destroy(),
                                                    (this.dataAdapter = null),
                                                    (this.selection = null),
                                                    (this.dropdown = null),
                                                    (this.results = null);
                                            }),
                                            (o.prototype.render = function () {
                                                var t = e('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
                                                return (
                                                    t.attr("dir", this.options.get("dir")), (this.$container = t), this.$container.addClass("select2-container--" + this.options.get("theme")), n.StoreData(t[0], "element", this.$element), t
                                                );
                                            }),
                                            o
                                        );
                                    }),
                                    t.define("jquery-mousewheel", ["jquery"], function (e) {
                                        return e;
                                    }),
                                    t.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function (e, t, n, r, o) {
                                        if (null == e.fn.select2) {
                                            var i = ["open", "close", "destroy"];
                                            e.fn.select2 = function (t) {
                                                if ("object" == typeof (t = t || {}))
                                                    return (
                                                        this.each(function () {
                                                            var r = e.extend(!0, {}, t);
                                                            new n(e(this), r);
                                                        }),
                                                        this
                                                    );
                                                if ("string" == typeof t) {
                                                    var r,
                                                        s = Array.prototype.slice.call(arguments, 1);
                                                    return (
                                                        this.each(function () {
                                                            var e = o.GetData(this, "select2");
                                                            null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."), (r = e[t].apply(e, s));
                                                        }),
                                                        e.inArray(t, i) > -1 ? this : r
                                                    );
                                                }
                                                throw new Error("Invalid arguments for Select2: " + t);
                                            };
                                        }
                                        return null == e.fn.select2.defaults && (e.fn.select2.defaults = r), n;
                                    }),
                                    { define: t.define, require: t.require }
                                );
                            })(),
                            n = t.require("jquery.select2");
                        return (e.fn.select2.amd = t), n;
                    })
                        ? r.apply(t, o)
                        : r) || (e.exports = i);
    },
    function (e, t, n) {
        e.exports = n(38);
    },
    function (e, t, n) {
        "use strict";
        (function (t, n) {
            var r = Object.freeze({});
            function o(e) {
                return null == e;
            }
            function i(e) {
                return null != e;
            }
            function s(e) {
                return !0 === e;
            }
            function a(e) {
                return "string" == typeof e || "number" == typeof e || "symbol" == typeof e || "boolean" == typeof e;
            }
            function l(e) {
                return null !== e && "object" == typeof e;
            }
            var c = Object.prototype.toString;
            function u(e) {
                return "[object Object]" === c.call(e);
            }
            function d(e) {
                var t = parseFloat(String(e));
                return t >= 0 && Math.floor(t) === t && isFinite(e);
            }
            function f(e) {
                return i(e) && "function" == typeof e.then && "function" == typeof e.catch;
            }
            function p(e) {
                return null == e ? "" : Array.isArray(e) || (u(e) && e.toString === c) ? JSON.stringify(e, null, 2) : String(e);
            }
            function h(e) {
                var t = parseFloat(e);
                return isNaN(t) ? e : t;
            }
            function m(e, t) {
                for (var n = Object.create(null), r = e.split(","), o = 0; o < r.length; o++) n[r[o]] = !0;
                return t
                    ? function (e) {
                          return n[e.toLowerCase()];
                      }
                    : function (e) {
                          return n[e];
                      };
            }
            var g = m("slot,component", !0),
                v = m("key,ref,slot,slot-scope,is");
            function y(e, t) {
                if (e.length) {
                    var n = e.indexOf(t);
                    if (n > -1) return e.splice(n, 1);
                }
            }
            var b = Object.prototype.hasOwnProperty;
            function _(e, t) {
                return b.call(e, t);
            }
            function w(e) {
                var t = Object.create(null);
                return function (n) {
                    return t[n] || (t[n] = e(n));
                };
            }
            var C = /-(\w)/g,
                x = w(function (e) {
                    return e.replace(C, function (e, t) {
                        return t ? t.toUpperCase() : "";
                    });
                }),
                E = w(function (e) {
                    return e.charAt(0).toUpperCase() + e.slice(1);
                }),
                k = /\B([A-Z])/g,
                A = w(function (e) {
                    return e.replace(k, "-$1").toLowerCase();
                }),
                S = Function.prototype.bind
                    ? function (e, t) {
                          return e.bind(t);
                      }
                    : function (e, t) {
                          function n(n) {
                              var r = arguments.length;
                              return r ? (r > 1 ? e.apply(t, arguments) : e.call(t, n)) : e.call(t);
                          }
                          return (n._length = e.length), n;
                      };
            function T(e, t) {
                t = t || 0;
                for (var n = e.length - t, r = new Array(n); n--; ) r[n] = e[n + t];
                return r;
            }
            function N(e, t) {
                for (var n in t) e[n] = t[n];
                return e;
            }
            function O(e) {
                for (var t = {}, n = 0; n < e.length; n++) e[n] && N(t, e[n]);
                return t;
            }
            function D(e, t, n) {}
            var R = function (e, t, n) {
                    return !1;
                },
                L = function (e) {
                    return e;
                };
            function P(e, t) {
                if (e === t) return !0;
                var n = l(e),
                    r = l(t);
                if (!n || !r) return !n && !r && String(e) === String(t);
                try {
                    var o = Array.isArray(e),
                        i = Array.isArray(t);
                    if (o && i)
                        return (
                            e.length === t.length &&
                            e.every(function (e, n) {
                                return P(e, t[n]);
                            })
                        );
                    if (e instanceof Date && t instanceof Date) return e.getTime() === t.getTime();
                    if (o || i) return !1;
                    var s = Object.keys(e),
                        a = Object.keys(t);
                    return (
                        s.length === a.length &&
                        s.every(function (n) {
                            return P(e[n], t[n]);
                        })
                    );
                } catch (e) {
                    return !1;
                }
            }
            function $(e, t) {
                for (var n = 0; n < e.length; n++) if (P(e[n], t)) return n;
                return -1;
            }
            function M(e) {
                var t = !1;
                return function () {
                    t || ((t = !0), e.apply(this, arguments));
                };
            }
            var I = "data-server-rendered",
                B = ["component", "directive", "filter"],
                j = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch"],
                F = {
                    optionMergeStrategies: Object.create(null),
                    silent: !1,
                    productionTip: !1,
                    devtools: !1,
                    performance: !1,
                    errorHandler: null,
                    warnHandler: null,
                    ignoredElements: [],
                    keyCodes: Object.create(null),
                    isReservedTag: R,
                    isReservedAttr: R,
                    isUnknownElement: R,
                    getTagNamespace: D,
                    parsePlatformTagName: L,
                    mustUseProp: R,
                    async: !0,
                    _lifecycleHooks: j,
                },
                H = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
            function U(e, t, n, r) {
                Object.defineProperty(e, t, { value: n, enumerable: !!r, writable: !0, configurable: !0 });
            }
            var q,
                z = new RegExp("[^" + H.source + ".$_\\d]"),
                W = "__proto__" in {},
                V = "undefined" != typeof window,
                K = "undefined" != typeof WXEnvironment && !!WXEnvironment.platform,
                G = K && WXEnvironment.platform.toLowerCase(),
                Y = V && window.navigator.userAgent.toLowerCase(),
                X = Y && /msie|trident/.test(Y),
                J = Y && Y.indexOf("msie 9.0") > 0,
                Q = Y && Y.indexOf("edge/") > 0,
                Z = (Y && Y.indexOf("android"), (Y && /iphone|ipad|ipod|ios/.test(Y)) || "ios" === G),
                ee = (Y && /chrome\/\d+/.test(Y), Y && /phantomjs/.test(Y), Y && Y.match(/firefox\/(\d+)/)),
                te = {}.watch,
                ne = !1;
            if (V)
                try {
                    var re = {};
                    Object.defineProperty(re, "passive", {
                        get: function () {
                            ne = !0;
                        },
                    }),
                        window.addEventListener("test-passive", null, re);
                } catch (r) {}
            var oe = function () {
                    return void 0 === q && (q = !V && !K && void 0 !== t && t.process && "server" === t.process.env.VUE_ENV), q;
                },
                ie = V && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
            function se(e) {
                return "function" == typeof e && /native code/.test(e.toString());
            }
            var ae,
                le = "undefined" != typeof Symbol && se(Symbol) && "undefined" != typeof Reflect && se(Reflect.ownKeys);
            ae =
                "undefined" != typeof Set && se(Set)
                    ? Set
                    : (function () {
                          function e() {
                              this.set = Object.create(null);
                          }
                          return (
                              (e.prototype.has = function (e) {
                                  return !0 === this.set[e];
                              }),
                              (e.prototype.add = function (e) {
                                  this.set[e] = !0;
                              }),
                              (e.prototype.clear = function () {
                                  this.set = Object.create(null);
                              }),
                              e
                          );
                      })();
            var ce = D,
                ue = 0,
                de = function () {
                    (this.id = ue++), (this.subs = []);
                };
            (de.prototype.addSub = function (e) {
                this.subs.push(e);
            }),
                (de.prototype.removeSub = function (e) {
                    y(this.subs, e);
                }),
                (de.prototype.depend = function () {
                    de.target && de.target.addDep(this);
                }),
                (de.prototype.notify = function () {
                    for (var e = this.subs.slice(), t = 0, n = e.length; t < n; t++) e[t].update();
                }),
                (de.target = null);
            var fe = [];
            function pe(e) {
                fe.push(e), (de.target = e);
            }
            function he() {
                fe.pop(), (de.target = fe[fe.length - 1]);
            }
            var me = function (e, t, n, r, o, i, s, a) {
                    (this.tag = e),
                        (this.data = t),
                        (this.children = n),
                        (this.text = r),
                        (this.elm = o),
                        (this.ns = void 0),
                        (this.context = i),
                        (this.fnContext = void 0),
                        (this.fnOptions = void 0),
                        (this.fnScopeId = void 0),
                        (this.key = t && t.key),
                        (this.componentOptions = s),
                        (this.componentInstance = void 0),
                        (this.parent = void 0),
                        (this.raw = !1),
                        (this.isStatic = !1),
                        (this.isRootInsert = !0),
                        (this.isComment = !1),
                        (this.isCloned = !1),
                        (this.isOnce = !1),
                        (this.asyncFactory = a),
                        (this.asyncMeta = void 0),
                        (this.isAsyncPlaceholder = !1);
                },
                ge = { child: { configurable: !0 } };
            (ge.child.get = function () {
                return this.componentInstance;
            }),
                Object.defineProperties(me.prototype, ge);
            var ve = function (e) {
                void 0 === e && (e = "");
                var t = new me();
                return (t.text = e), (t.isComment = !0), t;
            };
            function ye(e) {
                return new me(void 0, void 0, void 0, String(e));
            }
            function be(e) {
                var t = new me(e.tag, e.data, e.children && e.children.slice(), e.text, e.elm, e.context, e.componentOptions, e.asyncFactory);
                return (
                    (t.ns = e.ns),
                    (t.isStatic = e.isStatic),
                    (t.key = e.key),
                    (t.isComment = e.isComment),
                    (t.fnContext = e.fnContext),
                    (t.fnOptions = e.fnOptions),
                    (t.fnScopeId = e.fnScopeId),
                    (t.asyncMeta = e.asyncMeta),
                    (t.isCloned = !0),
                    t
                );
            }
            var _e = Array.prototype,
                we = Object.create(_e);
            ["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach(function (e) {
                var t = _e[e];
                U(we, e, function () {
                    for (var n = [], r = arguments.length; r--; ) n[r] = arguments[r];
                    var o,
                        i = t.apply(this, n),
                        s = this.__ob__;
                    switch (e) {
                        case "push":
                        case "unshift":
                            o = n;
                            break;
                        case "splice":
                            o = n.slice(2);
                    }
                    return o && s.observeArray(o), s.dep.notify(), i;
                });
            });
            var Ce = Object.getOwnPropertyNames(we),
                xe = !0;
            function Ee(e) {
                xe = e;
            }
            var ke = function (e) {
                var t;
                (this.value = e),
                    (this.dep = new de()),
                    (this.vmCount = 0),
                    U(e, "__ob__", this),
                    Array.isArray(e)
                        ? (W
                              ? ((t = we), (e.__proto__ = t))
                              : (function (e, t, n) {
                                    for (var r = 0, o = n.length; r < o; r++) {
                                        var i = n[r];
                                        U(e, i, t[i]);
                                    }
                                })(e, we, Ce),
                          this.observeArray(e))
                        : this.walk(e);
            };
            function Ae(e, t) {
                var n;
                if (l(e) && !(e instanceof me))
                    return _(e, "__ob__") && e.__ob__ instanceof ke ? (n = e.__ob__) : xe && !oe() && (Array.isArray(e) || u(e)) && Object.isExtensible(e) && !e._isVue && (n = new ke(e)), t && n && n.vmCount++, n;
            }
            function Se(e, t, n, r, o) {
                var i = new de(),
                    s = Object.getOwnPropertyDescriptor(e, t);
                if (!s || !1 !== s.configurable) {
                    var a = s && s.get,
                        l = s && s.set;
                    (a && !l) || 2 !== arguments.length || (n = e[t]);
                    var c = !o && Ae(n);
                    Object.defineProperty(e, t, {
                        enumerable: !0,
                        configurable: !0,
                        get: function () {
                            var t = a ? a.call(e) : n;
                            return (
                                de.target &&
                                    (i.depend(),
                                    c &&
                                        (c.dep.depend(),
                                        Array.isArray(t) &&
                                            (function e(t) {
                                                for (var n = void 0, r = 0, o = t.length; r < o; r++) (n = t[r]) && n.__ob__ && n.__ob__.dep.depend(), Array.isArray(n) && e(n);
                                            })(t))),
                                t
                            );
                        },
                        set: function (t) {
                            var r = a ? a.call(e) : n;
                            t === r || (t != t && r != r) || (a && !l) || (l ? l.call(e, t) : (n = t), (c = !o && Ae(t)), i.notify());
                        },
                    });
                }
            }
            function Te(e, t, n) {
                if (Array.isArray(e) && d(t)) return (e.length = Math.max(e.length, t)), e.splice(t, 1, n), n;
                if (t in e && !(t in Object.prototype)) return (e[t] = n), n;
                var r = e.__ob__;
                return e._isVue || (r && r.vmCount) ? n : r ? (Se(r.value, t, n), r.dep.notify(), n) : ((e[t] = n), n);
            }
            function Ne(e, t) {
                if (Array.isArray(e) && d(t)) e.splice(t, 1);
                else {
                    var n = e.__ob__;
                    e._isVue || (n && n.vmCount) || (_(e, t) && (delete e[t], n && n.dep.notify()));
                }
            }
            (ke.prototype.walk = function (e) {
                for (var t = Object.keys(e), n = 0; n < t.length; n++) Se(e, t[n]);
            }),
                (ke.prototype.observeArray = function (e) {
                    for (var t = 0, n = e.length; t < n; t++) Ae(e[t]);
                });
            var Oe = F.optionMergeStrategies;
            function De(e, t) {
                if (!t) return e;
                for (var n, r, o, i = le ? Reflect.ownKeys(t) : Object.keys(t), s = 0; s < i.length; s++) "__ob__" !== (n = i[s]) && ((r = e[n]), (o = t[n]), _(e, n) ? r !== o && u(r) && u(o) && De(r, o) : Te(e, n, o));
                return e;
            }
            function Re(e, t, n) {
                return n
                    ? function () {
                          var r = "function" == typeof t ? t.call(n, n) : t,
                              o = "function" == typeof e ? e.call(n, n) : e;
                          return r ? De(r, o) : o;
                      }
                    : t
                    ? e
                        ? function () {
                              return De("function" == typeof t ? t.call(this, this) : t, "function" == typeof e ? e.call(this, this) : e);
                          }
                        : t
                    : e;
            }
            function Le(e, t) {
                var n = t ? (e ? e.concat(t) : Array.isArray(t) ? t : [t]) : e;
                return n
                    ? (function (e) {
                          for (var t = [], n = 0; n < e.length; n++) -1 === t.indexOf(e[n]) && t.push(e[n]);
                          return t;
                      })(n)
                    : n;
            }
            function Pe(e, t, n, r) {
                var o = Object.create(e || null);
                return t ? N(o, t) : o;
            }
            (Oe.data = function (e, t, n) {
                return n ? Re(e, t, n) : t && "function" != typeof t ? e : Re(e, t);
            }),
                j.forEach(function (e) {
                    Oe[e] = Le;
                }),
                B.forEach(function (e) {
                    Oe[e + "s"] = Pe;
                }),
                (Oe.watch = function (e, t, n, r) {
                    if ((e === te && (e = void 0), t === te && (t = void 0), !t)) return Object.create(e || null);
                    if (!e) return t;
                    var o = {};
                    for (var i in (N(o, e), t)) {
                        var s = o[i],
                            a = t[i];
                        s && !Array.isArray(s) && (s = [s]), (o[i] = s ? s.concat(a) : Array.isArray(a) ? a : [a]);
                    }
                    return o;
                }),
                (Oe.props = Oe.methods = Oe.inject = Oe.computed = function (e, t, n, r) {
                    if (!e) return t;
                    var o = Object.create(null);
                    return N(o, e), t && N(o, t), o;
                }),
                (Oe.provide = Re);
            var $e = function (e, t) {
                return void 0 === t ? e : t;
            };
            function Me(e, t, n) {
                if (
                    ("function" == typeof t && (t = t.options),
                    (function (e, t) {
                        var n = e.props;
                        if (n) {
                            var r,
                                o,
                                i = {};
                            if (Array.isArray(n)) for (r = n.length; r--; ) "string" == typeof (o = n[r]) && (i[x(o)] = { type: null });
                            else if (u(n)) for (var s in n) (o = n[s]), (i[x(s)] = u(o) ? o : { type: o });
                            e.props = i;
                        }
                    })(t),
                    (function (e, t) {
                        var n = e.inject;
                        if (n) {
                            var r = (e.inject = {});
                            if (Array.isArray(n)) for (var o = 0; o < n.length; o++) r[n[o]] = { from: n[o] };
                            else if (u(n))
                                for (var i in n) {
                                    var s = n[i];
                                    r[i] = u(s) ? N({ from: i }, s) : { from: s };
                                }
                        }
                    })(t),
                    (function (e) {
                        var t = e.directives;
                        if (t)
                            for (var n in t) {
                                var r = t[n];
                                "function" == typeof r && (t[n] = { bind: r, update: r });
                            }
                    })(t),
                    !t._base && (t.extends && (e = Me(e, t.extends, n)), t.mixins))
                )
                    for (var r = 0, o = t.mixins.length; r < o; r++) e = Me(e, t.mixins[r], n);
                var i,
                    s = {};
                for (i in e) a(i);
                for (i in t) _(e, i) || a(i);
                function a(r) {
                    var o = Oe[r] || $e;
                    s[r] = o(e[r], t[r], n, r);
                }
                return s;
            }
            function Ie(e, t, n, r) {
                if ("string" == typeof n) {
                    var o = e[t];
                    if (_(o, n)) return o[n];
                    var i = x(n);
                    if (_(o, i)) return o[i];
                    var s = E(i);
                    return _(o, s) ? o[s] : o[n] || o[i] || o[s];
                }
            }
            function Be(e, t, n, r) {
                var o = t[e],
                    i = !_(n, e),
                    s = n[e],
                    a = Ue(Boolean, o.type);
                if (a > -1)
                    if (i && !_(o, "default")) s = !1;
                    else if ("" === s || s === A(e)) {
                        var l = Ue(String, o.type);
                        (l < 0 || a < l) && (s = !0);
                    }
                if (void 0 === s) {
                    s = (function (e, t, n) {
                        if (_(t, "default")) {
                            var r = t.default;
                            return e && e.$options.propsData && void 0 === e.$options.propsData[n] && void 0 !== e._props[n] ? e._props[n] : "function" == typeof r && "Function" !== Fe(t.type) ? r.call(e) : r;
                        }
                    })(r, o, e);
                    var c = xe;
                    Ee(!0), Ae(s), Ee(c);
                }
                return s;
            }
            var je = /^\s*function (\w+)/;
            function Fe(e) {
                var t = e && e.toString().match(je);
                return t ? t[1] : "";
            }
            function He(e, t) {
                return Fe(e) === Fe(t);
            }
            function Ue(e, t) {
                if (!Array.isArray(t)) return He(t, e) ? 0 : -1;
                for (var n = 0, r = t.length; n < r; n++) if (He(t[n], e)) return n;
                return -1;
            }
            function qe(e, t, n) {
                pe();
                try {
                    if (t)
                        for (var r = t; (r = r.$parent); ) {
                            var o = r.$options.errorCaptured;
                            if (o)
                                for (var i = 0; i < o.length; i++)
                                    try {
                                        if (!1 === o[i].call(r, e, t, n)) return;
                                    } catch (e) {
                                        We(e, r, "errorCaptured hook");
                                    }
                        }
                    We(e, t, n);
                } finally {
                    he();
                }
            }
            function ze(e, t, n, r, o) {
                var i;
                try {
                    (i = n ? e.apply(t, n) : e.call(t)) &&
                        !i._isVue &&
                        f(i) &&
                        !i._handled &&
                        (i.catch(function (e) {
                            return qe(e, r, o + " (Promise/async)");
                        }),
                        (i._handled = !0));
                } catch (e) {
                    qe(e, r, o);
                }
                return i;
            }
            function We(e, t, n) {
                if (F.errorHandler)
                    try {
                        return F.errorHandler.call(null, e, t, n);
                    } catch (t) {
                        t !== e && Ve(t, null, "config.errorHandler");
                    }
                Ve(e, t, n);
            }
            function Ve(e, t, n) {
                if ((!V && !K) || "undefined" == typeof console) throw e;
                console.error(e);
            }
            var Ke,
                Ge = !1,
                Ye = [],
                Xe = !1;
            function Je() {
                Xe = !1;
                var e = Ye.slice(0);
                Ye.length = 0;
                for (var t = 0; t < e.length; t++) e[t]();
            }
            if ("undefined" != typeof Promise && se(Promise)) {
                var Qe = Promise.resolve();
                (Ke = function () {
                    Qe.then(Je), Z && setTimeout(D);
                }),
                    (Ge = !0);
            } else if (X || "undefined" == typeof MutationObserver || (!se(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString()))
                Ke =
                    void 0 !== n && se(n)
                        ? function () {
                              n(Je);
                          }
                        : function () {
                              setTimeout(Je, 0);
                          };
            else {
                var Ze = 1,
                    et = new MutationObserver(Je),
                    tt = document.createTextNode(String(Ze));
                et.observe(tt, { characterData: !0 }),
                    (Ke = function () {
                        (Ze = (Ze + 1) % 2), (tt.data = String(Ze));
                    }),
                    (Ge = !0);
            }
            function nt(e, t) {
                var n;
                if (
                    (Ye.push(function () {
                        if (e)
                            try {
                                e.call(t);
                            } catch (e) {
                                qe(e, t, "nextTick");
                            }
                        else n && n(t);
                    }),
                    Xe || ((Xe = !0), Ke()),
                    !e && "undefined" != typeof Promise)
                )
                    return new Promise(function (e) {
                        n = e;
                    });
            }
            var rt = new ae();
            function ot(e) {
                !(function e(t, n) {
                    var r,
                        o,
                        i = Array.isArray(t);
                    if (!((!i && !l(t)) || Object.isFrozen(t) || t instanceof me)) {
                        if (t.__ob__) {
                            var s = t.__ob__.dep.id;
                            if (n.has(s)) return;
                            n.add(s);
                        }
                        if (i) for (r = t.length; r--; ) e(t[r], n);
                        else for (r = (o = Object.keys(t)).length; r--; ) e(t[o[r]], n);
                    }
                })(e, rt),
                    rt.clear();
            }
            var it = w(function (e) {
                var t = "&" === e.charAt(0),
                    n = "~" === (e = t ? e.slice(1) : e).charAt(0),
                    r = "!" === (e = n ? e.slice(1) : e).charAt(0);
                return { name: (e = r ? e.slice(1) : e), once: n, capture: r, passive: t };
            });
            function st(e, t) {
                function n() {
                    var e = arguments,
                        r = n.fns;
                    if (!Array.isArray(r)) return ze(r, null, arguments, t, "v-on handler");
                    for (var o = r.slice(), i = 0; i < o.length; i++) ze(o[i], null, e, t, "v-on handler");
                }
                return (n.fns = e), n;
            }
            function at(e, t, n, r, i, a) {
                var l, c, u, d;
                for (l in e)
                    (c = e[l]),
                        (u = t[l]),
                        (d = it(l)),
                        o(c) || (o(u) ? (o(c.fns) && (c = e[l] = st(c, a)), s(d.once) && (c = e[l] = i(d.name, c, d.capture)), n(d.name, c, d.capture, d.passive, d.params)) : c !== u && ((u.fns = c), (e[l] = u)));
                for (l in t) o(e[l]) && r((d = it(l)).name, t[l], d.capture);
            }
            function lt(e, t, n) {
                var r;
                e instanceof me && (e = e.data.hook || (e.data.hook = {}));
                var a = e[t];
                function l() {
                    n.apply(this, arguments), y(r.fns, l);
                }
                o(a) ? (r = st([l])) : i(a.fns) && s(a.merged) ? (r = a).fns.push(l) : (r = st([a, l])), (r.merged = !0), (e[t] = r);
            }
            function ct(e, t, n, r, o) {
                if (i(t)) {
                    if (_(t, n)) return (e[n] = t[n]), o || delete t[n], !0;
                    if (_(t, r)) return (e[n] = t[r]), o || delete t[r], !0;
                }
                return !1;
            }
            function ut(e) {
                return a(e)
                    ? [ye(e)]
                    : Array.isArray(e)
                    ? (function e(t, n) {
                          var r,
                              l,
                              c,
                              u,
                              d = [];
                          for (r = 0; r < t.length; r++)
                              o((l = t[r])) ||
                                  "boolean" == typeof l ||
                                  ((u = d[(c = d.length - 1)]),
                                  Array.isArray(l)
                                      ? l.length > 0 && (dt((l = e(l, (n || "") + "_" + r))[0]) && dt(u) && ((d[c] = ye(u.text + l[0].text)), l.shift()), d.push.apply(d, l))
                                      : a(l)
                                      ? dt(u)
                                          ? (d[c] = ye(u.text + l))
                                          : "" !== l && d.push(ye(l))
                                      : dt(l) && dt(u)
                                      ? (d[c] = ye(u.text + l.text))
                                      : (s(t._isVList) && i(l.tag) && o(l.key) && i(n) && (l.key = "__vlist" + n + "_" + r + "__"), d.push(l)));
                          return d;
                      })(e)
                    : void 0;
            }
            function dt(e) {
                return i(e) && i(e.text) && !1 === e.isComment;
            }
            function ft(e, t) {
                if (e) {
                    for (var n = Object.create(null), r = le ? Reflect.ownKeys(e) : Object.keys(e), o = 0; o < r.length; o++) {
                        var i = r[o];
                        if ("__ob__" !== i) {
                            for (var s = e[i].from, a = t; a; ) {
                                if (a._provided && _(a._provided, s)) {
                                    n[i] = a._provided[s];
                                    break;
                                }
                                a = a.$parent;
                            }
                            if (!a && "default" in e[i]) {
                                var l = e[i].default;
                                n[i] = "function" == typeof l ? l.call(t) : l;
                            }
                        }
                    }
                    return n;
                }
            }
            function pt(e, t) {
                if (!e || !e.length) return {};
                for (var n = {}, r = 0, o = e.length; r < o; r++) {
                    var i = e[r],
                        s = i.data;
                    if ((s && s.attrs && s.attrs.slot && delete s.attrs.slot, (i.context !== t && i.fnContext !== t) || !s || null == s.slot)) (n.default || (n.default = [])).push(i);
                    else {
                        var a = s.slot,
                            l = n[a] || (n[a] = []);
                        "template" === i.tag ? l.push.apply(l, i.children || []) : l.push(i);
                    }
                }
                for (var c in n) n[c].every(ht) && delete n[c];
                return n;
            }
            function ht(e) {
                return (e.isComment && !e.asyncFactory) || " " === e.text;
            }
            function mt(e) {
                return e.isComment && e.asyncFactory;
            }
            function gt(e, t, n) {
                var o,
                    i = Object.keys(t).length > 0,
                    s = e ? !!e.$stable : !i,
                    a = e && e.$key;
                if (e) {
                    if (e._normalized) return e._normalized;
                    if (s && n && n !== r && a === n.$key && !i && !n.$hasNormal) return n;
                    for (var l in ((o = {}), e)) e[l] && "$" !== l[0] && (o[l] = vt(t, l, e[l]));
                } else o = {};
                for (var c in t) c in o || (o[c] = yt(t, c));
                return e && Object.isExtensible(e) && (e._normalized = o), U(o, "$stable", s), U(o, "$key", a), U(o, "$hasNormal", i), o;
            }
            function vt(e, t, n) {
                var r = function () {
                    var e = arguments.length ? n.apply(null, arguments) : n({}),
                        t = (e = e && "object" == typeof e && !Array.isArray(e) ? [e] : ut(e)) && e[0];
                    return e && (!t || (1 === e.length && t.isComment && !mt(t))) ? void 0 : e;
                };
                return n.proxy && Object.defineProperty(e, t, { get: r, enumerable: !0, configurable: !0 }), r;
            }
            function yt(e, t) {
                return function () {
                    return e[t];
                };
            }
            function bt(e, t) {
                var n, r, o, s, a;
                if (Array.isArray(e) || "string" == typeof e) for (n = new Array(e.length), r = 0, o = e.length; r < o; r++) n[r] = t(e[r], r);
                else if ("number" == typeof e) for (n = new Array(e), r = 0; r < e; r++) n[r] = t(r + 1, r);
                else if (l(e))
                    if (le && e[Symbol.iterator]) {
                        n = [];
                        for (var c = e[Symbol.iterator](), u = c.next(); !u.done; ) n.push(t(u.value, n.length)), (u = c.next());
                    } else for (s = Object.keys(e), n = new Array(s.length), r = 0, o = s.length; r < o; r++) (a = s[r]), (n[r] = t(e[a], a, r));
                return i(n) || (n = []), (n._isVList = !0), n;
            }
            function _t(e, t, n, r) {
                var o,
                    i = this.$scopedSlots[e];
                i ? ((n = n || {}), r && (n = N(N({}, r), n)), (o = i(n) || ("function" == typeof t ? t() : t))) : (o = this.$slots[e] || ("function" == typeof t ? t() : t));
                var s = n && n.slot;
                return s ? this.$createElement("template", { slot: s }, o) : o;
            }
            function wt(e) {
                return Ie(this.$options, "filters", e) || L;
            }
            function Ct(e, t) {
                return Array.isArray(e) ? -1 === e.indexOf(t) : e !== t;
            }
            function xt(e, t, n, r, o) {
                var i = F.keyCodes[t] || n;
                return o && r && !F.keyCodes[t] ? Ct(o, r) : i ? Ct(i, e) : r ? A(r) !== t : void 0 === e;
            }
            function Et(e, t, n, r, o) {
                if (n && l(n)) {
                    var i;
                    Array.isArray(n) && (n = O(n));
                    var s = function (s) {
                        if ("class" === s || "style" === s || v(s)) i = e;
                        else {
                            var a = e.attrs && e.attrs.type;
                            i = r || F.mustUseProp(t, a, s) ? e.domProps || (e.domProps = {}) : e.attrs || (e.attrs = {});
                        }
                        var l = x(s),
                            c = A(s);
                        l in i ||
                            c in i ||
                            ((i[s] = n[s]),
                            o &&
                                ((e.on || (e.on = {}))["update:" + s] = function (e) {
                                    n[s] = e;
                                }));
                    };
                    for (var a in n) s(a);
                }
                return e;
            }
            function kt(e, t) {
                var n = this._staticTrees || (this._staticTrees = []),
                    r = n[e];
                return (r && !t) || St((r = n[e] = this.$options.staticRenderFns[e].call(this._renderProxy, null, this)), "__static__" + e, !1), r;
            }
            function At(e, t, n) {
                return St(e, "__once__" + t + (n ? "_" + n : ""), !0), e;
            }
            function St(e, t, n) {
                if (Array.isArray(e)) for (var r = 0; r < e.length; r++) e[r] && "string" != typeof e[r] && Tt(e[r], t + "_" + r, n);
                else Tt(e, t, n);
            }
            function Tt(e, t, n) {
                (e.isStatic = !0), (e.key = t), (e.isOnce = n);
            }
            function Nt(e, t) {
                if (t && u(t)) {
                    var n = (e.on = e.on ? N({}, e.on) : {});
                    for (var r in t) {
                        var o = n[r],
                            i = t[r];
                        n[r] = o ? [].concat(o, i) : i;
                    }
                }
                return e;
            }
            function Ot(e, t, n, r) {
                t = t || { $stable: !n };
                for (var o = 0; o < e.length; o++) {
                    var i = e[o];
                    Array.isArray(i) ? Ot(i, t, n) : i && (i.proxy && (i.fn.proxy = !0), (t[i.key] = i.fn));
                }
                return r && (t.$key = r), t;
            }
            function Dt(e, t) {
                for (var n = 0; n < t.length; n += 2) {
                    var r = t[n];
                    "string" == typeof r && r && (e[t[n]] = t[n + 1]);
                }
                return e;
            }
            function Rt(e, t) {
                return "string" == typeof e ? t + e : e;
            }
            function Lt(e) {
                (e._o = At), (e._n = h), (e._s = p), (e._l = bt), (e._t = _t), (e._q = P), (e._i = $), (e._m = kt), (e._f = wt), (e._k = xt), (e._b = Et), (e._v = ye), (e._e = ve), (e._u = Ot), (e._g = Nt), (e._d = Dt), (e._p = Rt);
            }
            function Pt(e, t, n, o, i) {
                var a,
                    l = this,
                    c = i.options;
                _(o, "_uid") ? ((a = Object.create(o))._original = o) : ((a = o), (o = o._original));
                var u = s(c._compiled),
                    d = !u;
                (this.data = e),
                    (this.props = t),
                    (this.children = n),
                    (this.parent = o),
                    (this.listeners = e.on || r),
                    (this.injections = ft(c.inject, o)),
                    (this.slots = function () {
                        return l.$slots || gt(e.scopedSlots, (l.$slots = pt(n, o))), l.$slots;
                    }),
                    Object.defineProperty(this, "scopedSlots", {
                        enumerable: !0,
                        get: function () {
                            return gt(e.scopedSlots, this.slots());
                        },
                    }),
                    u && ((this.$options = c), (this.$slots = this.slots()), (this.$scopedSlots = gt(e.scopedSlots, this.$slots))),
                    c._scopeId
                        ? (this._c = function (e, t, n, r) {
                              var i = Ht(a, e, t, n, r, d);
                              return i && !Array.isArray(i) && ((i.fnScopeId = c._scopeId), (i.fnContext = o)), i;
                          })
                        : (this._c = function (e, t, n, r) {
                              return Ht(a, e, t, n, r, d);
                          });
            }
            function $t(e, t, n, r, o) {
                var i = be(e);
                return (i.fnContext = n), (i.fnOptions = r), t.slot && ((i.data || (i.data = {})).slot = t.slot), i;
            }
            function Mt(e, t) {
                for (var n in t) e[x(n)] = t[n];
            }
            Lt(Pt.prototype);
            var It = {
                    init: function (e, t) {
                        if (e.componentInstance && !e.componentInstance._isDestroyed && e.data.keepAlive) {
                            var n = e;
                            It.prepatch(n, n);
                        } else
                            (e.componentInstance = (function (e, t) {
                                var n = { _isComponent: !0, _parentVnode: e, parent: t },
                                    r = e.data.inlineTemplate;
                                return i(r) && ((n.render = r.render), (n.staticRenderFns = r.staticRenderFns)), new e.componentOptions.Ctor(n);
                            })(e, Xt)).$mount(t ? e.elm : void 0, t);
                    },
                    prepatch: function (e, t) {
                        var n = t.componentOptions;
                        !(function (e, t, n, o, i) {
                            var s = o.data.scopedSlots,
                                a = e.$scopedSlots,
                                l = !!((s && !s.$stable) || (a !== r && !a.$stable) || (s && e.$scopedSlots.$key !== s.$key) || (!s && e.$scopedSlots.$key)),
                                c = !!(i || e.$options._renderChildren || l);
                            if (((e.$options._parentVnode = o), (e.$vnode = o), e._vnode && (e._vnode.parent = o), (e.$options._renderChildren = i), (e.$attrs = o.data.attrs || r), (e.$listeners = n || r), t && e.$options.props)) {
                                Ee(!1);
                                for (var u = e._props, d = e.$options._propKeys || [], f = 0; f < d.length; f++) {
                                    var p = d[f],
                                        h = e.$options.props;
                                    u[p] = Be(p, h, t, e);
                                }
                                Ee(!0), (e.$options.propsData = t);
                            }
                            n = n || r;
                            var m = e.$options._parentListeners;
                            (e.$options._parentListeners = n), Yt(e, n, m), c && ((e.$slots = pt(i, o.context)), e.$forceUpdate());
                        })((t.componentInstance = e.componentInstance), n.propsData, n.listeners, t, n.children);
                    },
                    insert: function (e) {
                        var t,
                            n = e.context,
                            r = e.componentInstance;
                        r._isMounted || ((r._isMounted = !0), en(r, "mounted")), e.data.keepAlive && (n._isMounted ? (((t = r)._inactive = !1), nn.push(t)) : Zt(r, !0));
                    },
                    destroy: function (e) {
                        var t = e.componentInstance;
                        t._isDestroyed ||
                            (e.data.keepAlive
                                ? (function e(t, n) {
                                      if (!((n && ((t._directInactive = !0), Qt(t))) || t._inactive)) {
                                          t._inactive = !0;
                                          for (var r = 0; r < t.$children.length; r++) e(t.$children[r]);
                                          en(t, "deactivated");
                                      }
                                  })(t, !0)
                                : t.$destroy());
                    },
                },
                Bt = Object.keys(It);
            function jt(e, t, n, a, c) {
                if (!o(e)) {
                    var u = n.$options._base;
                    if ((l(e) && (e = u.extend(e)), "function" == typeof e)) {
                        var d;
                        if (
                            o(e.cid) &&
                            void 0 ===
                                (e = (function (e, t) {
                                    if (s(e.error) && i(e.errorComp)) return e.errorComp;
                                    if (i(e.resolved)) return e.resolved;
                                    var n = qt;
                                    if ((n && i(e.owners) && -1 === e.owners.indexOf(n) && e.owners.push(n), s(e.loading) && i(e.loadingComp))) return e.loadingComp;
                                    if (n && !i(e.owners)) {
                                        var r = (e.owners = [n]),
                                            a = !0,
                                            c = null,
                                            u = null;
                                        n.$on("hook:destroyed", function () {
                                            return y(r, n);
                                        });
                                        var d = function (e) {
                                                for (var t = 0, n = r.length; t < n; t++) r[t].$forceUpdate();
                                                e && ((r.length = 0), null !== c && (clearTimeout(c), (c = null)), null !== u && (clearTimeout(u), (u = null)));
                                            },
                                            p = M(function (n) {
                                                (e.resolved = zt(n, t)), a ? (r.length = 0) : d(!0);
                                            }),
                                            h = M(function (t) {
                                                i(e.errorComp) && ((e.error = !0), d(!0));
                                            }),
                                            m = e(p, h);
                                        return (
                                            l(m) &&
                                                (f(m)
                                                    ? o(e.resolved) && m.then(p, h)
                                                    : f(m.component) &&
                                                      (m.component.then(p, h),
                                                      i(m.error) && (e.errorComp = zt(m.error, t)),
                                                      i(m.loading) &&
                                                          ((e.loadingComp = zt(m.loading, t)),
                                                          0 === m.delay
                                                              ? (e.loading = !0)
                                                              : (c = setTimeout(function () {
                                                                    (c = null), o(e.resolved) && o(e.error) && ((e.loading = !0), d(!1));
                                                                }, m.delay || 200))),
                                                      i(m.timeout) &&
                                                          (u = setTimeout(function () {
                                                              (u = null), o(e.resolved) && h(null);
                                                          }, m.timeout)))),
                                            (a = !1),
                                            e.loading ? e.loadingComp : e.resolved
                                        );
                                    }
                                })((d = e), u))
                        )
                            return (function (e, t, n, r, o) {
                                var i = ve();
                                return (i.asyncFactory = e), (i.asyncMeta = { data: t, context: n, children: r, tag: o }), i;
                            })(d, t, n, a, c);
                        (t = t || {}),
                            Cn(e),
                            i(t.model) &&
                                (function (e, t) {
                                    var n = (e.model && e.model.prop) || "value",
                                        r = (e.model && e.model.event) || "input";
                                    (t.attrs || (t.attrs = {}))[n] = t.model.value;
                                    var o = t.on || (t.on = {}),
                                        s = o[r],
                                        a = t.model.callback;
                                    i(s) ? (Array.isArray(s) ? -1 === s.indexOf(a) : s !== a) && (o[r] = [a].concat(s)) : (o[r] = a);
                                })(e.options, t);
                        var p = (function (e, t, n) {
                            var r = t.options.props;
                            if (!o(r)) {
                                var s = {},
                                    a = e.attrs,
                                    l = e.props;
                                if (i(a) || i(l))
                                    for (var c in r) {
                                        var u = A(c);
                                        ct(s, l, c, u, !0) || ct(s, a, c, u, !1);
                                    }
                                return s;
                            }
                        })(t, e);
                        if (s(e.options.functional))
                            return (function (e, t, n, o, s) {
                                var a = e.options,
                                    l = {},
                                    c = a.props;
                                if (i(c)) for (var u in c) l[u] = Be(u, c, t || r);
                                else i(n.attrs) && Mt(l, n.attrs), i(n.props) && Mt(l, n.props);
                                var d = new Pt(n, l, s, o, e),
                                    f = a.render.call(null, d._c, d);
                                if (f instanceof me) return $t(f, n, d.parent, a);
                                if (Array.isArray(f)) {
                                    for (var p = ut(f) || [], h = new Array(p.length), m = 0; m < p.length; m++) h[m] = $t(p[m], n, d.parent, a);
                                    return h;
                                }
                            })(e, p, t, n, a);
                        var h = t.on;
                        if (((t.on = t.nativeOn), s(e.options.abstract))) {
                            var m = t.slot;
                            (t = {}), m && (t.slot = m);
                        }
                        !(function (e) {
                            for (var t = e.hook || (e.hook = {}), n = 0; n < Bt.length; n++) {
                                var r = Bt[n],
                                    o = t[r],
                                    i = It[r];
                                o === i || (o && o._merged) || (t[r] = o ? Ft(i, o) : i);
                            }
                        })(t);
                        var g = e.options.name || c;
                        return new me("vue-component-" + e.cid + (g ? "-" + g : ""), t, void 0, void 0, void 0, n, { Ctor: e, propsData: p, listeners: h, tag: c, children: a }, d);
                    }
                }
            }
            function Ft(e, t) {
                var n = function (n, r) {
                    e(n, r), t(n, r);
                };
                return (n._merged = !0), n;
            }
            function Ht(e, t, n, r, c, u) {
                return (
                    (Array.isArray(n) || a(n)) && ((c = r), (r = n), (n = void 0)),
                    s(u) && (c = 2),
                    (function (e, t, n, r, a) {
                        if (i(n) && i(n.__ob__)) return ve();
                        if ((i(n) && i(n.is) && (t = n.is), !t)) return ve();
                        var c, u, d;
                        (Array.isArray(r) && "function" == typeof r[0] && (((n = n || {}).scopedSlots = { default: r[0] }), (r.length = 0)),
                        2 === a
                            ? (r = ut(r))
                            : 1 === a &&
                              (r = (function (e) {
                                  for (var t = 0; t < e.length; t++) if (Array.isArray(e[t])) return Array.prototype.concat.apply([], e);
                                  return e;
                              })(r)),
                        "string" == typeof t)
                            ? ((u = (e.$vnode && e.$vnode.ns) || F.getTagNamespace(t)),
                              (c = F.isReservedTag(t) ? new me(F.parsePlatformTagName(t), n, r, void 0, void 0, e) : (n && n.pre) || !i((d = Ie(e.$options, "components", t))) ? new me(t, n, r, void 0, void 0, e) : jt(d, n, e, r, t)))
                            : (c = jt(t, n, e, r));
                        return Array.isArray(c)
                            ? c
                            : i(c)
                            ? (i(u) &&
                                  (function e(t, n, r) {
                                      if (((t.ns = n), "foreignObject" === t.tag && ((n = void 0), (r = !0)), i(t.children)))
                                          for (var a = 0, l = t.children.length; a < l; a++) {
                                              var c = t.children[a];
                                              i(c.tag) && (o(c.ns) || (s(r) && "svg" !== c.tag)) && e(c, n, r);
                                          }
                                  })(c, u),
                              i(n) &&
                                  (function (e) {
                                      l(e.style) && ot(e.style), l(e.class) && ot(e.class);
                                  })(n),
                              c)
                            : ve();
                    })(e, t, n, r, c)
                );
            }
            var Ut,
                qt = null;
            function zt(e, t) {
                return (e.__esModule || (le && "Module" === e[Symbol.toStringTag])) && (e = e.default), l(e) ? t.extend(e) : e;
            }
            function Wt(e) {
                if (Array.isArray(e))
                    for (var t = 0; t < e.length; t++) {
                        var n = e[t];
                        if (i(n) && (i(n.componentOptions) || mt(n))) return n;
                    }
            }
            function Vt(e, t) {
                Ut.$on(e, t);
            }
            function Kt(e, t) {
                Ut.$off(e, t);
            }
            function Gt(e, t) {
                var n = Ut;
                return function r() {
                    null !== t.apply(null, arguments) && n.$off(e, r);
                };
            }
            function Yt(e, t, n) {
                (Ut = e), at(t, n || {}, Vt, Kt, Gt, e), (Ut = void 0);
            }
            var Xt = null;
            function Jt(e) {
                var t = Xt;
                return (
                    (Xt = e),
                    function () {
                        Xt = t;
                    }
                );
            }
            function Qt(e) {
                for (; e && (e = e.$parent); ) if (e._inactive) return !0;
                return !1;
            }
            function Zt(e, t) {
                if (t) {
                    if (((e._directInactive = !1), Qt(e))) return;
                } else if (e._directInactive) return;
                if (e._inactive || null === e._inactive) {
                    e._inactive = !1;
                    for (var n = 0; n < e.$children.length; n++) Zt(e.$children[n]);
                    en(e, "activated");
                }
            }
            function en(e, t) {
                pe();
                var n = e.$options[t],
                    r = t + " hook";
                if (n) for (var o = 0, i = n.length; o < i; o++) ze(n[o], e, null, e, r);
                e._hasHookEvent && e.$emit("hook:" + t), he();
            }
            var tn = [],
                nn = [],
                rn = {},
                on = !1,
                sn = !1,
                an = 0,
                ln = 0,
                cn = Date.now;
            if (V && !X) {
                var un = window.performance;
                un &&
                    "function" == typeof un.now &&
                    cn() > document.createEvent("Event").timeStamp &&
                    (cn = function () {
                        return un.now();
                    });
            }
            function dn() {
                var e, t;
                for (
                    ln = cn(),
                        sn = !0,
                        tn.sort(function (e, t) {
                            return e.id - t.id;
                        }),
                        an = 0;
                    an < tn.length;
                    an++
                )
                    (e = tn[an]).before && e.before(), (t = e.id), (rn[t] = null), e.run();
                var n = nn.slice(),
                    r = tn.slice();
                (an = tn.length = nn.length = 0),
                    (rn = {}),
                    (on = sn = !1),
                    (function (e) {
                        for (var t = 0; t < e.length; t++) (e[t]._inactive = !0), Zt(e[t], !0);
                    })(n),
                    (function (e) {
                        for (var t = e.length; t--; ) {
                            var n = e[t],
                                r = n.vm;
                            r._watcher === n && r._isMounted && !r._isDestroyed && en(r, "updated");
                        }
                    })(r),
                    ie && F.devtools && ie.emit("flush");
            }
            var fn = 0,
                pn = function (e, t, n, r, o) {
                    (this.vm = e),
                        o && (e._watcher = this),
                        e._watchers.push(this),
                        r ? ((this.deep = !!r.deep), (this.user = !!r.user), (this.lazy = !!r.lazy), (this.sync = !!r.sync), (this.before = r.before)) : (this.deep = this.user = this.lazy = this.sync = !1),
                        (this.cb = n),
                        (this.id = ++fn),
                        (this.active = !0),
                        (this.dirty = this.lazy),
                        (this.deps = []),
                        (this.newDeps = []),
                        (this.depIds = new ae()),
                        (this.newDepIds = new ae()),
                        (this.expression = ""),
                        "function" == typeof t
                            ? (this.getter = t)
                            : ((this.getter = (function (e) {
                                  if (!z.test(e)) {
                                      var t = e.split(".");
                                      return function (e) {
                                          for (var n = 0; n < t.length; n++) {
                                              if (!e) return;
                                              e = e[t[n]];
                                          }
                                          return e;
                                      };
                                  }
                              })(t)),
                              this.getter || (this.getter = D)),
                        (this.value = this.lazy ? void 0 : this.get());
                };
            (pn.prototype.get = function () {
                var e;
                pe(this);
                var t = this.vm;
                try {
                    e = this.getter.call(t, t);
                } catch (e) {
                    if (!this.user) throw e;
                    qe(e, t, 'getter for watcher "' + this.expression + '"');
                } finally {
                    this.deep && ot(e), he(), this.cleanupDeps();
                }
                return e;
            }),
                (pn.prototype.addDep = function (e) {
                    var t = e.id;
                    this.newDepIds.has(t) || (this.newDepIds.add(t), this.newDeps.push(e), this.depIds.has(t) || e.addSub(this));
                }),
                (pn.prototype.cleanupDeps = function () {
                    for (var e = this.deps.length; e--; ) {
                        var t = this.deps[e];
                        this.newDepIds.has(t.id) || t.removeSub(this);
                    }
                    var n = this.depIds;
                    (this.depIds = this.newDepIds), (this.newDepIds = n), this.newDepIds.clear(), (n = this.deps), (this.deps = this.newDeps), (this.newDeps = n), (this.newDeps.length = 0);
                }),
                (pn.prototype.update = function () {
                    this.lazy
                        ? (this.dirty = !0)
                        : this.sync
                        ? this.run()
                        : (function (e) {
                              var t = e.id;
                              if (null == rn[t]) {
                                  if (((rn[t] = !0), sn)) {
                                      for (var n = tn.length - 1; n > an && tn[n].id > e.id; ) n--;
                                      tn.splice(n + 1, 0, e);
                                  } else tn.push(e);
                                  on || ((on = !0), nt(dn));
                              }
                          })(this);
                }),
                (pn.prototype.run = function () {
                    if (this.active) {
                        var e = this.get();
                        if (e !== this.value || l(e) || this.deep) {
                            var t = this.value;
                            if (((this.value = e), this.user)) {
                                var n = 'callback for watcher "' + this.expression + '"';
                                ze(this.cb, this.vm, [e, t], this.vm, n);
                            } else this.cb.call(this.vm, e, t);
                        }
                    }
                }),
                (pn.prototype.evaluate = function () {
                    (this.value = this.get()), (this.dirty = !1);
                }),
                (pn.prototype.depend = function () {
                    for (var e = this.deps.length; e--; ) this.deps[e].depend();
                }),
                (pn.prototype.teardown = function () {
                    if (this.active) {
                        this.vm._isBeingDestroyed || y(this.vm._watchers, this);
                        for (var e = this.deps.length; e--; ) this.deps[e].removeSub(this);
                        this.active = !1;
                    }
                });
            var hn = { enumerable: !0, configurable: !0, get: D, set: D };
            function mn(e, t, n) {
                (hn.get = function () {
                    return this[t][n];
                }),
                    (hn.set = function (e) {
                        this[t][n] = e;
                    }),
                    Object.defineProperty(e, n, hn);
            }
            var gn = { lazy: !0 };
            function vn(e, t, n) {
                var r = !oe();
                "function" == typeof n ? ((hn.get = r ? yn(t) : bn(n)), (hn.set = D)) : ((hn.get = n.get ? (r && !1 !== n.cache ? yn(t) : bn(n.get)) : D), (hn.set = n.set || D)), Object.defineProperty(e, t, hn);
            }
            function yn(e) {
                return function () {
                    var t = this._computedWatchers && this._computedWatchers[e];
                    if (t) return t.dirty && t.evaluate(), de.target && t.depend(), t.value;
                };
            }
            function bn(e) {
                return function () {
                    return e.call(this, this);
                };
            }
            function _n(e, t, n, r) {
                return u(n) && ((r = n), (n = n.handler)), "string" == typeof n && (n = e[n]), e.$watch(t, n, r);
            }
            var wn = 0;
            function Cn(e) {
                var t = e.options;
                if (e.super) {
                    var n = Cn(e.super);
                    if (n !== e.superOptions) {
                        e.superOptions = n;
                        var r = (function (e) {
                            var t,
                                n = e.options,
                                r = e.sealedOptions;
                            for (var o in n) n[o] !== r[o] && (t || (t = {}), (t[o] = n[o]));
                            return t;
                        })(e);
                        r && N(e.extendOptions, r), (t = e.options = Me(n, e.extendOptions)).name && (t.components[t.name] = e);
                    }
                }
                return t;
            }
            function xn(e) {
                this._init(e);
            }
            function En(e) {
                return e && (e.Ctor.options.name || e.tag);
            }
            function kn(e, t) {
                return Array.isArray(e) ? e.indexOf(t) > -1 : "string" == typeof e ? e.split(",").indexOf(t) > -1 : ((n = e), "[object RegExp]" === c.call(n) && e.test(t));
                var n;
            }
            function An(e, t) {
                var n = e.cache,
                    r = e.keys,
                    o = e._vnode;
                for (var i in n) {
                    var s = n[i];
                    if (s) {
                        var a = s.name;
                        a && !t(a) && Sn(n, i, r, o);
                    }
                }
            }
            function Sn(e, t, n, r) {
                var o = e[t];
                !o || (r && o.tag === r.tag) || o.componentInstance.$destroy(), (e[t] = null), y(n, t);
            }
            !(function (e) {
                e.prototype._init = function (e) {
                    var t = this;
                    (t._uid = wn++),
                        (t._isVue = !0),
                        e && e._isComponent
                            ? (function (e, t) {
                                  var n = (e.$options = Object.create(e.constructor.options)),
                                      r = t._parentVnode;
                                  (n.parent = t.parent), (n._parentVnode = r);
                                  var o = r.componentOptions;
                                  (n.propsData = o.propsData), (n._parentListeners = o.listeners), (n._renderChildren = o.children), (n._componentTag = o.tag), t.render && ((n.render = t.render), (n.staticRenderFns = t.staticRenderFns));
                              })(t, e)
                            : (t.$options = Me(Cn(t.constructor), e || {}, t)),
                        (t._renderProxy = t),
                        (t._self = t),
                        (function (e) {
                            var t = e.$options,
                                n = t.parent;
                            if (n && !t.abstract) {
                                for (; n.$options.abstract && n.$parent; ) n = n.$parent;
                                n.$children.push(e);
                            }
                            (e.$parent = n),
                                (e.$root = n ? n.$root : e),
                                (e.$children = []),
                                (e.$refs = {}),
                                (e._watcher = null),
                                (e._inactive = null),
                                (e._directInactive = !1),
                                (e._isMounted = !1),
                                (e._isDestroyed = !1),
                                (e._isBeingDestroyed = !1);
                        })(t),
                        (function (e) {
                            (e._events = Object.create(null)), (e._hasHookEvent = !1);
                            var t = e.$options._parentListeners;
                            t && Yt(e, t);
                        })(t),
                        (function (e) {
                            (e._vnode = null), (e._staticTrees = null);
                            var t = e.$options,
                                n = (e.$vnode = t._parentVnode),
                                o = n && n.context;
                            (e.$slots = pt(t._renderChildren, o)),
                                (e.$scopedSlots = r),
                                (e._c = function (t, n, r, o) {
                                    return Ht(e, t, n, r, o, !1);
                                }),
                                (e.$createElement = function (t, n, r, o) {
                                    return Ht(e, t, n, r, o, !0);
                                });
                            var i = n && n.data;
                            Se(e, "$attrs", (i && i.attrs) || r, null, !0), Se(e, "$listeners", t._parentListeners || r, null, !0);
                        })(t),
                        en(t, "beforeCreate"),
                        (function (e) {
                            var t = ft(e.$options.inject, e);
                            t &&
                                (Ee(!1),
                                Object.keys(t).forEach(function (n) {
                                    Se(e, n, t[n]);
                                }),
                                Ee(!0));
                        })(t),
                        (function (e) {
                            e._watchers = [];
                            var t = e.$options;
                            t.props &&
                                (function (e, t) {
                                    var n = e.$options.propsData || {},
                                        r = (e._props = {}),
                                        o = (e.$options._propKeys = []);
                                    e.$parent && Ee(!1);
                                    var i = function (i) {
                                        o.push(i);
                                        var s = Be(i, t, n, e);
                                        Se(r, i, s), i in e || mn(e, "_props", i);
                                    };
                                    for (var s in t) i(s);
                                    Ee(!0);
                                })(e, t.props),
                                t.methods &&
                                    (function (e, t) {
                                        for (var n in (e.$options.props, t)) e[n] = "function" != typeof t[n] ? D : S(t[n], e);
                                    })(e, t.methods),
                                t.data
                                    ? (function (e) {
                                          var t = e.$options.data;
                                          u(
                                              (t = e._data =
                                                  "function" == typeof t
                                                      ? (function (e, t) {
                                                            pe();
                                                            try {
                                                                return e.call(t, t);
                                                            } catch (e) {
                                                                return qe(e, t, "data()"), {};
                                                            } finally {
                                                                he();
                                                            }
                                                        })(t, e)
                                                      : t || {})
                                          ) || (t = {});
                                          for (var n, r = Object.keys(t), o = e.$options.props, i = (e.$options.methods, r.length); i--; ) {
                                              var s = r[i];
                                              (o && _(o, s)) || (void 0, 36 !== (n = (s + "").charCodeAt(0)) && 95 !== n && mn(e, "_data", s));
                                          }
                                          Ae(t, !0);
                                      })(e)
                                    : Ae((e._data = {}), !0),
                                t.computed &&
                                    (function (e, t) {
                                        var n = (e._computedWatchers = Object.create(null)),
                                            r = oe();
                                        for (var o in t) {
                                            var i = t[o],
                                                s = "function" == typeof i ? i : i.get;
                                            r || (n[o] = new pn(e, s || D, D, gn)), o in e || vn(e, o, i);
                                        }
                                    })(e, t.computed),
                                t.watch &&
                                    t.watch !== te &&
                                    (function (e, t) {
                                        for (var n in t) {
                                            var r = t[n];
                                            if (Array.isArray(r)) for (var o = 0; o < r.length; o++) _n(e, n, r[o]);
                                            else _n(e, n, r);
                                        }
                                    })(e, t.watch);
                        })(t),
                        (function (e) {
                            var t = e.$options.provide;
                            t && (e._provided = "function" == typeof t ? t.call(e) : t);
                        })(t),
                        en(t, "created"),
                        t.$options.el && t.$mount(t.$options.el);
                };
            })(xn),
                (function (e) {
                    Object.defineProperty(e.prototype, "$data", {
                        get: function () {
                            return this._data;
                        },
                    }),
                        Object.defineProperty(e.prototype, "$props", {
                            get: function () {
                                return this._props;
                            },
                        }),
                        (e.prototype.$set = Te),
                        (e.prototype.$delete = Ne),
                        (e.prototype.$watch = function (e, t, n) {
                            if (u(t)) return _n(this, e, t, n);
                            (n = n || {}).user = !0;
                            var r = new pn(this, e, t, n);
                            if (n.immediate) {
                                var o = 'callback for immediate watcher "' + r.expression + '"';
                                pe(), ze(t, this, [r.value], this, o), he();
                            }
                            return function () {
                                r.teardown();
                            };
                        });
                })(xn),
                (function (e) {
                    var t = /^hook:/;
                    (e.prototype.$on = function (e, n) {
                        var r = this;
                        if (Array.isArray(e)) for (var o = 0, i = e.length; o < i; o++) r.$on(e[o], n);
                        else (r._events[e] || (r._events[e] = [])).push(n), t.test(e) && (r._hasHookEvent = !0);
                        return r;
                    }),
                        (e.prototype.$once = function (e, t) {
                            var n = this;
                            function r() {
                                n.$off(e, r), t.apply(n, arguments);
                            }
                            return (r.fn = t), n.$on(e, r), n;
                        }),
                        (e.prototype.$off = function (e, t) {
                            var n = this;
                            if (!arguments.length) return (n._events = Object.create(null)), n;
                            if (Array.isArray(e)) {
                                for (var r = 0, o = e.length; r < o; r++) n.$off(e[r], t);
                                return n;
                            }
                            var i,
                                s = n._events[e];
                            if (!s) return n;
                            if (!t) return (n._events[e] = null), n;
                            for (var a = s.length; a--; )
                                if ((i = s[a]) === t || i.fn === t) {
                                    s.splice(a, 1);
                                    break;
                                }
                            return n;
                        }),
                        (e.prototype.$emit = function (e) {
                            var t = this._events[e];
                            if (t) {
                                t = t.length > 1 ? T(t) : t;
                                for (var n = T(arguments, 1), r = 'event handler for "' + e + '"', o = 0, i = t.length; o < i; o++) ze(t[o], this, n, this, r);
                            }
                            return this;
                        });
                })(xn),
                (function (e) {
                    (e.prototype._update = function (e, t) {
                        var n = this,
                            r = n.$el,
                            o = n._vnode,
                            i = Jt(n);
                        (n._vnode = e),
                            (n.$el = o ? n.__patch__(o, e) : n.__patch__(n.$el, e, t, !1)),
                            i(),
                            r && (r.__vue__ = null),
                            n.$el && (n.$el.__vue__ = n),
                            n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el);
                    }),
                        (e.prototype.$forceUpdate = function () {
                            this._watcher && this._watcher.update();
                        }),
                        (e.prototype.$destroy = function () {
                            var e = this;
                            if (!e._isBeingDestroyed) {
                                en(e, "beforeDestroy"), (e._isBeingDestroyed = !0);
                                var t = e.$parent;
                                !t || t._isBeingDestroyed || e.$options.abstract || y(t.$children, e), e._watcher && e._watcher.teardown();
                                for (var n = e._watchers.length; n--; ) e._watchers[n].teardown();
                                e._data.__ob__ && e._data.__ob__.vmCount--, (e._isDestroyed = !0), e.__patch__(e._vnode, null), en(e, "destroyed"), e.$off(), e.$el && (e.$el.__vue__ = null), e.$vnode && (e.$vnode.parent = null);
                            }
                        });
                })(xn),
                (function (e) {
                    Lt(e.prototype),
                        (e.prototype.$nextTick = function (e) {
                            return nt(e, this);
                        }),
                        (e.prototype._render = function () {
                            var e,
                                t = this,
                                n = t.$options,
                                r = n.render,
                                o = n._parentVnode;
                            o && (t.$scopedSlots = gt(o.data.scopedSlots, t.$slots, t.$scopedSlots)), (t.$vnode = o);
                            try {
                                (qt = t), (e = r.call(t._renderProxy, t.$createElement));
                            } catch (n) {
                                qe(n, t, "render"), (e = t._vnode);
                            } finally {
                                qt = null;
                            }
                            return Array.isArray(e) && 1 === e.length && (e = e[0]), e instanceof me || (e = ve()), (e.parent = o), e;
                        });
                })(xn);
            var Tn = [String, RegExp, Array],
                Nn = {
                    KeepAlive: {
                        name: "keep-alive",
                        abstract: !0,
                        props: { include: Tn, exclude: Tn, max: [String, Number] },
                        methods: {
                            cacheVNode: function () {
                                var e = this.cache,
                                    t = this.keys,
                                    n = this.vnodeToCache,
                                    r = this.keyToCache;
                                if (n) {
                                    var o = n.tag,
                                        i = n.componentInstance,
                                        s = n.componentOptions;
                                    (e[r] = { name: En(s), tag: o, componentInstance: i }), t.push(r), this.max && t.length > parseInt(this.max) && Sn(e, t[0], t, this._vnode), (this.vnodeToCache = null);
                                }
                            },
                        },
                        created: function () {
                            (this.cache = Object.create(null)), (this.keys = []);
                        },
                        destroyed: function () {
                            for (var e in this.cache) Sn(this.cache, e, this.keys);
                        },
                        mounted: function () {
                            var e = this;
                            this.cacheVNode(),
                                this.$watch("include", function (t) {
                                    An(e, function (e) {
                                        return kn(t, e);
                                    });
                                }),
                                this.$watch("exclude", function (t) {
                                    An(e, function (e) {
                                        return !kn(t, e);
                                    });
                                });
                        },
                        updated: function () {
                            this.cacheVNode();
                        },
                        render: function () {
                            var e = this.$slots.default,
                                t = Wt(e),
                                n = t && t.componentOptions;
                            if (n) {
                                var r = En(n),
                                    o = this.include,
                                    i = this.exclude;
                                if ((o && (!r || !kn(o, r))) || (i && r && kn(i, r))) return t;
                                var s = this.cache,
                                    a = this.keys,
                                    l = null == t.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : t.key;
                                s[l] ? ((t.componentInstance = s[l].componentInstance), y(a, l), a.push(l)) : ((this.vnodeToCache = t), (this.keyToCache = l)), (t.data.keepAlive = !0);
                            }
                            return t || (e && e[0]);
                        },
                    },
                };
            !(function (e) {
                var t = {
                    get: function () {
                        return F;
                    },
                };
                Object.defineProperty(e, "config", t),
                    (e.util = { warn: ce, extend: N, mergeOptions: Me, defineReactive: Se }),
                    (e.set = Te),
                    (e.delete = Ne),
                    (e.nextTick = nt),
                    (e.observable = function (e) {
                        return Ae(e), e;
                    }),
                    (e.options = Object.create(null)),
                    B.forEach(function (t) {
                        e.options[t + "s"] = Object.create(null);
                    }),
                    (e.options._base = e),
                    N(e.options.components, Nn),
                    (function (e) {
                        e.use = function (e) {
                            var t = this._installedPlugins || (this._installedPlugins = []);
                            if (t.indexOf(e) > -1) return this;
                            var n = T(arguments, 1);
                            return n.unshift(this), "function" == typeof e.install ? e.install.apply(e, n) : "function" == typeof e && e.apply(null, n), t.push(e), this;
                        };
                    })(e),
                    (function (e) {
                        e.mixin = function (e) {
                            return (this.options = Me(this.options, e)), this;
                        };
                    })(e),
                    (function (e) {
                        e.cid = 0;
                        var t = 1;
                        e.extend = function (e) {
                            e = e || {};
                            var n = this,
                                r = n.cid,
                                o = e._Ctor || (e._Ctor = {});
                            if (o[r]) return o[r];
                            var i = e.name || n.options.name,
                                s = function (e) {
                                    this._init(e);
                                };
                            return (
                                ((s.prototype = Object.create(n.prototype)).constructor = s),
                                (s.cid = t++),
                                (s.options = Me(n.options, e)),
                                (s.super = n),
                                s.options.props &&
                                    (function (e) {
                                        var t = e.options.props;
                                        for (var n in t) mn(e.prototype, "_props", n);
                                    })(s),
                                s.options.computed &&
                                    (function (e) {
                                        var t = e.options.computed;
                                        for (var n in t) vn(e.prototype, n, t[n]);
                                    })(s),
                                (s.extend = n.extend),
                                (s.mixin = n.mixin),
                                (s.use = n.use),
                                B.forEach(function (e) {
                                    s[e] = n[e];
                                }),
                                i && (s.options.components[i] = s),
                                (s.superOptions = n.options),
                                (s.extendOptions = e),
                                (s.sealedOptions = N({}, s.options)),
                                (o[r] = s),
                                s
                            );
                        };
                    })(e),
                    (function (e) {
                        B.forEach(function (t) {
                            e[t] = function (e, n) {
                                return n
                                    ? ("component" === t && u(n) && ((n.name = n.name || e), (n = this.options._base.extend(n))),
                                      "directive" === t && "function" == typeof n && (n = { bind: n, update: n }),
                                      (this.options[t + "s"][e] = n),
                                      n)
                                    : this.options[t + "s"][e];
                            };
                        });
                    })(e);
            })(xn),
                Object.defineProperty(xn.prototype, "$isServer", { get: oe }),
                Object.defineProperty(xn.prototype, "$ssrContext", {
                    get: function () {
                        return this.$vnode && this.$vnode.ssrContext;
                    },
                }),
                Object.defineProperty(xn, "FunctionalRenderContext", { value: Pt }),
                (xn.version = "2.6.14");
            var On = m("style,class"),
                Dn = m("input,textarea,option,select,progress"),
                Rn = function (e, t, n) {
                    return ("value" === n && Dn(e) && "button" !== t) || ("selected" === n && "option" === e) || ("checked" === n && "input" === e) || ("muted" === n && "video" === e);
                },
                Ln = m("contenteditable,draggable,spellcheck"),
                Pn = m("events,caret,typing,plaintext-only"),
                $n = m(
                    "allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"
                ),
                Mn = "http://www.w3.org/1999/xlink",
                In = function (e) {
                    return ":" === e.charAt(5) && "xlink" === e.slice(0, 5);
                },
                Bn = function (e) {
                    return In(e) ? e.slice(6, e.length) : "";
                },
                jn = function (e) {
                    return null == e || !1 === e;
                };
            function Fn(e, t) {
                return { staticClass: Hn(e.staticClass, t.staticClass), class: i(e.class) ? [e.class, t.class] : t.class };
            }
            function Hn(e, t) {
                return e ? (t ? e + " " + t : e) : t || "";
            }
            function Un(e) {
                return Array.isArray(e)
                    ? (function (e) {
                          for (var t, n = "", r = 0, o = e.length; r < o; r++) i((t = Un(e[r]))) && "" !== t && (n && (n += " "), (n += t));
                          return n;
                      })(e)
                    : l(e)
                    ? (function (e) {
                          var t = "";
                          for (var n in e) e[n] && (t && (t += " "), (t += n));
                          return t;
                      })(e)
                    : "string" == typeof e
                    ? e
                    : "";
            }
            var qn = { svg: "http://www.w3.org/2000/svg", math: "http://www.w3.org/1998/Math/MathML" },
                zn = m(
                    "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"
                ),
                Wn = m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0),
                Vn = function (e) {
                    return zn(e) || Wn(e);
                };
            function Kn(e) {
                return Wn(e) ? "svg" : "math" === e ? "math" : void 0;
            }
            var Gn = Object.create(null),
                Yn = m("text,number,password,search,email,tel,url");
            function Xn(e) {
                return "string" == typeof e ? document.querySelector(e) || document.createElement("div") : e;
            }
            var Jn = Object.freeze({
                    createElement: function (e, t) {
                        var n = document.createElement(e);
                        return "select" !== e || (t.data && t.data.attrs && void 0 !== t.data.attrs.multiple && n.setAttribute("multiple", "multiple")), n;
                    },
                    createElementNS: function (e, t) {
                        return document.createElementNS(qn[e], t);
                    },
                    createTextNode: function (e) {
                        return document.createTextNode(e);
                    },
                    createComment: function (e) {
                        return document.createComment(e);
                    },
                    insertBefore: function (e, t, n) {
                        e.insertBefore(t, n);
                    },
                    removeChild: function (e, t) {
                        e.removeChild(t);
                    },
                    appendChild: function (e, t) {
                        e.appendChild(t);
                    },
                    parentNode: function (e) {
                        return e.parentNode;
                    },
                    nextSibling: function (e) {
                        return e.nextSibling;
                    },
                    tagName: function (e) {
                        return e.tagName;
                    },
                    setTextContent: function (e, t) {
                        e.textContent = t;
                    },
                    setStyleScope: function (e, t) {
                        e.setAttribute(t, "");
                    },
                }),
                Qn = {
                    create: function (e, t) {
                        Zn(t);
                    },
                    update: function (e, t) {
                        e.data.ref !== t.data.ref && (Zn(e, !0), Zn(t));
                    },
                    destroy: function (e) {
                        Zn(e, !0);
                    },
                };
            function Zn(e, t) {
                var n = e.data.ref;
                if (i(n)) {
                    var r = e.context,
                        o = e.componentInstance || e.elm,
                        s = r.$refs;
                    t ? (Array.isArray(s[n]) ? y(s[n], o) : s[n] === o && (s[n] = void 0)) : e.data.refInFor ? (Array.isArray(s[n]) ? s[n].indexOf(o) < 0 && s[n].push(o) : (s[n] = [o])) : (s[n] = o);
                }
            }
            var er = new me("", {}, []),
                tr = ["create", "activate", "update", "remove", "destroy"];
            function nr(e, t) {
                return (
                    e.key === t.key &&
                    e.asyncFactory === t.asyncFactory &&
                    ((e.tag === t.tag &&
                        e.isComment === t.isComment &&
                        i(e.data) === i(t.data) &&
                        (function (e, t) {
                            if ("input" !== e.tag) return !0;
                            var n,
                                r = i((n = e.data)) && i((n = n.attrs)) && n.type,
                                o = i((n = t.data)) && i((n = n.attrs)) && n.type;
                            return r === o || (Yn(r) && Yn(o));
                        })(e, t)) ||
                        (s(e.isAsyncPlaceholder) && o(t.asyncFactory.error)))
                );
            }
            function rr(e, t, n) {
                var r,
                    o,
                    s = {};
                for (r = t; r <= n; ++r) i((o = e[r].key)) && (s[o] = r);
                return s;
            }
            var or = {
                create: ir,
                update: ir,
                destroy: function (e) {
                    ir(e, er);
                },
            };
            function ir(e, t) {
                (e.data.directives || t.data.directives) &&
                    (function (e, t) {
                        var n,
                            r,
                            o,
                            i = e === er,
                            s = t === er,
                            a = ar(e.data.directives, e.context),
                            l = ar(t.data.directives, t.context),
                            c = [],
                            u = [];
                        for (n in l)
                            (r = a[n]), (o = l[n]), r ? ((o.oldValue = r.value), (o.oldArg = r.arg), cr(o, "update", t, e), o.def && o.def.componentUpdated && u.push(o)) : (cr(o, "bind", t, e), o.def && o.def.inserted && c.push(o));
                        if (c.length) {
                            var d = function () {
                                for (var n = 0; n < c.length; n++) cr(c[n], "inserted", t, e);
                            };
                            i ? lt(t, "insert", d) : d();
                        }
                        if (
                            (u.length &&
                                lt(t, "postpatch", function () {
                                    for (var n = 0; n < u.length; n++) cr(u[n], "componentUpdated", t, e);
                                }),
                            !i)
                        )
                            for (n in a) l[n] || cr(a[n], "unbind", e, e, s);
                    })(e, t);
            }
            var sr = Object.create(null);
            function ar(e, t) {
                var n,
                    r,
                    o = Object.create(null);
                if (!e) return o;
                for (n = 0; n < e.length; n++) (r = e[n]).modifiers || (r.modifiers = sr), (o[lr(r)] = r), (r.def = Ie(t.$options, "directives", r.name));
                return o;
            }
            function lr(e) {
                return e.rawName || e.name + "." + Object.keys(e.modifiers || {}).join(".");
            }
            function cr(e, t, n, r, o) {
                var i = e.def && e.def[t];
                if (i)
                    try {
                        i(n.elm, e, n, r, o);
                    } catch (r) {
                        qe(r, n.context, "directive " + e.name + " " + t + " hook");
                    }
            }
            var ur = [Qn, or];
            function dr(e, t) {
                var n = t.componentOptions;
                if (!((i(n) && !1 === n.Ctor.options.inheritAttrs) || (o(e.data.attrs) && o(t.data.attrs)))) {
                    var r,
                        s,
                        a = t.elm,
                        l = e.data.attrs || {},
                        c = t.data.attrs || {};
                    for (r in (i(c.__ob__) && (c = t.data.attrs = N({}, c)), c)) (s = c[r]), l[r] !== s && fr(a, r, s, t.data.pre);
                    for (r in ((X || Q) && c.value !== l.value && fr(a, "value", c.value), l)) o(c[r]) && (In(r) ? a.removeAttributeNS(Mn, Bn(r)) : Ln(r) || a.removeAttribute(r));
                }
            }
            function fr(e, t, n, r) {
                r || e.tagName.indexOf("-") > -1
                    ? pr(e, t, n)
                    : $n(t)
                    ? jn(n)
                        ? e.removeAttribute(t)
                        : ((n = "allowfullscreen" === t && "EMBED" === e.tagName ? "true" : t), e.setAttribute(t, n))
                    : Ln(t)
                    ? e.setAttribute(
                          t,
                          (function (e, t) {
                              return jn(t) || "false" === t ? "false" : "contenteditable" === e && Pn(t) ? t : "true";
                          })(t, n)
                      )
                    : In(t)
                    ? jn(n)
                        ? e.removeAttributeNS(Mn, Bn(t))
                        : e.setAttributeNS(Mn, t, n)
                    : pr(e, t, n);
            }
            function pr(e, t, n) {
                if (jn(n)) e.removeAttribute(t);
                else {
                    if (X && !J && "TEXTAREA" === e.tagName && "placeholder" === t && "" !== n && !e.__ieph) {
                        var r = function (t) {
                            t.stopImmediatePropagation(), e.removeEventListener("input", r);
                        };
                        e.addEventListener("input", r), (e.__ieph = !0);
                    }
                    e.setAttribute(t, n);
                }
            }
            var hr = { create: dr, update: dr };
            function mr(e, t) {
                var n = t.elm,
                    r = t.data,
                    s = e.data;
                if (!(o(r.staticClass) && o(r.class) && (o(s) || (o(s.staticClass) && o(s.class))))) {
                    var a = (function (e) {
                            for (var t = e.data, n = e, r = e; i(r.componentInstance); ) (r = r.componentInstance._vnode) && r.data && (t = Fn(r.data, t));
                            for (; i((n = n.parent)); ) n && n.data && (t = Fn(t, n.data));
                            return (function (e, t) {
                                return i(e) || i(t) ? Hn(e, Un(t)) : "";
                            })(t.staticClass, t.class);
                        })(t),
                        l = n._transitionClasses;
                    i(l) && (a = Hn(a, Un(l))), a !== n._prevClass && (n.setAttribute("class", a), (n._prevClass = a));
                }
            }
            var gr,
                vr,
                yr,
                br,
                _r,
                wr,
                Cr = { create: mr, update: mr },
                xr = /[\w).+\-_$\]]/;
            function Er(e) {
                var t,
                    n,
                    r,
                    o,
                    i,
                    s = !1,
                    a = !1,
                    l = !1,
                    c = !1,
                    u = 0,
                    d = 0,
                    f = 0,
                    p = 0;
                for (r = 0; r < e.length; r++)
                    if (((n = t), (t = e.charCodeAt(r)), s)) 39 === t && 92 !== n && (s = !1);
                    else if (a) 34 === t && 92 !== n && (a = !1);
                    else if (l) 96 === t && 92 !== n && (l = !1);
                    else if (c) 47 === t && 92 !== n && (c = !1);
                    else if (124 !== t || 124 === e.charCodeAt(r + 1) || 124 === e.charCodeAt(r - 1) || u || d || f) {
                        switch (t) {
                            case 34:
                                a = !0;
                                break;
                            case 39:
                                s = !0;
                                break;
                            case 96:
                                l = !0;
                                break;
                            case 40:
                                f++;
                                break;
                            case 41:
                                f--;
                                break;
                            case 91:
                                d++;
                                break;
                            case 93:
                                d--;
                                break;
                            case 123:
                                u++;
                                break;
                            case 125:
                                u--;
                        }
                        if (47 === t) {
                            for (var h = r - 1, m = void 0; h >= 0 && " " === (m = e.charAt(h)); h--);
                            (m && xr.test(m)) || (c = !0);
                        }
                    } else void 0 === o ? ((p = r + 1), (o = e.slice(0, r).trim())) : g();
                function g() {
                    (i || (i = [])).push(e.slice(p, r).trim()), (p = r + 1);
                }
                if ((void 0 === o ? (o = e.slice(0, r).trim()) : 0 !== p && g(), i)) for (r = 0; r < i.length; r++) o = kr(o, i[r]);
                return o;
            }
            function kr(e, t) {
                var n = t.indexOf("(");
                if (n < 0) return '_f("' + t + '")(' + e + ")";
                var r = t.slice(0, n),
                    o = t.slice(n + 1);
                return '_f("' + r + '")(' + e + (")" !== o ? "," + o : o);
            }
            function Ar(e, t) {
                console.error("[Vue compiler]: " + e);
            }
            function Sr(e, t) {
                return e
                    ? e
                          .map(function (e) {
                              return e[t];
                          })
                          .filter(function (e) {
                              return e;
                          })
                    : [];
            }
            function Tr(e, t, n, r, o) {
                (e.props || (e.props = [])).push(Ir({ name: t, value: n, dynamic: o }, r)), (e.plain = !1);
            }
            function Nr(e, t, n, r, o) {
                (o ? e.dynamicAttrs || (e.dynamicAttrs = []) : e.attrs || (e.attrs = [])).push(Ir({ name: t, value: n, dynamic: o }, r)), (e.plain = !1);
            }
            function Or(e, t, n, r) {
                (e.attrsMap[t] = n), e.attrsList.push(Ir({ name: t, value: n }, r));
            }
            function Dr(e, t, n, r, o, i, s, a) {
                (e.directives || (e.directives = [])).push(Ir({ name: t, rawName: n, value: r, arg: o, isDynamicArg: i, modifiers: s }, a)), (e.plain = !1);
            }
            function Rr(e, t, n) {
                return n ? "_p(" + t + ',"' + e + '")' : e + t;
            }
            function Lr(e, t, n, o, i, s, a, l) {
                var c;
                (o = o || r).right
                    ? l
                        ? (t = "(" + t + ")==='click'?'contextmenu':(" + t + ")")
                        : "click" === t && ((t = "contextmenu"), delete o.right)
                    : o.middle && (l ? (t = "(" + t + ")==='click'?'mouseup':(" + t + ")") : "click" === t && (t = "mouseup")),
                    o.capture && (delete o.capture, (t = Rr("!", t, l))),
                    o.once && (delete o.once, (t = Rr("~", t, l))),
                    o.passive && (delete o.passive, (t = Rr("&", t, l))),
                    o.native ? (delete o.native, (c = e.nativeEvents || (e.nativeEvents = {}))) : (c = e.events || (e.events = {}));
                var u = Ir({ value: n.trim(), dynamic: l }, a);
                o !== r && (u.modifiers = o);
                var d = c[t];
                Array.isArray(d) ? (i ? d.unshift(u) : d.push(u)) : (c[t] = d ? (i ? [u, d] : [d, u]) : u), (e.plain = !1);
            }
            function Pr(e, t, n) {
                var r = $r(e, ":" + t) || $r(e, "v-bind:" + t);
                if (null != r) return Er(r);
                if (!1 !== n) {
                    var o = $r(e, t);
                    if (null != o) return JSON.stringify(o);
                }
            }
            function $r(e, t, n) {
                var r;
                if (null != (r = e.attrsMap[t]))
                    for (var o = e.attrsList, i = 0, s = o.length; i < s; i++)
                        if (o[i].name === t) {
                            o.splice(i, 1);
                            break;
                        }
                return n && delete e.attrsMap[t], r;
            }
            function Mr(e, t) {
                for (var n = e.attrsList, r = 0, o = n.length; r < o; r++) {
                    var i = n[r];
                    if (t.test(i.name)) return n.splice(r, 1), i;
                }
            }
            function Ir(e, t) {
                return t && (null != t.start && (e.start = t.start), null != t.end && (e.end = t.end)), e;
            }
            function Br(e, t, n) {
                var r = n || {},
                    o = r.number,
                    i = "$$v";
                r.trim && (i = "(typeof $$v === 'string'? $$v.trim(): $$v)"), o && (i = "_n(" + i + ")");
                var s = jr(t, i);
                e.model = { value: "(" + t + ")", expression: JSON.stringify(t), callback: "function ($$v) {" + s + "}" };
            }
            function jr(e, t) {
                var n = (function (e) {
                    if (((e = e.trim()), (gr = e.length), e.indexOf("[") < 0 || e.lastIndexOf("]") < gr - 1)) return (br = e.lastIndexOf(".")) > -1 ? { exp: e.slice(0, br), key: '"' + e.slice(br + 1) + '"' } : { exp: e, key: null };
                    for (vr = e, br = _r = wr = 0; !Hr(); ) Ur((yr = Fr())) ? zr(yr) : 91 === yr && qr(yr);
                    return { exp: e.slice(0, _r), key: e.slice(_r + 1, wr) };
                })(e);
                return null === n.key ? e + "=" + t : "$set(" + n.exp + ", " + n.key + ", " + t + ")";
            }
            function Fr() {
                return vr.charCodeAt(++br);
            }
            function Hr() {
                return br >= gr;
            }
            function Ur(e) {
                return 34 === e || 39 === e;
            }
            function qr(e) {
                var t = 1;
                for (_r = br; !Hr(); )
                    if (Ur((e = Fr()))) zr(e);
                    else if ((91 === e && t++, 93 === e && t--, 0 === t)) {
                        wr = br;
                        break;
                    }
            }
            function zr(e) {
                for (var t = e; !Hr() && (e = Fr()) !== t; );
            }
            var Wr,
                Vr = "__r";
            function Kr(e, t, n) {
                var r = Wr;
                return function o() {
                    null !== t.apply(null, arguments) && Xr(e, o, n, r);
                };
            }
            var Gr = Ge && !(ee && Number(ee[1]) <= 53);
            function Yr(e, t, n, r) {
                if (Gr) {
                    var o = ln,
                        i = t;
                    t = i._wrapper = function (e) {
                        if (e.target === e.currentTarget || e.timeStamp >= o || e.timeStamp <= 0 || e.target.ownerDocument !== document) return i.apply(this, arguments);
                    };
                }
                Wr.addEventListener(e, t, ne ? { capture: n, passive: r } : n);
            }
            function Xr(e, t, n, r) {
                (r || Wr).removeEventListener(e, t._wrapper || t, n);
            }
            function Jr(e, t) {
                if (!o(e.data.on) || !o(t.data.on)) {
                    var n = t.data.on || {},
                        r = e.data.on || {};
                    (Wr = t.elm),
                        (function (e) {
                            if (i(e.__r)) {
                                var t = X ? "change" : "input";
                                (e[t] = [].concat(e.__r, e[t] || [])), delete e.__r;
                            }
                            i(e.__c) && ((e.change = [].concat(e.__c, e.change || [])), delete e.__c);
                        })(n),
                        at(n, r, Yr, Xr, Kr, t.context),
                        (Wr = void 0);
                }
            }
            var Qr,
                Zr = { create: Jr, update: Jr };
            function eo(e, t) {
                if (!o(e.data.domProps) || !o(t.data.domProps)) {
                    var n,
                        r,
                        s = t.elm,
                        a = e.data.domProps || {},
                        l = t.data.domProps || {};
                    for (n in (i(l.__ob__) && (l = t.data.domProps = N({}, l)), a)) n in l || (s[n] = "");
                    for (n in l) {
                        if (((r = l[n]), "textContent" === n || "innerHTML" === n)) {
                            if ((t.children && (t.children.length = 0), r === a[n])) continue;
                            1 === s.childNodes.length && s.removeChild(s.childNodes[0]);
                        }
                        if ("value" === n && "PROGRESS" !== s.tagName) {
                            s._value = r;
                            var c = o(r) ? "" : String(r);
                            to(s, c) && (s.value = c);
                        } else if ("innerHTML" === n && Wn(s.tagName) && o(s.innerHTML)) {
                            (Qr = Qr || document.createElement("div")).innerHTML = "<svg>" + r + "</svg>";
                            for (var u = Qr.firstChild; s.firstChild; ) s.removeChild(s.firstChild);
                            for (; u.firstChild; ) s.appendChild(u.firstChild);
                        } else if (r !== a[n])
                            try {
                                s[n] = r;
                            } catch (e) {}
                    }
                }
            }
            function to(e, t) {
                return (
                    !e.composing &&
                    ("OPTION" === e.tagName ||
                        (function (e, t) {
                            var n = !0;
                            try {
                                n = document.activeElement !== e;
                            } catch (e) {}
                            return n && e.value !== t;
                        })(e, t) ||
                        (function (e, t) {
                            var n = e.value,
                                r = e._vModifiers;
                            if (i(r)) {
                                if (r.number) return h(n) !== h(t);
                                if (r.trim) return n.trim() !== t.trim();
                            }
                            return n !== t;
                        })(e, t))
                );
            }
            var no = { create: eo, update: eo },
                ro = w(function (e) {
                    var t = {},
                        n = /:(.+)/;
                    return (
                        e.split(/;(?![^(]*\))/g).forEach(function (e) {
                            if (e) {
                                var r = e.split(n);
                                r.length > 1 && (t[r[0].trim()] = r[1].trim());
                            }
                        }),
                        t
                    );
                });
            function oo(e) {
                var t = io(e.style);
                return e.staticStyle ? N(e.staticStyle, t) : t;
            }
            function io(e) {
                return Array.isArray(e) ? O(e) : "string" == typeof e ? ro(e) : e;
            }
            var so,
                ao = /^--/,
                lo = /\s*!important$/,
                co = function (e, t, n) {
                    if (ao.test(t)) e.style.setProperty(t, n);
                    else if (lo.test(n)) e.style.setProperty(A(t), n.replace(lo, ""), "important");
                    else {
                        var r = fo(t);
                        if (Array.isArray(n)) for (var o = 0, i = n.length; o < i; o++) e.style[r] = n[o];
                        else e.style[r] = n;
                    }
                },
                uo = ["Webkit", "Moz", "ms"],
                fo = w(function (e) {
                    if (((so = so || document.createElement("div").style), "filter" !== (e = x(e)) && e in so)) return e;
                    for (var t = e.charAt(0).toUpperCase() + e.slice(1), n = 0; n < uo.length; n++) {
                        var r = uo[n] + t;
                        if (r in so) return r;
                    }
                });
            function po(e, t) {
                var n = t.data,
                    r = e.data;
                if (!(o(n.staticStyle) && o(n.style) && o(r.staticStyle) && o(r.style))) {
                    var s,
                        a,
                        l = t.elm,
                        c = r.staticStyle,
                        u = r.normalizedStyle || r.style || {},
                        d = c || u,
                        f = io(t.data.style) || {};
                    t.data.normalizedStyle = i(f.__ob__) ? N({}, f) : f;
                    var p = (function (e, t) {
                        for (var n, r = {}, o = e; o.componentInstance; ) (o = o.componentInstance._vnode) && o.data && (n = oo(o.data)) && N(r, n);
                        (n = oo(e.data)) && N(r, n);
                        for (var i = e; (i = i.parent); ) i.data && (n = oo(i.data)) && N(r, n);
                        return r;
                    })(t);
                    for (a in d) o(p[a]) && co(l, a, "");
                    for (a in p) (s = p[a]) !== d[a] && co(l, a, null == s ? "" : s);
                }
            }
            var ho = { create: po, update: po },
                mo = /\s+/;
            function go(e, t) {
                if (t && (t = t.trim()))
                    if (e.classList)
                        t.indexOf(" ") > -1
                            ? t.split(mo).forEach(function (t) {
                                  return e.classList.add(t);
                              })
                            : e.classList.add(t);
                    else {
                        var n = " " + (e.getAttribute("class") || "") + " ";
                        n.indexOf(" " + t + " ") < 0 && e.setAttribute("class", (n + t).trim());
                    }
            }
            function vo(e, t) {
                if (t && (t = t.trim()))
                    if (e.classList)
                        t.indexOf(" ") > -1
                            ? t.split(mo).forEach(function (t) {
                                  return e.classList.remove(t);
                              })
                            : e.classList.remove(t),
                            e.classList.length || e.removeAttribute("class");
                    else {
                        for (var n = " " + (e.getAttribute("class") || "") + " ", r = " " + t + " "; n.indexOf(r) >= 0; ) n = n.replace(r, " ");
                        (n = n.trim()) ? e.setAttribute("class", n) : e.removeAttribute("class");
                    }
            }
            function yo(e) {
                if (e) {
                    if ("object" == typeof e) {
                        var t = {};
                        return !1 !== e.css && N(t, bo(e.name || "v")), N(t, e), t;
                    }
                    return "string" == typeof e ? bo(e) : void 0;
                }
            }
            var bo = w(function (e) {
                    return { enterClass: e + "-enter", enterToClass: e + "-enter-to", enterActiveClass: e + "-enter-active", leaveClass: e + "-leave", leaveToClass: e + "-leave-to", leaveActiveClass: e + "-leave-active" };
                }),
                _o = V && !J,
                wo = "transition",
                Co = "animation",
                xo = "transition",
                Eo = "transitionend",
                ko = "animation",
                Ao = "animationend";
            _o &&
                (void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && ((xo = "WebkitTransition"), (Eo = "webkitTransitionEnd")),
                void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && ((ko = "WebkitAnimation"), (Ao = "webkitAnimationEnd")));
            var So = V
                ? window.requestAnimationFrame
                    ? window.requestAnimationFrame.bind(window)
                    : setTimeout
                : function (e) {
                      return e();
                  };
            function To(e) {
                So(function () {
                    So(e);
                });
            }
            function No(e, t) {
                var n = e._transitionClasses || (e._transitionClasses = []);
                n.indexOf(t) < 0 && (n.push(t), go(e, t));
            }
            function Oo(e, t) {
                e._transitionClasses && y(e._transitionClasses, t), vo(e, t);
            }
            function Do(e, t, n) {
                var r = Lo(e, t),
                    o = r.type,
                    i = r.timeout,
                    s = r.propCount;
                if (!o) return n();
                var a = o === wo ? Eo : Ao,
                    l = 0,
                    c = function () {
                        e.removeEventListener(a, u), n();
                    },
                    u = function (t) {
                        t.target === e && ++l >= s && c();
                    };
                setTimeout(function () {
                    l < s && c();
                }, i + 1),
                    e.addEventListener(a, u);
            }
            var Ro = /\b(transform|all)(,|$)/;
            function Lo(e, t) {
                var n,
                    r = window.getComputedStyle(e),
                    o = (r[xo + "Delay"] || "").split(", "),
                    i = (r[xo + "Duration"] || "").split(", "),
                    s = Po(o, i),
                    a = (r[ko + "Delay"] || "").split(", "),
                    l = (r[ko + "Duration"] || "").split(", "),
                    c = Po(a, l),
                    u = 0,
                    d = 0;
                return (
                    t === wo ? s > 0 && ((n = wo), (u = s), (d = i.length)) : t === Co ? c > 0 && ((n = Co), (u = c), (d = l.length)) : (d = (n = (u = Math.max(s, c)) > 0 ? (s > c ? wo : Co) : null) ? (n === wo ? i.length : l.length) : 0),
                    { type: n, timeout: u, propCount: d, hasTransform: n === wo && Ro.test(r[xo + "Property"]) }
                );
            }
            function Po(e, t) {
                for (; e.length < t.length; ) e = e.concat(e);
                return Math.max.apply(
                    null,
                    t.map(function (t, n) {
                        return $o(t) + $o(e[n]);
                    })
                );
            }
            function $o(e) {
                return 1e3 * Number(e.slice(0, -1).replace(",", "."));
            }
            function Mo(e, t) {
                var n = e.elm;
                i(n._leaveCb) && ((n._leaveCb.cancelled = !0), n._leaveCb());
                var r = yo(e.data.transition);
                if (!o(r) && !i(n._enterCb) && 1 === n.nodeType) {
                    for (
                        var s = r.css,
                            a = r.type,
                            c = r.enterClass,
                            u = r.enterToClass,
                            d = r.enterActiveClass,
                            f = r.appearClass,
                            p = r.appearToClass,
                            m = r.appearActiveClass,
                            g = r.beforeEnter,
                            v = r.enter,
                            y = r.afterEnter,
                            b = r.enterCancelled,
                            _ = r.beforeAppear,
                            w = r.appear,
                            C = r.afterAppear,
                            x = r.appearCancelled,
                            E = r.duration,
                            k = Xt,
                            A = Xt.$vnode;
                        A && A.parent;

                    )
                        (k = A.context), (A = A.parent);
                    var S = !k._isMounted || !e.isRootInsert;
                    if (!S || w || "" === w) {
                        var T = S && f ? f : c,
                            N = S && m ? m : d,
                            O = S && p ? p : u,
                            D = (S && _) || g,
                            R = S && "function" == typeof w ? w : v,
                            L = (S && C) || y,
                            P = (S && x) || b,
                            $ = h(l(E) ? E.enter : E),
                            I = !1 !== s && !J,
                            B = jo(R),
                            j = (n._enterCb = M(function () {
                                I && (Oo(n, O), Oo(n, N)), j.cancelled ? (I && Oo(n, T), P && P(n)) : L && L(n), (n._enterCb = null);
                            }));
                        e.data.show ||
                            lt(e, "insert", function () {
                                var t = n.parentNode,
                                    r = t && t._pending && t._pending[e.key];
                                r && r.tag === e.tag && r.elm._leaveCb && r.elm._leaveCb(), R && R(n, j);
                            }),
                            D && D(n),
                            I &&
                                (No(n, T),
                                No(n, N),
                                To(function () {
                                    Oo(n, T), j.cancelled || (No(n, O), B || (Bo($) ? setTimeout(j, $) : Do(n, a, j)));
                                })),
                            e.data.show && (t && t(), R && R(n, j)),
                            I || B || j();
                    }
                }
            }
            function Io(e, t) {
                var n = e.elm;
                i(n._enterCb) && ((n._enterCb.cancelled = !0), n._enterCb());
                var r = yo(e.data.transition);
                if (o(r) || 1 !== n.nodeType) return t();
                if (!i(n._leaveCb)) {
                    var s = r.css,
                        a = r.type,
                        c = r.leaveClass,
                        u = r.leaveToClass,
                        d = r.leaveActiveClass,
                        f = r.beforeLeave,
                        p = r.leave,
                        m = r.afterLeave,
                        g = r.leaveCancelled,
                        v = r.delayLeave,
                        y = r.duration,
                        b = !1 !== s && !J,
                        _ = jo(p),
                        w = h(l(y) ? y.leave : y),
                        C = (n._leaveCb = M(function () {
                            n.parentNode && n.parentNode._pending && (n.parentNode._pending[e.key] = null), b && (Oo(n, u), Oo(n, d)), C.cancelled ? (b && Oo(n, c), g && g(n)) : (t(), m && m(n)), (n._leaveCb = null);
                        }));
                    v ? v(x) : x();
                }
                function x() {
                    C.cancelled ||
                        (!e.data.show && n.parentNode && ((n.parentNode._pending || (n.parentNode._pending = {}))[e.key] = e),
                        f && f(n),
                        b &&
                            (No(n, c),
                            No(n, d),
                            To(function () {
                                Oo(n, c), C.cancelled || (No(n, u), _ || (Bo(w) ? setTimeout(C, w) : Do(n, a, C)));
                            })),
                        p && p(n, C),
                        b || _ || C());
                }
            }
            function Bo(e) {
                return "number" == typeof e && !isNaN(e);
            }
            function jo(e) {
                if (o(e)) return !1;
                var t = e.fns;
                return i(t) ? jo(Array.isArray(t) ? t[0] : t) : (e._length || e.length) > 1;
            }
            function Fo(e, t) {
                !0 !== t.data.show && Mo(t);
            }
            var Ho = (function (e) {
                var t,
                    n,
                    r = {},
                    l = e.modules,
                    c = e.nodeOps;
                for (t = 0; t < tr.length; ++t) for (r[tr[t]] = [], n = 0; n < l.length; ++n) i(l[n][tr[t]]) && r[tr[t]].push(l[n][tr[t]]);
                function u(e) {
                    var t = c.parentNode(e);
                    i(t) && c.removeChild(t, e);
                }
                function d(e, t, n, o, a, l, u) {
                    if (
                        (i(e.elm) && i(l) && (e = l[u] = be(e)),
                        (e.isRootInsert = !a),
                        !(function (e, t, n, o) {
                            var a = e.data;
                            if (i(a)) {
                                var l = i(e.componentInstance) && a.keepAlive;
                                if ((i((a = a.hook)) && i((a = a.init)) && a(e, !1), i(e.componentInstance)))
                                    return (
                                        f(e, t),
                                        p(n, e.elm, o),
                                        s(l) &&
                                            (function (e, t, n, o) {
                                                for (var s, a = e; a.componentInstance; )
                                                    if (i((s = (a = a.componentInstance._vnode).data)) && i((s = s.transition))) {
                                                        for (s = 0; s < r.activate.length; ++s) r.activate[s](er, a);
                                                        t.push(a);
                                                        break;
                                                    }
                                                p(n, e.elm, o);
                                            })(e, t, n, o),
                                        !0
                                    );
                            }
                        })(e, t, n, o))
                    ) {
                        var d = e.data,
                            m = e.children,
                            g = e.tag;
                        i(g)
                            ? ((e.elm = e.ns ? c.createElementNS(e.ns, g) : c.createElement(g, e)), y(e), h(e, m, t), i(d) && v(e, t), p(n, e.elm, o))
                            : s(e.isComment)
                            ? ((e.elm = c.createComment(e.text)), p(n, e.elm, o))
                            : ((e.elm = c.createTextNode(e.text)), p(n, e.elm, o));
                    }
                }
                function f(e, t) {
                    i(e.data.pendingInsert) && (t.push.apply(t, e.data.pendingInsert), (e.data.pendingInsert = null)), (e.elm = e.componentInstance.$el), g(e) ? (v(e, t), y(e)) : (Zn(e), t.push(e));
                }
                function p(e, t, n) {
                    i(e) && (i(n) ? c.parentNode(n) === e && c.insertBefore(e, t, n) : c.appendChild(e, t));
                }
                function h(e, t, n) {
                    if (Array.isArray(t)) for (var r = 0; r < t.length; ++r) d(t[r], n, e.elm, null, !0, t, r);
                    else a(e.text) && c.appendChild(e.elm, c.createTextNode(String(e.text)));
                }
                function g(e) {
                    for (; e.componentInstance; ) e = e.componentInstance._vnode;
                    return i(e.tag);
                }
                function v(e, n) {
                    for (var o = 0; o < r.create.length; ++o) r.create[o](er, e);
                    i((t = e.data.hook)) && (i(t.create) && t.create(er, e), i(t.insert) && n.push(e));
                }
                function y(e) {
                    var t;
                    if (i((t = e.fnScopeId))) c.setStyleScope(e.elm, t);
                    else for (var n = e; n; ) i((t = n.context)) && i((t = t.$options._scopeId)) && c.setStyleScope(e.elm, t), (n = n.parent);
                    i((t = Xt)) && t !== e.context && t !== e.fnContext && i((t = t.$options._scopeId)) && c.setStyleScope(e.elm, t);
                }
                function b(e, t, n, r, o, i) {
                    for (; r <= o; ++r) d(n[r], i, e, t, !1, n, r);
                }
                function _(e) {
                    var t,
                        n,
                        o = e.data;
                    if (i(o)) for (i((t = o.hook)) && i((t = t.destroy)) && t(e), t = 0; t < r.destroy.length; ++t) r.destroy[t](e);
                    if (i((t = e.children))) for (n = 0; n < e.children.length; ++n) _(e.children[n]);
                }
                function w(e, t, n) {
                    for (; t <= n; ++t) {
                        var r = e[t];
                        i(r) && (i(r.tag) ? (C(r), _(r)) : u(r.elm));
                    }
                }
                function C(e, t) {
                    if (i(t) || i(e.data)) {
                        var n,
                            o = r.remove.length + 1;
                        for (
                            i(t)
                                ? (t.listeners += o)
                                : (t = (function (e, t) {
                                      function n() {
                                          0 == --n.listeners && u(e);
                                      }
                                      return (n.listeners = t), n;
                                  })(e.elm, o)),
                                i((n = e.componentInstance)) && i((n = n._vnode)) && i(n.data) && C(n, t),
                                n = 0;
                            n < r.remove.length;
                            ++n
                        )
                            r.remove[n](e, t);
                        i((n = e.data.hook)) && i((n = n.remove)) ? n(e, t) : t();
                    } else u(e.elm);
                }
                function x(e, t, n, r) {
                    for (var o = n; o < r; o++) {
                        var s = t[o];
                        if (i(s) && nr(e, s)) return o;
                    }
                }
                function E(e, t, n, a, l, u) {
                    if (e !== t) {
                        i(t.elm) && i(a) && (t = a[l] = be(t));
                        var f = (t.elm = e.elm);
                        if (s(e.isAsyncPlaceholder)) i(t.asyncFactory.resolved) ? S(e.elm, t, n) : (t.isAsyncPlaceholder = !0);
                        else if (s(t.isStatic) && s(e.isStatic) && t.key === e.key && (s(t.isCloned) || s(t.isOnce))) t.componentInstance = e.componentInstance;
                        else {
                            var p,
                                h = t.data;
                            i(h) && i((p = h.hook)) && i((p = p.prepatch)) && p(e, t);
                            var m = e.children,
                                v = t.children;
                            if (i(h) && g(t)) {
                                for (p = 0; p < r.update.length; ++p) r.update[p](e, t);
                                i((p = h.hook)) && i((p = p.update)) && p(e, t);
                            }
                            o(t.text)
                                ? i(m) && i(v)
                                    ? m !== v &&
                                      (function (e, t, n, r, s) {
                                          for (var a, l, u, f = 0, p = 0, h = t.length - 1, m = t[0], g = t[h], v = n.length - 1, y = n[0], _ = n[v], C = !s; f <= h && p <= v; )
                                              o(m)
                                                  ? (m = t[++f])
                                                  : o(g)
                                                  ? (g = t[--h])
                                                  : nr(m, y)
                                                  ? (E(m, y, r, n, p), (m = t[++f]), (y = n[++p]))
                                                  : nr(g, _)
                                                  ? (E(g, _, r, n, v), (g = t[--h]), (_ = n[--v]))
                                                  : nr(m, _)
                                                  ? (E(m, _, r, n, v), C && c.insertBefore(e, m.elm, c.nextSibling(g.elm)), (m = t[++f]), (_ = n[--v]))
                                                  : nr(g, y)
                                                  ? (E(g, y, r, n, p), C && c.insertBefore(e, g.elm, m.elm), (g = t[--h]), (y = n[++p]))
                                                  : (o(a) && (a = rr(t, f, h)),
                                                    o((l = i(y.key) ? a[y.key] : x(y, t, f, h)))
                                                        ? d(y, r, e, m.elm, !1, n, p)
                                                        : nr((u = t[l]), y)
                                                        ? (E(u, y, r, n, p), (t[l] = void 0), C && c.insertBefore(e, u.elm, m.elm))
                                                        : d(y, r, e, m.elm, !1, n, p),
                                                    (y = n[++p]));
                                          f > h ? b(e, o(n[v + 1]) ? null : n[v + 1].elm, n, p, v, r) : p > v && w(t, f, h);
                                      })(f, m, v, n, u)
                                    : i(v)
                                    ? (i(e.text) && c.setTextContent(f, ""), b(f, null, v, 0, v.length - 1, n))
                                    : i(m)
                                    ? w(m, 0, m.length - 1)
                                    : i(e.text) && c.setTextContent(f, "")
                                : e.text !== t.text && c.setTextContent(f, t.text),
                                i(h) && i((p = h.hook)) && i((p = p.postpatch)) && p(e, t);
                        }
                    }
                }
                function k(e, t, n) {
                    if (s(n) && i(e.parent)) e.parent.data.pendingInsert = t;
                    else for (var r = 0; r < t.length; ++r) t[r].data.hook.insert(t[r]);
                }
                var A = m("attrs,class,staticClass,staticStyle,key");
                function S(e, t, n, r) {
                    var o,
                        a = t.tag,
                        l = t.data,
                        c = t.children;
                    if (((r = r || (l && l.pre)), (t.elm = e), s(t.isComment) && i(t.asyncFactory))) return (t.isAsyncPlaceholder = !0), !0;
                    if (i(l) && (i((o = l.hook)) && i((o = o.init)) && o(t, !0), i((o = t.componentInstance)))) return f(t, n), !0;
                    if (i(a)) {
                        if (i(c))
                            if (e.hasChildNodes())
                                if (i((o = l)) && i((o = o.domProps)) && i((o = o.innerHTML))) {
                                    if (o !== e.innerHTML) return !1;
                                } else {
                                    for (var u = !0, d = e.firstChild, p = 0; p < c.length; p++) {
                                        if (!d || !S(d, c[p], n, r)) {
                                            u = !1;
                                            break;
                                        }
                                        d = d.nextSibling;
                                    }
                                    if (!u || d) return !1;
                                }
                            else h(t, c, n);
                        if (i(l)) {
                            var m = !1;
                            for (var g in l)
                                if (!A(g)) {
                                    (m = !0), v(t, n);
                                    break;
                                }
                            !m && l.class && ot(l.class);
                        }
                    } else e.data !== t.text && (e.data = t.text);
                    return !0;
                }
                return function (e, t, n, a) {
                    if (!o(t)) {
                        var l,
                            u = !1,
                            f = [];
                        if (o(e)) (u = !0), d(t, f);
                        else {
                            var p = i(e.nodeType);
                            if (!p && nr(e, t)) E(e, t, f, null, null, a);
                            else {
                                if (p) {
                                    if ((1 === e.nodeType && e.hasAttribute(I) && (e.removeAttribute(I), (n = !0)), s(n) && S(e, t, f))) return k(t, f, !0), e;
                                    (l = e), (e = new me(c.tagName(l).toLowerCase(), {}, [], void 0, l));
                                }
                                var h = e.elm,
                                    m = c.parentNode(h);
                                if ((d(t, f, h._leaveCb ? null : m, c.nextSibling(h)), i(t.parent)))
                                    for (var v = t.parent, y = g(t); v; ) {
                                        for (var b = 0; b < r.destroy.length; ++b) r.destroy[b](v);
                                        if (((v.elm = t.elm), y)) {
                                            for (var C = 0; C < r.create.length; ++C) r.create[C](er, v);
                                            var x = v.data.hook.insert;
                                            if (x.merged) for (var A = 1; A < x.fns.length; A++) x.fns[A]();
                                        } else Zn(v);
                                        v = v.parent;
                                    }
                                i(m) ? w([e], 0, 0) : i(e.tag) && _(e);
                            }
                        }
                        return k(t, f, u), t.elm;
                    }
                    i(e) && _(e);
                };
            })({
                nodeOps: Jn,
                modules: [
                    hr,
                    Cr,
                    Zr,
                    no,
                    ho,
                    V
                        ? {
                              create: Fo,
                              activate: Fo,
                              remove: function (e, t) {
                                  !0 !== e.data.show ? Io(e, t) : t();
                              },
                          }
                        : {},
                ].concat(ur),
            });
            J &&
                document.addEventListener("selectionchange", function () {
                    var e = document.activeElement;
                    e && e.vmodel && Yo(e, "input");
                });
            var Uo = {
                inserted: function (e, t, n, r) {
                    "select" === n.tag
                        ? (r.elm && !r.elm._vOptions
                              ? lt(n, "postpatch", function () {
                                    Uo.componentUpdated(e, t, n);
                                })
                              : qo(e, t, n.context),
                          (e._vOptions = [].map.call(e.options, Vo)))
                        : ("textarea" === n.tag || Yn(e.type)) &&
                          ((e._vModifiers = t.modifiers), t.modifiers.lazy || (e.addEventListener("compositionstart", Ko), e.addEventListener("compositionend", Go), e.addEventListener("change", Go), J && (e.vmodel = !0)));
                },
                componentUpdated: function (e, t, n) {
                    if ("select" === n.tag) {
                        qo(e, t, n.context);
                        var r = e._vOptions,
                            o = (e._vOptions = [].map.call(e.options, Vo));
                        o.some(function (e, t) {
                            return !P(e, r[t]);
                        }) &&
                            (e.multiple
                                ? t.value.some(function (e) {
                                      return Wo(e, o);
                                  })
                                : t.value !== t.oldValue && Wo(t.value, o)) &&
                            Yo(e, "change");
                    }
                },
            };
            function qo(e, t, n) {
                zo(e, t, n),
                    (X || Q) &&
                        setTimeout(function () {
                            zo(e, t, n);
                        }, 0);
            }
            function zo(e, t, n) {
                var r = t.value,
                    o = e.multiple;
                if (!o || Array.isArray(r)) {
                    for (var i, s, a = 0, l = e.options.length; a < l; a++)
                        if (((s = e.options[a]), o)) (i = $(r, Vo(s)) > -1), s.selected !== i && (s.selected = i);
                        else if (P(Vo(s), r)) return void (e.selectedIndex !== a && (e.selectedIndex = a));
                    o || (e.selectedIndex = -1);
                }
            }
            function Wo(e, t) {
                return t.every(function (t) {
                    return !P(t, e);
                });
            }
            function Vo(e) {
                return "_value" in e ? e._value : e.value;
            }
            function Ko(e) {
                e.target.composing = !0;
            }
            function Go(e) {
                e.target.composing && ((e.target.composing = !1), Yo(e.target, "input"));
            }
            function Yo(e, t) {
                var n = document.createEvent("HTMLEvents");
                n.initEvent(t, !0, !0), e.dispatchEvent(n);
            }
            function Xo(e) {
                return !e.componentInstance || (e.data && e.data.transition) ? e : Xo(e.componentInstance._vnode);
            }
            var Jo = {
                    model: Uo,
                    show: {
                        bind: function (e, t, n) {
                            var r = t.value,
                                o = (n = Xo(n)).data && n.data.transition,
                                i = (e.__vOriginalDisplay = "none" === e.style.display ? "" : e.style.display);
                            r && o
                                ? ((n.data.show = !0),
                                  Mo(n, function () {
                                      e.style.display = i;
                                  }))
                                : (e.style.display = r ? i : "none");
                        },
                        update: function (e, t, n) {
                            var r = t.value;
                            !r != !t.oldValue &&
                                ((n = Xo(n)).data && n.data.transition
                                    ? ((n.data.show = !0),
                                      r
                                          ? Mo(n, function () {
                                                e.style.display = e.__vOriginalDisplay;
                                            })
                                          : Io(n, function () {
                                                e.style.display = "none";
                                            }))
                                    : (e.style.display = r ? e.__vOriginalDisplay : "none"));
                        },
                        unbind: function (e, t, n, r, o) {
                            o || (e.style.display = e.__vOriginalDisplay);
                        },
                    },
                },
                Qo = {
                    name: String,
                    appear: Boolean,
                    css: Boolean,
                    mode: String,
                    type: String,
                    enterClass: String,
                    leaveClass: String,
                    enterToClass: String,
                    leaveToClass: String,
                    enterActiveClass: String,
                    leaveActiveClass: String,
                    appearClass: String,
                    appearActiveClass: String,
                    appearToClass: String,
                    duration: [Number, String, Object],
                };
            function Zo(e) {
                var t = e && e.componentOptions;
                return t && t.Ctor.options.abstract ? Zo(Wt(t.children)) : e;
            }
            function ei(e) {
                var t = {},
                    n = e.$options;
                for (var r in n.propsData) t[r] = e[r];
                var o = n._parentListeners;
                for (var i in o) t[x(i)] = o[i];
                return t;
            }
            function ti(e, t) {
                if (/\d-keep-alive$/.test(t.tag)) return e("keep-alive", { props: t.componentOptions.propsData });
            }
            var ni = function (e) {
                    return e.tag || mt(e);
                },
                ri = function (e) {
                    return "show" === e.name;
                },
                oi = {
                    name: "transition",
                    props: Qo,
                    abstract: !0,
                    render: function (e) {
                        var t = this,
                            n = this.$slots.default;
                        if (n && (n = n.filter(ni)).length) {
                            var r = this.mode,
                                o = n[0];
                            if (
                                (function (e) {
                                    for (; (e = e.parent); ) if (e.data.transition) return !0;
                                })(this.$vnode)
                            )
                                return o;
                            var i = Zo(o);
                            if (!i) return o;
                            if (this._leaving) return ti(e, o);
                            var s = "__transition-" + this._uid + "-";
                            i.key = null == i.key ? (i.isComment ? s + "comment" : s + i.tag) : a(i.key) ? (0 === String(i.key).indexOf(s) ? i.key : s + i.key) : i.key;
                            var l = ((i.data || (i.data = {})).transition = ei(this)),
                                c = this._vnode,
                                u = Zo(c);
                            if (
                                (i.data.directives && i.data.directives.some(ri) && (i.data.show = !0),
                                u &&
                                    u.data &&
                                    !(function (e, t) {
                                        return t.key === e.key && t.tag === e.tag;
                                    })(i, u) &&
                                    !mt(u) &&
                                    (!u.componentInstance || !u.componentInstance._vnode.isComment))
                            ) {
                                var d = (u.data.transition = N({}, l));
                                if ("out-in" === r)
                                    return (
                                        (this._leaving = !0),
                                        lt(d, "afterLeave", function () {
                                            (t._leaving = !1), t.$forceUpdate();
                                        }),
                                        ti(e, o)
                                    );
                                if ("in-out" === r) {
                                    if (mt(i)) return c;
                                    var f,
                                        p = function () {
                                            f();
                                        };
                                    lt(l, "afterEnter", p),
                                        lt(l, "enterCancelled", p),
                                        lt(d, "delayLeave", function (e) {
                                            f = e;
                                        });
                                }
                            }
                            return o;
                        }
                    },
                },
                ii = N({ tag: String, moveClass: String }, Qo);
            function si(e) {
                e.elm._moveCb && e.elm._moveCb(), e.elm._enterCb && e.elm._enterCb();
            }
            function ai(e) {
                e.data.newPos = e.elm.getBoundingClientRect();
            }
            function li(e) {
                var t = e.data.pos,
                    n = e.data.newPos,
                    r = t.left - n.left,
                    o = t.top - n.top;
                if (r || o) {
                    e.data.moved = !0;
                    var i = e.elm.style;
                    (i.transform = i.WebkitTransform = "translate(" + r + "px," + o + "px)"), (i.transitionDuration = "0s");
                }
            }
            delete ii.mode;
            var ci = {
                Transition: oi,
                TransitionGroup: {
                    props: ii,
                    beforeMount: function () {
                        var e = this,
                            t = this._update;
                        this._update = function (n, r) {
                            var o = Jt(e);
                            e.__patch__(e._vnode, e.kept, !1, !0), (e._vnode = e.kept), o(), t.call(e, n, r);
                        };
                    },
                    render: function (e) {
                        for (
                            var t = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), r = (this.prevChildren = this.children), o = this.$slots.default || [], i = (this.children = []), s = ei(this), a = 0;
                            a < o.length;
                            a++
                        ) {
                            var l = o[a];
                            l.tag && null != l.key && 0 !== String(l.key).indexOf("__vlist") && (i.push(l), (n[l.key] = l), ((l.data || (l.data = {})).transition = s));
                        }
                        if (r) {
                            for (var c = [], u = [], d = 0; d < r.length; d++) {
                                var f = r[d];
                                (f.data.transition = s), (f.data.pos = f.elm.getBoundingClientRect()), n[f.key] ? c.push(f) : u.push(f);
                            }
                            (this.kept = e(t, null, c)), (this.removed = u);
                        }
                        return e(t, null, i);
                    },
                    updated: function () {
                        var e = this.prevChildren,
                            t = this.moveClass || (this.name || "v") + "-move";
                        e.length &&
                            this.hasMove(e[0].elm, t) &&
                            (e.forEach(si),
                            e.forEach(ai),
                            e.forEach(li),
                            (this._reflow = document.body.offsetHeight),
                            e.forEach(function (e) {
                                if (e.data.moved) {
                                    var n = e.elm,
                                        r = n.style;
                                    No(n, t),
                                        (r.transform = r.WebkitTransform = r.transitionDuration = ""),
                                        n.addEventListener(
                                            Eo,
                                            (n._moveCb = function e(r) {
                                                (r && r.target !== n) || (r && !/transform$/.test(r.propertyName)) || (n.removeEventListener(Eo, e), (n._moveCb = null), Oo(n, t));
                                            })
                                        );
                                }
                            }));
                    },
                    methods: {
                        hasMove: function (e, t) {
                            if (!_o) return !1;
                            if (this._hasMove) return this._hasMove;
                            var n = e.cloneNode();
                            e._transitionClasses &&
                                e._transitionClasses.forEach(function (e) {
                                    vo(n, e);
                                }),
                                go(n, t),
                                (n.style.display = "none"),
                                this.$el.appendChild(n);
                            var r = Lo(n);
                            return this.$el.removeChild(n), (this._hasMove = r.hasTransform);
                        },
                    },
                },
            };
            (xn.config.mustUseProp = Rn),
                (xn.config.isReservedTag = Vn),
                (xn.config.isReservedAttr = On),
                (xn.config.getTagNamespace = Kn),
                (xn.config.isUnknownElement = function (e) {
                    if (!V) return !0;
                    if (Vn(e)) return !1;
                    if (((e = e.toLowerCase()), null != Gn[e])) return Gn[e];
                    var t = document.createElement(e);
                    return e.indexOf("-") > -1 ? (Gn[e] = t.constructor === window.HTMLUnknownElement || t.constructor === window.HTMLElement) : (Gn[e] = /HTMLUnknownElement/.test(t.toString()));
                }),
                N(xn.options.directives, Jo),
                N(xn.options.components, ci),
                (xn.prototype.__patch__ = V ? Ho : D),
                (xn.prototype.$mount = function (e, t) {
                    return (function (e, t, n) {
                        var r;
                        return (
                            (e.$el = t),
                            e.$options.render || (e.$options.render = ve),
                            en(e, "beforeMount"),
                            (r = function () {
                                e._update(e._render(), n);
                            }),
                            new pn(
                                e,
                                r,
                                D,
                                {
                                    before: function () {
                                        e._isMounted && !e._isDestroyed && en(e, "beforeUpdate");
                                    },
                                },
                                !0
                            ),
                            (n = !1),
                            null == e.$vnode && ((e._isMounted = !0), en(e, "mounted")),
                            e
                        );
                    })(this, (e = e && V ? Xn(e) : void 0), t);
                }),
                V &&
                    setTimeout(function () {
                        F.devtools && ie && ie.emit("init", xn);
                    }, 0);
            var ui,
                di = /\{\{((?:.|\r?\n)+?)\}\}/g,
                fi = /[-.*+?^${}()|[\]\/\\]/g,
                pi = w(function (e) {
                    var t = e[0].replace(fi, "\\$&"),
                        n = e[1].replace(fi, "\\$&");
                    return new RegExp(t + "((?:.|\\n)+?)" + n, "g");
                }),
                hi = {
                    staticKeys: ["staticClass"],
                    transformNode: function (e, t) {
                        t.warn;
                        var n = $r(e, "class");
                        n && (e.staticClass = JSON.stringify(n));
                        var r = Pr(e, "class", !1);
                        r && (e.classBinding = r);
                    },
                    genData: function (e) {
                        var t = "";
                        return e.staticClass && (t += "staticClass:" + e.staticClass + ","), e.classBinding && (t += "class:" + e.classBinding + ","), t;
                    },
                },
                mi = {
                    staticKeys: ["staticStyle"],
                    transformNode: function (e, t) {
                        t.warn;
                        var n = $r(e, "style");
                        n && (e.staticStyle = JSON.stringify(ro(n)));
                        var r = Pr(e, "style", !1);
                        r && (e.styleBinding = r);
                    },
                    genData: function (e) {
                        var t = "";
                        return e.staticStyle && (t += "staticStyle:" + e.staticStyle + ","), e.styleBinding && (t += "style:(" + e.styleBinding + "),"), t;
                    },
                },
                gi = m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),
                vi = m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),
                yi = m(
                    "address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"
                ),
                bi = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,
                _i = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,
                wi = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + H.source + "]*",
                Ci = "((?:" + wi + "\\:)?" + wi + ")",
                xi = new RegExp("^<" + Ci),
                Ei = /^\s*(\/?)>/,
                ki = new RegExp("^<\\/" + Ci + "[^>]*>"),
                Ai = /^<!DOCTYPE [^>]+>/i,
                Si = /^<!\--/,
                Ti = /^<!\[/,
                Ni = m("script,style,textarea", !0),
                Oi = {},
                Di = { "&lt;": "<", "&gt;": ">", "&quot;": '"', "&amp;": "&", "&#10;": "\n", "&#9;": "\t", "&#39;": "'" },
                Ri = /&(?:lt|gt|quot|amp|#39);/g,
                Li = /&(?:lt|gt|quot|amp|#39|#10|#9);/g,
                Pi = m("pre,textarea", !0),
                $i = function (e, t) {
                    return e && Pi(e) && "\n" === t[0];
                };
            function Mi(e, t) {
                var n = t ? Li : Ri;
                return e.replace(n, function (e) {
                    return Di[e];
                });
            }
            var Ii,
                Bi,
                ji,
                Fi,
                Hi,
                Ui,
                qi,
                zi,
                Wi = /^@|^v-on:/,
                Vi = /^v-|^@|^:|^#/,
                Ki = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,
                Gi = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/,
                Yi = /^\(|\)$/g,
                Xi = /^\[.*\]$/,
                Ji = /:(.*)$/,
                Qi = /^:|^\.|^v-bind:/,
                Zi = /\.[^.\]]+(?=[^\]]*$)/g,
                es = /^v-slot(:|$)|^#/,
                ts = /[\r\n]/,
                ns = /[ \f\t\r\n]+/g,
                rs = w(function (e) {
                    return ((ui = ui || document.createElement("div")).innerHTML = e), ui.textContent;
                }),
                os = "_empty_";
            function is(e, t, n) {
                return { type: 1, tag: e, attrsList: t, attrsMap: ds(t), rawAttrsMap: {}, parent: n, children: [] };
            }
            function ss(e, t) {
                var n, r;
                (r = Pr((n = e), "key")) && (n.key = r),
                    (e.plain = !e.key && !e.scopedSlots && !e.attrsList.length),
                    (function (e) {
                        var t = Pr(e, "ref");
                        t &&
                            ((e.ref = t),
                            (e.refInFor = (function (e) {
                                for (var t = e; t; ) {
                                    if (void 0 !== t.for) return !0;
                                    t = t.parent;
                                }
                                return !1;
                            })(e)));
                    })(e),
                    (function (e) {
                        var t;
                        "template" === e.tag ? ((t = $r(e, "scope")), (e.slotScope = t || $r(e, "slot-scope"))) : (t = $r(e, "slot-scope")) && (e.slotScope = t);
                        var n = Pr(e, "slot");
                        if (
                            (n &&
                                ((e.slotTarget = '""' === n ? '"default"' : n),
                                (e.slotTargetDynamic = !(!e.attrsMap[":slot"] && !e.attrsMap["v-bind:slot"])),
                                "template" === e.tag ||
                                    e.slotScope ||
                                    Nr(
                                        e,
                                        "slot",
                                        n,
                                        (function (e, t) {
                                            return e.rawAttrsMap[":" + t] || e.rawAttrsMap["v-bind:" + t] || e.rawAttrsMap[t];
                                        })(e, "slot")
                                    )),
                            "template" === e.tag)
                        ) {
                            var r = Mr(e, es);
                            if (r) {
                                var o = cs(r),
                                    i = o.name,
                                    s = o.dynamic;
                                (e.slotTarget = i), (e.slotTargetDynamic = s), (e.slotScope = r.value || os);
                            }
                        } else {
                            var a = Mr(e, es);
                            if (a) {
                                var l = e.scopedSlots || (e.scopedSlots = {}),
                                    c = cs(a),
                                    u = c.name,
                                    d = c.dynamic,
                                    f = (l[u] = is("template", [], e));
                                (f.slotTarget = u),
                                    (f.slotTargetDynamic = d),
                                    (f.children = e.children.filter(function (e) {
                                        if (!e.slotScope) return (e.parent = f), !0;
                                    })),
                                    (f.slotScope = a.value || os),
                                    (e.children = []),
                                    (e.plain = !1);
                            }
                        }
                    })(e),
                    (function (e) {
                        "slot" === e.tag && (e.slotName = Pr(e, "name"));
                    })(e),
                    (function (e) {
                        var t;
                        (t = Pr(e, "is")) && (e.component = t), null != $r(e, "inline-template") && (e.inlineTemplate = !0);
                    })(e);
                for (var o = 0; o < ji.length; o++) e = ji[o](e, t) || e;
                return (
                    (function (e) {
                        var t,
                            n,
                            r,
                            o,
                            i,
                            s,
                            a,
                            l,
                            c = e.attrsList;
                        for (t = 0, n = c.length; t < n; t++)
                            if (((r = o = c[t].name), (i = c[t].value), Vi.test(r)))
                                if (((e.hasBindings = !0), (s = us(r.replace(Vi, ""))) && (r = r.replace(Zi, "")), Qi.test(r)))
                                    (r = r.replace(Qi, "")),
                                        (i = Er(i)),
                                        (l = Xi.test(r)) && (r = r.slice(1, -1)),
                                        s &&
                                            (s.prop && !l && "innerHtml" === (r = x(r)) && (r = "innerHTML"),
                                            s.camel && !l && (r = x(r)),
                                            s.sync &&
                                                ((a = jr(i, "$event")),
                                                l ? Lr(e, '"update:"+(' + r + ")", a, null, !1, 0, c[t], !0) : (Lr(e, "update:" + x(r), a, null, !1, 0, c[t]), A(r) !== x(r) && Lr(e, "update:" + A(r), a, null, !1, 0, c[t])))),
                                        (s && s.prop) || (!e.component && qi(e.tag, e.attrsMap.type, r)) ? Tr(e, r, i, c[t], l) : Nr(e, r, i, c[t], l);
                                else if (Wi.test(r)) (r = r.replace(Wi, "")), (l = Xi.test(r)) && (r = r.slice(1, -1)), Lr(e, r, i, s, !1, 0, c[t], l);
                                else {
                                    var u = (r = r.replace(Vi, "")).match(Ji),
                                        d = u && u[1];
                                    (l = !1), d && ((r = r.slice(0, -(d.length + 1))), Xi.test(d) && ((d = d.slice(1, -1)), (l = !0))), Dr(e, r, o, i, d, l, s, c[t]);
                                }
                            else Nr(e, r, JSON.stringify(i), c[t]), !e.component && "muted" === r && qi(e.tag, e.attrsMap.type, r) && Tr(e, r, "true", c[t]);
                    })(e),
                    e
                );
            }
            function as(e) {
                var t;
                if ((t = $r(e, "v-for"))) {
                    var n = (function (e) {
                        var t = e.match(Ki);
                        if (t) {
                            var n = {};
                            n.for = t[2].trim();
                            var r = t[1].trim().replace(Yi, ""),
                                o = r.match(Gi);
                            return o ? ((n.alias = r.replace(Gi, "").trim()), (n.iterator1 = o[1].trim()), o[2] && (n.iterator2 = o[2].trim())) : (n.alias = r), n;
                        }
                    })(t);
                    n && N(e, n);
                }
            }
            function ls(e, t) {
                e.ifConditions || (e.ifConditions = []), e.ifConditions.push(t);
            }
            function cs(e) {
                var t = e.name.replace(es, "");
                return t || ("#" !== e.name[0] && (t = "default")), Xi.test(t) ? { name: t.slice(1, -1), dynamic: !0 } : { name: '"' + t + '"', dynamic: !1 };
            }
            function us(e) {
                var t = e.match(Zi);
                if (t) {
                    var n = {};
                    return (
                        t.forEach(function (e) {
                            n[e.slice(1)] = !0;
                        }),
                        n
                    );
                }
            }
            function ds(e) {
                for (var t = {}, n = 0, r = e.length; n < r; n++) t[e[n].name] = e[n].value;
                return t;
            }
            var fs = /^xmlns:NS\d+/,
                ps = /^NS\d+:/;
            function hs(e) {
                return is(e.tag, e.attrsList.slice(), e.parent);
            }
            var ms,
                gs,
                vs = [
                    hi,
                    mi,
                    {
                        preTransformNode: function (e, t) {
                            if ("input" === e.tag) {
                                var n,
                                    r = e.attrsMap;
                                if (!r["v-model"]) return;
                                if (((r[":type"] || r["v-bind:type"]) && (n = Pr(e, "type")), r.type || n || !r["v-bind"] || (n = "(" + r["v-bind"] + ").type"), n)) {
                                    var o = $r(e, "v-if", !0),
                                        i = o ? "&&(" + o + ")" : "",
                                        s = null != $r(e, "v-else", !0),
                                        a = $r(e, "v-else-if", !0),
                                        l = hs(e);
                                    as(l), Or(l, "type", "checkbox"), ss(l, t), (l.processed = !0), (l.if = "(" + n + ")==='checkbox'" + i), ls(l, { exp: l.if, block: l });
                                    var c = hs(e);
                                    $r(c, "v-for", !0), Or(c, "type", "radio"), ss(c, t), ls(l, { exp: "(" + n + ")==='radio'" + i, block: c });
                                    var u = hs(e);
                                    return $r(u, "v-for", !0), Or(u, ":type", n), ss(u, t), ls(l, { exp: o, block: u }), s ? (l.else = !0) : a && (l.elseif = a), l;
                                }
                            }
                        },
                    },
                ],
                ys = {
                    expectHTML: !0,
                    modules: vs,
                    directives: {
                        model: function (e, t, n) {
                            var r = t.value,
                                o = t.modifiers,
                                i = e.tag,
                                s = e.attrsMap.type;
                            if (e.component) return Br(e, r, o), !1;
                            if ("select" === i)
                                !(function (e, t, n) {
                                    var r =
                                        'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return ' +
                                        (n && n.number ? "_n(val)" : "val") +
                                        "});";
                                    Lr(e, "change", (r = r + " " + jr(t, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]")), null, !0);
                                })(e, r, o);
                            else if ("input" === i && "checkbox" === s)
                                !(function (e, t, n) {
                                    var r = n && n.number,
                                        o = Pr(e, "value") || "null",
                                        i = Pr(e, "true-value") || "true",
                                        s = Pr(e, "false-value") || "false";
                                    Tr(e, "checked", "Array.isArray(" + t + ")?_i(" + t + "," + o + ")>-1" + ("true" === i ? ":(" + t + ")" : ":_q(" + t + "," + i + ")")),
                                        Lr(
                                            e,
                                            "change",
                                            "var $$a=" +
                                                t +
                                                ",$$el=$event.target,$$c=$$el.checked?(" +
                                                i +
                                                "):(" +
                                                s +
                                                ");if(Array.isArray($$a)){var $$v=" +
                                                (r ? "_n(" + o + ")" : o) +
                                                ",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(" +
                                                jr(t, "$$a.concat([$$v])") +
                                                ")}else{$$i>-1&&(" +
                                                jr(t, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") +
                                                ")}}else{" +
                                                jr(t, "$$c") +
                                                "}",
                                            null,
                                            !0
                                        );
                                })(e, r, o);
                            else if ("input" === i && "radio" === s)
                                !(function (e, t, n) {
                                    var r = n && n.number,
                                        o = Pr(e, "value") || "null";
                                    Tr(e, "checked", "_q(" + t + "," + (o = r ? "_n(" + o + ")" : o) + ")"), Lr(e, "change", jr(t, o), null, !0);
                                })(e, r, o);
                            else if ("input" === i || "textarea" === i)
                                !(function (e, t, n) {
                                    var r = e.attrsMap.type,
                                        o = n || {},
                                        i = o.lazy,
                                        s = o.number,
                                        a = o.trim,
                                        l = !i && "range" !== r,
                                        c = i ? "change" : "range" === r ? Vr : "input",
                                        u = "$event.target.value";
                                    a && (u = "$event.target.value.trim()"), s && (u = "_n(" + u + ")");
                                    var d = jr(t, u);
                                    l && (d = "if($event.target.composing)return;" + d), Tr(e, "value", "(" + t + ")"), Lr(e, c, d, null, !0), (a || s) && Lr(e, "blur", "$forceUpdate()");
                                })(e, r, o);
                            else if (!F.isReservedTag(i)) return Br(e, r, o), !1;
                            return !0;
                        },
                        text: function (e, t) {
                            t.value && Tr(e, "textContent", "_s(" + t.value + ")", t);
                        },
                        html: function (e, t) {
                            t.value && Tr(e, "innerHTML", "_s(" + t.value + ")", t);
                        },
                    },
                    isPreTag: function (e) {
                        return "pre" === e;
                    },
                    isUnaryTag: gi,
                    mustUseProp: Rn,
                    canBeLeftOpenTag: vi,
                    isReservedTag: Vn,
                    getTagNamespace: Kn,
                    staticKeys: (function (e) {
                        return e
                            .reduce(function (e, t) {
                                return e.concat(t.staticKeys || []);
                            }, [])
                            .join(",");
                    })(vs),
                },
                bs = w(function (e) {
                    return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + (e ? "," + e : ""));
                });
            var _s = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,
                ws = /\([^)]*?\);*$/,
                Cs = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,
                xs = { esc: 27, tab: 9, enter: 13, space: 32, up: 38, left: 37, right: 39, down: 40, delete: [8, 46] },
                Es = {
                    esc: ["Esc", "Escape"],
                    tab: "Tab",
                    enter: "Enter",
                    space: [" ", "Spacebar"],
                    up: ["Up", "ArrowUp"],
                    left: ["Left", "ArrowLeft"],
                    right: ["Right", "ArrowRight"],
                    down: ["Down", "ArrowDown"],
                    delete: ["Backspace", "Delete", "Del"],
                },
                ks = function (e) {
                    return "if(" + e + ")return null;";
                },
                As = {
                    stop: "$event.stopPropagation();",
                    prevent: "$event.preventDefault();",
                    self: ks("$event.target !== $event.currentTarget"),
                    ctrl: ks("!$event.ctrlKey"),
                    shift: ks("!$event.shiftKey"),
                    alt: ks("!$event.altKey"),
                    meta: ks("!$event.metaKey"),
                    left: ks("'button' in $event && $event.button !== 0"),
                    middle: ks("'button' in $event && $event.button !== 1"),
                    right: ks("'button' in $event && $event.button !== 2"),
                };
            function Ss(e, t) {
                var n = t ? "nativeOn:" : "on:",
                    r = "",
                    o = "";
                for (var i in e) {
                    var s = Ts(e[i]);
                    e[i] && e[i].dynamic ? (o += i + "," + s + ",") : (r += '"' + i + '":' + s + ",");
                }
                return (r = "{" + r.slice(0, -1) + "}"), o ? n + "_d(" + r + ",[" + o.slice(0, -1) + "])" : n + r;
            }
            function Ts(e) {
                if (!e) return "function(){}";
                if (Array.isArray(e))
                    return (
                        "[" +
                        e
                            .map(function (e) {
                                return Ts(e);
                            })
                            .join(",") +
                        "]"
                    );
                var t = Cs.test(e.value),
                    n = _s.test(e.value),
                    r = Cs.test(e.value.replace(ws, ""));
                if (e.modifiers) {
                    var o = "",
                        i = "",
                        s = [];
                    for (var a in e.modifiers)
                        if (As[a]) (i += As[a]), xs[a] && s.push(a);
                        else if ("exact" === a) {
                            var l = e.modifiers;
                            i += ks(
                                ["ctrl", "shift", "alt", "meta"]
                                    .filter(function (e) {
                                        return !l[e];
                                    })
                                    .map(function (e) {
                                        return "$event." + e + "Key";
                                    })
                                    .join("||")
                            );
                        } else s.push(a);
                    return (
                        s.length &&
                            (o += (function (e) {
                                return "if(!$event.type.indexOf('key')&&" + e.map(Ns).join("&&") + ")return null;";
                            })(s)),
                        i && (o += i),
                        "function($event){" + o + (t ? "return " + e.value + ".apply(null, arguments)" : n ? "return (" + e.value + ").apply(null, arguments)" : r ? "return " + e.value : e.value) + "}"
                    );
                }
                return t || n ? e.value : "function($event){" + (r ? "return " + e.value : e.value) + "}";
            }
            function Ns(e) {
                var t = parseInt(e, 10);
                if (t) return "$event.keyCode!==" + t;
                var n = xs[e],
                    r = Es[e];
                return "_k($event.keyCode," + JSON.stringify(e) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(r) + ")";
            }
            var Os = {
                    on: function (e, t) {
                        e.wrapListeners = function (e) {
                            return "_g(" + e + "," + t.value + ")";
                        };
                    },
                    bind: function (e, t) {
                        e.wrapData = function (n) {
                            return "_b(" + n + ",'" + e.tag + "'," + t.value + "," + (t.modifiers && t.modifiers.prop ? "true" : "false") + (t.modifiers && t.modifiers.sync ? ",true" : "") + ")";
                        };
                    },
                    cloak: D,
                },
                Ds = function (e) {
                    (this.options = e), (this.warn = e.warn || Ar), (this.transforms = Sr(e.modules, "transformCode")), (this.dataGenFns = Sr(e.modules, "genData")), (this.directives = N(N({}, Os), e.directives));
                    var t = e.isReservedTag || R;
                    (this.maybeComponent = function (e) {
                        return !!e.component || !t(e.tag);
                    }),
                        (this.onceId = 0),
                        (this.staticRenderFns = []),
                        (this.pre = !1);
                };
            function Rs(e, t) {
                var n = new Ds(t);
                return { render: "with(this){return " + (e ? ("script" === e.tag ? "null" : Ls(e, n)) : '_c("div")') + "}", staticRenderFns: n.staticRenderFns };
            }
            function Ls(e, t) {
                if ((e.parent && (e.pre = e.pre || e.parent.pre), e.staticRoot && !e.staticProcessed)) return Ps(e, t);
                if (e.once && !e.onceProcessed) return $s(e, t);
                if (e.for && !e.forProcessed) return Is(e, t);
                if (e.if && !e.ifProcessed) return Ms(e, t);
                if ("template" !== e.tag || e.slotTarget || t.pre) {
                    if ("slot" === e.tag)
                        return (function (e, t) {
                            var n = e.slotName || '"default"',
                                r = Hs(e, t),
                                o = "_t(" + n + (r ? ",function(){return " + r + "}" : ""),
                                i =
                                    e.attrs || e.dynamicAttrs
                                        ? zs(
                                              (e.attrs || []).concat(e.dynamicAttrs || []).map(function (e) {
                                                  return { name: x(e.name), value: e.value, dynamic: e.dynamic };
                                              })
                                          )
                                        : null,
                                s = e.attrsMap["v-bind"];
                            return (!i && !s) || r || (o += ",null"), i && (o += "," + i), s && (o += (i ? "" : ",null") + "," + s), o + ")";
                        })(e, t);
                    var n;
                    if (e.component)
                        n = (function (e, t, n) {
                            var r = t.inlineTemplate ? null : Hs(t, n, !0);
                            return "_c(" + e + "," + Bs(t, n) + (r ? "," + r : "") + ")";
                        })(e.component, e, t);
                    else {
                        var r;
                        (!e.plain || (e.pre && t.maybeComponent(e))) && (r = Bs(e, t));
                        var o = e.inlineTemplate ? null : Hs(e, t, !0);
                        n = "_c('" + e.tag + "'" + (r ? "," + r : "") + (o ? "," + o : "") + ")";
                    }
                    for (var i = 0; i < t.transforms.length; i++) n = t.transforms[i](e, n);
                    return n;
                }
                return Hs(e, t) || "void 0";
            }
            function Ps(e, t) {
                e.staticProcessed = !0;
                var n = t.pre;
                return e.pre && (t.pre = e.pre), t.staticRenderFns.push("with(this){return " + Ls(e, t) + "}"), (t.pre = n), "_m(" + (t.staticRenderFns.length - 1) + (e.staticInFor ? ",true" : "") + ")";
            }
            function $s(e, t) {
                if (((e.onceProcessed = !0), e.if && !e.ifProcessed)) return Ms(e, t);
                if (e.staticInFor) {
                    for (var n = "", r = e.parent; r; ) {
                        if (r.for) {
                            n = r.key;
                            break;
                        }
                        r = r.parent;
                    }
                    return n ? "_o(" + Ls(e, t) + "," + t.onceId++ + "," + n + ")" : Ls(e, t);
                }
                return Ps(e, t);
            }
            function Ms(e, t, n, r) {
                return (
                    (e.ifProcessed = !0),
                    (function e(t, n, r, o) {
                        if (!t.length) return o || "_e()";
                        var i = t.shift();
                        return i.exp ? "(" + i.exp + ")?" + s(i.block) + ":" + e(t, n, r, o) : "" + s(i.block);
                        function s(e) {
                            return r ? r(e, n) : e.once ? $s(e, n) : Ls(e, n);
                        }
                    })(e.ifConditions.slice(), t, n, r)
                );
            }
            function Is(e, t, n, r) {
                var o = e.for,
                    i = e.alias,
                    s = e.iterator1 ? "," + e.iterator1 : "",
                    a = e.iterator2 ? "," + e.iterator2 : "";
                return (e.forProcessed = !0), (r || "_l") + "((" + o + "),function(" + i + s + a + "){return " + (n || Ls)(e, t) + "})";
            }
            function Bs(e, t) {
                var n = "{",
                    r = (function (e, t) {
                        var n = e.directives;
                        if (n) {
                            var r,
                                o,
                                i,
                                s,
                                a = "directives:[",
                                l = !1;
                            for (r = 0, o = n.length; r < o; r++) {
                                (i = n[r]), (s = !0);
                                var c = t.directives[i.name];
                                c && (s = !!c(e, i, t.warn)),
                                    s &&
                                        ((l = !0),
                                        (a +=
                                            '{name:"' +
                                            i.name +
                                            '",rawName:"' +
                                            i.rawName +
                                            '"' +
                                            (i.value ? ",value:(" + i.value + "),expression:" + JSON.stringify(i.value) : "") +
                                            (i.arg ? ",arg:" + (i.isDynamicArg ? i.arg : '"' + i.arg + '"') : "") +
                                            (i.modifiers ? ",modifiers:" + JSON.stringify(i.modifiers) : "") +
                                            "},"));
                            }
                            return l ? a.slice(0, -1) + "]" : void 0;
                        }
                    })(e, t);
                r && (n += r + ","), e.key && (n += "key:" + e.key + ","), e.ref && (n += "ref:" + e.ref + ","), e.refInFor && (n += "refInFor:true,"), e.pre && (n += "pre:true,"), e.component && (n += 'tag:"' + e.tag + '",');
                for (var o = 0; o < t.dataGenFns.length; o++) n += t.dataGenFns[o](e);
                if (
                    (e.attrs && (n += "attrs:" + zs(e.attrs) + ","),
                    e.props && (n += "domProps:" + zs(e.props) + ","),
                    e.events && (n += Ss(e.events, !1) + ","),
                    e.nativeEvents && (n += Ss(e.nativeEvents, !0) + ","),
                    e.slotTarget && !e.slotScope && (n += "slot:" + e.slotTarget + ","),
                    e.scopedSlots &&
                        (n +=
                            (function (e, t, n) {
                                var r =
                                        e.for ||
                                        Object.keys(t).some(function (e) {
                                            var n = t[e];
                                            return n.slotTargetDynamic || n.if || n.for || js(n);
                                        }),
                                    o = !!e.if;
                                if (!r)
                                    for (var i = e.parent; i; ) {
                                        if ((i.slotScope && i.slotScope !== os) || i.for) {
                                            r = !0;
                                            break;
                                        }
                                        i.if && (o = !0), (i = i.parent);
                                    }
                                var s = Object.keys(t)
                                    .map(function (e) {
                                        return Fs(t[e], n);
                                    })
                                    .join(",");
                                return (
                                    "scopedSlots:_u([" +
                                    s +
                                    "]" +
                                    (r ? ",null,true" : "") +
                                    (!r && o
                                        ? ",null,false," +
                                          (function (e) {
                                              for (var t = 5381, n = e.length; n; ) t = (33 * t) ^ e.charCodeAt(--n);
                                              return t >>> 0;
                                          })(s)
                                        : "") +
                                    ")"
                                );
                            })(e, e.scopedSlots, t) + ","),
                    e.model && (n += "model:{value:" + e.model.value + ",callback:" + e.model.callback + ",expression:" + e.model.expression + "},"),
                    e.inlineTemplate)
                ) {
                    var i = (function (e, t) {
                        var n = e.children[0];
                        if (n && 1 === n.type) {
                            var r = Rs(n, t.options);
                            return (
                                "inlineTemplate:{render:function(){" +
                                r.render +
                                "},staticRenderFns:[" +
                                r.staticRenderFns
                                    .map(function (e) {
                                        return "function(){" + e + "}";
                                    })
                                    .join(",") +
                                "]}"
                            );
                        }
                    })(e, t);
                    i && (n += i + ",");
                }
                return (n = n.replace(/,$/, "") + "}"), e.dynamicAttrs && (n = "_b(" + n + ',"' + e.tag + '",' + zs(e.dynamicAttrs) + ")"), e.wrapData && (n = e.wrapData(n)), e.wrapListeners && (n = e.wrapListeners(n)), n;
            }
            function js(e) {
                return 1 === e.type && ("slot" === e.tag || e.children.some(js));
            }
            function Fs(e, t) {
                var n = e.attrsMap["slot-scope"];
                if (e.if && !e.ifProcessed && !n) return Ms(e, t, Fs, "null");
                if (e.for && !e.forProcessed) return Is(e, t, Fs);
                var r = e.slotScope === os ? "" : String(e.slotScope),
                    o = "function(" + r + "){return " + ("template" === e.tag ? (e.if && n ? "(" + e.if + ")?" + (Hs(e, t) || "undefined") + ":undefined" : Hs(e, t) || "undefined") : Ls(e, t)) + "}",
                    i = r ? "" : ",proxy:true";
                return "{key:" + (e.slotTarget || '"default"') + ",fn:" + o + i + "}";
            }
            function Hs(e, t, n, r, o) {
                var i = e.children;
                if (i.length) {
                    var s = i[0];
                    if (1 === i.length && s.for && "template" !== s.tag && "slot" !== s.tag) {
                        var a = n ? (t.maybeComponent(s) ? ",1" : ",0") : "";
                        return "" + (r || Ls)(s, t) + a;
                    }
                    var l = n
                            ? (function (e, t) {
                                  for (var n = 0, r = 0; r < e.length; r++) {
                                      var o = e[r];
                                      if (1 === o.type) {
                                          if (
                                              Us(o) ||
                                              (o.ifConditions &&
                                                  o.ifConditions.some(function (e) {
                                                      return Us(e.block);
                                                  }))
                                          ) {
                                              n = 2;
                                              break;
                                          }
                                          (t(o) ||
                                              (o.ifConditions &&
                                                  o.ifConditions.some(function (e) {
                                                      return t(e.block);
                                                  }))) &&
                                              (n = 1);
                                      }
                                  }
                                  return n;
                              })(i, t.maybeComponent)
                            : 0,
                        c = o || qs;
                    return (
                        "[" +
                        i
                            .map(function (e) {
                                return c(e, t);
                            })
                            .join(",") +
                        "]" +
                        (l ? "," + l : "")
                    );
                }
            }
            function Us(e) {
                return void 0 !== e.for || "template" === e.tag || "slot" === e.tag;
            }
            function qs(e, t) {
                return 1 === e.type ? Ls(e, t) : 3 === e.type && e.isComment ? ((r = e), "_e(" + JSON.stringify(r.text) + ")") : "_v(" + (2 === (n = e).type ? n.expression : Ws(JSON.stringify(n.text))) + ")";
                var n, r;
            }
            function zs(e) {
                for (var t = "", n = "", r = 0; r < e.length; r++) {
                    var o = e[r],
                        i = Ws(o.value);
                    o.dynamic ? (n += o.name + "," + i + ",") : (t += '"' + o.name + '":' + i + ",");
                }
                return (t = "{" + t.slice(0, -1) + "}"), n ? "_d(" + t + ",[" + n.slice(0, -1) + "])" : t;
            }
            function Ws(e) {
                return e.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
            }
            function Vs(e, t) {
                try {
                    return new Function(e);
                } catch (n) {
                    return t.push({ err: n, code: e }), D;
                }
            }
            function Ks(e) {
                var t = Object.create(null);
                return function (n, r, o) {
                    (r = N({}, r)).warn, delete r.warn;
                    var i = r.delimiters ? String(r.delimiters) + n : n;
                    if (t[i]) return t[i];
                    var s = e(n, r),
                        a = {},
                        l = [];
                    return (
                        (a.render = Vs(s.render, l)),
                        (a.staticRenderFns = s.staticRenderFns.map(function (e) {
                            return Vs(e, l);
                        })),
                        (t[i] = a)
                    );
                };
            }
            new RegExp(
                "\\b" +
                    "do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments"
                        .split(",")
                        .join("\\b|\\b") +
                    "\\b"
            );
            var Gs,
                Ys,
                Xs = ((Gs = function (e, t) {
                    var n = (function (e, t) {
                        (Ii = t.warn || Ar),
                            (Ui = t.isPreTag || R),
                            (qi = t.mustUseProp || R),
                            (zi = t.getTagNamespace || R),
                            t.isReservedTag,
                            (ji = Sr(t.modules, "transformNode")),
                            (Fi = Sr(t.modules, "preTransformNode")),
                            (Hi = Sr(t.modules, "postTransformNode")),
                            (Bi = t.delimiters);
                        var n,
                            r,
                            o = [],
                            i = !1 !== t.preserveWhitespace,
                            s = t.whitespace,
                            a = !1,
                            l = !1;
                        function c(e) {
                            if ((u(e), a || e.processed || (e = ss(e, t)), o.length || e === n || (n.if && (e.elseif || e.else) && ls(n, { exp: e.elseif, block: e })), r && !e.forbidden))
                                if (e.elseif || e.else)
                                    (s = e),
                                        (c = (function (e) {
                                            for (var t = e.length; t--; ) {
                                                if (1 === e[t].type) return e[t];
                                                e.pop();
                                            }
                                        })(r.children)) &&
                                            c.if &&
                                            ls(c, { exp: s.elseif, block: s });
                                else {
                                    if (e.slotScope) {
                                        var i = e.slotTarget || '"default"';
                                        (r.scopedSlots || (r.scopedSlots = {}))[i] = e;
                                    }
                                    r.children.push(e), (e.parent = r);
                                }
                            var s, c;
                            (e.children = e.children.filter(function (e) {
                                return !e.slotScope;
                            })),
                                u(e),
                                e.pre && (a = !1),
                                Ui(e.tag) && (l = !1);
                            for (var d = 0; d < Hi.length; d++) Hi[d](e, t);
                        }
                        function u(e) {
                            if (!l) for (var t; (t = e.children[e.children.length - 1]) && 3 === t.type && " " === t.text; ) e.children.pop();
                        }
                        return (
                            (function (e, t) {
                                for (var n, r, o = [], i = t.expectHTML, s = t.isUnaryTag || R, a = t.canBeLeftOpenTag || R, l = 0; e; ) {
                                    if (((n = e), r && Ni(r))) {
                                        var c = 0,
                                            u = r.toLowerCase(),
                                            d = Oi[u] || (Oi[u] = new RegExp("([\\s\\S]*?)(</" + u + "[^>]*>)", "i")),
                                            f = e.replace(d, function (e, n, r) {
                                                return (
                                                    (c = r.length),
                                                    Ni(u) || "noscript" === u || (n = n.replace(/<!\--([\s\S]*?)-->/g, "$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g, "$1")),
                                                    $i(u, n) && (n = n.slice(1)),
                                                    t.chars && t.chars(n),
                                                    ""
                                                );
                                            });
                                        (l += e.length - f.length), (e = f), A(u, l - c, l);
                                    } else {
                                        var p = e.indexOf("<");
                                        if (0 === p) {
                                            if (Si.test(e)) {
                                                var h = e.indexOf("--\x3e");
                                                if (h >= 0) {
                                                    t.shouldKeepComment && t.comment(e.substring(4, h), l, l + h + 3), x(h + 3);
                                                    continue;
                                                }
                                            }
                                            if (Ti.test(e)) {
                                                var m = e.indexOf("]>");
                                                if (m >= 0) {
                                                    x(m + 2);
                                                    continue;
                                                }
                                            }
                                            var g = e.match(Ai);
                                            if (g) {
                                                x(g[0].length);
                                                continue;
                                            }
                                            var v = e.match(ki);
                                            if (v) {
                                                var y = l;
                                                x(v[0].length), A(v[1], y, l);
                                                continue;
                                            }
                                            var b = E();
                                            if (b) {
                                                k(b), $i(b.tagName, e) && x(1);
                                                continue;
                                            }
                                        }
                                        var _ = void 0,
                                            w = void 0,
                                            C = void 0;
                                        if (p >= 0) {
                                            for (w = e.slice(p); !(ki.test(w) || xi.test(w) || Si.test(w) || Ti.test(w) || (C = w.indexOf("<", 1)) < 0); ) (p += C), (w = e.slice(p));
                                            _ = e.substring(0, p);
                                        }
                                        p < 0 && (_ = e), _ && x(_.length), t.chars && _ && t.chars(_, l - _.length, l);
                                    }
                                    if (e === n) {
                                        t.chars && t.chars(e);
                                        break;
                                    }
                                }
                                function x(t) {
                                    (l += t), (e = e.substring(t));
                                }
                                function E() {
                                    var t = e.match(xi);
                                    if (t) {
                                        var n,
                                            r,
                                            o = { tagName: t[1], attrs: [], start: l };
                                        for (x(t[0].length); !(n = e.match(Ei)) && (r = e.match(_i) || e.match(bi)); ) (r.start = l), x(r[0].length), (r.end = l), o.attrs.push(r);
                                        if (n) return (o.unarySlash = n[1]), x(n[0].length), (o.end = l), o;
                                    }
                                }
                                function k(e) {
                                    var n = e.tagName,
                                        l = e.unarySlash;
                                    i && ("p" === r && yi(n) && A(r), a(n) && r === n && A(n));
                                    for (var c = s(n) || !!l, u = e.attrs.length, d = new Array(u), f = 0; f < u; f++) {
                                        var p = e.attrs[f],
                                            h = p[3] || p[4] || p[5] || "",
                                            m = "a" === n && "href" === p[1] ? t.shouldDecodeNewlinesForHref : t.shouldDecodeNewlines;
                                        d[f] = { name: p[1], value: Mi(h, m) };
                                    }
                                    c || (o.push({ tag: n, lowerCasedTag: n.toLowerCase(), attrs: d, start: e.start, end: e.end }), (r = n)), t.start && t.start(n, d, c, e.start, e.end);
                                }
                                function A(e, n, i) {
                                    var s, a;
                                    if ((null == n && (n = l), null == i && (i = l), e)) for (a = e.toLowerCase(), s = o.length - 1; s >= 0 && o[s].lowerCasedTag !== a; s--);
                                    else s = 0;
                                    if (s >= 0) {
                                        for (var c = o.length - 1; c >= s; c--) t.end && t.end(o[c].tag, n, i);
                                        (o.length = s), (r = s && o[s - 1].tag);
                                    } else "br" === a ? t.start && t.start(e, [], !0, n, i) : "p" === a && (t.start && t.start(e, [], !1, n, i), t.end && t.end(e, n, i));
                                }
                                A();
                            })(e, {
                                warn: Ii,
                                expectHTML: t.expectHTML,
                                isUnaryTag: t.isUnaryTag,
                                canBeLeftOpenTag: t.canBeLeftOpenTag,
                                shouldDecodeNewlines: t.shouldDecodeNewlines,
                                shouldDecodeNewlinesForHref: t.shouldDecodeNewlinesForHref,
                                shouldKeepComment: t.comments,
                                outputSourceRange: t.outputSourceRange,
                                start: function (e, i, s, u, d) {
                                    var f = (r && r.ns) || zi(e);
                                    X &&
                                        "svg" === f &&
                                        (i = (function (e) {
                                            for (var t = [], n = 0; n < e.length; n++) {
                                                var r = e[n];
                                                fs.test(r.name) || ((r.name = r.name.replace(ps, "")), t.push(r));
                                            }
                                            return t;
                                        })(i));
                                    var p,
                                        h = is(e, i, r);
                                    f && (h.ns = f), ("style" !== (p = h).tag && ("script" !== p.tag || (p.attrsMap.type && "text/javascript" !== p.attrsMap.type))) || oe() || (h.forbidden = !0);
                                    for (var m = 0; m < Fi.length; m++) h = Fi[m](h, t) || h;
                                    a ||
                                        ((function (e) {
                                            null != $r(e, "v-pre") && (e.pre = !0);
                                        })(h),
                                        h.pre && (a = !0)),
                                        Ui(h.tag) && (l = !0),
                                        a
                                            ? (function (e) {
                                                  var t = e.attrsList,
                                                      n = t.length;
                                                  if (n)
                                                      for (var r = (e.attrs = new Array(n)), o = 0; o < n; o++)
                                                          (r[o] = { name: t[o].name, value: JSON.stringify(t[o].value) }), null != t[o].start && ((r[o].start = t[o].start), (r[o].end = t[o].end));
                                                  else e.pre || (e.plain = !0);
                                              })(h)
                                            : h.processed ||
                                              (as(h),
                                              (function (e) {
                                                  var t = $r(e, "v-if");
                                                  if (t) (e.if = t), ls(e, { exp: t, block: e });
                                                  else {
                                                      null != $r(e, "v-else") && (e.else = !0);
                                                      var n = $r(e, "v-else-if");
                                                      n && (e.elseif = n);
                                                  }
                                              })(h),
                                              (function (e) {
                                                  null != $r(e, "v-once") && (e.once = !0);
                                              })(h)),
                                        n || (n = h),
                                        s ? c(h) : ((r = h), o.push(h));
                                },
                                end: function (e, t, n) {
                                    var i = o[o.length - 1];
                                    (o.length -= 1), (r = o[o.length - 1]), c(i);
                                },
                                chars: function (e, t, n) {
                                    if (r && (!X || "textarea" !== r.tag || r.attrsMap.placeholder !== e)) {
                                        var o,
                                            c,
                                            u,
                                            d = r.children;
                                        (e = l || e.trim() ? ("script" === (o = r).tag || "style" === o.tag ? e : rs(e)) : d.length ? (s ? ("condense" === s && ts.test(e) ? "" : " ") : i ? " " : "") : "") &&
                                            (l || "condense" !== s || (e = e.replace(ns, " ")),
                                            !a &&
                                            " " !== e &&
                                            (c = (function (e, t) {
                                                var n = t ? pi(t) : di;
                                                if (n.test(e)) {
                                                    for (var r, o, i, s = [], a = [], l = (n.lastIndex = 0); (r = n.exec(e)); ) {
                                                        (o = r.index) > l && (a.push((i = e.slice(l, o))), s.push(JSON.stringify(i)));
                                                        var c = Er(r[1].trim());
                                                        s.push("_s(" + c + ")"), a.push({ "@binding": c }), (l = o + r[0].length);
                                                    }
                                                    return l < e.length && (a.push((i = e.slice(l))), s.push(JSON.stringify(i))), { expression: s.join("+"), tokens: a };
                                                }
                                            })(e, Bi))
                                                ? (u = { type: 2, expression: c.expression, tokens: c.tokens, text: e })
                                                : (" " === e && d.length && " " === d[d.length - 1].text) || (u = { type: 3, text: e }),
                                            u && d.push(u));
                                    }
                                },
                                comment: function (e, t, n) {
                                    if (r) {
                                        var o = { type: 3, text: e, isComment: !0 };
                                        r.children.push(o);
                                    }
                                },
                            }),
                            n
                        );
                    })(e.trim(), t);
                    !1 !== t.optimize &&
                        (function (e, t) {
                            e &&
                                ((ms = bs(t.staticKeys || "")),
                                (gs = t.isReservedTag || R),
                                (function e(t) {
                                    if (
                                        ((t.static = (function (e) {
                                            return (
                                                2 !== e.type &&
                                                (3 === e.type ||
                                                    !(
                                                        !e.pre &&
                                                        (e.hasBindings ||
                                                            e.if ||
                                                            e.for ||
                                                            g(e.tag) ||
                                                            !gs(e.tag) ||
                                                            (function (e) {
                                                                for (; e.parent; ) {
                                                                    if ("template" !== (e = e.parent).tag) return !1;
                                                                    if (e.for) return !0;
                                                                }
                                                                return !1;
                                                            })(e) ||
                                                            !Object.keys(e).every(ms))
                                                    ))
                                            );
                                        })(t)),
                                        1 === t.type)
                                    ) {
                                        if (!gs(t.tag) && "slot" !== t.tag && null == t.attrsMap["inline-template"]) return;
                                        for (var n = 0, r = t.children.length; n < r; n++) {
                                            var o = t.children[n];
                                            e(o), o.static || (t.static = !1);
                                        }
                                        if (t.ifConditions)
                                            for (var i = 1, s = t.ifConditions.length; i < s; i++) {
                                                var a = t.ifConditions[i].block;
                                                e(a), a.static || (t.static = !1);
                                            }
                                    }
                                })(e),
                                (function e(t, n) {
                                    if (1 === t.type) {
                                        if (((t.static || t.once) && (t.staticInFor = n), t.static && t.children.length && (1 !== t.children.length || 3 !== t.children[0].type))) return void (t.staticRoot = !0);
                                        if (((t.staticRoot = !1), t.children)) for (var r = 0, o = t.children.length; r < o; r++) e(t.children[r], n || !!t.for);
                                        if (t.ifConditions) for (var i = 1, s = t.ifConditions.length; i < s; i++) e(t.ifConditions[i].block, n);
                                    }
                                })(e, !1));
                        })(n, t);
                    var r = Rs(n, t);
                    return { ast: n, render: r.render, staticRenderFns: r.staticRenderFns };
                }),
                function (e) {
                    function t(t, n) {
                        var r = Object.create(e),
                            o = [],
                            i = [];
                        if (n)
                            for (var s in (n.modules && (r.modules = (e.modules || []).concat(n.modules)), n.directives && (r.directives = N(Object.create(e.directives || null), n.directives)), n))
                                "modules" !== s && "directives" !== s && (r[s] = n[s]);
                        r.warn = function (e, t, n) {
                            (n ? i : o).push(e);
                        };
                        var a = Gs(t.trim(), r);
                        return (a.errors = o), (a.tips = i), a;
                    }
                    return { compile: t, compileToFunctions: Ks(t) };
                })(ys),
                Js = (Xs.compile, Xs.compileToFunctions);
            function Qs(e) {
                return ((Ys = Ys || document.createElement("div")).innerHTML = e ? '<a href="\n"/>' : '<div a="\n"/>'), Ys.innerHTML.indexOf("&#10;") > 0;
            }
            var Zs = !!V && Qs(!1),
                ea = !!V && Qs(!0),
                ta = w(function (e) {
                    var t = Xn(e);
                    return t && t.innerHTML;
                }),
                na = xn.prototype.$mount;
            (xn.prototype.$mount = function (e, t) {
                if ((e = e && Xn(e)) === document.body || e === document.documentElement) return this;
                var n = this.$options;
                if (!n.render) {
                    var r = n.template;
                    if (r)
                        if ("string" == typeof r) "#" === r.charAt(0) && (r = ta(r));
                        else {
                            if (!r.nodeType) return this;
                            r = r.innerHTML;
                        }
                    else
                        e &&
                            (r = (function (e) {
                                if (e.outerHTML) return e.outerHTML;
                                var t = document.createElement("div");
                                return t.appendChild(e.cloneNode(!0)), t.innerHTML;
                            })(e));
                    if (r) {
                        var o = Js(r, { outputSourceRange: !1, shouldDecodeNewlines: Zs, shouldDecodeNewlinesForHref: ea, delimiters: n.delimiters, comments: n.comments }, this),
                            i = o.render,
                            s = o.staticRenderFns;
                        (n.render = i), (n.staticRenderFns = s);
                    }
                }
                return na.call(this, e, t);
            }),
                (xn.compile = Js),
                (e.exports = xn);
        }.call(this, n(1), n(39).setImmediate));
    },
    function (e, t, n) {
        (function (e) {
            var r = (void 0 !== e && e) || ("undefined" != typeof self && self) || window,
                o = Function.prototype.apply;
            function i(e, t) {
                (this._id = e), (this._clearFn = t);
            }
            (t.setTimeout = function () {
                return new i(o.call(setTimeout, r, arguments), clearTimeout);
            }),
                (t.setInterval = function () {
                    return new i(o.call(setInterval, r, arguments), clearInterval);
                }),
                (t.clearTimeout = t.clearInterval = function (e) {
                    e && e.close();
                }),
                (i.prototype.unref = i.prototype.ref = function () {}),
                (i.prototype.close = function () {
                    this._clearFn.call(r, this._id);
                }),
                (t.enroll = function (e, t) {
                    clearTimeout(e._idleTimeoutId), (e._idleTimeout = t);
                }),
                (t.unenroll = function (e) {
                    clearTimeout(e._idleTimeoutId), (e._idleTimeout = -1);
                }),
                (t._unrefActive = t.active = function (e) {
                    clearTimeout(e._idleTimeoutId);
                    var t = e._idleTimeout;
                    t >= 0 &&
                        (e._idleTimeoutId = setTimeout(function () {
                            e._onTimeout && e._onTimeout();
                        }, t));
                }),
                n(40),
                (t.setImmediate = ("undefined" != typeof self && self.setImmediate) || (void 0 !== e && e.setImmediate) || (this && this.setImmediate)),
                (t.clearImmediate = ("undefined" != typeof self && self.clearImmediate) || (void 0 !== e && e.clearImmediate) || (this && this.clearImmediate));
        }.call(this, n(1)));
    },
    function (e, t, n) {
        (function (e, t) {
            !(function (e, n) {
                "use strict";
                if (!e.setImmediate) {
                    var r,
                        o,
                        i,
                        s,
                        a,
                        l = 1,
                        c = {},
                        u = !1,
                        d = e.document,
                        f = Object.getPrototypeOf && Object.getPrototypeOf(e);
                    (f = f && f.setTimeout ? f : e),
                        "[object process]" === {}.toString.call(e.process)
                            ? (r = function (e) {
                                  t.nextTick(function () {
                                      h(e);
                                  });
                              })
                            : !(function () {
                                  if (e.postMessage && !e.importScripts) {
                                      var t = !0,
                                          n = e.onmessage;
                                      return (
                                          (e.onmessage = function () {
                                              t = !1;
                                          }),
                                          e.postMessage("", "*"),
                                          (e.onmessage = n),
                                          t
                                      );
                                  }
                              })()
                            ? e.MessageChannel
                                ? (((i = new MessageChannel()).port1.onmessage = function (e) {
                                      h(e.data);
                                  }),
                                  (r = function (e) {
                                      i.port2.postMessage(e);
                                  }))
                                : d && "onreadystatechange" in d.createElement("script")
                                ? ((o = d.documentElement),
                                  (r = function (e) {
                                      var t = d.createElement("script");
                                      (t.onreadystatechange = function () {
                                          h(e), (t.onreadystatechange = null), o.removeChild(t), (t = null);
                                      }),
                                          o.appendChild(t);
                                  }))
                                : (r = function (e) {
                                      setTimeout(h, 0, e);
                                  })
                            : ((s = "setImmediate$" + Math.random() + "$"),
                              (a = function (t) {
                                  t.source === e && "string" == typeof t.data && 0 === t.data.indexOf(s) && h(+t.data.slice(s.length));
                              }),
                              e.addEventListener ? e.addEventListener("message", a, !1) : e.attachEvent("onmessage", a),
                              (r = function (t) {
                                  e.postMessage(s + t, "*");
                              })),
                        (f.setImmediate = function (e) {
                            "function" != typeof e && (e = new Function("" + e));
                            for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++) t[n] = arguments[n + 1];
                            var o = { callback: e, args: t };
                            return (c[l] = o), r(l), l++;
                        }),
                        (f.clearImmediate = p);
                }
                function p(e) {
                    delete c[e];
                }
                function h(e) {
                    if (u) setTimeout(h, 0, e);
                    else {
                        var t = c[e];
                        if (t) {
                            u = !0;
                            try {
                                !(function (e) {
                                    var t = e.callback,
                                        n = e.args;
                                    switch (n.length) {
                                        case 0:
                                            t();
                                            break;
                                        case 1:
                                            t(n[0]);
                                            break;
                                        case 2:
                                            t(n[0], n[1]);
                                            break;
                                        case 3:
                                            t(n[0], n[1], n[2]);
                                            break;
                                        default:
                                            t.apply(void 0, n);
                                    }
                                })(t);
                            } finally {
                                p(e), (u = !1);
                            }
                        }
                    }
                }
            })("undefined" == typeof self ? (void 0 === e ? this : e) : self);
        }.call(this, n(1), n(7)));
    },
    function (e, t, n) {
        "use strict";
        n.r(t),
            n.d(t, "Alert", function () {
                return _t;
            }),
            n.d(t, "Button", function () {
                return wt;
            }),
            n.d(t, "Carousel", function () {
                return Nt;
            }),
            n.d(t, "Collapse", function () {
                return Rt;
            }),
            n.d(t, "Dropdown", function () {
                return zt;
            }),
            n.d(t, "Modal", function () {
                return en;
            }),
            n.d(t, "Offcanvas", function () {
                return an;
            }),
            n.d(t, "Popover", function () {
                return En;
            }),
            n.d(t, "ScrollSpy", function () {
                return Sn;
            }),
            n.d(t, "Tab", function () {
                return Pn;
            }),
            n.d(t, "Toast", function () {
                return In;
            }),
            n.d(t, "Tooltip", function () {
                return wn;
            });
        var r = {};
        n.r(r),
            n.d(r, "top", function () {
                return o;
            }),
            n.d(r, "bottom", function () {
                return i;
            }),
            n.d(r, "right", function () {
                return s;
            }),
            n.d(r, "left", function () {
                return a;
            }),
            n.d(r, "auto", function () {
                return l;
            }),
            n.d(r, "basePlacements", function () {
                return c;
            }),
            n.d(r, "start", function () {
                return u;
            }),
            n.d(r, "end", function () {
                return d;
            }),
            n.d(r, "clippingParents", function () {
                return f;
            }),
            n.d(r, "viewport", function () {
                return p;
            }),
            n.d(r, "popper", function () {
                return h;
            }),
            n.d(r, "reference", function () {
                return m;
            }),
            n.d(r, "variationPlacements", function () {
                return g;
            }),
            n.d(r, "placements", function () {
                return v;
            }),
            n.d(r, "beforeRead", function () {
                return y;
            }),
            n.d(r, "read", function () {
                return b;
            }),
            n.d(r, "afterRead", function () {
                return _;
            }),
            n.d(r, "beforeMain", function () {
                return w;
            }),
            n.d(r, "main", function () {
                return C;
            }),
            n.d(r, "afterMain", function () {
                return x;
            }),
            n.d(r, "beforeWrite", function () {
                return E;
            }),
            n.d(r, "write", function () {
                return k;
            }),
            n.d(r, "afterWrite", function () {
                return A;
            }),
            n.d(r, "modifierPhases", function () {
                return S;
            }),
            n.d(r, "applyStyles", function () {
                return L;
            }),
            n.d(r, "arrow", function () {
                return J;
            }),
            n.d(r, "computeStyles", function () {
                return te;
            }),
            n.d(r, "eventListeners", function () {
                return re;
            }),
            n.d(r, "flip", function () {
                return ve;
            }),
            n.d(r, "hide", function () {
                return _e;
            }),
            n.d(r, "offset", function () {
                return we;
            }),
            n.d(r, "popperOffsets", function () {
                return Ce;
            }),
            n.d(r, "preventOverflow", function () {
                return xe;
            }),
            n.d(r, "popperGenerator", function () {
                return Te;
            }),
            n.d(r, "detectOverflow", function () {
                return ge;
            }),
            n.d(r, "createPopperBase", function () {
                return Ne;
            }),
            n.d(r, "createPopper", function () {
                return Oe;
            }),
            n.d(r, "createPopperLite", function () {
                return De;
            });
        var o = "top",
            i = "bottom",
            s = "right",
            a = "left",
            l = "auto",
            c = [o, i, s, a],
            u = "start",
            d = "end",
            f = "clippingParents",
            p = "viewport",
            h = "popper",
            m = "reference",
            g = c.reduce(function (e, t) {
                return e.concat([t + "-" + u, t + "-" + d]);
            }, []),
            v = [].concat(c, [l]).reduce(function (e, t) {
                return e.concat([t, t + "-" + u, t + "-" + d]);
            }, []),
            y = "beforeRead",
            b = "read",
            _ = "afterRead",
            w = "beforeMain",
            C = "main",
            x = "afterMain",
            E = "beforeWrite",
            k = "write",
            A = "afterWrite",
            S = [y, b, _, w, C, x, E, k, A];
        function T(e) {
            return e ? (e.nodeName || "").toLowerCase() : null;
        }
        function N(e) {
            if (null == e) return window;
            if ("[object Window]" !== e.toString()) {
                var t = e.ownerDocument;
                return (t && t.defaultView) || window;
            }
            return e;
        }
        function O(e) {
            return e instanceof N(e).Element || e instanceof Element;
        }
        function D(e) {
            return e instanceof N(e).HTMLElement || e instanceof HTMLElement;
        }
        function R(e) {
            return "undefined" != typeof ShadowRoot && (e instanceof N(e).ShadowRoot || e instanceof ShadowRoot);
        }
        var L = {
            name: "applyStyles",
            enabled: !0,
            phase: "write",
            fn: function (e) {
                var t = e.state;
                Object.keys(t.elements).forEach(function (e) {
                    var n = t.styles[e] || {},
                        r = t.attributes[e] || {},
                        o = t.elements[e];
                    D(o) &&
                        T(o) &&
                        (Object.assign(o.style, n),
                        Object.keys(r).forEach(function (e) {
                            var t = r[e];
                            !1 === t ? o.removeAttribute(e) : o.setAttribute(e, !0 === t ? "" : t);
                        }));
                });
            },
            effect: function (e) {
                var t = e.state,
                    n = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} };
                return (
                    Object.assign(t.elements.popper.style, n.popper),
                    (t.styles = n),
                    t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow),
                    function () {
                        Object.keys(t.elements).forEach(function (e) {
                            var r = t.elements[e],
                                o = t.attributes[e] || {},
                                i = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(function (e, t) {
                                    return (e[t] = ""), e;
                                }, {});
                            D(r) &&
                                T(r) &&
                                (Object.assign(r.style, i),
                                Object.keys(o).forEach(function (e) {
                                    r.removeAttribute(e);
                                }));
                        });
                    }
                );
            },
            requires: ["computeStyles"],
        };
        function P(e) {
            return e.split("-")[0];
        }
        var $ = Math.max,
            M = Math.min,
            I = Math.round;
        function B(e, t) {
            void 0 === t && (t = !1);
            var n = e.getBoundingClientRect(),
                r = 1,
                o = 1;
            if (D(e) && t) {
                var i = e.offsetHeight,
                    s = e.offsetWidth;
                s > 0 && (r = I(n.width) / s || 1), i > 0 && (o = I(n.height) / i || 1);
            }
            return { width: n.width / r, height: n.height / o, top: n.top / o, right: n.right / r, bottom: n.bottom / o, left: n.left / r, x: n.left / r, y: n.top / o };
        }
        function j(e) {
            var t = B(e),
                n = e.offsetWidth,
                r = e.offsetHeight;
            return Math.abs(t.width - n) <= 1 && (n = t.width), Math.abs(t.height - r) <= 1 && (r = t.height), { x: e.offsetLeft, y: e.offsetTop, width: n, height: r };
        }
        function F(e, t) {
            var n = t.getRootNode && t.getRootNode();
            if (e.contains(t)) return !0;
            if (n && R(n)) {
                var r = t;
                do {
                    if (r && e.isSameNode(r)) return !0;
                    r = r.parentNode || r.host;
                } while (r);
            }
            return !1;
        }
        function H(e) {
            return N(e).getComputedStyle(e);
        }
        function U(e) {
            return ["table", "td", "th"].indexOf(T(e)) >= 0;
        }
        function q(e) {
            return ((O(e) ? e.ownerDocument : e.document) || window.document).documentElement;
        }
        function z(e) {
            return "html" === T(e) ? e : e.assignedSlot || e.parentNode || (R(e) ? e.host : null) || q(e);
        }
        function W(e) {
            return D(e) && "fixed" !== H(e).position ? e.offsetParent : null;
        }
        function V(e) {
            for (var t = N(e), n = W(e); n && U(n) && "static" === H(n).position; ) n = W(n);
            return n && ("html" === T(n) || ("body" === T(n) && "static" === H(n).position))
                ? t
                : n ||
                      (function (e) {
                          var t = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox");
                          if (-1 !== navigator.userAgent.indexOf("Trident") && D(e) && "fixed" === H(e).position) return null;
                          var n = z(e);
                          for (R(n) && (n = n.host); D(n) && ["html", "body"].indexOf(T(n)) < 0; ) {
                              var r = H(n);
                              if (
                                  "none" !== r.transform ||
                                  "none" !== r.perspective ||
                                  "paint" === r.contain ||
                                  -1 !== ["transform", "perspective"].indexOf(r.willChange) ||
                                  (t && "filter" === r.willChange) ||
                                  (t && r.filter && "none" !== r.filter)
                              )
                                  return n;
                              n = n.parentNode;
                          }
                          return null;
                      })(e) ||
                      t;
        }
        function K(e) {
            return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
        }
        function G(e, t, n) {
            return $(e, M(t, n));
        }
        function Y(e) {
            return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e);
        }
        function X(e, t) {
            return t.reduce(function (t, n) {
                return (t[n] = e), t;
            }, {});
        }
        var J = {
            name: "arrow",
            enabled: !0,
            phase: "main",
            fn: function (e) {
                var t,
                    n = e.state,
                    r = e.name,
                    l = e.options,
                    u = n.elements.arrow,
                    d = n.modifiersData.popperOffsets,
                    f = P(n.placement),
                    p = K(f),
                    h = [a, s].indexOf(f) >= 0 ? "height" : "width";
                if (u && d) {
                    var m = (function (e, t) {
                            return Y("number" != typeof (e = "function" == typeof e ? e(Object.assign({}, t.rects, { placement: t.placement })) : e) ? e : X(e, c));
                        })(l.padding, n),
                        g = j(u),
                        v = "y" === p ? o : a,
                        y = "y" === p ? i : s,
                        b = n.rects.reference[h] + n.rects.reference[p] - d[p] - n.rects.popper[h],
                        _ = d[p] - n.rects.reference[p],
                        w = V(u),
                        C = w ? ("y" === p ? w.clientHeight || 0 : w.clientWidth || 0) : 0,
                        x = b / 2 - _ / 2,
                        E = m[v],
                        k = C - g[h] - m[y],
                        A = C / 2 - g[h] / 2 + x,
                        S = G(E, A, k),
                        T = p;
                    n.modifiersData[r] = (((t = {})[T] = S), (t.centerOffset = S - A), t);
                }
            },
            effect: function (e) {
                var t = e.state,
                    n = e.options.element,
                    r = void 0 === n ? "[data-popper-arrow]" : n;
                null != r && ("string" != typeof r || (r = t.elements.popper.querySelector(r))) && F(t.elements.popper, r) && (t.elements.arrow = r);
            },
            requires: ["popperOffsets"],
            requiresIfExists: ["preventOverflow"],
        };
        function Q(e) {
            return e.split("-")[1];
        }
        var Z = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
        function ee(e) {
            var t,
                n = e.popper,
                r = e.popperRect,
                l = e.placement,
                c = e.variation,
                u = e.offsets,
                f = e.position,
                p = e.gpuAcceleration,
                h = e.adaptive,
                m = e.roundOffsets,
                g = e.isFixed,
                v = u.x,
                y = void 0 === v ? 0 : v,
                b = u.y,
                _ = void 0 === b ? 0 : b,
                w = "function" == typeof m ? m({ x: y, y: _ }) : { x: y, y: _ };
            (y = w.x), (_ = w.y);
            var C = u.hasOwnProperty("x"),
                x = u.hasOwnProperty("y"),
                E = a,
                k = o,
                A = window;
            if (h) {
                var S = V(n),
                    T = "clientHeight",
                    O = "clientWidth";
                if ((S === N(n) && "static" !== H((S = q(n))).position && "absolute" === f && ((T = "scrollHeight"), (O = "scrollWidth")), (S = S), l === o || ((l === a || l === s) && c === d)))
                    (k = i), (_ -= (g && S === A && A.visualViewport ? A.visualViewport.height : S[T]) - r.height), (_ *= p ? 1 : -1);
                if (l === a || ((l === o || l === i) && c === d)) (E = s), (y -= (g && S === A && A.visualViewport ? A.visualViewport.width : S[O]) - r.width), (y *= p ? 1 : -1);
            }
            var D,
                R = Object.assign({ position: f }, h && Z),
                L =
                    !0 === m
                        ? (function (e) {
                              var t = e.x,
                                  n = e.y,
                                  r = window.devicePixelRatio || 1;
                              return { x: I(t * r) / r || 0, y: I(n * r) / r || 0 };
                          })({ x: y, y: _ })
                        : { x: y, y: _ };
            return (
                (y = L.x),
                (_ = L.y),
                p
                    ? Object.assign({}, R, (((D = {})[k] = x ? "0" : ""), (D[E] = C ? "0" : ""), (D.transform = (A.devicePixelRatio || 1) <= 1 ? "translate(" + y + "px, " + _ + "px)" : "translate3d(" + y + "px, " + _ + "px, 0)"), D))
                    : Object.assign({}, R, (((t = {})[k] = x ? _ + "px" : ""), (t[E] = C ? y + "px" : ""), (t.transform = ""), t))
            );
        }
        var te = {
                name: "computeStyles",
                enabled: !0,
                phase: "beforeWrite",
                fn: function (e) {
                    var t = e.state,
                        n = e.options,
                        r = n.gpuAcceleration,
                        o = void 0 === r || r,
                        i = n.adaptive,
                        s = void 0 === i || i,
                        a = n.roundOffsets,
                        l = void 0 === a || a,
                        c = { placement: P(t.placement), variation: Q(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: o, isFixed: "fixed" === t.options.strategy };
                    null != t.modifiersData.popperOffsets &&
                        (t.styles.popper = Object.assign({}, t.styles.popper, ee(Object.assign({}, c, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: s, roundOffsets: l })))),
                        null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, ee(Object.assign({}, c, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: l })))),
                        (t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement }));
                },
                data: {},
            },
            ne = { passive: !0 };
        var re = {
                name: "eventListeners",
                enabled: !0,
                phase: "write",
                fn: function () {},
                effect: function (e) {
                    var t = e.state,
                        n = e.instance,
                        r = e.options,
                        o = r.scroll,
                        i = void 0 === o || o,
                        s = r.resize,
                        a = void 0 === s || s,
                        l = N(t.elements.popper),
                        c = [].concat(t.scrollParents.reference, t.scrollParents.popper);
                    return (
                        i &&
                            c.forEach(function (e) {
                                e.addEventListener("scroll", n.update, ne);
                            }),
                        a && l.addEventListener("resize", n.update, ne),
                        function () {
                            i &&
                                c.forEach(function (e) {
                                    e.removeEventListener("scroll", n.update, ne);
                                }),
                                a && l.removeEventListener("resize", n.update, ne);
                        }
                    );
                },
                data: {},
            },
            oe = { left: "right", right: "left", bottom: "top", top: "bottom" };
        function ie(e) {
            return e.replace(/left|right|bottom|top/g, function (e) {
                return oe[e];
            });
        }
        var se = { start: "end", end: "start" };
        function ae(e) {
            return e.replace(/start|end/g, function (e) {
                return se[e];
            });
        }
        function le(e) {
            var t = N(e);
            return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset };
        }
        function ce(e) {
            return B(q(e)).left + le(e).scrollLeft;
        }
        function ue(e) {
            var t = H(e),
                n = t.overflow,
                r = t.overflowX,
                o = t.overflowY;
            return /auto|scroll|overlay|hidden/.test(n + o + r);
        }
        function de(e, t) {
            var n;
            void 0 === t && (t = []);
            var r = (function e(t) {
                    return ["html", "body", "#document"].indexOf(T(t)) >= 0 ? t.ownerDocument.body : D(t) && ue(t) ? t : e(z(t));
                })(e),
                o = r === (null == (n = e.ownerDocument) ? void 0 : n.body),
                i = N(r),
                s = o ? [i].concat(i.visualViewport || [], ue(r) ? r : []) : r,
                a = t.concat(s);
            return o ? a : a.concat(de(z(s)));
        }
        function fe(e) {
            return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height });
        }
        function pe(e, t) {
            return t === p
                ? fe(
                      (function (e) {
                          var t = N(e),
                              n = q(e),
                              r = t.visualViewport,
                              o = n.clientWidth,
                              i = n.clientHeight,
                              s = 0,
                              a = 0;
                          return r && ((o = r.width), (i = r.height), /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || ((s = r.offsetLeft), (a = r.offsetTop))), { width: o, height: i, x: s + ce(e), y: a };
                      })(e)
                  )
                : O(t)
                ? (function (e) {
                      var t = B(e);
                      return (
                          (t.top = t.top + e.clientTop),
                          (t.left = t.left + e.clientLeft),
                          (t.bottom = t.top + e.clientHeight),
                          (t.right = t.left + e.clientWidth),
                          (t.width = e.clientWidth),
                          (t.height = e.clientHeight),
                          (t.x = t.left),
                          (t.y = t.top),
                          t
                      );
                  })(t)
                : fe(
                      (function (e) {
                          var t,
                              n = q(e),
                              r = le(e),
                              o = null == (t = e.ownerDocument) ? void 0 : t.body,
                              i = $(n.scrollWidth, n.clientWidth, o ? o.scrollWidth : 0, o ? o.clientWidth : 0),
                              s = $(n.scrollHeight, n.clientHeight, o ? o.scrollHeight : 0, o ? o.clientHeight : 0),
                              a = -r.scrollLeft + ce(e),
                              l = -r.scrollTop;
                          return "rtl" === H(o || n).direction && (a += $(n.clientWidth, o ? o.clientWidth : 0) - i), { width: i, height: s, x: a, y: l };
                      })(q(e))
                  );
        }
        function he(e, t, n) {
            var r =
                    "clippingParents" === t
                        ? (function (e) {
                              var t = de(z(e)),
                                  n = ["absolute", "fixed"].indexOf(H(e).position) >= 0 && D(e) ? V(e) : e;
                              return O(n)
                                  ? t.filter(function (e) {
                                        return O(e) && F(e, n) && "body" !== T(e);
                                    })
                                  : [];
                          })(e)
                        : [].concat(t),
                o = [].concat(r, [n]),
                i = o[0],
                s = o.reduce(function (t, n) {
                    var r = pe(e, n);
                    return (t.top = $(r.top, t.top)), (t.right = M(r.right, t.right)), (t.bottom = M(r.bottom, t.bottom)), (t.left = $(r.left, t.left)), t;
                }, pe(e, i));
            return (s.width = s.right - s.left), (s.height = s.bottom - s.top), (s.x = s.left), (s.y = s.top), s;
        }
        function me(e) {
            var t,
                n = e.reference,
                r = e.element,
                l = e.placement,
                c = l ? P(l) : null,
                f = l ? Q(l) : null,
                p = n.x + n.width / 2 - r.width / 2,
                h = n.y + n.height / 2 - r.height / 2;
            switch (c) {
                case o:
                    t = { x: p, y: n.y - r.height };
                    break;
                case i:
                    t = { x: p, y: n.y + n.height };
                    break;
                case s:
                    t = { x: n.x + n.width, y: h };
                    break;
                case a:
                    t = { x: n.x - r.width, y: h };
                    break;
                default:
                    t = { x: n.x, y: n.y };
            }
            var m = c ? K(c) : null;
            if (null != m) {
                var g = "y" === m ? "height" : "width";
                switch (f) {
                    case u:
                        t[m] = t[m] - (n[g] / 2 - r[g] / 2);
                        break;
                    case d:
                        t[m] = t[m] + (n[g] / 2 - r[g] / 2);
                }
            }
            return t;
        }
        function ge(e, t) {
            void 0 === t && (t = {});
            var n = t,
                r = n.placement,
                a = void 0 === r ? e.placement : r,
                l = n.boundary,
                u = void 0 === l ? f : l,
                d = n.rootBoundary,
                g = void 0 === d ? p : d,
                v = n.elementContext,
                y = void 0 === v ? h : v,
                b = n.altBoundary,
                _ = void 0 !== b && b,
                w = n.padding,
                C = void 0 === w ? 0 : w,
                x = Y("number" != typeof C ? C : X(C, c)),
                E = y === h ? m : h,
                k = e.rects.popper,
                A = e.elements[_ ? E : y],
                S = he(O(A) ? A : A.contextElement || q(e.elements.popper), u, g),
                T = B(e.elements.reference),
                N = me({ reference: T, element: k, strategy: "absolute", placement: a }),
                D = fe(Object.assign({}, k, N)),
                R = y === h ? D : T,
                L = { top: S.top - R.top + x.top, bottom: R.bottom - S.bottom + x.bottom, left: S.left - R.left + x.left, right: R.right - S.right + x.right },
                P = e.modifiersData.offset;
            if (y === h && P) {
                var $ = P[a];
                Object.keys(L).forEach(function (e) {
                    var t = [s, i].indexOf(e) >= 0 ? 1 : -1,
                        n = [o, i].indexOf(e) >= 0 ? "y" : "x";
                    L[e] += $[n] * t;
                });
            }
            return L;
        }
        var ve = {
            name: "flip",
            enabled: !0,
            phase: "main",
            fn: function (e) {
                var t = e.state,
                    n = e.options,
                    r = e.name;
                if (!t.modifiersData[r]._skip) {
                    for (
                        var d = n.mainAxis,
                            f = void 0 === d || d,
                            p = n.altAxis,
                            h = void 0 === p || p,
                            m = n.fallbackPlacements,
                            y = n.padding,
                            b = n.boundary,
                            _ = n.rootBoundary,
                            w = n.altBoundary,
                            C = n.flipVariations,
                            x = void 0 === C || C,
                            E = n.allowedAutoPlacements,
                            k = t.options.placement,
                            A = P(k),
                            S =
                                m ||
                                (A === k || !x
                                    ? [ie(k)]
                                    : (function (e) {
                                          if (P(e) === l) return [];
                                          var t = ie(e);
                                          return [ae(e), t, ae(t)];
                                      })(k)),
                            T = [k].concat(S).reduce(function (e, n) {
                                return e.concat(
                                    P(n) === l
                                        ? (function (e, t) {
                                              void 0 === t && (t = {});
                                              var n = t,
                                                  r = n.placement,
                                                  o = n.boundary,
                                                  i = n.rootBoundary,
                                                  s = n.padding,
                                                  a = n.flipVariations,
                                                  l = n.allowedAutoPlacements,
                                                  u = void 0 === l ? v : l,
                                                  d = Q(r),
                                                  f = d
                                                      ? a
                                                          ? g
                                                          : g.filter(function (e) {
                                                                return Q(e) === d;
                                                            })
                                                      : c,
                                                  p = f.filter(function (e) {
                                                      return u.indexOf(e) >= 0;
                                                  });
                                              0 === p.length && (p = f);
                                              var h = p.reduce(function (t, n) {
                                                  return (t[n] = ge(e, { placement: n, boundary: o, rootBoundary: i, padding: s })[P(n)]), t;
                                              }, {});
                                              return Object.keys(h).sort(function (e, t) {
                                                  return h[e] - h[t];
                                              });
                                          })(t, { placement: n, boundary: b, rootBoundary: _, padding: y, flipVariations: x, allowedAutoPlacements: E })
                                        : n
                                );
                            }, []),
                            N = t.rects.reference,
                            O = t.rects.popper,
                            D = new Map(),
                            R = !0,
                            L = T[0],
                            $ = 0;
                        $ < T.length;
                        $++
                    ) {
                        var M = T[$],
                            I = P(M),
                            B = Q(M) === u,
                            j = [o, i].indexOf(I) >= 0,
                            F = j ? "width" : "height",
                            H = ge(t, { placement: M, boundary: b, rootBoundary: _, altBoundary: w, padding: y }),
                            U = j ? (B ? s : a) : B ? i : o;
                        N[F] > O[F] && (U = ie(U));
                        var q = ie(U),
                            z = [];
                        if (
                            (f && z.push(H[I] <= 0),
                            h && z.push(H[U] <= 0, H[q] <= 0),
                            z.every(function (e) {
                                return e;
                            }))
                        ) {
                            (L = M), (R = !1);
                            break;
                        }
                        D.set(M, z);
                    }
                    if (R)
                        for (
                            var W = function (e) {
                                    var t = T.find(function (t) {
                                        var n = D.get(t);
                                        if (n)
                                            return n.slice(0, e).every(function (e) {
                                                return e;
                                            });
                                    });
                                    if (t) return (L = t), "break";
                                },
                                V = x ? 3 : 1;
                            V > 0;
                            V--
                        ) {
                            if ("break" === W(V)) break;
                        }
                    t.placement !== L && ((t.modifiersData[r]._skip = !0), (t.placement = L), (t.reset = !0));
                }
            },
            requiresIfExists: ["offset"],
            data: { _skip: !1 },
        };
        function ye(e, t, n) {
            return void 0 === n && (n = { x: 0, y: 0 }), { top: e.top - t.height - n.y, right: e.right - t.width + n.x, bottom: e.bottom - t.height + n.y, left: e.left - t.width - n.x };
        }
        function be(e) {
            return [o, s, i, a].some(function (t) {
                return e[t] >= 0;
            });
        }
        var _e = {
            name: "hide",
            enabled: !0,
            phase: "main",
            requiresIfExists: ["preventOverflow"],
            fn: function (e) {
                var t = e.state,
                    n = e.name,
                    r = t.rects.reference,
                    o = t.rects.popper,
                    i = t.modifiersData.preventOverflow,
                    s = ge(t, { elementContext: "reference" }),
                    a = ge(t, { altBoundary: !0 }),
                    l = ye(s, r),
                    c = ye(a, o, i),
                    u = be(l),
                    d = be(c);
                (t.modifiersData[n] = { referenceClippingOffsets: l, popperEscapeOffsets: c, isReferenceHidden: u, hasPopperEscaped: d }),
                    (t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-reference-hidden": u, "data-popper-escaped": d }));
            },
        };
        var we = {
            name: "offset",
            enabled: !0,
            phase: "main",
            requires: ["popperOffsets"],
            fn: function (e) {
                var t = e.state,
                    n = e.options,
                    r = e.name,
                    i = n.offset,
                    l = void 0 === i ? [0, 0] : i,
                    c = v.reduce(function (e, n) {
                        return (
                            (e[n] = (function (e, t, n) {
                                var r = P(e),
                                    i = [a, o].indexOf(r) >= 0 ? -1 : 1,
                                    l = "function" == typeof n ? n(Object.assign({}, t, { placement: e })) : n,
                                    c = l[0],
                                    u = l[1];
                                return (c = c || 0), (u = (u || 0) * i), [a, s].indexOf(r) >= 0 ? { x: u, y: c } : { x: c, y: u };
                            })(n, t.rects, l)),
                            e
                        );
                    }, {}),
                    u = c[t.placement],
                    d = u.x,
                    f = u.y;
                null != t.modifiersData.popperOffsets && ((t.modifiersData.popperOffsets.x += d), (t.modifiersData.popperOffsets.y += f)), (t.modifiersData[r] = c);
            },
        };
        var Ce = {
            name: "popperOffsets",
            enabled: !0,
            phase: "read",
            fn: function (e) {
                var t = e.state,
                    n = e.name;
                t.modifiersData[n] = me({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement });
            },
            data: {},
        };
        var xe = {
            name: "preventOverflow",
            enabled: !0,
            phase: "main",
            fn: function (e) {
                var t = e.state,
                    n = e.options,
                    r = e.name,
                    l = n.mainAxis,
                    c = void 0 === l || l,
                    d = n.altAxis,
                    f = void 0 !== d && d,
                    p = n.boundary,
                    h = n.rootBoundary,
                    m = n.altBoundary,
                    g = n.padding,
                    v = n.tether,
                    y = void 0 === v || v,
                    b = n.tetherOffset,
                    _ = void 0 === b ? 0 : b,
                    w = ge(t, { boundary: p, rootBoundary: h, padding: g, altBoundary: m }),
                    C = P(t.placement),
                    x = Q(t.placement),
                    E = !x,
                    k = K(C),
                    A = "x" === k ? "y" : "x",
                    S = t.modifiersData.popperOffsets,
                    T = t.rects.reference,
                    N = t.rects.popper,
                    O = "function" == typeof _ ? _(Object.assign({}, t.rects, { placement: t.placement })) : _,
                    D = "number" == typeof O ? { mainAxis: O, altAxis: O } : Object.assign({ mainAxis: 0, altAxis: 0 }, O),
                    R = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null,
                    L = { x: 0, y: 0 };
                if (S) {
                    if (c) {
                        var I,
                            B = "y" === k ? o : a,
                            F = "y" === k ? i : s,
                            H = "y" === k ? "height" : "width",
                            U = S[k],
                            q = U + w[B],
                            z = U - w[F],
                            W = y ? -N[H] / 2 : 0,
                            Y = x === u ? T[H] : N[H],
                            X = x === u ? -N[H] : -T[H],
                            J = t.elements.arrow,
                            Z = y && J ? j(J) : { width: 0, height: 0 },
                            ee = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 },
                            te = ee[B],
                            ne = ee[F],
                            re = G(0, T[H], Z[H]),
                            oe = E ? T[H] / 2 - W - re - te - D.mainAxis : Y - re - te - D.mainAxis,
                            ie = E ? -T[H] / 2 + W + re + ne + D.mainAxis : X + re + ne + D.mainAxis,
                            se = t.elements.arrow && V(t.elements.arrow),
                            ae = se ? ("y" === k ? se.clientTop || 0 : se.clientLeft || 0) : 0,
                            le = null != (I = null == R ? void 0 : R[k]) ? I : 0,
                            ce = U + ie - le,
                            ue = G(y ? M(q, U + oe - le - ae) : q, U, y ? $(z, ce) : z);
                        (S[k] = ue), (L[k] = ue - U);
                    }
                    if (f) {
                        var de,
                            fe = "x" === k ? o : a,
                            pe = "x" === k ? i : s,
                            he = S[A],
                            me = "y" === A ? "height" : "width",
                            ve = he + w[fe],
                            ye = he - w[pe],
                            be = -1 !== [o, a].indexOf(C),
                            _e = null != (de = null == R ? void 0 : R[A]) ? de : 0,
                            we = be ? ve : he - T[me] - N[me] - _e + D.altAxis,
                            Ce = be ? he + T[me] + N[me] - _e - D.altAxis : ye,
                            xe =
                                y && be
                                    ? (function (e, t, n) {
                                          var r = G(e, t, n);
                                          return r > n ? n : r;
                                      })(we, he, Ce)
                                    : G(y ? we : ve, he, y ? Ce : ye);
                        (S[A] = xe), (L[A] = xe - he);
                    }
                    t.modifiersData[r] = L;
                }
            },
            requiresIfExists: ["offset"],
        };
        function Ee(e, t, n) {
            void 0 === n && (n = !1);
            var r,
                o,
                i = D(t),
                s =
                    D(t) &&
                    (function (e) {
                        var t = e.getBoundingClientRect(),
                            n = I(t.width) / e.offsetWidth || 1,
                            r = I(t.height) / e.offsetHeight || 1;
                        return 1 !== n || 1 !== r;
                    })(t),
                a = q(t),
                l = B(e, s),
                c = { scrollLeft: 0, scrollTop: 0 },
                u = { x: 0, y: 0 };
            return (
                (i || (!i && !n)) &&
                    (("body" !== T(t) || ue(a)) && (c = (r = t) !== N(r) && D(r) ? { scrollLeft: (o = r).scrollLeft, scrollTop: o.scrollTop } : le(r)), D(t) ? (((u = B(t, !0)).x += t.clientLeft), (u.y += t.clientTop)) : a && (u.x = ce(a))),
                { x: l.left + c.scrollLeft - u.x, y: l.top + c.scrollTop - u.y, width: l.width, height: l.height }
            );
        }
        function ke(e) {
            var t = new Map(),
                n = new Set(),
                r = [];
            return (
                e.forEach(function (e) {
                    t.set(e.name, e);
                }),
                e.forEach(function (e) {
                    n.has(e.name) ||
                        (function e(o) {
                            n.add(o.name),
                                [].concat(o.requires || [], o.requiresIfExists || []).forEach(function (r) {
                                    if (!n.has(r)) {
                                        var o = t.get(r);
                                        o && e(o);
                                    }
                                }),
                                r.push(o);
                        })(e);
                }),
                r
            );
        }
        var Ae = { placement: "bottom", modifiers: [], strategy: "absolute" };
        function Se() {
            for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
            return !t.some(function (e) {
                return !(e && "function" == typeof e.getBoundingClientRect);
            });
        }
        function Te(e) {
            void 0 === e && (e = {});
            var t = e,
                n = t.defaultModifiers,
                r = void 0 === n ? [] : n,
                o = t.defaultOptions,
                i = void 0 === o ? Ae : o;
            return function (e, t, n) {
                void 0 === n && (n = i);
                var o,
                    s,
                    a = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, Ae, i), modifiersData: {}, elements: { reference: e, popper: t }, attributes: {}, styles: {} },
                    l = [],
                    c = !1,
                    u = {
                        state: a,
                        setOptions: function (n) {
                            var o = "function" == typeof n ? n(a.options) : n;
                            d(), (a.options = Object.assign({}, i, a.options, o)), (a.scrollParents = { reference: O(e) ? de(e) : e.contextElement ? de(e.contextElement) : [], popper: de(t) });
                            var s = (function (e) {
                                var t = ke(e);
                                return S.reduce(function (e, n) {
                                    return e.concat(
                                        t.filter(function (e) {
                                            return e.phase === n;
                                        })
                                    );
                                }, []);
                            })(
                                (function (e) {
                                    var t = e.reduce(function (e, t) {
                                        var n = e[t.name];
                                        return (e[t.name] = n ? Object.assign({}, n, t, { options: Object.assign({}, n.options, t.options), data: Object.assign({}, n.data, t.data) }) : t), e;
                                    }, {});
                                    return Object.keys(t).map(function (e) {
                                        return t[e];
                                    });
                                })([].concat(r, a.options.modifiers))
                            );
                            return (
                                (a.orderedModifiers = s.filter(function (e) {
                                    return e.enabled;
                                })),
                                a.orderedModifiers.forEach(function (e) {
                                    var t = e.name,
                                        n = e.options,
                                        r = void 0 === n ? {} : n,
                                        o = e.effect;
                                    if ("function" == typeof o) {
                                        var i = o({ state: a, name: t, instance: u, options: r });
                                        l.push(i || function () {});
                                    }
                                }),
                                u.update()
                            );
                        },
                        forceUpdate: function () {
                            if (!c) {
                                var e = a.elements,
                                    t = e.reference,
                                    n = e.popper;
                                if (Se(t, n)) {
                                    (a.rects = { reference: Ee(t, V(n), "fixed" === a.options.strategy), popper: j(n) }),
                                        (a.reset = !1),
                                        (a.placement = a.options.placement),
                                        a.orderedModifiers.forEach(function (e) {
                                            return (a.modifiersData[e.name] = Object.assign({}, e.data));
                                        });
                                    for (var r = 0; r < a.orderedModifiers.length; r++)
                                        if (!0 !== a.reset) {
                                            var o = a.orderedModifiers[r],
                                                i = o.fn,
                                                s = o.options,
                                                l = void 0 === s ? {} : s,
                                                d = o.name;
                                            "function" == typeof i && (a = i({ state: a, options: l, name: d, instance: u }) || a);
                                        } else (a.reset = !1), (r = -1);
                                }
                            }
                        },
                        update:
                            ((o = function () {
                                return new Promise(function (e) {
                                    u.forceUpdate(), e(a);
                                });
                            }),
                            function () {
                                return (
                                    s ||
                                        (s = new Promise(function (e) {
                                            Promise.resolve().then(function () {
                                                (s = void 0), e(o());
                                            });
                                        })),
                                    s
                                );
                            }),
                        destroy: function () {
                            d(), (c = !0);
                        },
                    };
                if (!Se(e, t)) return u;
                function d() {
                    l.forEach(function (e) {
                        return e();
                    }),
                        (l = []);
                }
                return (
                    u.setOptions(n).then(function (e) {
                        !c && n.onFirstUpdate && n.onFirstUpdate(e);
                    }),
                    u
                );
            };
        }
        var Ne = Te(),
            Oe = Te({ defaultModifiers: [re, Ce, te, L, we, ve, xe, J, _e] }),
            De = Te({ defaultModifiers: [re, Ce, te, L] });
        const Re = (e) => {
                let t = e.getAttribute("data-bs-target");
                if (!t || "#" === t) {
                    let n = e.getAttribute("href");
                    if (!n || (!n.includes("#") && !n.startsWith("."))) return null;
                    n.includes("#") && !n.startsWith("#") && (n = "#" + n.split("#")[1]), (t = n && "#" !== n ? n.trim() : null);
                }
                return t;
            },
            Le = (e) => {
                const t = Re(e);
                return t && document.querySelector(t) ? t : null;
            },
            Pe = (e) => {
                const t = Re(e);
                return t ? document.querySelector(t) : null;
            },
            $e = (e) => {
                e.dispatchEvent(new Event("transitionend"));
            },
            Me = (e) => !(!e || "object" != typeof e) && (void 0 !== e.jquery && (e = e[0]), void 0 !== e.nodeType),
            Ie = (e) => (Me(e) ? (e.jquery ? e[0] : e) : "string" == typeof e && e.length > 0 ? document.querySelector(e) : null),
            Be = (e) => {
                if (!Me(e) || 0 === e.getClientRects().length) return !1;
                const t = "visible" === getComputedStyle(e).getPropertyValue("visibility"),
                    n = e.closest("details:not([open])");
                if (!n) return t;
                if (n !== e) {
                    const t = e.closest("summary");
                    if (t && t.parentNode !== n) return !1;
                    if (null === t) return !1;
                }
                return t;
            },
            je = (e) => !e || e.nodeType !== Node.ELEMENT_NODE || !!e.classList.contains("disabled") || (void 0 !== e.disabled ? e.disabled : e.hasAttribute("disabled") && "false" !== e.getAttribute("disabled")),
            Fe = (e) => {
                if (!document.documentElement.attachShadow) return null;
                if ("function" == typeof e.getRootNode) {
                    const t = e.getRootNode();
                    return t instanceof ShadowRoot ? t : null;
                }
                return e instanceof ShadowRoot ? e : e.parentNode ? Fe(e.parentNode) : null;
            },
            He = () => {},
            Ue = (e) => {
                e.offsetHeight;
            },
            qe = () => (window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null),
            ze = [],
            We = () => "rtl" === document.documentElement.dir,
            Ve = (e) => {
                var t;
                (t = () => {
                    const t = qe();
                    if (t) {
                        const n = e.NAME,
                            r = t.fn[n];
                        (t.fn[n] = e.jQueryInterface), (t.fn[n].Constructor = e), (t.fn[n].noConflict = () => ((t.fn[n] = r), e.jQueryInterface));
                    }
                }),
                    "loading" === document.readyState
                        ? (ze.length ||
                              document.addEventListener("DOMContentLoaded", () => {
                                  for (const e of ze) e();
                              }),
                          ze.push(t))
                        : t();
            },
            Ke = (e) => {
                "function" == typeof e && e();
            },
            Ge = (e, t, n = !0) => {
                if (!n) return void Ke(e);
                const r =
                    ((e) => {
                        if (!e) return 0;
                        let { transitionDuration: t, transitionDelay: n } = window.getComputedStyle(e);
                        const r = Number.parseFloat(t),
                            o = Number.parseFloat(n);
                        return r || o ? ((t = t.split(",")[0]), (n = n.split(",")[0]), 1e3 * (Number.parseFloat(t) + Number.parseFloat(n))) : 0;
                    })(t) + 5;
                let o = !1;
                const i = ({ target: n }) => {
                    n === t && ((o = !0), t.removeEventListener("transitionend", i), Ke(e));
                };
                t.addEventListener("transitionend", i),
                    setTimeout(() => {
                        o || $e(t);
                    }, r);
            },
            Ye = (e, t, n, r) => {
                const o = e.length;
                let i = e.indexOf(t);
                return -1 === i ? (!n && r ? e[o - 1] : e[0]) : ((i += n ? 1 : -1), r && (i = (i + o) % o), e[Math.max(0, Math.min(i, o - 1))]);
            },
            Xe = /[^.]*(?=\..*)\.|.*/,
            Je = /\..*/,
            Qe = /::\d+$/,
            Ze = {};
        let et = 1;
        const tt = { mouseenter: "mouseover", mouseleave: "mouseout" },
            nt = new Set([
                "click",
                "dblclick",
                "mouseup",
                "mousedown",
                "contextmenu",
                "mousewheel",
                "DOMMouseScroll",
                "mouseover",
                "mouseout",
                "mousemove",
                "selectstart",
                "selectend",
                "keydown",
                "keypress",
                "keyup",
                "orientationchange",
                "touchstart",
                "touchmove",
                "touchend",
                "touchcancel",
                "pointerdown",
                "pointermove",
                "pointerup",
                "pointerleave",
                "pointercancel",
                "gesturestart",
                "gesturechange",
                "gestureend",
                "focus",
                "blur",
                "change",
                "reset",
                "select",
                "submit",
                "focusin",
                "focusout",
                "load",
                "unload",
                "beforeunload",
                "resize",
                "move",
                "DOMContentLoaded",
                "readystatechange",
                "error",
                "abort",
                "scroll",
            ]);
        function rt(e, t) {
            return (t && `${t}::${et++}`) || e.uidEvent || et++;
        }
        function ot(e) {
            const t = rt(e);
            return (e.uidEvent = t), (Ze[t] = Ze[t] || {}), Ze[t];
        }
        function it(e, t, n = null) {
            return Object.values(e).find((e) => e.originalHandler === t && e.delegationSelector === n);
        }
        function st(e, t, n) {
            const r = "string" == typeof t,
                o = r ? n : t;
            let i = ut(e);
            return nt.has(i) || (i = e), [r, o, i];
        }
        function at(e, t, n, r, o) {
            if ("string" != typeof t || !e) return;
            if ((n || ((n = r), (r = null)), t in tt)) {
                const e = (e) =>
                    function (t) {
                        if (!t.relatedTarget || (t.relatedTarget !== t.delegateTarget && !t.delegateTarget.contains(t.relatedTarget))) return e.call(this, t);
                    };
                r ? (r = e(r)) : (n = e(n));
            }
            const [i, s, a] = st(t, n, r),
                l = ot(e),
                c = l[a] || (l[a] = {}),
                u = it(c, s, i ? n : null);
            if (u) return void (u.oneOff = u.oneOff && o);
            const d = rt(s, t.replace(Xe, "")),
                f = i
                    ? (function (e, t, n) {
                          return function r(o) {
                              const i = e.querySelectorAll(t);
                              for (let { target: s } = o; s && s !== this; s = s.parentNode) for (const a of i) if (a === s) return (o.delegateTarget = s), r.oneOff && dt.off(e, o.type, t, n), n.apply(s, [o]);
                          };
                      })(e, n, r)
                    : (function (e, t) {
                          return function n(r) {
                              return (r.delegateTarget = e), n.oneOff && dt.off(e, r.type, t), t.apply(e, [r]);
                          };
                      })(e, n);
            (f.delegationSelector = i ? n : null), (f.originalHandler = s), (f.oneOff = o), (f.uidEvent = d), (c[d] = f), e.addEventListener(a, f, i);
        }
        function lt(e, t, n, r, o) {
            const i = it(t[n], r, o);
            i && (e.removeEventListener(n, i, Boolean(o)), delete t[n][i.uidEvent]);
        }
        function ct(e, t, n, r) {
            const o = t[n] || {};
            for (const i of Object.keys(o))
                if (i.includes(r)) {
                    const r = o[i];
                    lt(e, t, n, r.originalHandler, r.delegationSelector);
                }
        }
        function ut(e) {
            return (e = e.replace(Je, "")), tt[e] || e;
        }
        const dt = {
                on(e, t, n, r) {
                    at(e, t, n, r, !1);
                },
                one(e, t, n, r) {
                    at(e, t, n, r, !0);
                },
                off(e, t, n, r) {
                    if ("string" != typeof t || !e) return;
                    const [o, i, s] = st(t, n, r),
                        a = s !== t,
                        l = ot(e),
                        c = t.startsWith(".");
                    if (void 0 !== i) {
                        if (!l || !l[s]) return;
                        return void lt(e, l, s, i, o ? n : null);
                    }
                    if (c) for (const n of Object.keys(l)) ct(e, l, n, t.slice(1));
                    const u = l[s] || {};
                    for (const n of Object.keys(u)) {
                        const r = n.replace(Qe, "");
                        if (!a || t.includes(r)) {
                            const t = u[n];
                            lt(e, l, s, t.originalHandler, t.delegationSelector);
                        }
                    }
                },
                trigger(e, t, n) {
                    if ("string" != typeof t || !e) return null;
                    const r = qe();
                    let o = null,
                        i = !0,
                        s = !0,
                        a = !1;
                    t !== ut(t) && r && ((o = r.Event(t, n)), r(e).trigger(o), (i = !o.isPropagationStopped()), (s = !o.isImmediatePropagationStopped()), (a = o.isDefaultPrevented()));
                    const l = new Event(t, { bubbles: i, cancelable: !0 });
                    if (void 0 !== n) for (const e of Object.keys(n)) Object.defineProperty(l, e, { get: () => n[e] });
                    return a && l.preventDefault(), s && e.dispatchEvent(l), l.defaultPrevented && o && o.preventDefault(), l;
                },
            },
            ft = new Map(),
            pt = {
                set(e, t, n) {
                    ft.has(e) || ft.set(e, new Map());
                    const r = ft.get(e);
                    r.has(t) || 0 === r.size ? r.set(t, n) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(r.keys())[0]}.`);
                },
                get: (e, t) => (ft.has(e) && ft.get(e).get(t)) || null,
                remove(e, t) {
                    if (!ft.has(e)) return;
                    const n = ft.get(e);
                    n.delete(t), 0 === n.size && ft.delete(e);
                },
            };
        function ht(e) {
            if ("true" === e) return !0;
            if ("false" === e) return !1;
            if (e === Number(e).toString()) return Number(e);
            if ("" === e || "null" === e) return null;
            if ("string" != typeof e) return e;
            try {
                return JSON.parse(decodeURIComponent(e));
            } catch (t) {
                return e;
            }
        }
        function mt(e) {
            return e.replace(/[A-Z]/g, (e) => "-" + e.toLowerCase());
        }
        const gt = {
            setDataAttribute(e, t, n) {
                e.setAttribute("data-bs-" + mt(t), n);
            },
            removeDataAttribute(e, t) {
                e.removeAttribute("data-bs-" + mt(t));
            },
            getDataAttributes(e) {
                if (!e) return {};
                const t = {},
                    n = Object.keys(e.dataset).filter((e) => e.startsWith("bs") && !e.startsWith("bsConfig"));
                for (const r of n) {
                    let n = r.replace(/^bs/, "");
                    (n = n.charAt(0).toLowerCase() + n.slice(1, n.length)), (t[n] = ht(e.dataset[r]));
                }
                return t;
            },
            getDataAttribute: (e, t) => ht(e.getAttribute("data-bs-" + mt(t))),
        };
        class vt {
            static get Default() {
                return {};
            }
            static get DefaultType() {
                return {};
            }
            static get NAME() {
                throw new Error('You have to implement the static method "NAME", for each component!');
            }
            _getConfig(e) {
                return (e = this._mergeConfigObj(e)), (e = this._configAfterMerge(e)), this._typeCheckConfig(e), e;
            }
            _configAfterMerge(e) {
                return e;
            }
            _mergeConfigObj(e, t) {
                const n = Me(t) ? gt.getDataAttribute(t, "config") : {};
                return { ...this.constructor.Default, ...("object" == typeof n ? n : {}), ...(Me(t) ? gt.getDataAttributes(t) : {}), ...("object" == typeof e ? e : {}) };
            }
            _typeCheckConfig(e, t = this.constructor.DefaultType) {
                for (const r of Object.keys(t)) {
                    const o = t[r],
                        i = e[r],
                        s = Me(i)
                            ? "element"
                            : null == (n = i)
                            ? "" + n
                            : Object.prototype.toString
                                  .call(n)
                                  .match(/\s([a-z]+)/i)[1]
                                  .toLowerCase();
                    if (!new RegExp(o).test(s)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${r}" provided type "${s}" but expected type "${o}".`);
                }
                var n;
            }
        }
        class yt extends vt {
            constructor(e, t) {
                super(), (e = Ie(e)) && ((this._element = e), (this._config = this._getConfig(t)), pt.set(this._element, this.constructor.DATA_KEY, this));
            }
            dispose() {
                pt.remove(this._element, this.constructor.DATA_KEY), dt.off(this._element, this.constructor.EVENT_KEY);
                for (const e of Object.getOwnPropertyNames(this)) this[e] = null;
            }
            _queueCallback(e, t, n = !0) {
                Ge(e, t, n);
            }
            _getConfig(e) {
                return (e = this._mergeConfigObj(e, this._element)), (e = this._configAfterMerge(e)), this._typeCheckConfig(e), e;
            }
            static getInstance(e) {
                return pt.get(Ie(e), this.DATA_KEY);
            }
            static getOrCreateInstance(e, t = {}) {
                return this.getInstance(e) || new this(e, "object" == typeof t ? t : null);
            }
            static get VERSION() {
                return "5.2.0-beta1";
            }
            static get DATA_KEY() {
                return "bs." + this.NAME;
            }
            static get EVENT_KEY() {
                return "." + this.DATA_KEY;
            }
            static eventName(e) {
                return `${e}${this.EVENT_KEY}`;
            }
        }
        const bt = (e, t = "hide") => {
            const n = "click.dismiss" + e.EVENT_KEY,
                r = e.NAME;
            dt.on(document, n, `[data-bs-dismiss="${r}"]`, function (n) {
                if ((["A", "AREA"].includes(this.tagName) && n.preventDefault(), je(this))) return;
                const o = Pe(this) || this.closest("." + r);
                e.getOrCreateInstance(o)[t]();
            });
        };
        class _t extends yt {
            static get NAME() {
                return "alert";
            }
            close() {
                if (dt.trigger(this._element, "close.bs.alert").defaultPrevented) return;
                this._element.classList.remove("show");
                const e = this._element.classList.contains("fade");
                this._queueCallback(() => this._destroyElement(), this._element, e);
            }
            _destroyElement() {
                this._element.remove(), dt.trigger(this._element, "closed.bs.alert"), this.dispose();
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = _t.getOrCreateInstance(this);
                    if ("string" == typeof e) {
                        if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`);
                        t[e](this);
                    }
                });
            }
        }
        bt(_t, "close"), Ve(_t);
        class wt extends yt {
            static get NAME() {
                return "button";
            }
            toggle() {
                this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"));
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = wt.getOrCreateInstance(this);
                    "toggle" === e && t[e]();
                });
            }
        }
        dt.on(document, "click.bs.button.data-api", '[data-bs-toggle="button"]', (e) => {
            e.preventDefault();
            const t = e.target.closest('[data-bs-toggle="button"]');
            wt.getOrCreateInstance(t).toggle();
        }),
            Ve(wt);
        const Ct = {
                find: (e, t = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(t, e)),
                findOne: (e, t = document.documentElement) => Element.prototype.querySelector.call(t, e),
                children: (e, t) => [].concat(...e.children).filter((e) => e.matches(t)),
                parents(e, t) {
                    const n = [];
                    let r = e.parentNode.closest(t);
                    for (; r; ) n.push(r), (r = r.parentNode.closest(t));
                    return n;
                },
                prev(e, t) {
                    let n = e.previousElementSibling;
                    for (; n; ) {
                        if (n.matches(t)) return [n];
                        n = n.previousElementSibling;
                    }
                    return [];
                },
                next(e, t) {
                    let n = e.nextElementSibling;
                    for (; n; ) {
                        if (n.matches(t)) return [n];
                        n = n.nextElementSibling;
                    }
                    return [];
                },
                focusableChildren(e) {
                    const t = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((e) => e + ':not([tabindex^="-"])').join(",");
                    return this.find(t, e).filter((e) => !je(e) && Be(e));
                },
            },
            xt = { leftCallback: null, rightCallback: null, endCallback: null },
            Et = { leftCallback: "(function|null)", rightCallback: "(function|null)", endCallback: "(function|null)" };
        class kt extends vt {
            constructor(e, t) {
                super(), (this._element = e), e && kt.isSupported() && ((this._config = this._getConfig(t)), (this._deltaX = 0), (this._supportPointerEvents = Boolean(window.PointerEvent)), this._initEvents());
            }
            static get Default() {
                return xt;
            }
            static get DefaultType() {
                return Et;
            }
            static get NAME() {
                return "swipe";
            }
            dispose() {
                dt.off(this._element, ".bs.swipe");
            }
            _start(e) {
                this._supportPointerEvents ? this._eventIsPointerPenTouch(e) && (this._deltaX = e.clientX) : (this._deltaX = e.touches[0].clientX);
            }
            _end(e) {
                this._eventIsPointerPenTouch(e) && (this._deltaX = e.clientX - this._deltaX), this._handleSwipe(), Ke(this._config.endCallback);
            }
            _move(e) {
                this._deltaX = e.touches && e.touches.length > 1 ? 0 : e.touches[0].clientX - this._deltaX;
            }
            _handleSwipe() {
                const e = Math.abs(this._deltaX);
                if (e <= 40) return;
                const t = e / this._deltaX;
                (this._deltaX = 0), t && Ke(t > 0 ? this._config.rightCallback : this._config.leftCallback);
            }
            _initEvents() {
                this._supportPointerEvents
                    ? (dt.on(this._element, "pointerdown.bs.swipe", (e) => this._start(e)), dt.on(this._element, "pointerup.bs.swipe", (e) => this._end(e)), this._element.classList.add("pointer-event"))
                    : (dt.on(this._element, "touchstart.bs.swipe", (e) => this._start(e)), dt.on(this._element, "touchmove.bs.swipe", (e) => this._move(e)), dt.on(this._element, "touchend.bs.swipe", (e) => this._end(e)));
            }
            _eventIsPointerPenTouch(e) {
                return this._supportPointerEvents && ("pen" === e.pointerType || "touch" === e.pointerType);
            }
            static isSupported() {
                return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0;
            }
        }
        const At = { ArrowLeft: "right", ArrowRight: "left" },
            St = { interval: 5e3, keyboard: !0, pause: "hover", ride: !1, touch: !0, wrap: !0 },
            Tt = { interval: "(number|boolean)", keyboard: "boolean", ride: "(boolean|string)", pause: "(string|boolean)", touch: "boolean", wrap: "boolean" };
        class Nt extends yt {
            constructor(e, t) {
                super(e, t),
                    (this._interval = null),
                    (this._activeElement = null),
                    (this._isSliding = !1),
                    (this.touchTimeout = null),
                    (this._swipeHelper = null),
                    (this._indicatorsElement = Ct.findOne(".carousel-indicators", this._element)),
                    this._addEventListeners(),
                    "carousel" === this._config.ride && this.cycle();
            }
            static get Default() {
                return St;
            }
            static get DefaultType() {
                return Tt;
            }
            static get NAME() {
                return "carousel";
            }
            next() {
                this._slide("next");
            }
            nextWhenVisible() {
                !document.hidden && Be(this._element) && this.next();
            }
            prev() {
                this._slide("prev");
            }
            pause() {
                this._isSliding && $e(this._element), this._clearInterval();
            }
            cycle() {
                this._clearInterval(), this._updateInterval(), (this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval));
            }
            _maybeEnableCycle() {
                this._config.ride && (this._isSliding ? dt.one(this._element, "slid.bs.carousel", () => this.cycle()) : this.cycle());
            }
            to(e) {
                const t = this._getItems();
                if (e > t.length - 1 || e < 0) return;
                if (this._isSliding) return void dt.one(this._element, "slid.bs.carousel", () => this.to(e));
                const n = this._getItemIndex(this._getActive());
                if (n === e) return;
                const r = e > n ? "next" : "prev";
                this._slide(r, t[e]);
            }
            dispose() {
                this._swipeHelper && this._swipeHelper.dispose(), super.dispose();
            }
            _configAfterMerge(e) {
                return (e.defaultInterval = e.interval), e;
            }
            _addEventListeners() {
                this._config.keyboard && dt.on(this._element, "keydown.bs.carousel", (e) => this._keydown(e)),
                    "hover" === this._config.pause && (dt.on(this._element, "mouseenter.bs.carousel", () => this.pause()), dt.on(this._element, "mouseleave.bs.carousel", () => this._maybeEnableCycle())),
                    this._config.touch && kt.isSupported() && this._addTouchEventListeners();
            }
            _addTouchEventListeners() {
                for (const e of Ct.find(".carousel-item img", this._element)) dt.on(e, "dragstart.bs.carousel", (e) => e.preventDefault());
                const e = {
                    leftCallback: () => this._slide(this._directionToOrder("left")),
                    rightCallback: () => this._slide(this._directionToOrder("right")),
                    endCallback: () => {
                        "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), (this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), 500 + this._config.interval)));
                    },
                };
                this._swipeHelper = new kt(this._element, e);
            }
            _keydown(e) {
                if (/input|textarea/i.test(e.target.tagName)) return;
                const t = At[e.key];
                t && (e.preventDefault(), this._slide(this._directionToOrder(t)));
            }
            _getItemIndex(e) {
                return this._getItems().indexOf(e);
            }
            _setActiveIndicatorElement(e) {
                if (!this._indicatorsElement) return;
                const t = Ct.findOne(".active", this._indicatorsElement);
                t.classList.remove("active"), t.removeAttribute("aria-current");
                const n = Ct.findOne(`[data-bs-slide-to="${e}"]`, this._indicatorsElement);
                n && (n.classList.add("active"), n.setAttribute("aria-current", "true"));
            }
            _updateInterval() {
                const e = this._activeElement || this._getActive();
                if (!e) return;
                const t = Number.parseInt(e.getAttribute("data-bs-interval"), 10);
                this._config.interval = t || this._config.defaultInterval;
            }
            _slide(e, t = null) {
                if (this._isSliding) return;
                const n = this._getActive(),
                    r = "next" === e,
                    o = t || Ye(this._getItems(), n, r, this._config.wrap);
                if (o === n) return;
                const i = this._getItemIndex(o),
                    s = (t) => dt.trigger(this._element, t, { relatedTarget: o, direction: this._orderToDirection(e), from: this._getItemIndex(n), to: i });
                if (s("slide.bs.carousel").defaultPrevented) return;
                if (!n || !o) return;
                const a = Boolean(this._interval);
                this.pause(), (this._isSliding = !0), this._setActiveIndicatorElement(i), (this._activeElement = o);
                const l = r ? "carousel-item-start" : "carousel-item-end",
                    c = r ? "carousel-item-next" : "carousel-item-prev";
                o.classList.add(c), Ue(o), n.classList.add(l), o.classList.add(l);
                this._queueCallback(
                    () => {
                        o.classList.remove(l, c), o.classList.add("active"), n.classList.remove("active", c, l), (this._isSliding = !1), s("slid.bs.carousel");
                    },
                    n,
                    this._isAnimated()
                ),
                    a && this.cycle();
            }
            _isAnimated() {
                return this._element.classList.contains("slide");
            }
            _getActive() {
                return Ct.findOne(".active.carousel-item", this._element);
            }
            _getItems() {
                return Ct.find(".carousel-item", this._element);
            }
            _clearInterval() {
                this._interval && (clearInterval(this._interval), (this._interval = null));
            }
            _directionToOrder(e) {
                return We() ? ("left" === e ? "prev" : "next") : "left" === e ? "next" : "prev";
            }
            _orderToDirection(e) {
                return We() ? ("prev" === e ? "left" : "right") : "prev" === e ? "right" : "left";
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = Nt.getOrCreateInstance(this, e);
                    if ("number" != typeof e) {
                        if ("string" == typeof e) {
                            if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`);
                            t[e]();
                        }
                    } else t.to(e);
                });
            }
        }
        dt.on(document, "click.bs.carousel.data-api", "[data-bs-slide], [data-bs-slide-to]", function (e) {
            const t = Pe(this);
            if (!t || !t.classList.contains("carousel")) return;
            e.preventDefault();
            const n = Nt.getOrCreateInstance(t),
                r = this.getAttribute("data-bs-slide-to");
            return r ? (n.to(r), void n._maybeEnableCycle()) : "next" === gt.getDataAttribute(this, "slide") ? (n.next(), void n._maybeEnableCycle()) : (n.prev(), void n._maybeEnableCycle());
        }),
            dt.on(window, "load.bs.carousel.data-api", () => {
                const e = Ct.find('[data-bs-ride="carousel"]');
                for (const t of e) Nt.getOrCreateInstance(t);
            }),
            Ve(Nt);
        const Ot = { toggle: !0, parent: null },
            Dt = { toggle: "boolean", parent: "(null|element)" };
        class Rt extends yt {
            constructor(e, t) {
                super(e, t), (this._isTransitioning = !1), (this._triggerArray = []);
                const n = Ct.find('[data-bs-toggle="collapse"]');
                for (const e of n) {
                    const t = Le(e),
                        n = Ct.find(t).filter((e) => e === this._element);
                    null !== t && n.length && this._triggerArray.push(e);
                }
                this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle();
            }
            static get Default() {
                return Ot;
            }
            static get DefaultType() {
                return Dt;
            }
            static get NAME() {
                return "collapse";
            }
            toggle() {
                this._isShown() ? this.hide() : this.show();
            }
            show() {
                if (this._isTransitioning || this._isShown()) return;
                let e = [];
                if (
                    (this._config.parent &&
                        (e = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing")
                            .filter((e) => e !== this._element)
                            .map((e) => Rt.getOrCreateInstance(e, { toggle: !1 }))),
                    e.length && e[0]._isTransitioning)
                )
                    return;
                if (dt.trigger(this._element, "show.bs.collapse").defaultPrevented) return;
                for (const t of e) t.hide();
                const t = this._getDimension();
                this._element.classList.remove("collapse"), this._element.classList.add("collapsing"), (this._element.style[t] = 0), this._addAriaAndCollapsedClass(this._triggerArray, !0), (this._isTransitioning = !0);
                const n = "scroll" + (t[0].toUpperCase() + t.slice(1));
                this._queueCallback(
                    () => {
                        (this._isTransitioning = !1), this._element.classList.remove("collapsing"), this._element.classList.add("collapse", "show"), (this._element.style[t] = ""), dt.trigger(this._element, "shown.bs.collapse");
                    },
                    this._element,
                    !0
                ),
                    (this._element.style[t] = this._element[n] + "px");
            }
            hide() {
                if (this._isTransitioning || !this._isShown()) return;
                if (dt.trigger(this._element, "hide.bs.collapse").defaultPrevented) return;
                const e = this._getDimension();
                (this._element.style[e] = this._element.getBoundingClientRect()[e] + "px"), Ue(this._element), this._element.classList.add("collapsing"), this._element.classList.remove("collapse", "show");
                for (const e of this._triggerArray) {
                    const t = Pe(e);
                    t && !this._isShown(t) && this._addAriaAndCollapsedClass([e], !1);
                }
                this._isTransitioning = !0;
                (this._element.style[e] = ""),
                    this._queueCallback(
                        () => {
                            (this._isTransitioning = !1), this._element.classList.remove("collapsing"), this._element.classList.add("collapse"), dt.trigger(this._element, "hidden.bs.collapse");
                        },
                        this._element,
                        !0
                    );
            }
            _isShown(e = this._element) {
                return e.classList.contains("show");
            }
            _configAfterMerge(e) {
                return (e.toggle = Boolean(e.toggle)), (e.parent = Ie(e.parent)), e;
            }
            _getDimension() {
                return this._element.classList.contains("collapse-horizontal") ? "width" : "height";
            }
            _initializeChildren() {
                if (!this._config.parent) return;
                const e = this._getFirstLevelChildren('[data-bs-toggle="collapse"]');
                for (const t of e) {
                    const e = Pe(t);
                    e && this._addAriaAndCollapsedClass([t], this._isShown(e));
                }
            }
            _getFirstLevelChildren(e) {
                const t = Ct.find(":scope .collapse .collapse", this._config.parent);
                return Ct.find(e, this._config.parent).filter((e) => !t.includes(e));
            }
            _addAriaAndCollapsedClass(e, t) {
                if (e.length) for (const n of e) n.classList.toggle("collapsed", !t), n.setAttribute("aria-expanded", t);
            }
            static jQueryInterface(e) {
                const t = {};
                return (
                    "string" == typeof e && /show|hide/.test(e) && (t.toggle = !1),
                    this.each(function () {
                        const n = Rt.getOrCreateInstance(this, t);
                        if ("string" == typeof e) {
                            if (void 0 === n[e]) throw new TypeError(`No method named "${e}"`);
                            n[e]();
                        }
                    })
                );
            }
        }
        dt.on(document, "click.bs.collapse.data-api", '[data-bs-toggle="collapse"]', function (e) {
            ("A" === e.target.tagName || (e.delegateTarget && "A" === e.delegateTarget.tagName)) && e.preventDefault();
            const t = Le(this),
                n = Ct.find(t);
            for (const e of n) Rt.getOrCreateInstance(e, { toggle: !1 }).toggle();
        }),
            Ve(Rt);
        const Lt = "ArrowUp",
            Pt = "ArrowDown",
            $t = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
            Mt = We() ? "top-end" : "top-start",
            It = We() ? "top-start" : "top-end",
            Bt = We() ? "bottom-end" : "bottom-start",
            jt = We() ? "bottom-start" : "bottom-end",
            Ft = We() ? "left-start" : "right-start",
            Ht = We() ? "right-start" : "left-start",
            Ut = { offset: [0, 2], boundary: "clippingParents", reference: "toggle", display: "dynamic", popperConfig: null, autoClose: !0 },
            qt = { offset: "(array|string|function)", boundary: "(string|element)", reference: "(string|element|object)", display: "string", popperConfig: "(null|object|function)", autoClose: "(boolean|string)" };
        class zt extends yt {
            constructor(e, t) {
                super(e, t), (this._popper = null), (this._parent = this._element.parentNode), (this._menu = Ct.findOne(".dropdown-menu", this._parent)), (this._inNavbar = this._detectNavbar());
            }
            static get Default() {
                return Ut;
            }
            static get DefaultType() {
                return qt;
            }
            static get NAME() {
                return "dropdown";
            }
            toggle() {
                return this._isShown() ? this.hide() : this.show();
            }
            show() {
                if (je(this._element) || this._isShown()) return;
                const e = { relatedTarget: this._element };
                if (!dt.trigger(this._element, "show.bs.dropdown", e).defaultPrevented) {
                    if ((this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".navbar-nav"))) for (const e of [].concat(...document.body.children)) dt.on(e, "mouseover", He);
                    this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add("show"), this._element.classList.add("show"), dt.trigger(this._element, "shown.bs.dropdown", e);
                }
            }
            hide() {
                if (je(this._element) || !this._isShown()) return;
                const e = { relatedTarget: this._element };
                this._completeHide(e);
            }
            dispose() {
                this._popper && this._popper.destroy(), super.dispose();
            }
            update() {
                (this._inNavbar = this._detectNavbar()), this._popper && this._popper.update();
            }
            _completeHide(e) {
                if (!dt.trigger(this._element, "hide.bs.dropdown", e).defaultPrevented) {
                    if ("ontouchstart" in document.documentElement) for (const e of [].concat(...document.body.children)) dt.off(e, "mouseover", He);
                    this._popper && this._popper.destroy(),
                        this._menu.classList.remove("show"),
                        this._element.classList.remove("show"),
                        this._element.setAttribute("aria-expanded", "false"),
                        gt.removeDataAttribute(this._menu, "popper"),
                        dt.trigger(this._element, "hidden.bs.dropdown", e);
                }
            }
            _getConfig(e) {
                if ("object" == typeof (e = super._getConfig(e)).reference && !Me(e.reference) && "function" != typeof e.reference.getBoundingClientRect)
                    throw new TypeError("dropdown".toUpperCase() + ': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');
                return e;
            }
            _createPopper() {
                if (void 0 === r) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");
                let e = this._element;
                "parent" === this._config.reference ? (e = this._parent) : Me(this._config.reference) ? (e = Ie(this._config.reference)) : "object" == typeof this._config.reference && (e = this._config.reference);
                const t = this._getPopperConfig();
                this._popper = Oe(e, this._menu, t);
            }
            _isShown() {
                return this._menu.classList.contains("show");
            }
            _getPlacement() {
                const e = this._parent;
                if (e.classList.contains("dropend")) return Ft;
                if (e.classList.contains("dropstart")) return Ht;
                if (e.classList.contains("dropup-center")) return "top";
                if (e.classList.contains("dropdown-center")) return "bottom";
                const t = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
                return e.classList.contains("dropup") ? (t ? It : Mt) : t ? jt : Bt;
            }
            _detectNavbar() {
                return null !== this._element.closest(".navbar");
            }
            _getOffset() {
                const { offset: e } = this._config;
                return "string" == typeof e ? e.split(",").map((e) => Number.parseInt(e, 10)) : "function" == typeof e ? (t) => e(t, this._element) : e;
            }
            _getPopperConfig() {
                const e = {
                    placement: this._getPlacement(),
                    modifiers: [
                        { name: "preventOverflow", options: { boundary: this._config.boundary } },
                        { name: "offset", options: { offset: this._getOffset() } },
                    ],
                };
                return (
                    (this._inNavbar || "static" === this._config.display) && (gt.setDataAttribute(this._menu, "popper", "static"), (e.modifiers = [{ name: "applyStyles", enabled: !1 }])),
                    { ...e, ...("function" == typeof this._config.popperConfig ? this._config.popperConfig(e) : this._config.popperConfig) }
                );
            }
            _selectMenuItem({ key: e, target: t }) {
                const n = Ct.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((e) => Be(e));
                n.length && Ye(n, t, e === Pt, !n.includes(t)).focus();
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = zt.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`);
                        t[e]();
                    }
                });
            }
            static clearMenus(e) {
                if (2 === e.button || ("keyup" === e.type && "Tab" !== e.key)) return;
                const t = Ct.find('[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled).show');
                for (const n of t) {
                    const t = zt.getInstance(n);
                    if (!t || !1 === t._config.autoClose) continue;
                    const r = e.composedPath(),
                        o = r.includes(t._menu);
                    if (r.includes(t._element) || ("inside" === t._config.autoClose && !o) || ("outside" === t._config.autoClose && o)) continue;
                    if (t._menu.contains(e.target) && (("keyup" === e.type && "Tab" === e.key) || /input|select|option|textarea|form/i.test(e.target.tagName))) continue;
                    const i = { relatedTarget: t._element };
                    "click" === e.type && (i.clickEvent = e), t._completeHide(i);
                }
            }
            static dataApiKeydownHandler(e) {
                const t = /input|textarea/i.test(e.target.tagName),
                    n = "Escape" === e.key,
                    r = [Lt, Pt].includes(e.key);
                if (!r && !n) return;
                if (t && !n) return;
                e.preventDefault();
                const o = Ct.findOne($t, e.delegateTarget.parentNode),
                    i = zt.getOrCreateInstance(o);
                if (r) return e.stopPropagation(), i.show(), void i._selectMenuItem(e);
                i._isShown() && (e.stopPropagation(), i.hide(), o.focus());
            }
        }
        dt.on(document, "keydown.bs.dropdown.data-api", $t, zt.dataApiKeydownHandler),
            dt.on(document, "keydown.bs.dropdown.data-api", ".dropdown-menu", zt.dataApiKeydownHandler),
            dt.on(document, "click.bs.dropdown.data-api", zt.clearMenus),
            dt.on(document, "keyup.bs.dropdown.data-api", zt.clearMenus),
            dt.on(document, "click.bs.dropdown.data-api", $t, function (e) {
                e.preventDefault(), zt.getOrCreateInstance(this).toggle();
            }),
            Ve(zt);
        class Wt {
            constructor() {
                this._element = document.body;
            }
            getWidth() {
                const e = document.documentElement.clientWidth;
                return Math.abs(window.innerWidth - e);
            }
            hide() {
                const e = this.getWidth();
                this._disableOverFlow(),
                    this._setElementAttributes(this._element, "padding-right", (t) => t + e),
                    this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", "padding-right", (t) => t + e),
                    this._setElementAttributes(".sticky-top", "margin-right", (t) => t - e);
            }
            reset() {
                this._resetElementAttributes(this._element, "overflow"),
                    this._resetElementAttributes(this._element, "padding-right"),
                    this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", "padding-right"),
                    this._resetElementAttributes(".sticky-top", "margin-right");
            }
            isOverflowing() {
                return this.getWidth() > 0;
            }
            _disableOverFlow() {
                this._saveInitialAttribute(this._element, "overflow"), (this._element.style.overflow = "hidden");
            }
            _setElementAttributes(e, t, n) {
                const r = this.getWidth();
                this._applyManipulationCallback(e, (e) => {
                    if (e !== this._element && window.innerWidth > e.clientWidth + r) return;
                    this._saveInitialAttribute(e, t);
                    const o = window.getComputedStyle(e).getPropertyValue(t);
                    e.style.setProperty(t, n(Number.parseFloat(o)) + "px");
                });
            }
            _saveInitialAttribute(e, t) {
                const n = e.style.getPropertyValue(t);
                n && gt.setDataAttribute(e, t, n);
            }
            _resetElementAttributes(e, t) {
                this._applyManipulationCallback(e, (e) => {
                    const n = gt.getDataAttribute(e, t);
                    null !== n ? (gt.removeDataAttribute(e, t), e.style.setProperty(t, n)) : e.style.removeProperty(t);
                });
            }
            _applyManipulationCallback(e, t) {
                if (Me(e)) t(e);
                else for (const n of Ct.find(e, this._element)) t(n);
            }
        }
        const Vt = { className: "modal-backdrop", isVisible: !0, isAnimated: !1, rootElement: "body", clickCallback: null },
            Kt = { className: "string", isVisible: "boolean", isAnimated: "boolean", rootElement: "(element|string)", clickCallback: "(function|null)" };
        class Gt extends vt {
            constructor(e) {
                super(), (this._config = this._getConfig(e)), (this._isAppended = !1), (this._element = null);
            }
            static get Default() {
                return Vt;
            }
            static get DefaultType() {
                return Kt;
            }
            static get NAME() {
                return "backdrop";
            }
            show(e) {
                if (!this._config.isVisible) return void Ke(e);
                this._append();
                const t = this._getElement();
                this._config.isAnimated && Ue(t),
                    t.classList.add("show"),
                    this._emulateAnimation(() => {
                        Ke(e);
                    });
            }
            hide(e) {
                this._config.isVisible
                    ? (this._getElement().classList.remove("show"),
                      this._emulateAnimation(() => {
                          this.dispose(), Ke(e);
                      }))
                    : Ke(e);
            }
            dispose() {
                this._isAppended && (dt.off(this._element, "mousedown.bs.backdrop"), this._element.remove(), (this._isAppended = !1));
            }
            _getElement() {
                if (!this._element) {
                    const e = document.createElement("div");
                    (e.className = this._config.className), this._config.isAnimated && e.classList.add("fade"), (this._element = e);
                }
                return this._element;
            }
            _configAfterMerge(e) {
                return (e.rootElement = Ie(e.rootElement)), e;
            }
            _append() {
                if (this._isAppended) return;
                const e = this._getElement();
                this._config.rootElement.append(e),
                    dt.on(e, "mousedown.bs.backdrop", () => {
                        Ke(this._config.clickCallback);
                    }),
                    (this._isAppended = !0);
            }
            _emulateAnimation(e) {
                Ge(e, this._getElement(), this._config.isAnimated);
            }
        }
        const Yt = { trapElement: null, autofocus: !0 },
            Xt = { trapElement: "element", autofocus: "boolean" };
        class Jt extends vt {
            constructor(e) {
                super(), (this._config = this._getConfig(e)), (this._isActive = !1), (this._lastTabNavDirection = null);
            }
            static get Default() {
                return Yt;
            }
            static get DefaultType() {
                return Xt;
            }
            static get NAME() {
                return "focustrap";
            }
            activate() {
                this._isActive ||
                    (this._config.autofocus && this._config.trapElement.focus(),
                    dt.off(document, ".bs.focustrap"),
                    dt.on(document, "focusin.bs.focustrap", (e) => this._handleFocusin(e)),
                    dt.on(document, "keydown.tab.bs.focustrap", (e) => this._handleKeydown(e)),
                    (this._isActive = !0));
            }
            deactivate() {
                this._isActive && ((this._isActive = !1), dt.off(document, ".bs.focustrap"));
            }
            _handleFocusin(e) {
                const { trapElement: t } = this._config;
                if (e.target === document || e.target === t || t.contains(e.target)) return;
                const n = Ct.focusableChildren(t);
                0 === n.length ? t.focus() : "backward" === this._lastTabNavDirection ? n[n.length - 1].focus() : n[0].focus();
            }
            _handleKeydown(e) {
                "Tab" === e.key && (this._lastTabNavDirection = e.shiftKey ? "backward" : "forward");
            }
        }
        const Qt = { backdrop: !0, keyboard: !0, focus: !0 },
            Zt = { backdrop: "(boolean|string)", keyboard: "boolean", focus: "boolean" };
        class en extends yt {
            constructor(e, t) {
                super(e, t),
                    (this._dialog = Ct.findOne(".modal-dialog", this._element)),
                    (this._backdrop = this._initializeBackDrop()),
                    (this._focustrap = this._initializeFocusTrap()),
                    (this._isShown = !1),
                    (this._isTransitioning = !1),
                    (this._scrollBar = new Wt()),
                    this._addEventListeners();
            }
            static get Default() {
                return Qt;
            }
            static get DefaultType() {
                return Zt;
            }
            static get NAME() {
                return "modal";
            }
            toggle(e) {
                return this._isShown ? this.hide() : this.show(e);
            }
            show(e) {
                if (this._isShown || this._isTransitioning) return;
                dt.trigger(this._element, "show.bs.modal", { relatedTarget: e }).defaultPrevented ||
                    ((this._isShown = !0), (this._isTransitioning = !0), this._scrollBar.hide(), document.body.classList.add("modal-open"), this._adjustDialog(), this._backdrop.show(() => this._showElement(e)));
            }
            hide() {
                if (!this._isShown || this._isTransitioning) return;
                dt.trigger(this._element, "hide.bs.modal").defaultPrevented ||
                    ((this._isShown = !1), (this._isTransitioning = !0), this._focustrap.deactivate(), this._element.classList.remove("show"), this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()));
            }
            dispose() {
                for (const e of [window, this._dialog]) dt.off(e, ".bs.modal");
                this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
            }
            handleUpdate() {
                this._adjustDialog();
            }
            _initializeBackDrop() {
                return new Gt({ isVisible: Boolean(this._config.backdrop), isAnimated: this._isAnimated() });
            }
            _initializeFocusTrap() {
                return new Jt({ trapElement: this._element });
            }
            _showElement(e) {
                document.body.contains(this._element) || document.body.append(this._element),
                    (this._element.style.display = "block"),
                    this._element.removeAttribute("aria-hidden"),
                    this._element.setAttribute("aria-modal", !0),
                    this._element.setAttribute("role", "dialog"),
                    (this._element.scrollTop = 0);
                const t = Ct.findOne(".modal-body", this._dialog);
                t && (t.scrollTop = 0), Ue(this._element), this._element.classList.add("show");
                this._queueCallback(
                    () => {
                        this._config.focus && this._focustrap.activate(), (this._isTransitioning = !1), dt.trigger(this._element, "shown.bs.modal", { relatedTarget: e });
                    },
                    this._dialog,
                    this._isAnimated()
                );
            }
            _addEventListeners() {
                dt.on(this._element, "keydown.dismiss.bs.modal", (e) => {
                    if ("Escape" === e.key) return this._config.keyboard ? (e.preventDefault(), void this.hide()) : void this._triggerBackdropTransition();
                }),
                    dt.on(window, "resize.bs.modal", () => {
                        this._isShown && !this._isTransitioning && this._adjustDialog();
                    }),
                    dt.on(this._element, "click.dismiss.bs.modal", (e) => {
                        e.target === e.currentTarget && ("static" !== this._config.backdrop ? this._config.backdrop && this.hide() : this._triggerBackdropTransition());
                    });
            }
            _hideModal() {
                (this._element.style.display = "none"),
                    this._element.setAttribute("aria-hidden", !0),
                    this._element.removeAttribute("aria-modal"),
                    this._element.removeAttribute("role"),
                    (this._isTransitioning = !1),
                    this._backdrop.hide(() => {
                        document.body.classList.remove("modal-open"), this._resetAdjustments(), this._scrollBar.reset(), dt.trigger(this._element, "hidden.bs.modal");
                    });
            }
            _isAnimated() {
                return this._element.classList.contains("fade");
            }
            _triggerBackdropTransition() {
                if (dt.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented) return;
                const e = this._element.scrollHeight > document.documentElement.clientHeight,
                    t = this._element.style.overflowY;
                "hidden" === t ||
                    this._element.classList.contains("modal-static") ||
                    (e || (this._element.style.overflowY = "hidden"),
                    this._element.classList.add("modal-static"),
                    this._queueCallback(() => {
                        this._element.classList.remove("modal-static"),
                            this._queueCallback(() => {
                                this._element.style.overflowY = t;
                            }, this._dialog);
                    }, this._dialog),
                    this._element.focus());
            }
            _adjustDialog() {
                const e = this._element.scrollHeight > document.documentElement.clientHeight,
                    t = this._scrollBar.getWidth(),
                    n = t > 0;
                if (n && !e) {
                    const e = We() ? "paddingLeft" : "paddingRight";
                    this._element.style[e] = t + "px";
                }
                if (!n && e) {
                    const e = We() ? "paddingRight" : "paddingLeft";
                    this._element.style[e] = t + "px";
                }
            }
            _resetAdjustments() {
                (this._element.style.paddingLeft = ""), (this._element.style.paddingRight = "");
            }
            static jQueryInterface(e, t) {
                return this.each(function () {
                    const n = en.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === n[e]) throw new TypeError(`No method named "${e}"`);
                        n[e](t);
                    }
                });
            }
        }
        dt.on(document, "click.bs.modal.data-api", '[data-bs-toggle="modal"]', function (e) {
            const t = Pe(this);
            ["A", "AREA"].includes(this.tagName) && e.preventDefault(),
                dt.one(t, "show.bs.modal", (e) => {
                    e.defaultPrevented ||
                        dt.one(t, "hidden.bs.modal", () => {
                            Be(this) && this.focus();
                        });
                });
            const n = Ct.findOne(".modal.show");
            n && en.getInstance(n).hide();
            en.getOrCreateInstance(t).toggle(this);
        }),
            bt(en),
            Ve(en);
        const tn = ".bs.offcanvas",
            nn = `load${tn}.data-api`,
            rn = `click${tn}.data-api`,
            on = { backdrop: !0, keyboard: !0, scroll: !1 },
            sn = { backdrop: "(boolean|string)", keyboard: "boolean", scroll: "boolean" };
        class an extends yt {
            constructor(e, t) {
                super(e, t), (this._isShown = !1), (this._backdrop = this._initializeBackDrop()), (this._focustrap = this._initializeFocusTrap()), this._addEventListeners();
            }
            static get Default() {
                return on;
            }
            static get DefaultType() {
                return sn;
            }
            static get NAME() {
                return "offcanvas";
            }
            toggle(e) {
                return this._isShown ? this.hide() : this.show(e);
            }
            show(e) {
                if (this._isShown) return;
                if (dt.trigger(this._element, "show.bs.offcanvas", { relatedTarget: e }).defaultPrevented) return;
                (this._isShown = !0), this._backdrop.show(), this._config.scroll || new Wt().hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add("showing");
                this._queueCallback(
                    () => {
                        this._config.scroll || this._focustrap.activate(), this._element.classList.add("show"), this._element.classList.remove("showing"), dt.trigger(this._element, "shown.bs.offcanvas", { relatedTarget: e });
                    },
                    this._element,
                    !0
                );
            }
            hide() {
                if (!this._isShown) return;
                if (dt.trigger(this._element, "hide.bs.offcanvas").defaultPrevented) return;
                this._focustrap.deactivate(), this._element.blur(), (this._isShown = !1), this._element.classList.add("hiding"), this._backdrop.hide();
                this._queueCallback(
                    () => {
                        this._element.classList.remove("show", "hiding"),
                            this._element.removeAttribute("aria-modal"),
                            this._element.removeAttribute("role"),
                            this._config.scroll || new Wt().reset(),
                            dt.trigger(this._element, "hidden.bs.offcanvas");
                    },
                    this._element,
                    !0
                );
            }
            dispose() {
                this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
            }
            _initializeBackDrop() {
                const e = Boolean(this._config.backdrop);
                return new Gt({
                    className: "offcanvas-backdrop",
                    isVisible: e,
                    isAnimated: !0,
                    rootElement: this._element.parentNode,
                    clickCallback: e
                        ? () => {
                              "static" !== this._config.backdrop ? this.hide() : dt.trigger(this._element, "hidePrevented.bs.offcanvas");
                          }
                        : null,
                });
            }
            _initializeFocusTrap() {
                return new Jt({ trapElement: this._element });
            }
            _addEventListeners() {
                dt.on(this._element, "keydown.dismiss.bs.offcanvas", (e) => {
                    "Escape" === e.key && (this._config.keyboard ? this.hide() : dt.trigger(this._element, "hidePrevented.bs.offcanvas"));
                });
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = an.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`);
                        t[e](this);
                    }
                });
            }
        }
        dt.on(document, rn, '[data-bs-toggle="offcanvas"]', function (e) {
            const t = Pe(this);
            if ((["A", "AREA"].includes(this.tagName) && e.preventDefault(), je(this))) return;
            dt.one(t, "hidden.bs.offcanvas", () => {
                Be(this) && this.focus();
            });
            const n = Ct.findOne(".offcanvas.show");
            n && n !== t && an.getInstance(n).hide();
            an.getOrCreateInstance(t).toggle(this);
        }),
            dt.on(window, nn, () => {
                for (const e of Ct.find(".offcanvas.show")) an.getOrCreateInstance(e).show();
            }),
            dt.on(window, "resize.bs.offcanvas", () => {
                for (const e of Ct.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(e).position && an.getOrCreateInstance(e).hide();
            }),
            bt(an),
            Ve(an);
        const ln = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]),
            cn = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,
            un = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,
            dn = (e, t) => {
                const n = e.nodeName.toLowerCase();
                return t.includes(n) ? !ln.has(n) || Boolean(cn.test(e.nodeValue) || un.test(e.nodeValue)) : t.filter((e) => e instanceof RegExp).some((e) => e.test(n));
            },
            fn = {
                "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
                a: ["target", "href", "title", "rel"],
                area: [],
                b: [],
                br: [],
                col: [],
                code: [],
                div: [],
                em: [],
                hr: [],
                h1: [],
                h2: [],
                h3: [],
                h4: [],
                h5: [],
                h6: [],
                i: [],
                img: ["src", "srcset", "alt", "title", "width", "height"],
                li: [],
                ol: [],
                p: [],
                pre: [],
                s: [],
                small: [],
                span: [],
                sub: [],
                sup: [],
                strong: [],
                u: [],
                ul: [],
            };
        const pn = { extraClass: "", template: "<div></div>", content: {}, html: !1, sanitize: !0, sanitizeFn: null, allowList: fn },
            hn = { extraClass: "(string|function)", template: "string", content: "object", html: "boolean", sanitize: "boolean", sanitizeFn: "(null|function)", allowList: "object" },
            mn = { selector: "(string|element)", entry: "(string|element|function|null)" };
        class gn extends vt {
            constructor(e) {
                super(), (this._config = this._getConfig(e));
            }
            static get Default() {
                return pn;
            }
            static get DefaultType() {
                return hn;
            }
            static get NAME() {
                return "TemplateFactory";
            }
            getContent() {
                return Object.values(this._config.content)
                    .map((e) => this._resolvePossibleFunction(e))
                    .filter(Boolean);
            }
            hasContent() {
                return this.getContent().length > 0;
            }
            changeContent(e) {
                return this._checkContent(e), (this._config.content = { ...this._config.content, ...e }), this;
            }
            toHtml() {
                const e = document.createElement("div");
                e.innerHTML = this._maybeSanitize(this._config.template);
                for (const [t, n] of Object.entries(this._config.content)) this._setContent(e, n, t);
                const t = e.children[0],
                    n = this._resolvePossibleFunction(this._config.extraClass);
                return n && t.classList.add(...n.split(" ")), t;
            }
            _typeCheckConfig(e) {
                super._typeCheckConfig(e), this._checkContent(e.content);
            }
            _checkContent(e) {
                for (const [t, n] of Object.entries(e)) super._typeCheckConfig({ selector: t, entry: n }, mn);
            }
            _setContent(e, t, n) {
                const r = Ct.findOne(n, e);
                r && ((t = this._resolvePossibleFunction(t)) ? (Me(t) ? this._putElementInTemplate(Ie(t), r) : this._config.html ? (r.innerHTML = this._maybeSanitize(t)) : (r.textContent = t)) : r.remove());
            }
            _maybeSanitize(e) {
                return this._config.sanitize
                    ? (function (e, t, n) {
                          if (!e.length) return e;
                          if (n && "function" == typeof n) return n(e);
                          const r = new window.DOMParser().parseFromString(e, "text/html"),
                              o = [].concat(...r.body.querySelectorAll("*"));
                          for (const e of o) {
                              const n = e.nodeName.toLowerCase();
                              if (!Object.keys(t).includes(n)) {
                                  e.remove();
                                  continue;
                              }
                              const r = [].concat(...e.attributes),
                                  o = [].concat(t["*"] || [], t[n] || []);
                              for (const t of r) dn(t, o) || e.removeAttribute(t.nodeName);
                          }
                          return r.body.innerHTML;
                      })(e, this._config.allowList, this._config.sanitizeFn)
                    : e;
            }
            _resolvePossibleFunction(e) {
                return "function" == typeof e ? e(this) : e;
            }
            _putElementInTemplate(e, t) {
                if (this._config.html) return (t.innerHTML = ""), void t.append(e);
                t.textContent = e.textContent;
            }
        }
        const vn = new Set(["sanitize", "allowList", "sanitizeFn"]),
            yn = { AUTO: "auto", TOP: "top", RIGHT: We() ? "left" : "right", BOTTOM: "bottom", LEFT: We() ? "right" : "left" },
            bn = {
                animation: !0,
                template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
                trigger: "hover focus",
                title: "",
                delay: 0,
                html: !1,
                selector: !1,
                placement: "top",
                offset: [0, 0],
                container: !1,
                fallbackPlacements: ["top", "right", "bottom", "left"],
                boundary: "clippingParents",
                customClass: "",
                sanitize: !0,
                sanitizeFn: null,
                allowList: fn,
                popperConfig: null,
            },
            _n = {
                animation: "boolean",
                template: "string",
                title: "(string|element|function)",
                trigger: "string",
                delay: "(number|object)",
                html: "boolean",
                selector: "(string|boolean)",
                placement: "(string|function)",
                offset: "(array|string|function)",
                container: "(string|element|boolean)",
                fallbackPlacements: "array",
                boundary: "(string|element)",
                customClass: "(string|function)",
                sanitize: "boolean",
                sanitizeFn: "(null|function)",
                allowList: "object",
                popperConfig: "(null|object|function)",
            };
        class wn extends yt {
            constructor(e, t) {
                if (void 0 === r) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");
                super(e, t), (this._isEnabled = !0), (this._timeout = 0), (this._isHovered = !1), (this._activeTrigger = {}), (this._popper = null), (this._templateFactory = null), (this.tip = null), this._setListeners();
            }
            static get Default() {
                return bn;
            }
            static get DefaultType() {
                return _n;
            }
            static get NAME() {
                return "tooltip";
            }
            enable() {
                this._isEnabled = !0;
            }
            disable() {
                this._isEnabled = !1;
            }
            toggleEnabled() {
                this._isEnabled = !this._isEnabled;
            }
            toggle(e) {
                if (this._isEnabled) {
                    if (e) {
                        const t = this._initializeOnDelegatedTarget(e);
                        return (t._activeTrigger.click = !t._activeTrigger.click), void (t._isWithActiveTrigger() ? t._enter() : t._leave());
                    }
                    this._isShown() ? this._leave() : this._enter();
                }
            }
            dispose() {
                clearTimeout(this._timeout), dt.off(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler), this.tip && this.tip.remove(), this._disposePopper(), super.dispose();
            }
            show() {
                if ("none" === this._element.style.display) throw new Error("Please use show on visible elements");
                if (!this._isWithContent() || !this._isEnabled) return;
                const e = dt.trigger(this._element, this.constructor.eventName("show")),
                    t = (Fe(this._element) || this._element.ownerDocument.documentElement).contains(this._element);
                if (e.defaultPrevented || !t) return;
                const n = this._getTipElement();
                this._element.setAttribute("aria-describedby", n.getAttribute("id"));
                const { container: r } = this._config;
                if (
                    (this._element.ownerDocument.documentElement.contains(this.tip) || (r.append(n), dt.trigger(this._element, this.constructor.eventName("inserted"))),
                    this._popper ? this._popper.update() : this._createPopper(n),
                    n.classList.add("show"),
                    "ontouchstart" in document.documentElement)
                )
                    for (const e of [].concat(...document.body.children)) dt.on(e, "mouseover", He);
                this._queueCallback(
                    () => {
                        const e = this._isHovered;
                        (this._isHovered = !1), dt.trigger(this._element, this.constructor.eventName("shown")), e && this._leave();
                    },
                    this.tip,
                    this._isAnimated()
                );
            }
            hide() {
                if (!this._isShown()) return;
                if (dt.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) return;
                const e = this._getTipElement();
                if ((e.classList.remove("show"), "ontouchstart" in document.documentElement)) for (const e of [].concat(...document.body.children)) dt.off(e, "mouseover", He);
                (this._activeTrigger.click = !1), (this._activeTrigger.focus = !1), (this._activeTrigger.hover = !1), (this._isHovered = !1);
                this._queueCallback(
                    () => {
                        this._isWithActiveTrigger() || (this._isHovered || e.remove(), this._element.removeAttribute("aria-describedby"), dt.trigger(this._element, this.constructor.eventName("hidden")), this._disposePopper());
                    },
                    this.tip,
                    this._isAnimated()
                );
            }
            update() {
                this._popper && this._popper.update();
            }
            _isWithContent() {
                return Boolean(this._getTitle());
            }
            _getTipElement() {
                return this.tip || (this.tip = this._createTipElement(this._getContentForTemplate())), this.tip;
            }
            _createTipElement(e) {
                const t = this._getTemplateFactory(e).toHtml();
                if (!t) return null;
                t.classList.remove("fade", "show"), t.classList.add(`bs-${this.constructor.NAME}-auto`);
                const n = ((e) => {
                    do {
                        e += Math.floor(1e6 * Math.random());
                    } while (document.getElementById(e));
                    return e;
                })(this.constructor.NAME).toString();
                return t.setAttribute("id", n), this._isAnimated() && t.classList.add("fade"), t;
            }
            setContent(e) {
                let t = !1;
                this.tip && ((t = this._isShown()), this.tip.remove(), (this.tip = null)), this._disposePopper(), (this.tip = this._createTipElement(e)), t && this.show();
            }
            _getTemplateFactory(e) {
                return (
                    this._templateFactory ? this._templateFactory.changeContent(e) : (this._templateFactory = new gn({ ...this._config, content: e, extraClass: this._resolvePossibleFunction(this._config.customClass) })),
                    this._templateFactory
                );
            }
            _getContentForTemplate() {
                return { ".tooltip-inner": this._getTitle() };
            }
            _getTitle() {
                return this._config.title;
            }
            _initializeOnDelegatedTarget(e) {
                return this.constructor.getOrCreateInstance(e.delegateTarget, this._getDelegateConfig());
            }
            _isAnimated() {
                return this._config.animation || (this.tip && this.tip.classList.contains("fade"));
            }
            _isShown() {
                return this.tip && this.tip.classList.contains("show");
            }
            _createPopper(e) {
                const t = "function" == typeof this._config.placement ? this._config.placement.call(this, e, this._element) : this._config.placement,
                    n = yn[t.toUpperCase()];
                this._popper = Oe(this._element, e, this._getPopperConfig(n));
            }
            _getOffset() {
                const { offset: e } = this._config;
                return "string" == typeof e ? e.split(",").map((e) => Number.parseInt(e, 10)) : "function" == typeof e ? (t) => e(t, this._element) : e;
            }
            _resolvePossibleFunction(e) {
                return "function" == typeof e ? e.call(this._element) : e;
            }
            _getPopperConfig(e) {
                const t = {
                    placement: e,
                    modifiers: [
                        { name: "flip", options: { fallbackPlacements: this._config.fallbackPlacements } },
                        { name: "offset", options: { offset: this._getOffset() } },
                        { name: "preventOverflow", options: { boundary: this._config.boundary } },
                        { name: "arrow", options: { element: `.${this.constructor.NAME}-arrow` } },
                        {
                            name: "preSetPlacement",
                            enabled: !0,
                            phase: "beforeMain",
                            fn: (e) => {
                                this._getTipElement().setAttribute("data-popper-placement", e.state.placement);
                            },
                        },
                    ],
                };
                return { ...t, ...("function" == typeof this._config.popperConfig ? this._config.popperConfig(t) : this._config.popperConfig) };
            }
            _setListeners() {
                const e = this._config.trigger.split(" ");
                for (const t of e)
                    if ("click" === t) dt.on(this._element, this.constructor.eventName("click"), this._config.selector, (e) => this.toggle(e));
                    else if ("manual" !== t) {
                        const e = "hover" === t ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"),
                            n = "hover" === t ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout");
                        dt.on(this._element, e, this._config.selector, (e) => {
                            const t = this._initializeOnDelegatedTarget(e);
                            (t._activeTrigger["focusin" === e.type ? "focus" : "hover"] = !0), t._enter();
                        }),
                            dt.on(this._element, n, this._config.selector, (e) => {
                                const t = this._initializeOnDelegatedTarget(e);
                                (t._activeTrigger["focusout" === e.type ? "focus" : "hover"] = t._element.contains(e.relatedTarget)), t._leave();
                            });
                    }
                (this._hideModalHandler = () => {
                    this._element && this.hide();
                }),
                    dt.on(this._element.closest(".modal"), "hide.bs.modal", this._hideModalHandler),
                    this._config.selector ? (this._config = { ...this._config, trigger: "manual", selector: "" }) : this._fixTitle();
            }
            _fixTitle() {
                const e = this._config.originalTitle;
                e && (this._element.getAttribute("aria-label") || this._element.textContent || this._element.setAttribute("aria-label", e), this._element.removeAttribute("title"));
            }
            _enter() {
                this._isShown() || this._isHovered
                    ? (this._isHovered = !0)
                    : ((this._isHovered = !0),
                      this._setTimeout(() => {
                          this._isHovered && this.show();
                      }, this._config.delay.show));
            }
            _leave() {
                this._isWithActiveTrigger() ||
                    ((this._isHovered = !1),
                    this._setTimeout(() => {
                        this._isHovered || this.hide();
                    }, this._config.delay.hide));
            }
            _setTimeout(e, t) {
                clearTimeout(this._timeout), (this._timeout = setTimeout(e, t));
            }
            _isWithActiveTrigger() {
                return Object.values(this._activeTrigger).includes(!0);
            }
            _getConfig(e) {
                const t = gt.getDataAttributes(this._element);
                for (const e of Object.keys(t)) vn.has(e) && delete t[e];
                return (e = { ...t, ...("object" == typeof e && e ? e : {}) }), (e = this._mergeConfigObj(e)), (e = this._configAfterMerge(e)), this._typeCheckConfig(e), e;
            }
            _configAfterMerge(e) {
                return (
                    (e.container = !1 === e.container ? document.body : Ie(e.container)),
                    "number" == typeof e.delay && (e.delay = { show: e.delay, hide: e.delay }),
                    (e.originalTitle = this._element.getAttribute("title") || ""),
                    (e.title = this._resolvePossibleFunction(e.title) || e.originalTitle),
                    "number" == typeof e.title && (e.title = e.title.toString()),
                    "number" == typeof e.content && (e.content = e.content.toString()),
                    e
                );
            }
            _getDelegateConfig() {
                const e = {};
                for (const t in this._config) this.constructor.Default[t] !== this._config[t] && (e[t] = this._config[t]);
                return e;
            }
            _disposePopper() {
                this._popper && (this._popper.destroy(), (this._popper = null));
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = wn.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`);
                        t[e]();
                    }
                });
            }
        }
        Ve(wn);
        const Cn = {
                ...wn.Default,
                placement: "right",
                offset: [0, 8],
                trigger: "click",
                content: "",
                template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
            },
            xn = { ...wn.DefaultType, content: "(null|string|element|function)" };
        class En extends wn {
            static get Default() {
                return Cn;
            }
            static get DefaultType() {
                return xn;
            }
            static get NAME() {
                return "popover";
            }
            _isWithContent() {
                return this._getTitle() || this._getContent();
            }
            _getContentForTemplate() {
                return { ".popover-header": this._getTitle(), ".popover-body": this._getContent() };
            }
            _getContent() {
                return this._resolvePossibleFunction(this._config.content);
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = En.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`);
                        t[e]();
                    }
                });
            }
        }
        Ve(En);
        const kn = { offset: null, rootMargin: "0px 0px -25%", smoothScroll: !1, target: null },
            An = { offset: "(number|null)", rootMargin: "string", smoothScroll: "boolean", target: "element" };
        class Sn extends yt {
            constructor(e, t) {
                super(e, t),
                    (this._targetLinks = new Map()),
                    (this._observableSections = new Map()),
                    (this._rootElement = "visible" === getComputedStyle(this._element).overflowY ? null : this._element),
                    (this._activeTarget = null),
                    (this._observer = null),
                    (this._previousScrollData = { visibleEntryTop: 0, parentScrollTop: 0 }),
                    this.refresh();
            }
            static get Default() {
                return kn;
            }
            static get DefaultType() {
                return An;
            }
            static get NAME() {
                return "scrollspy";
            }
            refresh() {
                this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : (this._observer = this._getNewObserver());
                for (const e of this._observableSections.values()) this._observer.observe(e);
            }
            dispose() {
                this._observer.disconnect(), super.dispose();
            }
            _configAfterMerge(e) {
                return (e.target = Ie(e.target) || document.body), e;
            }
            _maybeEnableSmoothScroll() {
                this._config.smoothScroll &&
                    (dt.off(this._config.target, "click.bs.scrollspy"),
                    dt.on(this._config.target, "click.bs.scrollspy", "[href]", (e) => {
                        const t = this._observableSections.get(e.target.hash);
                        if (t) {
                            e.preventDefault();
                            const n = this._rootElement || window,
                                r = t.offsetTop - this._element.offsetTop;
                            if (n.scrollTo) return void n.scrollTo({ top: r });
                            n.scrollTop = r;
                        }
                    }));
            }
            _getNewObserver() {
                const e = { root: this._rootElement, threshold: [0.1, 0.5, 1], rootMargin: this._getRootMargin() };
                return new IntersectionObserver((e) => this._observerCallback(e), e);
            }
            _observerCallback(e) {
                const t = (e) => this._targetLinks.get("#" + e.target.id),
                    n = (e) => {
                        (this._previousScrollData.visibleEntryTop = e.target.offsetTop), this._process(t(e));
                    },
                    r = (this._rootElement || document.documentElement).scrollTop,
                    o = r >= this._previousScrollData.parentScrollTop;
                this._previousScrollData.parentScrollTop = r;
                for (const i of e) {
                    if (!i.isIntersecting) {
                        (this._activeTarget = null), this._clearActiveClass(t(i));
                        continue;
                    }
                    const e = i.target.offsetTop >= this._previousScrollData.visibleEntryTop;
                    if (o && e) {
                        if ((n(i), !r)) return;
                    } else o || e || n(i);
                }
            }
            _getRootMargin() {
                return this._config.offset ? this._config.offset + "px 0px -30%" : this._config.rootMargin;
            }
            _initializeTargetsAndObservables() {
                (this._targetLinks = new Map()), (this._observableSections = new Map());
                const e = Ct.find("[href]", this._config.target);
                for (const t of e) {
                    if (!t.hash || je(t)) continue;
                    const e = Ct.findOne(t.hash, this._element);
                    Be(e) && (this._targetLinks.set(t.hash, t), this._observableSections.set(t.hash, e));
                }
            }
            _process(e) {
                this._activeTarget !== e &&
                    (this._clearActiveClass(this._config.target), (this._activeTarget = e), e.classList.add("active"), this._activateParents(e), dt.trigger(this._element, "activate.bs.scrollspy", { relatedTarget: e }));
            }
            _activateParents(e) {
                if (e.classList.contains("dropdown-item")) Ct.findOne(".dropdown-toggle", e.closest(".dropdown")).classList.add("active");
                else for (const t of Ct.parents(e, ".nav, .list-group")) for (const e of Ct.prev(t, ".nav-link, .nav-item > .nav-link, .list-group-item")) e.classList.add("active");
            }
            _clearActiveClass(e) {
                e.classList.remove("active");
                const t = Ct.find("[href].active", e);
                for (const e of t) e.classList.remove("active");
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = Sn.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`);
                        t[e]();
                    }
                });
            }
        }
        dt.on(window, "load.bs.scrollspy.data-api", () => {
            for (const e of Ct.find('[data-bs-spy="scroll"]')) Sn.getOrCreateInstance(e);
        }),
            Ve(Sn);
        const Tn = "ArrowLeft",
            Nn = "ArrowRight",
            On = "ArrowUp",
            Dn = "ArrowDown",
            Rn = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
            Ln = '.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ' + Rn;
        class Pn extends yt {
            constructor(e) {
                super(e),
                    (this._parent = this._element.closest('.list-group, .nav, [role="tablist"]')),
                    this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), dt.on(this._element, "keydown.bs.tab", (e) => this._keydown(e)));
            }
            static get NAME() {
                return "tab";
            }
            show() {
                const e = this._element;
                if (this._elemIsActive(e)) return;
                const t = this._getActiveElem(),
                    n = t ? dt.trigger(t, "hide.bs.tab", { relatedTarget: e }) : null;
                dt.trigger(e, "show.bs.tab", { relatedTarget: t }).defaultPrevented || (n && n.defaultPrevented) || (this._deactivate(t, e), this._activate(e, t));
            }
            _activate(e, t) {
                if (!e) return;
                e.classList.add("active"), this._activate(Pe(e));
                const n = e.classList.contains("fade");
                this._queueCallback(
                    () => {
                        n && e.classList.add("show"),
                            "tab" === e.getAttribute("role") && (e.focus(), e.removeAttribute("tabindex"), e.setAttribute("aria-selected", !0), this._toggleDropDown(e, !0), dt.trigger(e, "shown.bs.tab", { relatedTarget: t }));
                    },
                    e,
                    n
                );
            }
            _deactivate(e, t) {
                if (!e) return;
                e.classList.remove("active"), e.blur(), this._deactivate(Pe(e));
                const n = e.classList.contains("fade");
                this._queueCallback(
                    () => {
                        n && e.classList.remove("show"),
                            "tab" === e.getAttribute("role") && (e.setAttribute("aria-selected", !1), e.setAttribute("tabindex", "-1"), this._toggleDropDown(e, !1), dt.trigger(e, "hidden.bs.tab", { relatedTarget: t }));
                    },
                    e,
                    n
                );
            }
            _keydown(e) {
                if (![Tn, Nn, On, Dn].includes(e.key)) return;
                e.stopPropagation(), e.preventDefault();
                const t = [Nn, Dn].includes(e.key),
                    n = Ye(
                        this._getChildren().filter((e) => !je(e)),
                        e.target,
                        t,
                        !0
                    );
                n && Pn.getOrCreateInstance(n).show();
            }
            _getChildren() {
                return Ct.find(Ln, this._parent);
            }
            _getActiveElem() {
                return this._getChildren().find((e) => this._elemIsActive(e)) || null;
            }
            _setInitialAttributes(e, t) {
                this._setAttributeIfNotExists(e, "role", "tablist");
                for (const e of t) this._setInitialAttributesOnChild(e);
            }
            _setInitialAttributesOnChild(e) {
                e = this._getInnerElement(e);
                const t = this._elemIsActive(e),
                    n = this._getOuterElement(e);
                e.setAttribute("aria-selected", t),
                    n !== e && this._setAttributeIfNotExists(n, "role", "presentation"),
                    t || e.setAttribute("tabindex", "-1"),
                    this._setAttributeIfNotExists(e, "role", "tab"),
                    this._setInitialAttributesOnTargetPanel(e);
            }
            _setInitialAttributesOnTargetPanel(e) {
                const t = Pe(e);
                t && (this._setAttributeIfNotExists(t, "role", "tabpanel"), e.id && this._setAttributeIfNotExists(t, "aria-labelledby", "#" + e.id));
            }
            _toggleDropDown(e, t) {
                const n = this._getOuterElement(e);
                if (!n.classList.contains("dropdown")) return;
                const r = (e, r) => {
                    const o = Ct.findOne(e, n);
                    o && o.classList.toggle(r, t);
                };
                r(".dropdown-toggle", "active"), r(".dropdown-menu", "show"), r(".dropdown-item", "active"), n.setAttribute("aria-expanded", t);
            }
            _setAttributeIfNotExists(e, t, n) {
                e.hasAttribute(t) || e.setAttribute(t, n);
            }
            _elemIsActive(e) {
                return e.classList.contains("active");
            }
            _getInnerElement(e) {
                return e.matches(Ln) ? e : Ct.findOne(Ln, e);
            }
            _getOuterElement(e) {
                return e.closest(".nav-item, .list-group-item") || e;
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = Pn.getOrCreateInstance(this);
                    if ("string" == typeof e) {
                        if (void 0 === t[e] || e.startsWith("_") || "constructor" === e) throw new TypeError(`No method named "${e}"`);
                        t[e]();
                    }
                });
            }
        }
        dt.on(document, "click.bs.tab", Rn, function (e) {
            ["A", "AREA"].includes(this.tagName) && e.preventDefault(), je(this) || Pn.getOrCreateInstance(this).show();
        }),
            dt.on(window, "load.bs.tab", () => {
                for (const e of Ct.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]')) Pn.getOrCreateInstance(e);
            }),
            Ve(Pn);
        const $n = { animation: "boolean", autohide: "boolean", delay: "number" },
            Mn = { animation: !0, autohide: !0, delay: 5e3 };
        class In extends yt {
            constructor(e, t) {
                super(e, t), (this._timeout = null), (this._hasMouseInteraction = !1), (this._hasKeyboardInteraction = !1), this._setListeners();
            }
            static get Default() {
                return Mn;
            }
            static get DefaultType() {
                return $n;
            }
            static get NAME() {
                return "toast";
            }
            show() {
                if (dt.trigger(this._element, "show.bs.toast").defaultPrevented) return;
                this._clearTimeout(), this._config.animation && this._element.classList.add("fade");
                this._element.classList.remove("hide"),
                    Ue(this._element),
                    this._element.classList.add("show", "showing"),
                    this._queueCallback(
                        () => {
                            this._element.classList.remove("showing"), dt.trigger(this._element, "shown.bs.toast"), this._maybeScheduleHide();
                        },
                        this._element,
                        this._config.animation
                    );
            }
            hide() {
                if (!this.isShown()) return;
                if (dt.trigger(this._element, "hide.bs.toast").defaultPrevented) return;
                this._element.classList.add("showing"),
                    this._queueCallback(
                        () => {
                            this._element.classList.add("hide"), this._element.classList.remove("showing", "show"), dt.trigger(this._element, "hidden.bs.toast");
                        },
                        this._element,
                        this._config.animation
                    );
            }
            dispose() {
                this._clearTimeout(), this.isShown() && this._element.classList.remove("show"), super.dispose();
            }
            isShown() {
                return this._element.classList.contains("show");
            }
            _maybeScheduleHide() {
                this._config.autohide &&
                    (this._hasMouseInteraction ||
                        this._hasKeyboardInteraction ||
                        (this._timeout = setTimeout(() => {
                            this.hide();
                        }, this._config.delay)));
            }
            _onInteraction(e, t) {
                switch (e.type) {
                    case "mouseover":
                    case "mouseout":
                        this._hasMouseInteraction = t;
                        break;
                    case "focusin":
                    case "focusout":
                        this._hasKeyboardInteraction = t;
                }
                if (t) return void this._clearTimeout();
                const n = e.relatedTarget;
                this._element === n || this._element.contains(n) || this._maybeScheduleHide();
            }
            _setListeners() {
                dt.on(this._element, "mouseover.bs.toast", (e) => this._onInteraction(e, !0)),
                    dt.on(this._element, "mouseout.bs.toast", (e) => this._onInteraction(e, !1)),
                    dt.on(this._element, "focusin.bs.toast", (e) => this._onInteraction(e, !0)),
                    dt.on(this._element, "focusout.bs.toast", (e) => this._onInteraction(e, !1));
            }
            _clearTimeout() {
                clearTimeout(this._timeout), (this._timeout = null);
            }
            static jQueryInterface(e) {
                return this.each(function () {
                    const t = In.getOrCreateInstance(this, e);
                    if ("string" == typeof e) {
                        if (void 0 === t[e]) throw new TypeError(`No method named "${e}"`);
                        t[e](this);
                    }
                });
            }
        }
        bt(In), Ve(In);
    },
    ,
    ,
    ,
    function (e, t) {},
]);
