! function(t) {
    var e = {};

    function n(r) {
        if (e[r]) return e[r].exports;
        var i = e[r] = {
            i: r,
            l: !1,
            exports: {}
        };
        return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports
    }
    n.m = t, n.c = e, n.d = function(t, e, r) {
        n.o(t, e) || Object.defineProperty(t, e, {
            enumerable: !0,
            get: r
        })
    }, n.r = function(t) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(t, "__esModule", {
            value: !0
        })
    }, n.t = function(t, e) {
        if (1 & e && (t = n(t)), 8 & e) return t;
        if (4 & e && "object" == typeof t && t && t.__esModule) return t;
        var r = Object.create(null);
        if (n.r(r), Object.defineProperty(r, "default", {
                enumerable: !0,
                value: t
            }), 2 & e && "string" != typeof t)
            for (var i in t) n.d(r, i, function(e) {
                return t[e]
            }.bind(null, i));
        return r
    }, n.n = function(t) {
        var e = t && t.__esModule ? function() {
            return t.default
        } : function() {
            return t
        };
        return n.d(e, "a", e), e
    }, n.o = function(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e)
    }, n.p = "", n(n.s = 125)
}([function(t, e) {
    function n(e) {
        return t.exports = n = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
            return t.__proto__ || Object.getPrototypeOf(t)
        }, n(e)
    }
    t.exports = n
}, function(t, e, n) {
    var r = n(17),
        i = n(7);
    t.exports = function(t, e) {
        return !e || "object" !== r(e) && "function" != typeof e ? i(t) : e
    }
}, function(t, e) {
    t.exports = function(t, e) {
        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
    }
}, function(t, e, n) {
    var r = n(128);
    t.exports = function(t, e) {
        if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
        t.prototype = Object.create(e && e.prototype, {
            constructor: {
                value: t,
                writable: !0,
                configurable: !0
            }
        }), e && r(t, e)
    }
}, function(t, e) {
    function n(t, e) {
        for (var n = 0; n < e.length; n++) {
            var r = e[n];
            r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
        }
    }
    t.exports = function(t, e, r) {
        return e && n(t.prototype, e), r && n(t, r), t
    }
}, function(t, e, n) {
    var r = n(141);

    function i(e, n, o) {
        return "undefined" != typeof Reflect && Reflect.get ? t.exports = i = Reflect.get : t.exports = i = function(t, e, n) {
            var i = r(t, e);
            if (i) {
                var o = Object.getOwnPropertyDescriptor(i, e);
                return o.get ? o.get.call(n) : o.value
            }
        }, i(e, n, o || e)
    }
    t.exports = i
}, function(t, e, n) {
    var r = n(162),
        i = n(163),
        o = n(164);
    t.exports = function(t) {
        return r(t) || i(t) || o()
    }
}, function(t, e) {
    t.exports = function(t) {
        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return t
    }
}, function(t, e, n) {
    var r = n(127);
    t.exports = function(t) {
        for (var e = 1; e < arguments.length; e++) {
            var n = null != arguments[e] ? arguments[e] : {},
                i = Object.keys(n);
            "function" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(n).filter(function(t) {
                return Object.getOwnPropertyDescriptor(n, t).enumerable
            }))), i.forEach(function(e) {
                r(t, e, n[e])
            })
        }
        return t
    }
}, function(t, e, n) {
    var r, i, o;
    ! function(n) {
        var a = /iPhone/i,
            s = /iPod/i,
            A = /iPad/i,
            h = /\bAndroid(?:.+)Mobile\b/i,
            c = /Android/i,
            u = /\bAndroid(?:.+)SD4930UR\b/i,
            l = /\bAndroid(?:.+)(?:KF[A-Z]{2,4})\b/i,
            d = /Windows Phone/i,
            p = /\bWindows(?:.+)ARM\b/i,
            f = /BlackBerry/i,
            y = /BB10/i,
            x = /Opera Mini/i,
            m = /\b(CriOS|Chrome)(?:.+)Mobile/i,
            g = /Mobile(?:.+)Firefox\b/i;

        function w(t, e) {
            return t.test(e)
        }

        function v(t) {
            var e = t || ("undefined" != typeof navigator ? navigator.userAgent : ""),
                n = e.split("[FBAN");
            void 0 !== n[1] && (e = n[0]), void 0 !== (n = e.split("Twitter"))[1] && (e = n[0]);
            var r = {
                apple: {
                    phone: w(a, e) && !w(d, e),
                    ipod: w(s, e),
                    tablet: !w(a, e) && w(A, e) && !w(d, e),
                    device: (w(a, e) || w(s, e) || w(A, e)) && !w(d, e)
                },
                amazon: {
                    phone: w(u, e),
                    tablet: !w(u, e) && w(l, e),
                    device: w(u, e) || w(l, e)
                },
                android: {
                    phone: !w(d, e) && w(u, e) || !w(d, e) && w(h, e),
                    tablet: !w(d, e) && !w(u, e) && !w(h, e) && (w(l, e) || w(c, e)),
                    device: !w(d, e) && (w(u, e) || w(l, e) || w(h, e) || w(c, e)) || w(/\bokhttp\b/i, e)
                },
                windows: {
                    phone: w(d, e),
                    tablet: w(p, e),
                    device: w(d, e) || w(p, e)
                },
                other: {
                    blackberry: w(f, e),
                    blackberry10: w(y, e),
                    opera: w(x, e),
                    firefox: w(g, e),
                    chrome: w(m, e),
                    device: w(f, e) || w(y, e) || w(x, e) || w(g, e) || w(m, e)
                }
            };
            return r.any = r.apple.device || r.android.device || r.windows.device || r.other.device, r.phone = r.apple.phone || r.android.phone || r.windows.phone, r.tablet = r.apple.tablet || r.android.tablet || r.windows.tablet, r
        }
        t.exports && "undefined" == typeof window ? t.exports = v : t.exports && "undefined" != typeof window ? (t.exports = v(), t.exports.isMobile = v) : (i = [], r = n.isMobile = v(), void 0 === (o = "function" == typeof r ? r.apply(e, i) : r) || (t.exports = o))
    }(this)
}, function(t, e, n) {
    t.exports = n(126)
}, function(t, e) {
    var n;
    n = function() {
        return this
    }();
    try {
        n = n || new Function("return this")()
    } catch (t) {
        "object" == typeof window && (n = window)
    }
    t.exports = n
}, function(t, e, n) {
    "use strict";
    var r = n(133),
        i = n(135);

    function o() {
        this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null
    }
    e.parse = g, e.resolve = function(t, e) {
        return g(t, !1, !0).resolve(e)
    }, e.resolveObject = function(t, e) {
        return t ? g(t, !1, !0).resolveObject(e) : e
    }, e.format = function(t) {
        i.isString(t) && (t = g(t));
        return t instanceof o ? t.format() : o.prototype.format.call(t)
    }, e.Url = o;
    var a = /^([a-z0-9.+-]+:)/i,
        s = /:[0-9]*$/,
        A = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
        h = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", "\t"]),
        c = ["'"].concat(h),
        u = ["%", "/", "?", ";", "#"].concat(c),
        l = ["/", "?", "#"],
        d = /^[+a-z0-9A-Z_-]{0,63}$/,
        p = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
        f = {
            javascript: !0,
            "javascript:": !0
        },
        y = {
            javascript: !0,
            "javascript:": !0
        },
        x = {
            http: !0,
            https: !0,
            ftp: !0,
            gopher: !0,
            file: !0,
            "http:": !0,
            "https:": !0,
            "ftp:": !0,
            "gopher:": !0,
            "file:": !0
        },
        m = n(136);

    function g(t, e, n) {
        if (t && i.isObject(t) && t instanceof o) return t;
        var r = new o;
        return r.parse(t, e, n), r
    }
    o.prototype.parse = function(t, e, n) {
        if (!i.isString(t)) throw new TypeError("Parameter 'url' must be a string, not " + typeof t);
        var o = t.indexOf("?"),
            s = -1 !== o && o < t.indexOf("#") ? "?" : "#",
            h = t.split(s);
        h[0] = h[0].replace(/\\/g, "/");
        var g = t = h.join(s);
        if (g = g.trim(), !n && 1 === t.split("#").length) {
            var w = A.exec(g);
            if (w) return this.path = g, this.href = g, this.pathname = w[1], w[2] ? (this.search = w[2], this.query = e ? m.parse(this.search.substr(1)) : this.search.substr(1)) : e && (this.search = "", this.query = {}), this
        }
        var v = a.exec(g);
        if (v) {
            var b = (v = v[0]).toLowerCase();
            this.protocol = b, g = g.substr(v.length)
        }
        if (n || v || g.match(/^\/\/[^@\/]+@[^@\/]+/)) {
            var _ = "//" === g.substr(0, 2);
            !_ || v && y[v] || (g = g.substr(2), this.slashes = !0)
        }
        if (!y[v] && (_ || v && !x[v])) {
            for (var S, E, C = -1, T = 0; T < l.length; T++) {
                -1 !== (k = g.indexOf(l[T])) && (-1 === C || k < C) && (C = k)
            } - 1 !== (E = -1 === C ? g.lastIndexOf("@") : g.lastIndexOf("@", C)) && (S = g.slice(0, E), g = g.slice(E + 1), this.auth = decodeURIComponent(S)), C = -1;
            for (T = 0; T < u.length; T++) {
                var k; - 1 !== (k = g.indexOf(u[T])) && (-1 === C || k < C) && (C = k)
            } - 1 === C && (C = g.length), this.host = g.slice(0, C), g = g.slice(C), this.parseHost(), this.hostname = this.hostname || "";
            var I = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
            if (!I)
                for (var D = this.hostname.split(/\./), P = (T = 0, D.length); T < P; T++) {
                    var R = D[T];
                    if (R && !R.match(d)) {
                        for (var B = "", M = 0, O = R.length; M < O; M++) R.charCodeAt(M) > 127 ? B += "x" : B += R[M];
                        if (!B.match(d)) {
                            var L = D.slice(0, T),
                                H = D.slice(T + 1),
                                z = R.match(p);
                            z && (L.push(z[1]), H.unshift(z[2])), H.length && (g = "/" + H.join(".") + g), this.hostname = L.join(".");
                            break
                        }
                    }
                }
            this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), I || (this.hostname = r.toASCII(this.hostname));
            var F = this.port ? ":" + this.port : "",
                N = this.hostname || "";
            this.host = N + F, this.href += this.host, I && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== g[0] && (g = "/" + g))
        }
        if (!f[b])
            for (T = 0, P = c.length; T < P; T++) {
                var U = c[T];
                if (-1 !== g.indexOf(U)) {
                    var Q = encodeURIComponent(U);
                    Q === U && (Q = escape(U)), g = g.split(U).join(Q)
                }
            }
        var j = g.indexOf("#"); - 1 !== j && (this.hash = g.substr(j), g = g.slice(0, j));
        var X = g.indexOf("?");
        if (-1 !== X ? (this.search = g.substr(X), this.query = g.substr(X + 1), e && (this.query = m.parse(this.query)), g = g.slice(0, X)) : e && (this.search = "", this.query = {}), g && (this.pathname = g), x[b] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
            F = this.pathname || "";
            var G = this.search || "";
            this.path = F + G
        }
        return this.href = this.format(), this
    }, o.prototype.format = function() {
        var t = this.auth || "";
        t && (t = (t = encodeURIComponent(t)).replace(/%3A/i, ":"), t += "@");
        var e = this.protocol || "",
            n = this.pathname || "",
            r = this.hash || "",
            o = !1,
            a = "";
        this.host ? o = t + this.host : this.hostname && (o = t + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (o += ":" + this.port)), this.query && i.isObject(this.query) && Object.keys(this.query).length && (a = m.stringify(this.query));
        var s = this.search || a && "?" + a || "";
        return e && ":" !== e.substr(-1) && (e += ":"), this.slashes || (!e || x[e]) && !1 !== o ? (o = "//" + (o || ""), n && "/" !== n.charAt(0) && (n = "/" + n)) : o || (o = ""), r && "#" !== r.charAt(0) && (r = "#" + r), s && "?" !== s.charAt(0) && (s = "?" + s), e + o + (n = n.replace(/[?#]/g, function(t) {
            return encodeURIComponent(t)
        })) + (s = s.replace("#", "%23")) + r
    }, o.prototype.resolve = function(t) {
        return this.resolveObject(g(t, !1, !0)).format()
    }, o.prototype.resolveObject = function(t) {
        if (i.isString(t)) {
            var e = new o;
            e.parse(t, !1, !0), t = e
        }
        for (var n = new o, r = Object.keys(this), a = 0; a < r.length; a++) {
            var s = r[a];
            n[s] = this[s]
        }
        if (n.hash = t.hash, "" === t.href) return n.href = n.format(), n;
        if (t.slashes && !t.protocol) {
            for (var A = Object.keys(t), h = 0; h < A.length; h++) {
                var c = A[h];
                "protocol" !== c && (n[c] = t[c])
            }
            return x[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = "/"), n.href = n.format(), n
        }
        if (t.protocol && t.protocol !== n.protocol) {
            if (!x[t.protocol]) {
                for (var u = Object.keys(t), l = 0; l < u.length; l++) {
                    var d = u[l];
                    n[d] = t[d]
                }
                return n.href = n.format(), n
            }
            if (n.protocol = t.protocol, t.host || y[t.protocol]) n.pathname = t.pathname;
            else {
                for (var p = (t.pathname || "").split("/"); p.length && !(t.host = p.shift()););
                t.host || (t.host = ""), t.hostname || (t.hostname = ""), "" !== p[0] && p.unshift(""), p.length < 2 && p.unshift(""), n.pathname = p.join("/")
            }
            if (n.search = t.search, n.query = t.query, n.host = t.host || "", n.auth = t.auth, n.hostname = t.hostname || t.host, n.port = t.port, n.pathname || n.search) {
                var f = n.pathname || "",
                    m = n.search || "";
                n.path = f + m
            }
            return n.slashes = n.slashes || t.slashes, n.href = n.format(), n
        }
        var g = n.pathname && "/" === n.pathname.charAt(0),
            w = t.host || t.pathname && "/" === t.pathname.charAt(0),
            v = w || g || n.host && t.pathname,
            b = v,
            _ = n.pathname && n.pathname.split("/") || [],
            S = (p = t.pathname && t.pathname.split("/") || [], n.protocol && !x[n.protocol]);
        if (S && (n.hostname = "", n.port = null, n.host && ("" === _[0] ? _[0] = n.host : _.unshift(n.host)), n.host = "", t.protocol && (t.hostname = null, t.port = null, t.host && ("" === p[0] ? p[0] = t.host : p.unshift(t.host)), t.host = null), v = v && ("" === p[0] || "" === _[0])), w) n.host = t.host || "" === t.host ? t.host : n.host, n.hostname = t.hostname || "" === t.hostname ? t.hostname : n.hostname, n.search = t.search, n.query = t.query, _ = p;
        else if (p.length) _ || (_ = []), _.pop(), _ = _.concat(p), n.search = t.search, n.query = t.query;
        else if (!i.isNullOrUndefined(t.search)) {
            if (S) n.hostname = n.host = _.shift(), (I = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) && (n.auth = I.shift(), n.host = n.hostname = I.shift());
            return n.search = t.search, n.query = t.query, i.isNull(n.pathname) && i.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.href = n.format(), n
        }
        if (!_.length) return n.pathname = null, n.search ? n.path = "/" + n.search : n.path = null, n.href = n.format(), n;
        for (var E = _.slice(-1)[0], C = (n.host || t.host || _.length > 1) && ("." === E || ".." === E) || "" === E, T = 0, k = _.length; k >= 0; k--) "." === (E = _[k]) ? _.splice(k, 1) : ".." === E ? (_.splice(k, 1), T++) : T && (_.splice(k, 1), T--);
        if (!v && !b)
            for (; T--; T) _.unshift("..");
        !v || "" === _[0] || _[0] && "/" === _[0].charAt(0) || _.unshift(""), C && "/" !== _.join("/").substr(-1) && _.push("");
        var I, D = "" === _[0] || _[0] && "/" === _[0].charAt(0);
        S && (n.hostname = n.host = D ? "" : _.length ? _.shift() : "", (I = !!(n.host && n.host.indexOf("@") > 0) && n.host.split("@")) && (n.auth = I.shift(), n.host = n.hostname = I.shift()));
        return (v = v || n.host && _.length) && !D && _.unshift(""), _.length ? n.pathname = _.join("/") : (n.pathname = null, n.path = null), i.isNull(n.pathname) && i.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")), n.auth = t.auth || n.auth, n.slashes = n.slashes || t.slashes, n.href = n.format(), n
    }, o.prototype.parseHost = function() {
        var t = this.host,
            e = s.exec(t);
        e && (":" !== (e = e[0]) && (this.port = e.substr(1)), t = t.substr(0, t.length - e.length)), t && (this.hostname = t)
    }
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAADEklEQVRogc2asW4TQRCG/3VSQAJxOmhQXEOR8ASJhJCoSAr6uKEObxCJGolIPIBFQZ3Q0tgdZUxJgRwKFAokmwREA3wUexdOts+3u7d39idZWXnXN/N7vDNzezGKCLAk6ZqkpqTrklaSv9nxiqSvki4lfTLGfIth28S4SAqwKumGpJvJa9p4/L1fkvqSTowx56G2G6U8n8Qk12xkxmZsPD5/S9ITSW+BV8DdEMPRhACujs+afyjpHfAGaPrYjxmREMfz5h9LOgO2fYzHIkZEsvPrknrAQd1CYkYk69cR0HExHovYEcnSLhKzqBGZVhZmiqkrIuPvFc3n+dUGXk6bWI6lIjGOpB+ShpL+SFpKXsuZ8R1J9yTdl7Sm/Cjl8QzoG2NeZ9+MVtmBZWPMb4/1K5IeSHoq6bYmO4BZv5aRpJYx5nu4x5EBVoEXwEfgC3AB/KWYwkw2F4B94By4dBCR4lwwawV4Dvz0EHI8b5+nAqwB7z2EAGxI8bvfUhhjLiQ9km3rXdmryJ3yAJseETmdt78zAQ49xDSj3iHGBHs/MnJcvrdQeyRLUux6jst3FlZIguum31p0IT3Hda2rpjHJx+3M5Ej2ZONzPL+8cd0jLUlX7UEeu5W5WQDQdE1brjl7bj2Nj5Bjh3XdRRdiAFwuaIypveYAm3LLXCPnrJVctG62HNf1G3LPDDthvpTC1eZZQ+5Fpx3kSjlcO9t+Q+5FZ6vO7IU9YVx3XN7zbZkHVTqfgq0fQx+fGsaYD5LOHG20gMPKFPznSO7ROLka4df7A+xX4r4Ku4xpbGY/vOH5YaigdQEOPH2YLNRAJ0BMtMgE2p9MPvhtsCyl9kxi16VNGif/gA7/0KZ0CUjNwC4wCLA3pOjRHGHfTsop9svIbWeAbWxyCRGQUrw/saE+LWGkatx/ytgiGbJfqsb/4BorZpEiM/UBj4+gzrwVECvNM18xcbsIwlNzKEOq6rax+6Zbg4gOyeOCSsFGZ1CBgAHzOLHBdqrdCAKOywqIcjKCbRfasocFLRXfa/dkb7HT/9Mq/XT2HywGHGG+XJ2rAAAAAElFTkSuQmCC"
}, function(t, e, n) {
    t.exports = n.p + "images/48b008015901097a88b7803f4ad868da-title.png"
}, function(t, e) {
    function n(t, e, n, r, i, o, a) {
        try {
            var s = t[o](a),
                A = s.value
        } catch (t) {
            return void n(t)
        }
        s.done ? e(A) : Promise.resolve(A).then(r, i)
    }
    t.exports = function(t) {
        return function() {
            var e = this,
                r = arguments;
            return new Promise(function(i, o) {
                var a = t.apply(e, r);

                function s(t) {
                    n(a, i, o, s, A, "next", t)
                }

                function A(t) {
                    n(a, i, o, s, A, "throw", t)
                }
                s(void 0)
            })
        }
    }
}, function(t, e, n) {
    "use strict";
    var r = n(139).Loader,
        i = n(26).Resource,
        o = n(25),
        a = n(140);
    r.Resource = i, r.async = o, r.encodeBinary = a, r.base64 = a, t.exports = r, t.exports.Loader = r, t.exports.default = r
}, function(t, e) {
    function n(t) {
        return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
            return typeof t
        } : function(t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        })(t)
    }

    function r(e) {
        return "function" == typeof Symbol && "symbol" === n(Symbol.iterator) ? t.exports = r = function(t) {
            return n(t)
        } : t.exports = r = function(t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : n(t)
        }, r(e)
    }
    t.exports = r
}, function(t, e) {
    t.exports = "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAUAAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDPooor+lD+WwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAH7BRS0VnzGdwxRUmKKzAkooorO4DvLop2KKz5iSSinbKKzJDb70VJ5dFZ3AdRRRWYEmKKd5dFZ8wuVDqKkorMNQoqTFFZ3IuO2UU6is+YAoqTFFZXQDtlFOoqBWF2Gin0VF2Go/YKKWiseYi4uw0U/FFRcCSiiiswHeXRTsUVnzE6klFLsNFY8wXH0U7y6Km4rsdRRRWYiTFFO8uis+YB1FO2UVjzE6jqKkxRU3JHbKKdRWdx3YUVJiiseYQ/YKKWipuAuw0U+isronUfsFFLRWXMTckooxRWfMVzElFFFZ8xI7ZRTsUVF0BJRRRWXMTzElFO8uis+Ym46ipKKz5gCineXRWfMA6inbKKyuwHUVJiio5ieYdsop1FZXZIUVJiio5gH7BRSbKKz5gH7DRT6Kz5ieYfsFFLRWNw5hdhop+KKzuSf/Z"
}, function(t, e, n) {
    t.exports = n.p + "images/93ff3fc5d168e31f731739824e0659b3-SHOP_UI0005.png"
}, function(t) {
    t.exports = [{
        name: "LEVEL_009",
        start: "START006",
        mid: "MIDDLE002",
        end: "FINISH005"
    }, {
        name: "LEVEL_012",
        start: "START027",
        mid: "MIDDLE030",
        end: "FINISH001"
    }, {
        name: "LEVEL_013",
        start: "START011",
        mid: "MIDDLE021",
        end: "FINISH000"
    }, {
        name: "LEVEL_016",
        start: "START012",
        mid: "MIDDLE004",
        end: "FINISH035"
    }, {
        name: "LEVEL_017",
        start: "START013",
        mid: "MIDDLE002",
        end: "FINISH009"
    }, {
        name: "LEVEL_018",
        start: "START002",
        mid: "MIDDLE008",
        end: "FINISH004"
    }, {
        name: "LEVEL_020",
        start: "START006",
        mid: "MIDDLE003",
        end: "FINISH008"
    }, {
        name: "LEVEL_021",
        start: "START014",
        mid: "MIDDLE020",
        end: "FINISH003"
    }, {
        name: "LEVEL_023",
        start: "START007",
        mid: "MIDDLE038",
        end: "FINISH032"
    }, {
        name: "LEVEL_024",
        start: "START003",
        mid: "MIDDLE020",
        end: "FINISH000"
    }, {
        name: "LEVEL_029",
        start: "START010",
        mid: "MIDDLE034",
        end: "FINISH011"
    }, {
        name: "LEVEL_031",
        start: "START006",
        mid: "MIDDLE039",
        end: "FINISH016"
    }, {
        name: "LEVEL_033",
        start: "START023",
        mid: "MIDDLE013",
        end: "FINISH008"
    }, {
        name: "LEVEL_036",
        start: "START001",
        mid: "MIDDLE028",
        end: "FINISH018"
    }, {
        name: "LEVEL_037",
        start: "START020",
        mid: "MIDDLE021",
        end: "FINISH030"
    }, {
        name: "LEVEL_038",
        start: "START019",
        mid: "MIDDLE016",
        end: "FINISH020"
    }, {
        name: "LEVEL_041",
        start: "START005",
        mid: "MIDDLE024",
        end: "FINISH006"
    }, {
        name: "LEVEL_046",
        start: "START001",
        mid: "MIDDLE011",
        end: "FINISH014"
    }, {
        name: "LEVEL_048",
        start: "START006",
        mid: "MIDDLE012",
        end: "FINISH017"
    }, {
        name: "LEVEL_049",
        start: "START027",
        mid: "MIDDLE003",
        end: "FINISH019"
    }, {
        name: "LEVEL_050",
        start: "START030",
        mid: "MIDDLE029",
        end: "FINISH009"
    }, {
        name: "LEVEL_052",
        start: "START003",
        mid: "MIDDLE005",
        end: "FINISH005"
    }, {
        name: "LEVEL_053",
        start: "START010",
        mid: "MIDDLE009",
        end: "FINISH013"
    }, {
        name: "LEVEL_054",
        start: "START026",
        mid: "MIDDLE019",
        end: "FINISH001"
    }, {
        name: "LEVEL_056",
        start: "START014",
        mid: "MIDDLE026",
        end: "FINISH003"
    }, {
        name: "LEVEL_057",
        start: "START007",
        mid: "MIDDLE015",
        end: "FINISH007"
    }, {
        name: "LEVEL_058",
        start: "START011",
        mid: "MIDDLE027",
        end: "FINISH004"
    }, {
        name: "LEVEL_060",
        start: "START007",
        mid: "MIDDLE035",
        end: "FINISH036"
    }, {
        name: "LEVEL_062",
        start: "START002",
        mid: "MIDDLE041",
        end: "FINISH021"
    }, {
        name: "LEVEL_063",
        start: "START007",
        mid: "MIDDLE035",
        end: "FINISH036"
    }]
}, function(t, e, n) {
    "use strict";
    var r = Object.prototype.hasOwnProperty,
        i = "~";

    function o() {}

    function a(t, e, n) {
        this.fn = t, this.context = e, this.once = n || !1
    }

    function s(t, e, n, r, o) {
        if ("function" != typeof n) throw new TypeError("The listener must be a function");
        var s = new a(n, r || t, o),
            A = i ? i + e : e;
        return t._events[A] ? t._events[A].fn ? t._events[A] = [t._events[A], s] : t._events[A].push(s) : (t._events[A] = s, t._eventsCount++), t
    }

    function A(t, e) {
        0 == --t._eventsCount ? t._events = new o : delete t._events[e]
    }

    function h() {
        this._events = new o, this._eventsCount = 0
    }
    Object.create && (o.prototype = Object.create(null), (new o).__proto__ || (i = !1)), h.prototype.eventNames = function() {
        var t, e, n = [];
        if (0 === this._eventsCount) return n;
        for (e in t = this._events) r.call(t, e) && n.push(i ? e.slice(1) : e);
        return Object.getOwnPropertySymbols ? n.concat(Object.getOwnPropertySymbols(t)) : n
    }, h.prototype.listeners = function(t) {
        var e = i ? i + t : t,
            n = this._events[e];
        if (!n) return [];
        if (n.fn) return [n.fn];
        for (var r = 0, o = n.length, a = new Array(o); r < o; r++) a[r] = n[r].fn;
        return a
    }, h.prototype.listenerCount = function(t) {
        var e = i ? i + t : t,
            n = this._events[e];
        return n ? n.fn ? 1 : n.length : 0
    }, h.prototype.emit = function(t, e, n, r, o, a) {
        var s = i ? i + t : t;
        if (!this._events[s]) return !1;
        var A, h, c = this._events[s],
            u = arguments.length;
        if (c.fn) {
            switch (c.once && this.removeListener(t, c.fn, void 0, !0), u) {
                case 1:
                    return c.fn.call(c.context), !0;
                case 2:
                    return c.fn.call(c.context, e), !0;
                case 3:
                    return c.fn.call(c.context, e, n), !0;
                case 4:
                    return c.fn.call(c.context, e, n, r), !0;
                case 5:
                    return c.fn.call(c.context, e, n, r, o), !0;
                case 6:
                    return c.fn.call(c.context, e, n, r, o, a), !0
            }
            for (h = 1, A = new Array(u - 1); h < u; h++) A[h - 1] = arguments[h];
            c.fn.apply(c.context, A)
        } else {
            var l, d = c.length;
            for (h = 0; h < d; h++) switch (c[h].once && this.removeListener(t, c[h].fn, void 0, !0), u) {
                case 1:
                    c[h].fn.call(c[h].context);
                    break;
                case 2:
                    c[h].fn.call(c[h].context, e);
                    break;
                case 3:
                    c[h].fn.call(c[h].context, e, n);
                    break;
                case 4:
                    c[h].fn.call(c[h].context, e, n, r);
                    break;
                default:
                    if (!A)
                        for (l = 1, A = new Array(u - 1); l < u; l++) A[l - 1] = arguments[l];
                    c[h].fn.apply(c[h].context, A)
            }
        }
        return !0
    }, h.prototype.on = function(t, e, n) {
        return s(this, t, e, n, !1)
    }, h.prototype.once = function(t, e, n) {
        return s(this, t, e, n, !0)
    }, h.prototype.removeListener = function(t, e, n, r) {
        var o = i ? i + t : t;
        if (!this._events[o]) return this;
        if (!e) return A(this, o), this;
        var a = this._events[o];
        if (a.fn) a.fn !== e || r && !a.once || n && a.context !== n || A(this, o);
        else {
            for (var s = 0, h = [], c = a.length; s < c; s++)(a[s].fn !== e || r && !a[s].once || n && a[s].context !== n) && h.push(a[s]);
            h.length ? this._events[o] = 1 === h.length ? h[0] : h : A(this, o)
        }
        return this
    }, h.prototype.removeAllListeners = function(t) {
        var e;
        return t ? (e = i ? i + t : t, this._events[e] && A(this, e)) : (this._events = new o, this._eventsCount = 0), this
    }, h.prototype.off = h.prototype.removeListener, h.prototype.addListener = h.prototype.on, h.prefixed = i, h.EventEmitter = h, t.exports = h
}, function(t, e, n) {
    "use strict";

    function r(t, e, n) {
        n = n || 2;
        var r, s, A, h, c, d, f, y = e && e.length,
            x = y ? e[0] * n : t.length,
            m = i(t, 0, x, n, !0),
            g = [];
        if (!m || m.next === m.prev) return g;
        if (y && (m = function(t, e, n, r) {
                var a, s, A, h, c, d = [];
                for (a = 0, s = e.length; a < s; a++) A = e[a] * r, h = a < s - 1 ? e[a + 1] * r : t.length, (c = i(t, A, h, r, !1)) === c.next && (c.steiner = !0), d.push(p(c));
                for (d.sort(u), a = 0; a < d.length; a++) l(d[a], n), n = o(n, n.next);
                return n
            }(t, e, m, n)), t.length > 80 * n) {
            r = A = t[0], s = h = t[1];
            for (var w = n; w < x; w += n)(c = t[w]) < r && (r = c), (d = t[w + 1]) < s && (s = d), c > A && (A = c), d > h && (h = d);
            f = 0 !== (f = Math.max(A - r, h - s)) ? 1 / f : 0
        }
        return a(m, g, n, r, s, f), g
    }

    function i(t, e, n, r, i) {
        var o, a;
        if (i === E(t, e, n, r) > 0)
            for (o = e; o < n; o += r) a = b(o, t[o], t[o + 1], a);
        else
            for (o = n - r; o >= e; o -= r) a = b(o, t[o], t[o + 1], a);
        return a && m(a, a.next) && (_(a), a = a.next), a
    }

    function o(t, e) {
        if (!t) return t;
        e || (e = t);
        var n, r = t;
        do {
            if (n = !1, r.steiner || !m(r, r.next) && 0 !== x(r.prev, r, r.next)) r = r.next;
            else {
                if (_(r), (r = e = r.prev) === r.next) break;
                n = !0
            }
        } while (n || r !== e);
        return e
    }

    function a(t, e, n, r, i, u, l) {
        if (t) {
            !l && u && function(t, e, n, r) {
                var i = t;
                do {
                    null === i.z && (i.z = d(i.x, i.y, e, n, r)), i.prevZ = i.prev, i.nextZ = i.next, i = i.next
                } while (i !== t);
                i.prevZ.nextZ = null, i.prevZ = null,
                    function(t) {
                        var e, n, r, i, o, a, s, A, h = 1;
                        do {
                            for (n = t, t = null, o = null, a = 0; n;) {
                                for (a++, r = n, s = 0, e = 0; e < h && (s++, r = r.nextZ); e++);
                                for (A = h; s > 0 || A > 0 && r;) 0 !== s && (0 === A || !r || n.z <= r.z) ? (i = n, n = n.nextZ, s--) : (i = r, r = r.nextZ, A--), o ? o.nextZ = i : t = i, i.prevZ = o, o = i;
                                n = r
                            }
                            o.nextZ = null, h *= 2
                        } while (a > 1)
                    }(i)
            }(t, r, i, u);
            for (var p, f, y = t; t.prev !== t.next;)
                if (p = t.prev, f = t.next, u ? A(t, r, i, u) : s(t)) e.push(p.i / n), e.push(t.i / n), e.push(f.i / n), _(t), t = f.next, y = f.next;
                else if ((t = f) === y) {
                l ? 1 === l ? a(t = h(t, e, n), e, n, r, i, u, 2) : 2 === l && c(t, e, n, r, i, u) : a(o(t), e, n, r, i, u, 1);
                break
            }
        }
    }

    function s(t) {
        var e = t.prev,
            n = t,
            r = t.next;
        if (x(e, n, r) >= 0) return !1;
        for (var i = t.next.next; i !== t.prev;) {
            if (f(e.x, e.y, n.x, n.y, r.x, r.y, i.x, i.y) && x(i.prev, i, i.next) >= 0) return !1;
            i = i.next
        }
        return !0
    }

    function A(t, e, n, r) {
        var i = t.prev,
            o = t,
            a = t.next;
        if (x(i, o, a) >= 0) return !1;
        for (var s = i.x < o.x ? i.x < a.x ? i.x : a.x : o.x < a.x ? o.x : a.x, A = i.y < o.y ? i.y < a.y ? i.y : a.y : o.y < a.y ? o.y : a.y, h = i.x > o.x ? i.x > a.x ? i.x : a.x : o.x > a.x ? o.x : a.x, c = i.y > o.y ? i.y > a.y ? i.y : a.y : o.y > a.y ? o.y : a.y, u = d(s, A, e, n, r), l = d(h, c, e, n, r), p = t.prevZ, y = t.nextZ; p && p.z >= u && y && y.z <= l;) {
            if (p !== t.prev && p !== t.next && f(i.x, i.y, o.x, o.y, a.x, a.y, p.x, p.y) && x(p.prev, p, p.next) >= 0) return !1;
            if (p = p.prevZ, y !== t.prev && y !== t.next && f(i.x, i.y, o.x, o.y, a.x, a.y, y.x, y.y) && x(y.prev, y, y.next) >= 0) return !1;
            y = y.nextZ
        }
        for (; p && p.z >= u;) {
            if (p !== t.prev && p !== t.next && f(i.x, i.y, o.x, o.y, a.x, a.y, p.x, p.y) && x(p.prev, p, p.next) >= 0) return !1;
            p = p.prevZ
        }
        for (; y && y.z <= l;) {
            if (y !== t.prev && y !== t.next && f(i.x, i.y, o.x, o.y, a.x, a.y, y.x, y.y) && x(y.prev, y, y.next) >= 0) return !1;
            y = y.nextZ
        }
        return !0
    }

    function h(t, e, n) {
        var r = t;
        do {
            var i = r.prev,
                o = r.next.next;
            !m(i, o) && g(i, r, r.next, o) && w(i, o) && w(o, i) && (e.push(i.i / n), e.push(r.i / n), e.push(o.i / n), _(r), _(r.next), r = t = o), r = r.next
        } while (r !== t);
        return r
    }

    function c(t, e, n, r, i, s) {
        var A = t;
        do {
            for (var h = A.next.next; h !== A.prev;) {
                if (A.i !== h.i && y(A, h)) {
                    var c = v(A, h);
                    return A = o(A, A.next), c = o(c, c.next), a(A, e, n, r, i, s), void a(c, e, n, r, i, s)
                }
                h = h.next
            }
            A = A.next
        } while (A !== t)
    }

    function u(t, e) {
        return t.x - e.x
    }

    function l(t, e) {
        if (e = function(t, e) {
                var n, r = e,
                    i = t.x,
                    o = t.y,
                    a = -1 / 0;
                do {
                    if (o <= r.y && o >= r.next.y && r.next.y !== r.y) {
                        var s = r.x + (o - r.y) * (r.next.x - r.x) / (r.next.y - r.y);
                        if (s <= i && s > a) {
                            if (a = s, s === i) {
                                if (o === r.y) return r;
                                if (o === r.next.y) return r.next
                            }
                            n = r.x < r.next.x ? r : r.next
                        }
                    }
                    r = r.next
                } while (r !== e);
                if (!n) return null;
                if (i === a) return n.prev;
                var A, h = n,
                    c = n.x,
                    u = n.y,
                    l = 1 / 0;
                r = n.next;
                for (; r !== h;) i >= r.x && r.x >= c && i !== r.x && f(o < u ? i : a, o, c, u, o < u ? a : i, o, r.x, r.y) && ((A = Math.abs(o - r.y) / (i - r.x)) < l || A === l && r.x > n.x) && w(r, t) && (n = r, l = A), r = r.next;
                return n
            }(t, e)) {
            var n = v(e, t);
            o(n, n.next)
        }
    }

    function d(t, e, n, r, i) {
        return (t = 1431655765 & ((t = 858993459 & ((t = 252645135 & ((t = 16711935 & ((t = 32767 * (t - n) * i) | t << 8)) | t << 4)) | t << 2)) | t << 1)) | (e = 1431655765 & ((e = 858993459 & ((e = 252645135 & ((e = 16711935 & ((e = 32767 * (e - r) * i) | e << 8)) | e << 4)) | e << 2)) | e << 1)) << 1
    }

    function p(t) {
        var e = t,
            n = t;
        do {
            (e.x < n.x || e.x === n.x && e.y < n.y) && (n = e), e = e.next
        } while (e !== t);
        return n
    }

    function f(t, e, n, r, i, o, a, s) {
        return (i - a) * (e - s) - (t - a) * (o - s) >= 0 && (t - a) * (r - s) - (n - a) * (e - s) >= 0 && (n - a) * (o - s) - (i - a) * (r - s) >= 0
    }

    function y(t, e) {
        return t.next.i !== e.i && t.prev.i !== e.i && ! function(t, e) {
            var n = t;
            do {
                if (n.i !== t.i && n.next.i !== t.i && n.i !== e.i && n.next.i !== e.i && g(n, n.next, t, e)) return !0;
                n = n.next
            } while (n !== t);
            return !1
        }(t, e) && w(t, e) && w(e, t) && function(t, e) {
            var n = t,
                r = !1,
                i = (t.x + e.x) / 2,
                o = (t.y + e.y) / 2;
            do {
                n.y > o != n.next.y > o && n.next.y !== n.y && i < (n.next.x - n.x) * (o - n.y) / (n.next.y - n.y) + n.x && (r = !r), n = n.next
            } while (n !== t);
            return r
        }(t, e)
    }

    function x(t, e, n) {
        return (e.y - t.y) * (n.x - e.x) - (e.x - t.x) * (n.y - e.y)
    }

    function m(t, e) {
        return t.x === e.x && t.y === e.y
    }

    function g(t, e, n, r) {
        return !!(m(t, e) && m(n, r) || m(t, r) && m(n, e)) || x(t, e, n) > 0 != x(t, e, r) > 0 && x(n, r, t) > 0 != x(n, r, e) > 0
    }

    function w(t, e) {
        return x(t.prev, t, t.next) < 0 ? x(t, e, t.next) >= 0 && x(t, t.prev, e) >= 0 : x(t, e, t.prev) < 0 || x(t, t.next, e) < 0
    }

    function v(t, e) {
        var n = new S(t.i, t.x, t.y),
            r = new S(e.i, e.x, e.y),
            i = t.next,
            o = e.prev;
        return t.next = e, e.prev = t, n.next = i, i.prev = n, r.next = n, n.prev = r, o.next = r, r.prev = o, r
    }

    function b(t, e, n, r) {
        var i = new S(t, e, n);
        return r ? (i.next = r.next, i.prev = r, r.next.prev = i, r.next = i) : (i.prev = i, i.next = i), i
    }

    function _(t) {
        t.next.prev = t.prev, t.prev.next = t.next, t.prevZ && (t.prevZ.nextZ = t.nextZ), t.nextZ && (t.nextZ.prevZ = t.prevZ)
    }

    function S(t, e, n) {
        this.i = t, this.x = e, this.y = n, this.prev = null, this.next = null, this.z = null, this.prevZ = null, this.nextZ = null, this.steiner = !1
    }

    function E(t, e, n, r) {
        for (var i = 0, o = e, a = n - r; o < n; o += r) i += (t[a] - t[o]) * (t[o + 1] + t[a + 1]), a = o;
        return i
    }
    t.exports = r, t.exports.default = r, r.deviation = function(t, e, n, r) {
        var i = e && e.length,
            o = i ? e[0] * n : t.length,
            a = Math.abs(E(t, 0, o, n));
        if (i)
            for (var s = 0, A = e.length; s < A; s++) {
                var h = e[s] * n,
                    c = s < A - 1 ? e[s + 1] * n : t.length;
                a -= Math.abs(E(t, h, c, n))
            }
        var u = 0;
        for (s = 0; s < r.length; s += 3) {
            var l = r[s] * n,
                d = r[s + 1] * n,
                p = r[s + 2] * n;
            u += Math.abs((t[l] - t[p]) * (t[d + 1] - t[l + 1]) - (t[l] - t[d]) * (t[p + 1] - t[l + 1]))
        }
        return 0 === a && 0 === u ? 0 : Math.abs((u - a) / a)
    }, r.flatten = function(t) {
        for (var e = t[0][0].length, n = {
                vertices: [],
                holes: [],
                dimensions: e
            }, r = 0, i = 0; i < t.length; i++) {
            for (var o = 0; o < t[i].length; o++)
                for (var a = 0; a < e; a++) n.vertices.push(t[i][o][a]);
            i > 0 && (r += t[i - 1].length, n.holes.push(r))
        }
        return n
    }
}, function(t, e, n) {
    "use strict";
    Object.defineProperty(e, "__esModule", {
        value: !0
    });
    var r = function() {
        function t(t, e) {
            for (var n = 0; n < e.length; n++) {
                var r = e[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
            }
        }
        return function(e, n, r) {
            return n && t(e.prototype, n), r && t(e, r), e
        }
    }();

    function i(t, e) {
        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
    }
    var o = function() {
        function t(e, n, r) {
            void 0 === n && (n = !1), i(this, t), this._fn = e, this._once = n, this._thisArg = r, this._next = this._prev = this._owner = null
        }
        return r(t, [{
            key: "detach",
            value: function() {
                return null !== this._owner && (this._owner.detach(this), !0)
            }
        }]), t
    }();

    function a(t, e) {
        return t._head ? (t._tail._next = e, e._prev = t._tail, t._tail = e) : (t._head = e, t._tail = e), e._owner = t, e
    }
    var s = function() {
        function t() {
            i(this, t), this._head = this._tail = void 0
        }
        return r(t, [{
            key: "handlers",
            value: function() {
                var t = !(arguments.length <= 0 || void 0 === arguments[0]) && arguments[0],
                    e = this._head;
                if (t) return !!e;
                for (var n = []; e;) n.push(e), e = e._next;
                return n
            }
        }, {
            key: "has",
            value: function(t) {
                if (!(t instanceof o)) throw new Error("MiniSignal#has(): First arg must be a MiniSignalBinding object.");
                return t._owner === this
            }
        }, {
            key: "dispatch",
            value: function() {
                var t = this._head;
                if (!t) return !1;
                for (; t;) t._once && this.detach(t), t._fn.apply(t._thisArg, arguments), t = t._next;
                return !0
            }
        }, {
            key: "add",
            value: function(t) {
                var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                if ("function" != typeof t) throw new Error("MiniSignal#add(): First arg must be a Function.");
                return a(this, new o(t, !1, e))
            }
        }, {
            key: "once",
            value: function(t) {
                var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                if ("function" != typeof t) throw new Error("MiniSignal#once(): First arg must be a Function.");
                return a(this, new o(t, !0, e))
            }
        }, {
            key: "detach",
            value: function(t) {
                if (!(t instanceof o)) throw new Error("MiniSignal#detach(): First arg must be a MiniSignalBinding object.");
                return t._owner !== this ? this : (t._prev && (t._prev._next = t._next), t._next && (t._next._prev = t._prev), t === this._head ? (this._head = t._next, null === t._next && (this._tail = null)) : t === this._tail && (this._tail = t._prev, this._tail._next = null), t._owner = null, this)
            }
        }, {
            key: "detachAll",
            value: function() {
                var t = this._head;
                if (!t) return this;
                for (this._head = this._tail = null; t;) t._owner = null, t = t._next;
                return this
            }
        }]), t
    }();
    s.MiniSignalBinding = o, e.default = s, t.exports = e.default
}, function(t, e, n) {
    "use strict";
    t.exports = function(t, e) {
        e = e || {};
        for (var n = {
                key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
                q: {
                    name: "queryKey",
                    parser: /(?:^|&)([^&=]*)=?([^&]*)/g
                },
                parser: {
                    strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
                    loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
                }
            }, r = n.parser[e.strictMode ? "strict" : "loose"].exec(t), i = {}, o = 14; o--;) i[n.key[o]] = r[o] || "";
        return i[n.q.name] = {}, i[n.key[12]].replace(n.q.parser, function(t, e, r) {
            e && (i[n.q.name][e] = r)
        }), i
    }
}, function(t, e, n) {
    "use strict";

    function r() {}

    function i(t) {
        return function() {
            if (null === t) throw new Error("Callback was already called.");
            var e = t;
            t = null, e.apply(this, arguments)
        }
    }
    e.__esModule = !0, e.eachSeries = function(t, e, n, r) {
        var i = 0,
            o = t.length;
        ! function a(s) {
            s || i === o ? n && n(s) : r ? setTimeout(function() {
                e(t[i++], a)
            }, 1) : e(t[i++], a)
        }()
    }, e.queue = function(t, e) {
        if (null == e) e = 1;
        else if (0 === e) throw new Error("Concurrency must not be zero");
        var n = 0,
            o = {
                _tasks: [],
                concurrency: e,
                saturated: r,
                unsaturated: r,
                buffer: e / 4,
                empty: r,
                drain: r,
                error: r,
                started: !1,
                paused: !1,
                push: function(t, e) {
                    a(t, !1, e)
                },
                kill: function() {
                    n = 0, o.drain = r, o.started = !1, o._tasks = []
                },
                unshift: function(t, e) {
                    a(t, !0, e)
                },
                process: function() {
                    for (; !o.paused && n < o.concurrency && o._tasks.length;) {
                        var e = o._tasks.shift();
                        0 === o._tasks.length && o.empty(), (n += 1) === o.concurrency && o.saturated(), t(e.data, i(s(e)))
                    }
                },
                length: function() {
                    return o._tasks.length
                },
                running: function() {
                    return n
                },
                idle: function() {
                    return o._tasks.length + n === 0
                },
                pause: function() {
                    !0 !== o.paused && (o.paused = !0)
                },
                resume: function() {
                    if (!1 !== o.paused) {
                        o.paused = !1;
                        for (var t = 1; t <= o.concurrency; t++) o.process()
                    }
                }
            };

        function a(t, e, n) {
            if (null != n && "function" != typeof n) throw new Error("task callback must be a function");
            if (o.started = !0, null == t && o.idle()) setTimeout(function() {
                return o.drain()
            }, 1);
            else {
                var i = {
                    data: t,
                    callback: "function" == typeof n ? n : r
                };
                e ? o._tasks.unshift(i) : o._tasks.push(i), setTimeout(function() {
                    return o.process()
                }, 1)
            }
        }

        function s(t) {
            return function() {
                n -= 1, t.callback.apply(t, arguments), null != arguments[0] && o.error(arguments[0], t.data), n <= o.concurrency - o.buffer && o.unsaturated(), o.idle() && o.drain(), o.process()
            }
        }
        return o
    }
}, function(t, e, n) {
    "use strict";
    e.__esModule = !0, e.Resource = void 0;
    var r = function() {
            function t(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var r = e[n];
                    r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                }
            }
            return function(e, n, r) {
                return n && t(e.prototype, n), r && t(e, r), e
            }
        }(),
        i = a(n(24)),
        o = a(n(23));

    function a(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var s = !(!window.XDomainRequest || "withCredentials" in new XMLHttpRequest),
        A = null;

    function h() {}
    var c = e.Resource = function() {
        function t(e, n, r) {
            if (function(t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, t), "string" != typeof e || "string" != typeof n) throw new Error("Both name and url are required for constructing a resource.");
            r = r || {}, this._flags = 0, this._setFlag(t.STATUS_FLAGS.DATA_URL, 0 === n.indexOf("data:")), this.name = e, this.url = n, this.extension = this._getExtension(), this.data = null, this.crossOrigin = !0 === r.crossOrigin ? "anonymous" : r.crossOrigin, this.timeout = r.timeout || 0, this.loadType = r.loadType || this._determineLoadType(), this.xhrType = r.xhrType, this.metadata = r.metadata || {}, this.error = null, this.xhr = null, this.children = [], this.type = t.TYPE.UNKNOWN, this.progressChunk = 0, this._dequeue = h, this._onLoadBinding = null, this._elementTimer = 0, this._boundComplete = this.complete.bind(this), this._boundOnError = this._onError.bind(this), this._boundOnProgress = this._onProgress.bind(this), this._boundOnTimeout = this._onTimeout.bind(this), this._boundXhrOnError = this._xhrOnError.bind(this), this._boundXhrOnTimeout = this._xhrOnTimeout.bind(this), this._boundXhrOnAbort = this._xhrOnAbort.bind(this), this._boundXhrOnLoad = this._xhrOnLoad.bind(this), this.onStart = new o.default, this.onProgress = new o.default, this.onComplete = new o.default, this.onAfterMiddleware = new o.default
        }
        return t.setExtensionLoadType = function(e, n) {
            u(t._loadTypeMap, e, n)
        }, t.setExtensionXhrType = function(e, n) {
            u(t._xhrTypeMap, e, n)
        }, t.prototype.complete = function() {
            this._clearEvents(), this._finish()
        }, t.prototype.abort = function(e) {
            if (!this.error) {
                if (this.error = new Error(e), this._clearEvents(), this.xhr) this.xhr.abort();
                else if (this.xdr) this.xdr.abort();
                else if (this.data)
                    if (this.data.src) this.data.src = t.EMPTY_GIF;
                    else
                        for (; this.data.firstChild;) this.data.removeChild(this.data.firstChild);
                this._finish()
            }
        }, t.prototype.load = function(e) {
            var n = this;
            if (!this.isLoading)
                if (this.isComplete) e && setTimeout(function() {
                    return e(n)
                }, 1);
                else switch (e && this.onComplete.once(e), this._setFlag(t.STATUS_FLAGS.LOADING, !0), this.onStart.dispatch(this), !1 !== this.crossOrigin && "string" == typeof this.crossOrigin || (this.crossOrigin = this._determineCrossOrigin(this.url)), this.loadType) {
                    case t.LOAD_TYPE.IMAGE:
                        this.type = t.TYPE.IMAGE, this._loadElement("image");
                        break;
                    case t.LOAD_TYPE.AUDIO:
                        this.type = t.TYPE.AUDIO, this._loadSourceElement("audio");
                        break;
                    case t.LOAD_TYPE.VIDEO:
                        this.type = t.TYPE.VIDEO, this._loadSourceElement("video");
                        break;
                    case t.LOAD_TYPE.XHR:
                    default:
                        s && this.crossOrigin ? this._loadXdr() : this._loadXhr()
                }
        }, t.prototype._hasFlag = function(t) {
            return 0 != (this._flags & t)
        }, t.prototype._setFlag = function(t, e) {
            this._flags = e ? this._flags | t : this._flags & ~t
        }, t.prototype._clearEvents = function() {
            clearTimeout(this._elementTimer), this.data && this.data.removeEventListener && (this.data.removeEventListener("error", this._boundOnError, !1), this.data.removeEventListener("load", this._boundComplete, !1), this.data.removeEventListener("progress", this._boundOnProgress, !1), this.data.removeEventListener("canplaythrough", this._boundComplete, !1)), this.xhr && (this.xhr.removeEventListener ? (this.xhr.removeEventListener("error", this._boundXhrOnError, !1), this.xhr.removeEventListener("timeout", this._boundXhrOnTimeout, !1), this.xhr.removeEventListener("abort", this._boundXhrOnAbort, !1), this.xhr.removeEventListener("progress", this._boundOnProgress, !1), this.xhr.removeEventListener("load", this._boundXhrOnLoad, !1)) : (this.xhr.onerror = null, this.xhr.ontimeout = null, this.xhr.onprogress = null, this.xhr.onload = null))
        }, t.prototype._finish = function() {
            if (this.isComplete) throw new Error("Complete called again for an already completed resource.");
            this._setFlag(t.STATUS_FLAGS.COMPLETE, !0), this._setFlag(t.STATUS_FLAGS.LOADING, !1), this.onComplete.dispatch(this)
        }, t.prototype._loadElement = function(t) {
            this.metadata.loadElement ? this.data = this.metadata.loadElement : "image" === t && void 0 !== window.Image ? this.data = new Image : this.data = document.createElement(t), this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), this.metadata.skipSource || (this.data.src = this.url), this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
        }, t.prototype._loadSourceElement = function(t) {
            if (this.metadata.loadElement ? this.data = this.metadata.loadElement : "audio" === t && void 0 !== window.Audio ? this.data = new Audio : this.data = document.createElement(t), null !== this.data) {
                if (this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), !this.metadata.skipSource)
                    if (navigator.isCocoonJS) this.data.src = Array.isArray(this.url) ? this.url[0] : this.url;
                    else if (Array.isArray(this.url))
                    for (var e = this.metadata.mimeType, n = 0; n < this.url.length; ++n) this.data.appendChild(this._createSource(t, this.url[n], Array.isArray(e) ? e[n] : e));
                else {
                    var r = this.metadata.mimeType;
                    this.data.appendChild(this._createSource(t, this.url, Array.isArray(r) ? r[0] : r))
                }
                this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.data.addEventListener("canplaythrough", this._boundComplete, !1), this.data.load(), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
            } else this.abort("Unsupported element: " + t)
        }, t.prototype._loadXhr = function() {
            "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
            var e = this.xhr = new XMLHttpRequest;
            e.open("GET", this.url, !0), e.timeout = this.timeout, this.xhrType === t.XHR_RESPONSE_TYPE.JSON || this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT ? e.responseType = t.XHR_RESPONSE_TYPE.TEXT : e.responseType = this.xhrType, e.addEventListener("error", this._boundXhrOnError, !1), e.addEventListener("timeout", this._boundXhrOnTimeout, !1), e.addEventListener("abort", this._boundXhrOnAbort, !1), e.addEventListener("progress", this._boundOnProgress, !1), e.addEventListener("load", this._boundXhrOnLoad, !1), e.send()
        }, t.prototype._loadXdr = function() {
            "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
            var t = this.xhr = new XDomainRequest;
            t.timeout = this.timeout || 5e3, t.onerror = this._boundXhrOnError, t.ontimeout = this._boundXhrOnTimeout, t.onprogress = this._boundOnProgress, t.onload = this._boundXhrOnLoad, t.open("GET", this.url, !0), setTimeout(function() {
                return t.send()
            }, 1)
        }, t.prototype._createSource = function(t, e, n) {
            n || (n = t + "/" + this._getExtension(e));
            var r = document.createElement("source");
            return r.src = e, r.type = n, r
        }, t.prototype._onError = function(t) {
            this.abort("Failed to load element using: " + t.target.nodeName)
        }, t.prototype._onProgress = function(t) {
            t && t.lengthComputable && this.onProgress.dispatch(this, t.loaded / t.total)
        }, t.prototype._onTimeout = function() {
            this.abort("Load timed out.")
        }, t.prototype._xhrOnError = function() {
            var t = this.xhr;
            this.abort(l(t) + " Request failed. Status: " + t.status + ', text: "' + t.statusText + '"')
        }, t.prototype._xhrOnTimeout = function() {
            var t = this.xhr;
            this.abort(l(t) + " Request timed out.")
        }, t.prototype._xhrOnAbort = function() {
            var t = this.xhr;
            this.abort(l(t) + " Request was aborted by the user.")
        }, t.prototype._xhrOnLoad = function() {
            var e = this.xhr,
                n = "",
                r = void 0 === e.status ? 200 : e.status;
            if ("" !== e.responseType && "text" !== e.responseType && void 0 !== e.responseType || (n = e.responseText), 0 === r && (n.length > 0 || e.responseType === t.XHR_RESPONSE_TYPE.BUFFER) ? r = 200 : 1223 === r && (r = 204), 2 === (r / 100 | 0)) {
                if (this.xhrType === t.XHR_RESPONSE_TYPE.TEXT) this.data = n, this.type = t.TYPE.TEXT;
                else if (this.xhrType === t.XHR_RESPONSE_TYPE.JSON) try {
                    this.data = JSON.parse(n), this.type = t.TYPE.JSON
                } catch (t) {
                    return void this.abort("Error trying to parse loaded json: " + t)
                } else if (this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT) try {
                    if (window.DOMParser) {
                        var i = new DOMParser;
                        this.data = i.parseFromString(n, "text/xml")
                    } else {
                        var o = document.createElement("div");
                        o.innerHTML = n, this.data = o
                    }
                    this.type = t.TYPE.XML
                } catch (t) {
                    return void this.abort("Error trying to parse loaded xml: " + t)
                } else this.data = e.response || n;
                this.complete()
            } else this.abort("[" + e.status + "] " + e.statusText + ": " + e.responseURL)
        }, t.prototype._determineCrossOrigin = function(t, e) {
            if (0 === t.indexOf("data:")) return "";
            if (window.origin !== window.location.origin) return "anonymous";
            e = e || window.location, A || (A = document.createElement("a")), A.href = t;
            var n = !(t = (0, i.default)(A.href, {
                    strictMode: !0
                })).port && "" === e.port || t.port === e.port,
                r = t.protocol ? t.protocol + ":" : "";
            return t.host === e.hostname && n && r === e.protocol ? "" : "anonymous"
        }, t.prototype._determineXhrType = function() {
            return t._xhrTypeMap[this.extension] || t.XHR_RESPONSE_TYPE.TEXT
        }, t.prototype._determineLoadType = function() {
            return t._loadTypeMap[this.extension] || t.LOAD_TYPE.XHR
        }, t.prototype._getExtension = function() {
            var t = this.url,
                e = "";
            if (this.isDataUrl) {
                var n = t.indexOf("/");
                e = t.substring(n + 1, t.indexOf(";", n))
            } else {
                var r = t.indexOf("?"),
                    i = t.indexOf("#"),
                    o = Math.min(r > -1 ? r : t.length, i > -1 ? i : t.length);
                e = (t = t.substring(0, o)).substring(t.lastIndexOf(".") + 1)
            }
            return e.toLowerCase()
        }, t.prototype._getMimeFromXhrType = function(e) {
            switch (e) {
                case t.XHR_RESPONSE_TYPE.BUFFER:
                    return "application/octet-binary";
                case t.XHR_RESPONSE_TYPE.BLOB:
                    return "application/blob";
                case t.XHR_RESPONSE_TYPE.DOCUMENT:
                    return "application/xml";
                case t.XHR_RESPONSE_TYPE.JSON:
                    return "application/json";
                case t.XHR_RESPONSE_TYPE.DEFAULT:
                case t.XHR_RESPONSE_TYPE.TEXT:
                default:
                    return "text/plain"
            }
        }, r(t, [{
            key: "isDataUrl",
            get: function() {
                return this._hasFlag(t.STATUS_FLAGS.DATA_URL)
            }
        }, {
            key: "isComplete",
            get: function() {
                return this._hasFlag(t.STATUS_FLAGS.COMPLETE)
            }
        }, {
            key: "isLoading",
            get: function() {
                return this._hasFlag(t.STATUS_FLAGS.LOADING)
            }
        }]), t
    }();

    function u(t, e, n) {
        e && 0 === e.indexOf(".") && (e = e.substring(1)), e && (t[e] = n)
    }

    function l(t) {
        return t.toString().replace("object ", "")
    }
    c.STATUS_FLAGS = {
        NONE: 0,
        DATA_URL: 1,
        COMPLETE: 2,
        LOADING: 4
    }, c.TYPE = {
        UNKNOWN: 0,
        JSON: 1,
        XML: 2,
        IMAGE: 3,
        AUDIO: 4,
        VIDEO: 5,
        TEXT: 6
    }, c.LOAD_TYPE = {
        XHR: 1,
        IMAGE: 2,
        AUDIO: 3,
        VIDEO: 4
    }, c.XHR_RESPONSE_TYPE = {
        DEFAULT: "text",
        BUFFER: "arraybuffer",
        BLOB: "blob",
        DOCUMENT: "document",
        JSON: "json",
        TEXT: "text"
    }, c._loadTypeMap = {
        gif: c.LOAD_TYPE.IMAGE,
        png: c.LOAD_TYPE.IMAGE,
        bmp: c.LOAD_TYPE.IMAGE,
        jpg: c.LOAD_TYPE.IMAGE,
        jpeg: c.LOAD_TYPE.IMAGE,
        tif: c.LOAD_TYPE.IMAGE,
        tiff: c.LOAD_TYPE.IMAGE,
        webp: c.LOAD_TYPE.IMAGE,
        tga: c.LOAD_TYPE.IMAGE,
        svg: c.LOAD_TYPE.IMAGE,
        "svg+xml": c.LOAD_TYPE.IMAGE,
        mp3: c.LOAD_TYPE.AUDIO,
        ogg: c.LOAD_TYPE.AUDIO,
        wav: c.LOAD_TYPE.AUDIO,
        mp4: c.LOAD_TYPE.VIDEO,
        webm: c.LOAD_TYPE.VIDEO
    }, c._xhrTypeMap = {
        xhtml: c.XHR_RESPONSE_TYPE.DOCUMENT,
        html: c.XHR_RESPONSE_TYPE.DOCUMENT,
        htm: c.XHR_RESPONSE_TYPE.DOCUMENT,
        xml: c.XHR_RESPONSE_TYPE.DOCUMENT,
        tmx: c.XHR_RESPONSE_TYPE.DOCUMENT,
        svg: c.XHR_RESPONSE_TYPE.DOCUMENT,
        tsx: c.XHR_RESPONSE_TYPE.DOCUMENT,
        gif: c.XHR_RESPONSE_TYPE.BLOB,
        png: c.XHR_RESPONSE_TYPE.BLOB,
        bmp: c.XHR_RESPONSE_TYPE.BLOB,
        jpg: c.XHR_RESPONSE_TYPE.BLOB,
        jpeg: c.XHR_RESPONSE_TYPE.BLOB,
        tif: c.XHR_RESPONSE_TYPE.BLOB,
        tiff: c.XHR_RESPONSE_TYPE.BLOB,
        webp: c.XHR_RESPONSE_TYPE.BLOB,
        tga: c.XHR_RESPONSE_TYPE.BLOB,
        json: c.XHR_RESPONSE_TYPE.JSON,
        text: c.XHR_RESPONSE_TYPE.TEXT,
        txt: c.XHR_RESPONSE_TYPE.TEXT,
        ttf: c.XHR_RESPONSE_TYPE.BUFFER,
        otf: c.XHR_RESPONSE_TYPE.BUFFER
    }, c.EMPTY_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", t.exports.default = c
}, function(t, e, n) {
    (function(r, i) {
        var o;
        ! function(r) {
            var a = r.Promise,
                s = a && "resolve" in a && "reject" in a && "all" in a && "race" in a && function() {
                    var t;
                    return new a(function(e) {
                        t = e
                    }), "function" == typeof t
                }();
            e ? (e.Promise = s ? a : T, e.Polyfill = T) : void 0 === (o = function() {
                return s ? a : T
            }.call(e, n, e, t)) || (t.exports = o);
            var A = "pending",
                h = "sealed",
                c = "fulfilled",
                u = "rejected",
                l = function() {};

            function d(t) {
                return "[object Array]" === Object.prototype.toString.call(t)
            }
            var p, f = void 0 !== i ? i : setTimeout,
                y = [];

            function x() {
                for (var t = 0; t < y.length; t++) y[t][0](y[t][1]);
                y = [], p = !1
            }

            function m(t, e) {
                y.push([t, e]), p || (p = !0, f(x, 0))
            }

            function g(t) {
                var e = t.owner,
                    n = e.state_,
                    r = e.data_,
                    i = t[n],
                    o = t.then;
                if ("function" == typeof i) {
                    n = c;
                    try {
                        r = i(r)
                    } catch (t) {
                        _(o, t)
                    }
                }
                w(o, r) || (n === c && v(o, r), n === u && _(o, r))
            }

            function w(t, e) {
                var n;
                try {
                    if (t === e) throw new TypeError("A promises callback cannot return that same promise.");
                    if (e && ("function" == typeof e || "object" == typeof e)) {
                        var r = e.then;
                        if ("function" == typeof r) return r.call(e, function(r) {
                            n || (n = !0, e !== r ? v(t, r) : b(t, r))
                        }, function(e) {
                            n || (n = !0, _(t, e))
                        }), !0
                    }
                } catch (e) {
                    return n || _(t, e), !0
                }
                return !1
            }

            function v(t, e) {
                t !== e && w(t, e) || b(t, e)
            }

            function b(t, e) {
                t.state_ === A && (t.state_ = h, t.data_ = e, m(E, t))
            }

            function _(t, e) {
                t.state_ === A && (t.state_ = h, t.data_ = e, m(C, t))
            }

            function S(t) {
                var e = t.then_;
                t.then_ = void 0;
                for (var n = 0; n < e.length; n++) g(e[n])
            }

            function E(t) {
                t.state_ = c, S(t)
            }

            function C(t) {
                t.state_ = u, S(t)
            }

            function T(t) {
                if ("function" != typeof t) throw new TypeError("Promise constructor takes a function argument");
                if (this instanceof T == !1) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
                this.then_ = [],
                    function(t, e) {
                        function n(t) {
                            _(e, t)
                        }
                        try {
                            t(function(t) {
                                v(e, t)
                            }, n)
                        } catch (t) {
                            n(t)
                        }
                    }(t, this)
            }
            T.prototype = {
                constructor: T,
                state_: A,
                then_: null,
                data_: void 0,
                then: function(t, e) {
                    var n = {
                        owner: this,
                        then: new this.constructor(l),
                        fulfilled: t,
                        rejected: e
                    };
                    return this.state_ === c || this.state_ === u ? m(g, n) : this.then_.push(n), n.then
                },
                catch: function(t) {
                    return this.then(null, t)
                }
            }, T.all = function(t) {
                if (!d(t)) throw new TypeError("You must pass an array to Promise.all().");
                return new this(function(e, n) {
                    var r = [],
                        i = 0;

                    function o(t) {
                        return i++,
                            function(n) {
                                r[t] = n, --i || e(r)
                            }
                    }
                    for (var a, s = 0; s < t.length; s++)(a = t[s]) && "function" == typeof a.then ? a.then(o(s), n) : r[s] = a;
                    i || e(r)
                })
            }, T.race = function(t) {
                if (!d(t)) throw new TypeError("You must pass an array to Promise.race().");
                return new this(function(e, n) {
                    for (var r, i = 0; i < t.length; i++)(r = t[i]) && "function" == typeof r.then ? r.then(e, n) : e(r)
                })
            }, T.resolve = function(t) {
                return t && "object" == typeof t && t.constructor === this ? t : new this(function(e) {
                    e(t)
                })
            }, T.reject = function(t) {
                return new this(function(e, n) {
                    n(t)
                })
            }
        }("undefined" != typeof window ? window : void 0 !== r ? r : "undefined" != typeof self ? self : this)
    }).call(this, n(11), n(130).setImmediate)
}, function(t, e, n) {
    "use strict";
    /*
    object-assign
    (c) Sindre Sorhus
    @license MIT
    */
    var r = Object.getOwnPropertySymbols,
        i = Object.prototype.hasOwnProperty,
        o = Object.prototype.propertyIsEnumerable;
    t.exports = function() {
        try {
            if (!Object.assign) return !1;
            var t = new String("abc");
            if (t[5] = "de", "5" === Object.getOwnPropertyNames(t)[0]) return !1;
            for (var e = {}, n = 0; n < 10; n++) e["_" + String.fromCharCode(n)] = n;
            if ("0123456789" !== Object.getOwnPropertyNames(e).map(function(t) {
                    return e[t]
                }).join("")) return !1;
            var r = {};
            return "abcdefghijklmnopqrst".split("").forEach(function(t) {
                r[t] = t
            }), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("")
        } catch (t) {
            return !1
        }
    }() ? Object.assign : function(t, e) {
        for (var n, a, s = function(t) {
                if (null == t) throw new TypeError("Object.assign cannot be called with null or undefined");
                return Object(t)
            }(t), A = 1; A < arguments.length; A++) {
            for (var h in n = Object(arguments[A])) i.call(n, h) && (s[h] = n[h]);
            if (r) {
                a = r(n);
                for (var c = 0; c < a.length; c++) o.call(n, a[c]) && (s[a[c]] = n[a[c]])
            }
        }
        return s
    }
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAARUSURBVHhe7Z2NcdpAEIVFGohdAXQAHUAHwRUYVxA6YFwBSQXEFdipAFyBQwXgCrArIPvQZgYTQHsSp9uV95vZkcxwup93q7tbHXLmOI7jOI7jRKDFR/Vst9suHXpkHT5ekZ3jD9kb2YJs3Wq1XvGhdtQKQgJ8pcOQbUBWJEARa7InsgWJ83v3iVMMPIFsRhaTFdmUDKI7x0DjkMUW4pAN2YTMhdmHGuQ7N04q4DHfuDifF2oEeMUcLaIEeGhSb0k2qHPFMQPCjEkTKNOQBv73/M96SSIIidGmAyqOKaxGMGUepBCldkEUe8YhSURJIcicDlhXVAWinuMSefwiQe74vHmQGJhNlQWD/y0Zbnci8F1OU2XicMuXaxZUMSz4ykxtMfMRi3AKXIOvFQrKXDl/dVClQnspvn/xhsA1+doh4DbbHKhC/bxeYqacNBrII89KTJ+T2ocqE9IjJ5wsOsgrz1LEjJPZhioS4h3RPeMQ5JlnLcJ+zIsqIR1IX8hqrzDy5Lwl1Oa9UaAKoLJSkt2jkXdehEJWnMQmVAGsASRsOEkyqAyI+ErAk8tofOFjLPC0T8IPPqZEWoYRH21BPSnkdpV8sEQZ8qIU8sJJohDTQ6SxJMSLkoS69+EyFMXHQNSgaExBpAXHxgMtiMpCXhJtApJcEOqZmnaAIOQuIZqXxBREsm1H2gC1QJ3jmU+LqLol6SSpxxDsldKGpEyXeNZylJiCSFDlIUzSTpJaEOcAF0QZLogyXBBluCDKcEGU4YIoo9JGuW3+bODUqlUSqPvFpgmE4YtCI1g/jfPT/3ijFf+Sz4MpJQgH1yQF/8yMSZiffC6mrCB4lKl1o7QmOiRK0G8bg8cQ9g4XQ0ZwO/mgrgwXRBkuiDJcEGW4IMpwQZThgijDBVFG8EqdF4aSOFVU1ut1tlgsstfXjwvhbrebDQaD7Ooq2saQEPArXulOlnJAELJkbDab7XA43FJFTxqJsR2Px5wiKfF39COTPK/6Wa1Wu8Y+JsIx6/V6nDIZwYKYGkNubm6y93f5NuDlcpnd3dn6mbkZQe7v73cNHMrDw0P29KRp+/B5zAzq19fXQd6xT7vdzuh2x3/VSvCgbsJDMJsqKwbATAzXsIAJQZ6fq88cL3GNOvCFoTJcEGWYEASDclUucY06MCEILfD4rDwIp1jAjCBVeni/3886HRv7MsyMIZNJ+bdaVEmrHiwMd1GaBIxGo6Mxq3M2m9X9buYPNDu4CKbT6dGGPzQEIefzKm/2uwjNFwQ8Pj4eFWHf8B0FNDva+w/Jw6cygUgNmBSkyZgURBKXshJMPMQ9RBkmBZH0fivR3UPcQ5TR2DEEWBxH3EOUYU6QkF5vcRxxD1GGOUFCer3FMcTs3l4jNHMb0GfCBVGGC6IMF0QZLogyXBBluCDKcEGU4YIoo4wgGl8PrpXgtgoWpJW/kAv/ZeZt94FzDLTNiNvKcRzHcRzHcRxHMVn2F2PX8gL1dlaqAAAAAElFTkSuQmCC"
}, function(t, e, n) {
    t.exports = n.p + "images/04184d3d7203cb3de14a0a404a84bf97-CHAR_Classic_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/a5940ffe13ef294f944076aa73ef715a-CHAR_StickPlant_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/42d5a0d39256b37cf6708139269f3c03-CHAR_Momie_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/8fa30d5272fb19c67d5e279222f7b794-CHAR_Burger_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/77faf6c9730991489534659f010dfa9b-CHAR_Cactus_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/e05408b9bd045ed3e43a969146823019-CHAR_AngelStick_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/a05fd91e4801f756cf9f0dcb4e5517f8-CHAR_Harry_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/28506e14838e4d45f80d079fe1d2b110-CHAR_Unicorn_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/2d47eed71e4381405080714e00ec6ad9-CHAR_EvilStick_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/8e1269876513676187aec62722d9c236-CHAR_RainbowStick_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/3f8e3b577ebcb0720aa183ffa614f39f-CHAR_StickOuech_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/61f8a43a4891731ae3b68bb41346767f-CHAR_KingStick_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/3a44cbb3a12ca246c94cc8a421f62a9a-CHAR_Banana_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/c40aa8ce16dc9ca63a65736aa1123119-CHAR_Ninja_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/95eae8386a9fa35681d9259a90cfe08e-CHAR_Sheep_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/fcd3dbdb6348beb40a3122f7eeae8cbd-CHAR_Panda_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/01434c96a36c2c33d787073809c13b8b-CHAR_SuperStick_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/4ad6740ee1c9057ba7ed74460be8950a-CHAR_RobotMan_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/601a0de398a32bd53366c6fee57ea531-CHAR_Dragon_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/44c268a5c1540584f0d010b1c5ef9a7d-CHAR_TikiMan_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/040f73e99e3473c54f2c9a9f1d88ec9f-CHAR_HotDog_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/b5716296e3556e7ba7293148c682d305-CHAR_LemonMan_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/fac3f46ae48d845f47e31b60b8ea3127-CHAR_Plant_Miniature.png"
}, function(t, e, n) {
    t.exports = n.p + "images/27f62cb7fcc15256d379f7e940d7fc35-titlepow2.png"
}, function(t, e) {
    t.exports = "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAUAAAEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDw+iiiv3w/QAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKCeYKKKKCQop+wUVfKiLsWinYWimRzDaKfsFFaGfMLRTt9FPlZnzDcUVJRVk3CipKKfKzHmCijFFWSLuNFPop8rM7hRTt3tRVk8w2ipKKfKzPmCipMUVZnzBRRRVcpIUVJiiqIuwop2yiq5SOYbuoqTFFUZ8wUUUVXKZ8xJiiiiqJCinbKKrlIux1FO8uiqMribjRS7KK0M7jqKdu9qKfKyeYNlFOoqzPmCineXRVcpF0OoooqiAop3l0VXKZ3HUU7ZRVE8w2ineXRVcpF0OopdhoqjLmH0UUVoSFFO2UUGfMOop3l0VoZibjRS7KKDO46iiitBXQ/YKKWinyszugop3l0VZndDqKKKfKyAop3l0VZncdRTtlFPlYrobRTvLoqzO6HUU7ZRT5WZcw6iiirJuFFO2UVXKZXQ6ineXRVEH//2Q=="
}, function(t, e, n) {
    t.exports = n.p + "images/43373af2c85cc40390455124c8916b67-BumperLarge.png"
}, function(t) {
    t.exports = {
        frames: {
            "AN_Grap1_BumperLarge0001.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 298,
                    h: 148
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 24,
                    w: 298,
                    h: 148
                },
                sourceSize: {
                    w: 512,
                    h: 256
                }
            },
            "AN_Grap1_BumperLarge0002.png": {
                frame: {
                    x: 1,
                    y: 151,
                    w: 289,
                    h: 118
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 64,
                    w: 289,
                    h: 118
                },
                sourceSize: {
                    w: 512,
                    h: 256
                }
            },
            "AN_Grap1_BumperLarge0003.png": {
                frame: {
                    x: 121,
                    y: 151,
                    w: 289,
                    h: 99
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 133,
                    w: 289,
                    h: 99
                },
                sourceSize: {
                    w: 512,
                    h: 256
                }
            },
            "AN_Grap1_BumperLarge0004.png": {
                frame: {
                    x: 222,
                    y: 151,
                    w: 289,
                    h: 79
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 116,
                    w: 289,
                    h: 79
                },
                sourceSize: {
                    w: 512,
                    h: 256
                }
            },
            "AN_Grap1_BumperLarge0005.png": {
                frame: {
                    x: 1,
                    y: 442,
                    w: 289,
                    h: 68
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 127,
                    w: 289,
                    h: 68
                },
                sourceSize: {
                    w: 512,
                    h: 256
                }
            }
        },
        animations: {
            AN_Grap1_BumperLarge: ["AN_Grap1_BumperLarge0001.png", "AN_Grap1_BumperLarge0002.png", "AN_Grap1_BumperLarge0003.png", "AN_Grap1_BumperLarge0004.png", "AN_Grap1_BumperLarge0005.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "BumperLarge.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 512
            },
            scale: "1",
            smartupdate: "$TexturePacker:SmartUpdate:af42770b6235e059ec0191895ee89693:b2e89c7355bcdaca7e03849c9c7c8348:6f5f9da7d046efa3243906aeb729a0f3$"
        }
    }
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAABd2lDQ1BIRCA3MDktQQAAKM+t0TFLw0AUB/B/a7VKC4qIdhA5UMQhkVqH2uqStmArDqUqqFuapq2QtCG5Uv0Abi46iC6K+hVEFwdHcdBBEITiZxAKBZES75Ihi+jig4TfPR7vHvcAP5UNQwsA0GvULCynyObWNgm2EEIYw0hiTFYsQ8rnV/Fz+IDOK/8DLyLvVc59vi3tN8+v+1ZOJ5JUwO8RKqmWwtr0MyslS9GZNWZBMUzKfMIsNqnB/cA8YrIBmVvcFdcf3EXH/oBTs15IM0eYh4quZ7grrhe4lapcYs7yu9wZnBjIZkg8mhAl/HPoWkPx3gxhtbaxxudg3ziyyIAgjigSECFRdZfywnTd2DN3KlVKJPayKknXdaNBVVMguZoyK5BYdC7K6/jO3NbtgtPdN/rs5eoXQGIS6DnwcsVj4PYOiDx6uakzYHARuHkyZFP2NtwJ/HW2yvMx1+EU0Ptu2+1pIHgEdA9t++vStrtX7H62s3vtGyaoaeFFp28gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF12lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDctMDRUMTQ6Mzk6MzErMDI6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA3LTA0VDE0OjQxOjU0KzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA3LTA0VDE0OjQxOjU0KzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiZGFmOTM4ZC1kNjExLTQ5YmQtYWM1YS03YzRjNDgxYzhjZmYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1Y2I2ZjI5ZS1mYzcxLThkNGQtYjIwMC04ZGZlMzdkZWY2M2QiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYWQ1MGE0MS1hMGYxLTRiMDMtYTg3NS1kYzI3NDlhNzAwMTUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmJhZDUwYTQxLWEwZjEtNGIwMy1hODc1LWRjMjc0OWE3MDAxNSIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wNFQxNDozOTozMSswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmJkYWY5MzhkLWQ2MTEtNDliZC1hYzVhLTdjNGM0ODFjOGNmZiIgc3RFdnQ6d2hlbj0iMjAxOS0wNy0wNFQxNDo0MTo1NCswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRv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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVRYhe3VMQoAMQwDQTnc/7/sPEKBa0b9wuDGk2RTbLfKc6r6wQAAAAAAAAC+9p/PTNX/fgEAAAAAAACAC8kBBz5A2Qw/AAAAAElFTkSuQmCC"
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVORK5CYII="
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJFSURBVHhe7ZuBUcIwFIYpDCAbgBPIJriBuoFu4Aa6gbiBI7gBOgE6gTpAwf+Xx51XCyZtwrXJ/929SwJpc/kuta+xDIQQQgghhBBCCCGEEEK4UVjZKzabzRmK8bb1w2dRFK9WF/uAuPl6vV4iNjWx5PfWVVQpy/KuRtqfYD87ROzAyrqok7Uv2N8OFZAxgZSPqqT/QhIN10u3LiQRQMSqKsYnYkvsfBpDCVZtDFKcS8SjNYMytDJpsAoXsVZiFgJJLInZCCQxJGYlkISWmJ1AElJilgJJKInZCiQhJLbKAzH4bltpahEcjHFr1Wi0yRMbCcSk5jax2faT/tNUordAPptioGtrJkUTiV4C+fcCsbBmkvhKdBYIcRPEC6q/t9JThP8emCHerX0Q57swHup52aYuj4xtrk44r0CcdIUiyp22g7wNh8NTqx/ER2DrbaU+AYFObrJOpEPgI/DNyhxwnquzQNyBn62aPD5z9U1jsliFSGGmwdMYnhAC762ZLJyjqzzivAJ3pPwoB3mL0Wh0ZU0nvO/CGOAGAi9RTepybiKPeK/AHRjwBMU5ImpyjXGib2c1lUcaCzwWsRP4NvJI1ol0W3kkW4Eh5JEsBYaSR7ITGFIeyUpgaHkkG4Ex5JEsBMaSR/ogsNUTT0x5pPMCIaDxNlpseb0AEviSee3ru4eiLMsHO4XwfdFc8mpwlch+doiogsuZP7jZ99b+it9b16PR+d2YKpBUt43GO/VTURRf26YQQgghhBBCCCGEEEKIjjEYfAP1gM+qU/LzAwAAAABJRU5ErkJggg=="
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAADkElEQVR4nO3d4W3aQBjG8edYIGxQNigbhE7QbhAyQRkhG5QN4k5QRqAbkAlKNnAmePvBZ2SMARuIjf3+fxISMcScdI/f89mWTgIAAAAAAAAAAAAAAAAAAADQb+Gzdmxmj5Im8ZUbS5p+1m8OQCppU9q2lrQNIbx/xg/eLABm9kXSXNIsvnBbW2VhWIcQft9qp1cHwMy+S1qITm9TKmkpKbm2MlwcADN7kvSi/RKP9iWSXi4NQuMAmNmDpJU44u9JKmlxydDQKADxqE+a/ghas5E0CyF81P2HUd0vmtkv0fn3bippY2Zf6/5DrQpgZq/KzvDRD6mySvB27otnA0DZ761aw8HJAND5vXc2BEcDEMeR8lUp9E8SQng+9mFlAOJUbyPm+EMxPzZFPBaAP5J+fGqT0KZU0rTqYtHBNDCO+3T+sIx15FzuoAKY2T9R+odqFkL4W9ywVwHM7Kfo/CF7KW/YqwAc/S7sVYFdBYhj/6SLFqFV8+IfxSFg1moz0JW9E/zRsQ8wWOP4EI+kGID4/N64syahbbP8zai8AS7sHswdlTfAhVn+Jg/ApJNmoDPxfg8VwLGp1OCRMAwTAXCOADhHAJwjAM4RAOcIgHMEwDkC4BwBcI4AOEcAnCMAzhEA5wiAcwTAOQLgHAFwjgA4RwCcIwDOEQDnCIBzBMA5AuAcAXCOADhHAJwjAM4RAOcIgHMEwDkC4BwBcI4AOEcAnCMAzhEA5wiAcwTAuTwA6y4bgfbli0bkAUg7bAvat+vvPAAsEOnLrr8ZAnw6CAAVwJd1/mYkSXFx4VVXrUHr1vmbUdVGDNqquJp4MQCJmA14sFfpdwGIqUjabg1atS2vIl5eOfRB0lasIDZUB8vI710KjlVg2WqT0JaDo1+qvhewFNPCIZpXbTwIQKwClV9Gby3Ly8bnKu8GhhDeRAiGYqOKZeNz4dgHkmRmryIIfZZKmhTn/WUnnwcIITyLqWFfpZJmpzpfqvFASAzB4latQis2kqZxKD/p5BBQZGZPohr0wUY1jvxc7UfC4hxyruxCEe7TSg06X2pQAXLxauFKLDl/T1JJi6oLPec0fig0hPARQvgmqsG9SJSN9407X7qgAhTFajBXdpI4uWZfaCyRlBy7wFPXVQEoMrNHZWGY32qfOLBVdqk+aTLOn3KzABTFMMyUrVHPncXrbOJrHUJ477oxAAAAAAAAAAAAAAAAuHP/AV7pyirlIjGbAAAAAElFTkSuQmCC"
}, function(t, e, n) {
    t.exports = n.p + "images/b6a61ef922faf37de190abe915c17dec-FX_Spawn.png"
}, function(t) {
    t.exports = {
        frames: {
            "FX_Spawn0.png": {
                frame: {
                    x: 409,
                    y: 1,
                    w: 102,
                    h: 101
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 64,
                    y: 65,
                    w: 102,
                    h: 101
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn1.png": {
                frame: {
                    x: 280,
                    y: 141,
                    w: 126,
                    h: 126
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 52,
                    y: 52,
                    w: 126,
                    h: 126
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn2.png": {
                frame: {
                    x: 277,
                    y: 285,
                    w: 130,
                    h: 130
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 50,
                    y: 50,
                    w: 130,
                    h: 130
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn3.png": {
                frame: {
                    x: 141,
                    y: 285,
                    w: 134,
                    h: 134
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 48,
                    y: 48,
                    w: 134,
                    h: 134
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn4.png": {
                frame: {
                    x: 141,
                    y: 145,
                    w: 138,
                    h: 137
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 46,
                    y: 47,
                    w: 138,
                    h: 137
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn5.png": {
                frame: {
                    x: 1,
                    y: 145,
                    w: 138,
                    h: 138
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 46,
                    y: 46,
                    w: 138,
                    h: 138
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn6.png": {
                frame: {
                    x: 1,
                    y: 285,
                    w: 138,
                    h: 138
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 46,
                    y: 46,
                    w: 138,
                    h: 138
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn7.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 142,
                    h: 142
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 44,
                    y: 44,
                    w: 142,
                    h: 142
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn8.png": {
                frame: {
                    x: 145,
                    y: 1,
                    w: 138,
                    h: 137
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 46,
                    y: 45,
                    w: 138,
                    h: 137
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn9.png": {
                frame: {
                    x: 1,
                    y: 425,
                    w: 35,
                    h: 33
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 98,
                    y: 97,
                    w: 35,
                    h: 33
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn10.png": {
                frame: {
                    x: 1,
                    y: 462,
                    w: 18,
                    h: 17
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 105,
                    w: 18,
                    h: 17
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "FX_Spawn11.png": {
                frame: {
                    x: 1,
                    y: 482,
                    w: 18,
                    h: 17
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 105,
                    w: 18,
                    h: 17
                },
                sourceSize: {
                    w: 230,
                    h: 232
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            FX_Spawn: ["FX_Spawn0.png", "FX_Spawn1.png", "FX_Spawn2.png", "FX_Spawn3.png", "FX_Spawn4.png", "FX_Spawn5.png", "FX_Spawn6.png", "FX_Spawn7.png", "FX_Spawn8.png", "FX_Spawn9.png", "FX_Spawn10.png", "FX_Spawn11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "FX_Spawn.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 512
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:44932692ac093b888582b49c07a9d87d:1963e090ffb365b35fbb53ec1a9a12c3:226385ad2ec5f3823e5a224f072dea7f$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/50a9bb3e272fc5be76bc8968f704e959-FinishPlatform.png"
}, function(t) {
    t.exports = {
        frames: {
            "AN_Grap1_FinishPlatform0001.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0002.png": {
                frame: {
                    x: 404,
                    y: 1,
                    w: 401,
                    h: 90
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0003.png": {
                frame: {
                    x: 1,
                    y: 93,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0004.png": {
                frame: {
                    x: 1,
                    y: 185,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0005.png": {
                frame: {
                    x: 1,
                    y: 277,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0006.png": {
                frame: {
                    x: 1,
                    y: 369,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0007.png": {
                frame: {
                    x: 404,
                    y: 404,
                    w: 401,
                    h: 90
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0008.png": {
                frame: {
                    x: 1,
                    y: 461,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0009.png": {
                frame: {
                    x: 1,
                    y: 553,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0010.png": {
                frame: {
                    x: 1,
                    y: 645,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Grap1_FinishPlatform0011.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 401,
                    h: 90
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 30,
                    y: 70,
                    w: 401,
                    h: 90
                },
                sourceSize: {
                    w: 461,
                    h: 230
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            AN_Grap1_FinishPlatform: ["AN_Grap1_FinishPlatform0001.png", "AN_Grap1_FinishPlatform0002.png", "AN_Grap1_FinishPlatform0003.png", "AN_Grap1_FinishPlatform0004.png", "AN_Grap1_FinishPlatform0005.png", "AN_Grap1_FinishPlatform0006.png", "AN_Grap1_FinishPlatform0007.png", "AN_Grap1_FinishPlatform0008.png", "AN_Grap1_FinishPlatform0009.png", "AN_Grap1_FinishPlatform0010.png", "AN_Grap1_FinishPlatform0011.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "FinishPlatform.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:559aeaf7c71f2b3a700807c357268d12:f538649b2256b93d6a79b0760f45a380:ba6f222996ca712253595af3802d04ac$"
        }
    }
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAMp0lEQVR4nO3dPXYcaRUG4NeQTNYOydo7kEOyFisQIZmGFRhWIHag2YFmB4YMImlCIjklkrwC2RlEIiiZY3nMuPVTfb/q+zzn3KNo/P30mXPf+qq6OgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPi6F9UTAJ7VOsmrzypJDh/x71zc/b3+rN4/elbAcAQAWKZVktd3dZip2b/ewbjv7uo6U0h4l+TjDsYFgLY2SU6TXCa5Hagu7+a1mW/pANDLUZKzJDepb/Tb1M3dfI/m2AwA2GcHma6ol9L0vxUGnAwAwC/YJDlPfeOeoy6THD/fVgHA8m2SXKW+Se+irpK8eZ5tA4BlWmd/r/i3CQKbp28hACzHKslJ6pvwCPU2UxACgL12lD7H/Q+pk6dsKgCM7DT1jXbkusz0DQgA2AvrjPfynlHrJr4tAMAe2GT53+evqNPHbDYAjOA49Y10yXWe6YFJAFgMzf956jJCAAALcZL6xrlPdRUhAIDBvUl9w9zHchIAwLCOU98o97mEAACGc5T6BtmhLrf9QIBf9uvqCcAeWCf5e5LvqifSwG+SvEzyj+qJwNIJAPA0q0zN/1XxPDr5bZIPSf5ZPREA+jpL/bF41/LaYABKuO9fW1fxUCA8mlsA8DirJBdx37/Sy0zPBPyteiIA9HGW+itgNdXmG58V8BUvqicAC7TJdPXPGD5kegjzY/E8YFHcAoCHu8h0/MwYvkvy7yQ/VU8EgP11kvojb/X1Wv/C5wZ8wS0A2N4qyXVc/Y/qIsnvqicBS/Gr6gnAgvwpmv/IDuOBQNiaEwDY3k2WFQA+JHl3Vx+y/YOLh5nW+fqulrTmH5P8sXoSAOyPdervcW9TbzP9JPFzviXv4O7fPB9gfd+qq2dcNwAM/b3/q0wNehdvxVtlehDyZofre2gdzbZ6AFpZp76pfa1uMjXjitfhjhwEzmdcNwCNnKa+qX1ZpxnjPfirjHk6splz0QD0MNJV7k3G/BW8o4y1T2/nXS4A++449c3sU11m7JfdHGSsEDDyXgEwuPPUN7JPzX+EI/9vWWeaa/V+3WZ6RgEAHmyd+ia2pOb/yTpjnARczb1QAPbTm9Q3sZssq/l/cpD6vbuNrwQC8AgjHGWP+MDfto5Tv39ns68SgL2yTn3zOpl9lfN7m9o9vJl/iQDsk+rj//P5l7gTq9Q/D+A2AHyFXwOErzssHv8vxeM/l49Jfiiew++LxwdgQSqvWK92sL5dWmVak/0EYGib1AaA4/mXuHPHqd3T9fxLBGDpTuJqdQ6VzwLsY6iCJ/EMAPzc68Kxfywce26VzwIcFo4NwEJcxVH1HNap29fLHawPgAVbRZOaU+XLlYDPuAUA9zn+n9ePhWNvCseG4QgAcF9lAPhr4di7UrnGV4Vjw3AEALjvZdG410neF429S+8zrbXCq6JxYUgCANxXdQLwrmjcClVrrTzdgeEIAHBf1QmAADC/qs8WhiQAwH1VTeKiaNwKF9UTAAQA+JJj4v11WD0BGMmL6gnAYKq+L97t/0X7DMWcAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAADQkAABAQwIAjGFTPYEdqlrrh6JxYUgCANx3UT0BZvOuegIwEgEAxnBYPYEdOqyeACAAwCheVU9gh14VjXtdNC4MSQCA+y6Kxn1dNG6Fw6Jxr4vGhSEJAHBf1YNir5OsisbepXWcAMAQBAC4r/JBsd8Xjr0rh4VjXxeODcMRAOC+68KxDwvH3pXKkPNT4dgALMBNktuCusl+3wZYpWZfb5Nc7WB9sChOAODnqm4DvMx+3wb4vnDsi8KxYUgCAPzcReHY3xeOPbc/FY7tJUAAfNNR6o6qb5MczL/EnbOnAAyv8l71bZKz+Ze4U6sk56nbz5v5lwjAvrhMbQg4mX+JO1PZ/PcxUAEwo5PUNq19+UbAJrX7eJvp9gMAbOUg9Y3rdPZVzq/6JOU2+xGkANihq9Q3r83sq5zPSer37+3sqwRg75ymvoEt9VbACCcot0mO514oAPtnlCZ2mWWFgHXq3qb4ZXgCgEe5Sn0ju830JP0SQsA64+zZ2cxrBWCPvUl9I1tKCBip+d/Gy38AeIJ16hvZ53V5N6fRbDLGsf/nYQkAnuQs9Q3tyzqedcXbW2WMp/1H3R8AFmyT+ob2tbpM7TH3UcY68v9UV3MuGoBezlPf2P5fnWe37wvYZMzG/6mO51s6AN0cp76xbXPle5J5TgU2d//2yI3/0x4AW3hRPQFYkKskr6onsaXrJO+SXNz9vU7yfsv/9iDJyySHSV7f/X35vNObzQ9J/lw9CVgCAQC2t8nUUBnTh0wB7WPxPGARflU9AViQnyIAjOyHaP6wNScA8DBOAcbk6h8eyAkAPIxTgDG5+ocHcgIAD7fK9FDdUh6M23cXSX5XPQlYml9XTwAW6D9Jvsv0dDz1vs/233AAgCc7T/333rvXyTc/JQB4ZuuM9QM43ery2x8RAMzjKPWNsGPdZMxfRYTF8AwAPM2/Mj0M+NvqiTTzhyT/rJ4EAFym/qq4S51u+ZkAwOxWGf+Hcvah3m77gQDArhzEQ4Fz1mWmoAUAwxECNH8AmhICNH8AmhICNH8AmlrHtwOeUufR/AFYqFWEgMfU2WM2GwBGc5r6prqUevPIPQaAIR3FcwG/VFeZnp0AgL2zil8R/FqdPWVTAWApjuLNgbeZno/YPHEvAWBRVpl+z77jbYGbJMdP30IAWK51piPw6qa8qzqJr/cBwP8cZAoC+3gicJOp8a+fbbcAYM98ujVwlfrG/dS6zPS1Plf8APAAR1neqcBVpvce+EofADyDTabGOuKbBc8zXelr+rAQL6onADzKOsnruzq8q135kORdkovP/n7c4fjAMxAAYH+sk7zKFAZeZgoHyePDwcXd33dJrj/7+/6R/x4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAP8Fo6OEf4axxXgAAAAASUVORK5CYII="
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t) {
    t.exports = {
        A_Wall45: [{
            shape: [316, 323, 301, 323, 190, 212, 207, 188, 212, 190, 322, 300, 324, 305, 323, 315]
        }, {
            shape: [200, 188, 207, 188, 190, 212, 188, 207, 188, 199, 193, 191]
        }, {
            shape: [301, 323, 316, 323, 313, 324, 304, 324]
        }],
        A_WallCurve: [{
            shape: [406, 128, 349, 132, 350, 102, 402, 98, 409, 101, 414, 117]
        }, {
            shape: [99, 403, 105, 329, 129, 376, 129, 402, 121, 413, 109, 414]
        }, {
            shape: [105, 329, 139, 323, 129, 376]
        }, {
            shape: [105, 329, 133, 255, 154, 283, 139, 323]
        }, {
            shape: [133, 255, 174, 198, 173, 248, 154, 283]
        }, {
            shape: [174, 198, 225, 152, 215, 200, 173, 248]
        }, {
            shape: [225, 152, 282, 121, 259, 166, 215, 200]
        }, {
            shape: [282, 121, 350, 102, 302, 145, 259, 166]
        }, {
            shape: [350, 102, 349, 132, 302, 145]
        }],
        A_WallAngle: [{
            shape: [270, 292, 264, 286, 263, 249, 294, 244, 294, 282, 286, 293]
        }, {
            shape: [227, 220, 268, 218, 279, 221, 294, 244, 263, 249, 229, 249, 219, 241, 218, 229]
        }],
        A_WallCircleChelou: [{
            shape: [196, 327, 196, 185, 206, 159, 307, 161, 315, 186, 287, 370, 243, 376, 210, 358]
        }, {
            shape: [307, 161, 206, 159, 238, 138, 273, 137]
        }, {
            shape: [287, 370, 315, 186, 316, 326, 308, 349]
        }],
        A_WallTransition: [{
            shape: [334, 309, 268, 249, 295, 230, 350, 283, 352, 302]
        }, {
            shape: [167, 205, 231, 204, 263, 211, 216, 234, 169, 234, 159, 226, 158, 214]
        }, {
            shape: [263, 211, 295, 230, 268, 249, 216, 234]
        }],
        C_Wall: [{
            shape: [336, 271, 176, 271, 166, 253, 174, 242, 336, 241, 346, 259]
        }]
    }
}, function(t, e, n) {
    t.exports = n.p + "images/3e903b257d861f09cba9b42a601309c2-CHAR_Classic.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Classic0001.png": {
                frame: {
                    x: 301,
                    y: 723,
                    w: 180,
                    h: 190
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 93,
                    y: 135,
                    w: 180,
                    h: 190
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0005.png": {
                frame: {
                    x: 363,
                    y: 449,
                    w: 174,
                    h: 188
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 172,
                    y: 129,
                    w: 174,
                    h: 188
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0008.png": {
                frame: {
                    x: 483,
                    y: 639,
                    w: 140,
                    h: 109
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 160,
                    y: 227,
                    w: 140,
                    h: 109
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0010.png": {
                frame: {
                    x: 143,
                    y: 1,
                    w: 137,
                    h: 223
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 107,
                    w: 137,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0011.png": {
                frame: {
                    x: 130,
                    y: 541,
                    w: 127,
                    h: 233
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 97,
                    w: 127,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0015.png": {
                frame: {
                    x: 1,
                    y: 785,
                    w: 169,
                    h: 233
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 142,
                    y: 119,
                    w: 169,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0020.png": {
                frame: {
                    x: 1,
                    y: 272,
                    w: 136,
                    h: 267
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 164,
                    y: 97,
                    w: 136,
                    h: 267
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0022.png": {
                frame: {
                    x: 259,
                    y: 499,
                    w: 102,
                    h: 222
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 155,
                    w: 102,
                    h: 222
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0023.png": {
                frame: {
                    x: 272,
                    y: 226,
                    w: 107,
                    h: 221
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 155,
                    w: 107,
                    h: 221
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Classic0026.png": {
                frame: {
                    x: 282,
                    y: 1,
                    w: 182,
                    h: 191
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 167,
                    w: 182,
                    h: 191
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0028.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 140,
                    h: 269
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 102,
                    w: 140,
                    h: 269
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0032.png": {
                frame: {
                    x: 381,
                    y: 194,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0033.png": {
                frame: {
                    x: 466,
                    y: 1,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "CHAR_Classic0036.png": {
                frame: {
                    x: 483,
                    y: 781,
                    w: 134,
                    h: 134
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 164,
                    y: 163,
                    w: 134,
                    h: 134
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: .5,
                    y: .5
                }
            },
            "dance01.png": {
                frame: {
                    x: 381,
                    y: 194,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance02.png": {
                frame: {
                    x: 466,
                    y: 1,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance03.png": {
                frame: {
                    x: 381,
                    y: 194,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance04.png": {
                frame: {
                    x: 466,
                    y: 1,
                    w: 169,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 144,
                    w: 169,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance05.png": {
                frame: {
                    x: 483,
                    y: 639,
                    w: 140,
                    h: 109
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 160,
                    y: 227,
                    w: 140,
                    h: 109
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance06.png": {
                frame: {
                    x: 130,
                    y: 541,
                    w: 127,
                    h: 233
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 97,
                    w: 127,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 139,
                    y: 272,
                    w: 131,
                    h: 225
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 105,
                    w: 131,
                    h: 225
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 541,
                    w: 127,
                    h: 242
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 89,
                    w: 127,
                    h: 242
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 172,
                    y: 776,
                    w: 127,
                    h: 233
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 97,
                    w: 127,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Classic: ["CHAR_Classic0001.png", "CHAR_Classic0005.png", "CHAR_Classic0008.png", "CHAR_Classic0010.png", "CHAR_Classic0011.png", "CHAR_Classic0015.png", "CHAR_Classic0020.png", "CHAR_Classic0022.png", "CHAR_Classic0023.png", "CHAR_Classic0026.png", "CHAR_Classic0028.png", "CHAR_Classic0032.png", "CHAR_Classic0033.png", "CHAR_Classic0036.png"],
            dance: ["dance01.png", "dance02.png", "dance03.png", "dance04.png", "dance05.png", "dance06.png", "dance07.png", "dance08.png", "dance09.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Classic.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:1af05ca90866c2db3d5264f09bcf9024:19ea02995edd2e8186f070b5e3ce4163:746d1e1ccaadc67beb27a9eb7dfaf923$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/93b6dcc1155241b085d711c509eaeafa-CHAR_StickPlant.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_StickPlant0001.png": {
                frame: {
                    x: 285,
                    y: 142,
                    w: 143,
                    h: 217
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 140,
                    y: 130,
                    w: 143,
                    h: 217
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickPlant0002.png": {
                frame: {
                    x: 1,
                    y: 676,
                    w: 180,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 125,
                    w: 180,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickPlant0003.png": {
                frame: {
                    x: 255,
                    y: 667,
                    w: 182,
                    h: 229
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 127,
                    y: 142,
                    w: 182,
                    h: 229
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickPlant0004.png": {
                frame: {
                    x: 285,
                    y: 1,
                    w: 139,
                    h: 220
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 125,
                    w: 139,
                    h: 220
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickPlant0005.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 145,
                    h: 282
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 159,
                    y: 77,
                    w: 145,
                    h: 282
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickPlant0006.png": {
                frame: {
                    x: 1,
                    y: 858,
                    w: 124,
                    h: 123
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 168,
                    y: 169,
                    w: 124,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 263,
                    y: 287,
                    w: 188,
                    h: 247
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 129,
                    y: 82,
                    w: 188,
                    h: 247
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 508,
                    w: 166,
                    h: 252
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 129,
                    y: 78,
                    w: 166,
                    h: 252
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 318,
                    w: 188,
                    h: 257
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 129,
                    y: 70,
                    w: 188,
                    h: 257
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 148,
                    w: 168,
                    h: 260
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 163,
                    y: 71,
                    w: 168,
                    h: 260
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 260,
                    y: 477,
                    w: 188,
                    h: 244
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 129,
                    y: 85,
                    w: 188,
                    h: 244
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_StickPlant: ["CHAR_StickPlant0001.png", "CHAR_StickPlant0002.png", "CHAR_StickPlant0003.png", "CHAR_StickPlant0004.png", "CHAR_StickPlant0005.png", "CHAR_StickPlant0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_StickPlant.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:2a2d86683a5e183bd10b948b3f888e38:39a6de9ebc9ef19d9f88cdaac8e2d87b:8a82dd896013b0bc4d764af393a5dae6$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/857eb4f13173bab620d058806de00f44-CHAR_Momie.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Momie0001.png": {
                frame: {
                    x: 242,
                    y: 141,
                    w: 160,
                    h: 203
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 124,
                    w: 160,
                    h: 203
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Momie0002.png": {
                frame: {
                    x: 1,
                    y: 335,
                    w: 185,
                    h: 185
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 160,
                    y: 130,
                    w: 185,
                    h: 185
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Momie0003.png": {
                frame: {
                    x: 188,
                    y: 492,
                    w: 165,
                    h: 158
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 149,
                    y: 181,
                    w: 165,
                    h: 158
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Momie0004.png": {
                frame: {
                    x: 242,
                    y: 1,
                    w: 138,
                    h: 220
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 126,
                    w: 138,
                    h: 220
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Momie0005.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 142,
                    h: 239
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 150,
                    y: 115,
                    w: 142,
                    h: 239
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Momie0006.png": {
                frame: {
                    x: 355,
                    y: 492,
                    w: 124,
                    h: 124
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 168,
                    y: 171,
                    w: 124,
                    h: 124
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 145,
                    w: 188,
                    h: 197
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 125,
                    y: 130,
                    w: 188,
                    h: 197
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 200,
                    y: 303,
                    w: 187,
                    h: 197
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 125,
                    y: 130,
                    w: 187,
                    h: 197
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Momie: ["CHAR_Momie0001.png", "CHAR_Momie0002.png", "CHAR_Momie0003.png", "CHAR_Momie0004.png", "CHAR_Momie0005.png", "CHAR_Momie0006.png"],
            dance: ["dance07.png", "dance08.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Momie.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:9acb8d7c7cb7e8f8e8b649d5dec61f31:34a24bc154407eb8cf94c787a090c9e9:947f771e8315da983c1fd5b1b2f41b65$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/7b99e73b8249767bd829cd4c07f9d0ac-CHAR_Burger.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Burger0001.png": {
                frame: {
                    x: 303,
                    y: 201,
                    w: 175,
                    h: 199
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 127,
                    w: 175,
                    h: 199
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Burger0002.png": {
                frame: {
                    x: 303,
                    y: 1,
                    w: 205,
                    h: 198
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 167,
                    y: 135,
                    w: 205,
                    h: 198
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Burger0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 250,
                    h: 300
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 93,
                    y: 88,
                    w: 250,
                    h: 300
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Burger0004.png": {
                frame: {
                    x: 1,
                    y: 590,
                    w: 215,
                    h: 188
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 129,
                    w: 215,
                    h: 188
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Burger0005.png": {
                frame: {
                    x: 1,
                    y: 421,
                    w: 167,
                    h: 224
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 147,
                    y: 115,
                    w: 167,
                    h: 224
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Burger0006.png": {
                frame: {
                    x: 337,
                    y: 697,
                    w: 120,
                    h: 120
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 170,
                    w: 120,
                    h: 120
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance007.png": {
                frame: {
                    x: 227,
                    y: 547,
                    w: 222,
                    h: 148
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 118,
                    y: 180,
                    w: 222,
                    h: 148
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 252,
                    y: 378,
                    w: 234,
                    h: 167
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 112,
                    y: 161,
                    w: 234,
                    h: 167
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 253,
                    w: 166,
                    h: 249
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 147,
                    y: 79,
                    w: 166,
                    h: 249
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 780,
                    w: 166,
                    h: 211
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 147,
                    y: 60,
                    w: 166,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 169,
                    y: 780,
                    w: 166,
                    h: 184
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 147,
                    y: 72,
                    w: 166,
                    h: 184
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Burger: ["CHAR_Burger0001.png", "CHAR_Burger0002.png", "CHAR_Burger0003.png", "CHAR_Burger0004.png", "CHAR_Burger0005.png", "CHAR_Burger0006.png"],
            dance: ["dance007.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Burger.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:357f386976177e4aaaad28e5a9dfd85d:db55230cf10a7a0aab8a5de5c4e350c9:d279cd81b82a7af1b65cf1ac7b4b23eb$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/c8266212e222c99b3f36be97519fe984-CHAR_Cactus.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Cactus0007.png": {
                frame: {
                    x: 1,
                    y: 200,
                    w: 186,
                    h: 272
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 94,
                    y: 112,
                    w: 186,
                    h: 272
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Cactus0008.png": {
                frame: {
                    x: 1,
                    y: 615,
                    w: 196,
                    h: 257
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 153,
                    y: 121,
                    w: 196,
                    h: 257
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Cactus0009.png": {
                frame: {
                    x: 1,
                    y: 388,
                    w: 225,
                    h: 265
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 108,
                    y: 106,
                    w: 225,
                    h: 265
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Cactus0010.png": {
                frame: {
                    x: 268,
                    y: 448,
                    w: 221,
                    h: 230
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 122,
                    y: 151,
                    w: 221,
                    h: 230
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Cactus0011.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 197,
                    h: 292
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 139,
                    y: 77,
                    w: 197,
                    h: 292
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Cactus0012.png": {
                frame: {
                    x: 257,
                    y: 813,
                    w: 161,
                    h: 143
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 150,
                    y: 159,
                    w: 161,
                    h: 143
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance01.png": {
                frame: {
                    x: 295,
                    y: 1,
                    w: 232,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 118,
                    w: 232,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance02.png": {
                frame: {
                    x: 1,
                    y: 813,
                    w: 254,
                    h: 196
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 98,
                    y: 133,
                    w: 254,
                    h: 196
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance03.png": {
                frame: {
                    x: 275,
                    y: 235,
                    w: 232,
                    h: 211
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 118,
                    w: 232,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance04.png": {
                frame: {
                    x: 275,
                    y: 235,
                    w: 232,
                    h: 211
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 118,
                    w: 232,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance05.png": {
                frame: {
                    x: 1,
                    y: 813,
                    w: 254,
                    h: 196
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 98,
                    y: 133,
                    w: 254,
                    h: 196
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance06.png": {
                frame: {
                    x: 295,
                    y: 1,
                    w: 232,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 118,
                    w: 232,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Cactus: ["CHAR_Cactus0007.png", "CHAR_Cactus0008.png", "CHAR_Cactus0009.png", "CHAR_Cactus0010.png", "CHAR_Cactus0011.png", "CHAR_Cactus0012.png"],
            dance: ["dance01.png", "dance02.png", "dance03.png", "dance04.png", "dance05.png", "dance06.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Cactus.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:6cd2efad49e244d3d36cf956c0a955b3:6d6167b66ee30b5bb2b8fd761e9d92c0:c7bb3c34b28ae2c5cae96e2dd301e6a0$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/1f8794216bbd48e1185deeeafd38e37f-CHAR_AngelStick.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_AngelStick0001.png": {
                frame: {
                    x: 409,
                    y: 743,
                    w: 174,
                    h: 217
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 130,
                    w: 174,
                    h: 217
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_AngelStick0002.png": {
                frame: {
                    x: 426,
                    y: 477,
                    w: 212,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 88,
                    y: 125,
                    w: 212,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_AngelStick0003.png": {
                frame: {
                    x: 446,
                    y: 248,
                    w: 199,
                    h: 206
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 126,
                    y: 166,
                    w: 199,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_AngelStick0004.png": {
                frame: {
                    x: 224,
                    y: 248,
                    w: 227,
                    h: 220
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 126,
                    w: 227,
                    h: 220
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_AngelStick0005.png": {
                frame: {
                    x: 223,
                    y: 1,
                    w: 241,
                    h: 245
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 114,
                    w: 241,
                    h: 245
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_AngelStick0006.png": {
                frame: {
                    x: 832,
                    y: 1,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 466,
                    y: 1,
                    w: 204,
                    h: 177
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 125,
                    y: 155,
                    w: 204,
                    h: 177
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 645,
                    y: 1,
                    w: 202,
                    h: 185
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 126,
                    y: 144,
                    w: 202,
                    h: 185
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 222,
                    y: 498,
                    w: 202,
                    h: 243
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 126,
                    y: 84,
                    w: 202,
                    h: 243
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 250,
                    w: 221,
                    h: 246
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 81,
                    w: 221,
                    h: 246
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 1,
                    y: 498,
                    w: 219,
                    h: 243
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 118,
                    y: 84,
                    w: 219,
                    h: 243
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 220,
                    h: 247
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 121,
                    y: 80,
                    w: 220,
                    h: 247
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 1,
                    y: 743,
                    w: 219,
                    h: 243
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 119,
                    y: 84,
                    w: 219,
                    h: 243
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance14.png": {
                frame: {
                    x: 222,
                    y: 743,
                    w: 219,
                    h: 185
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 117,
                    y: 144,
                    w: 219,
                    h: 185
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_AngelStick: ["CHAR_AngelStick0001.png", "CHAR_AngelStick0002.png", "CHAR_AngelStick0003.png", "CHAR_AngelStick0004.png", "CHAR_AngelStick0005.png", "CHAR_AngelStick0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png", "dance14.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_AngelStick.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:48da29bac8ac09a3245e4ff8ba7461d4:bd93f33a5a1d3ff6c8c694c254ed9922:5e7aeaef887c163adc17e5a1d67ab082$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/8d8328c8a5f7e4e701d5a1c98ff4660b-CHAR_Corgi.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Corgi0001.png": {
                frame: {
                    x: 234,
                    y: 1,
                    w: 232,
                    h: 186
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 126,
                    y: 60,
                    w: 232,
                    h: 186
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Corgi0002.png": {
                frame: {
                    x: 1,
                    y: 342,
                    w: 267,
                    h: 183
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 116,
                    y: 60,
                    w: 267,
                    h: 183
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Corgi0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 231,
                    h: 339
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 116,
                    y: 62,
                    w: 231,
                    h: 339
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Corgi0004.png": {
                frame: {
                    x: 1,
                    y: 611,
                    w: 244,
                    h: 207
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 68,
                    w: 244,
                    h: 207
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Corgi0005.png": {
                frame: {
                    x: 186,
                    y: 342,
                    w: 229,
                    h: 242
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 128,
                    y: 83,
                    w: 229,
                    h: 242
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Corgi0006.png": {
                frame: {
                    x: 1,
                    y: 857,
                    w: 126,
                    h: 125
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 167,
                    y: 168,
                    w: 126,
                    h: 125
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 210,
                    y: 818,
                    w: 224,
                    h: 200
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 120,
                    y: 132,
                    w: 224,
                    h: 200
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 405,
                    y: 586,
                    w: 227,
                    h: 197
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 118,
                    y: 135,
                    w: 227,
                    h: 197
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 210,
                    y: 586,
                    w: 230,
                    h: 193
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 117,
                    y: 139,
                    w: 230,
                    h: 193
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 436,
                    y: 815,
                    w: 224,
                    h: 200
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 120,
                    y: 132,
                    w: 224,
                    h: 200
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Corgi: ["CHAR_Corgi0001.png", "CHAR_Corgi0002.png", "CHAR_Corgi0003.png", "CHAR_Corgi0004.png", "CHAR_Corgi0005.png", "CHAR_Corgi0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Corgi.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:72dd58e9adf8dd1556532c49c9845c20:57370081ee294a6870bf01bd39d37774:36c470e8e48e3af7296107d5ebf71b73$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/8bcf52d4fa476d7409be921ceabea58b-CHAR_Unicorn.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Unicorn0002.png": {
                frame: {
                    x: 669,
                    y: 1,
                    w: 193,
                    h: 260
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 97,
                    w: 193,
                    h: 260
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Unicorn0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 235,
                    h: 317
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 117,
                    y: 43,
                    w: 235,
                    h: 317
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Unicorn0004.png": {
                frame: {
                    x: 1,
                    y: 634,
                    w: 227,
                    h: 300
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 60,
                    w: 227,
                    h: 300
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Unicorn0005.png": {
                frame: {
                    x: 1,
                    y: 320,
                    w: 192,
                    h: 312
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 121,
                    y: 102,
                    w: 192,
                    h: 312
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Unicorn0006.png": {
                frame: {
                    x: 195,
                    y: 320,
                    w: 212,
                    h: 291
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 89,
                    w: 212,
                    h: 291
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Unicorn0012.png": {
                frame: {
                    x: 669,
                    y: 196,
                    w: 127,
                    h: 126
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 166,
                    y: 168,
                    w: 127,
                    h: 126
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 409,
                    y: 293,
                    w: 215,
                    h: 260
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 103,
                    y: 65,
                    w: 215,
                    h: 260
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 238,
                    y: 1,
                    w: 212,
                    h: 290
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 86,
                    y: 33,
                    w: 212,
                    h: 290
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 452,
                    y: 1,
                    w: 215,
                    h: 260
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 65,
                    w: 215,
                    h: 260
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 230,
                    y: 613,
                    w: 212,
                    h: 290
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 156,
                    y: 34,
                    w: 212,
                    h: 290
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Unicorn: ["CHAR_Unicorn0002.png", "CHAR_Unicorn0003.png", "CHAR_Unicorn0004.png", "CHAR_Unicorn0005.png", "CHAR_Unicorn0006.png", "CHAR_Unicorn0012.png"],
            dance: ["dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Unicorn.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:c0338af825d7ba8ba182d88ea514deda:4fbf28755864ce3ee4c4f89848192668:d30df2019f154b3aa69b18c314351869$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/03b7dd5d1ae7134731c278c21bb06289-CHAR_EvilStick.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_EvilStick0001.png": {
                frame: {
                    x: 228,
                    y: 817,
                    w: 166,
                    h: 217
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 116,
                    y: 136,
                    w: 166,
                    h: 217
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_EvilStick0002.png": {
                frame: {
                    x: 1,
                    y: 681,
                    w: 225,
                    h: 211
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 75,
                    y: 128,
                    w: 225,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_EvilStick0003.png": {
                frame: {
                    x: 1,
                    y: 222,
                    w: 267,
                    h: 205
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 77,
                    y: 161,
                    w: 267,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_EvilStick0004.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 269,
                    h: 219
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 93,
                    y: 134,
                    w: 269,
                    h: 219
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_EvilStick0005.png": {
                frame: {
                    x: 1,
                    y: 429,
                    w: 265,
                    h: 250
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 80,
                    y: 104,
                    w: 265,
                    h: 250
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_EvilStick0006.png": {
                frame: {
                    x: 1,
                    y: 894,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 272,
                    y: 1,
                    w: 198,
                    h: 236
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 145,
                    y: 88,
                    w: 198,
                    h: 236
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 270,
                    y: 401,
                    w: 234,
                    h: 206
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 128,
                    y: 118,
                    w: 234,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 268,
                    y: 609,
                    w: 234,
                    h: 206
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 128,
                    y: 118,
                    w: 234,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 272,
                    y: 201,
                    w: 198,
                    h: 236
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 145,
                    y: 88,
                    w: 198,
                    h: 236
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 268,
                    y: 609,
                    w: 234,
                    h: 206
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 128,
                    y: 118,
                    w: 234,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_EvilStick: ["CHAR_EvilStick0001.png", "CHAR_EvilStick0002.png", "CHAR_EvilStick0003.png", "CHAR_EvilStick0004.png", "CHAR_EvilStick0005.png", "CHAR_EvilStick0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_EvilStick.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:b39c74389f942dc47bc5c51af712d951:8a97e025228d320d4dfd8d71ac56a9f3:3e371dcf4c1fc24a52deecaee4dcbcf9$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/5eb119962664142b51b839f8ffc53e15-CHAR_RainbowStick.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_RainbowStick0001.png": {
                frame: {
                    x: 1,
                    y: 421,
                    w: 166,
                    h: 197
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 94,
                    y: 129,
                    w: 166,
                    h: 197
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RainbowStick0002.png": {
                frame: {
                    x: 200,
                    y: 447,
                    w: 156,
                    h: 187
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 188,
                    y: 131,
                    w: 156,
                    h: 187
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RainbowStick0003.png": {
                frame: {
                    x: 244,
                    y: 1,
                    w: 143,
                    h: 240
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 125,
                    y: 136,
                    w: 143,
                    h: 240
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RainbowStick0004.png": {
                frame: {
                    x: 1,
                    y: 131,
                    w: 137,
                    h: 219
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 127,
                    w: 137,
                    h: 219
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RainbowStick0005.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 128,
                    h: 241
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 111,
                    w: 128,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RainbowStick0006.png": {
                frame: {
                    x: 1,
                    y: 771,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 589,
                    w: 180,
                    h: 185
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 99,
                    y: 139,
                    w: 180,
                    h: 185
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 270,
                    w: 149,
                    h: 205
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 86,
                    w: 149,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 222,
                    y: 146,
                    w: 145,
                    h: 215
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 185,
                    y: 98,
                    w: 145,
                    h: 215
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 208,
                    y: 293,
                    w: 152,
                    h: 202
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 199,
                    y: 122,
                    w: 152,
                    h: 202
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 1,
                    y: 270,
                    w: 149,
                    h: 205
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 86,
                    w: 149,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_RainbowStick: ["CHAR_RainbowStick0001.png", "CHAR_RainbowStick0002.png", "CHAR_RainbowStick0003.png", "CHAR_RainbowStick0004.png", "CHAR_RainbowStick0005.png", "CHAR_RainbowStick0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_RainbowStick.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:6d64e3a16c56f156b32f98f61d4e5ea0:f163e283a6a20e2189850b290bac4507:8d2ffb189c8192ad26276715f5aeec83$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/dc7ebdf3f8d4dcb71c7a59bbf3d11619-CHAR_StickOuech.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_StickOuech0001.png": {
                frame: {
                    x: 1,
                    y: 332,
                    w: 147,
                    h: 218
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 140,
                    y: 136,
                    w: 147,
                    h: 218
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickOuech0002.png": {
                frame: {
                    x: 221,
                    y: 336,
                    w: 181,
                    h: 212
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 116,
                    y: 126,
                    w: 181,
                    h: 212
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickOuech0003.png": {
                frame: {
                    x: 1,
                    y: 646,
                    w: 180,
                    h: 205
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 123,
                    y: 151,
                    w: 180,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickOuech0004.png": {
                frame: {
                    x: 244,
                    y: 167,
                    w: 167,
                    h: 219
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 130,
                    w: 167,
                    h: 219
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickOuech0005.png": {
                frame: {
                    x: 1,
                    y: 167,
                    w: 163,
                    h: 241
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 111,
                    w: 163,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_StickOuech0006.png": {
                frame: {
                    x: 1,
                    y: 828,
                    w: 124,
                    h: 124
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 167,
                    y: 167,
                    w: 124,
                    h: 124
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 164,
                    h: 242
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 166,
                    y: 82,
                    w: 164,
                    h: 242
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 481,
                    w: 163,
                    h: 206
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 166,
                    y: 129,
                    w: 163,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 209,
                    y: 519,
                    w: 163,
                    h: 206
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 150,
                    y: 129,
                    w: 163,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 245,
                    y: 1,
                    w: 164,
                    h: 242
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 180,
                    y: 82,
                    w: 164,
                    h: 242
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 209,
                    y: 519,
                    w: 163,
                    h: 206
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 150,
                    y: 129,
                    w: 163,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 1,
                    y: 481,
                    w: 163,
                    h: 206
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 166,
                    y: 129,
                    w: 163,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_StickOuech: ["CHAR_StickOuech0001.png", "CHAR_StickOuech0002.png", "CHAR_StickOuech0003.png", "CHAR_StickOuech0004.png", "CHAR_StickOuech0005.png", "CHAR_StickOuech0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_StickOuech.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:1d8e9749efea7242939747a0e231605d:bdbc699cbd5c033f5f739e8fa737f505:820e835350ee70019519a98ae9678ac0$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/325db0a37f265c4934bbe2dd1e2f3d3f-CHAR_KingStick.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_KingStick0001.png": {
                frame: {
                    x: 214,
                    y: 499,
                    w: 175,
                    h: 194
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 87,
                    y: 132,
                    w: 175,
                    h: 194
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_KingStick0002.png": {
                frame: {
                    x: 1,
                    y: 637,
                    w: 172,
                    h: 169
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 198,
                    y: 136,
                    w: 172,
                    h: 169
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_KingStick0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 133,
                    h: 305
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 83,
                    w: 133,
                    h: 305
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_KingStick0004.png": {
                frame: {
                    x: 227,
                    y: 360,
                    w: 137,
                    h: 219
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 159,
                    y: 129,
                    w: 137,
                    h: 219
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_KingStick0005.png": {
                frame: {
                    x: 1,
                    y: 136,
                    w: 143,
                    h: 241
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 137,
                    y: 94,
                    w: 143,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_KingStick0006.png": {
                frame: {
                    x: 1,
                    y: 808,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 244,
                    y: 159,
                    w: 199,
                    h: 226
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 87,
                    y: 101,
                    w: 199,
                    h: 226
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 308,
                    y: 1,
                    w: 156,
                    h: 200
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 124,
                    y: 127,
                    w: 156,
                    h: 200
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 281,
                    w: 192,
                    h: 224
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 153,
                    y: 103,
                    w: 192,
                    h: 224
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 475,
                    w: 160,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 127,
                    w: 160,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_KingStick: ["CHAR_KingStick0001.png", "CHAR_KingStick0002.png", "CHAR_KingStick0003.png", "CHAR_KingStick0004.png", "CHAR_KingStick0005.png", "CHAR_KingStick0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_KingStick.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:578074550b8ead7c4480e14f2d60ecc7:681575d41300280a8101cbd0b2e76937:ad4479df57aeaac8f083b1e2f2a78345$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/78696f12a3c6e8ed46cc5184cc505bcb-CHAR_Banana.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Banana0001.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 179,
                    h: 278
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 79,
                    y: 128,
                    w: 179,
                    h: 278
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Banana0002.png": {
                frame: {
                    x: 1,
                    y: 281,
                    w: 169,
                    h: 271
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 187,
                    y: 128,
                    w: 169,
                    h: 271
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Banana0003.png": {
                frame: {
                    x: 172,
                    y: 281,
                    w: 251,
                    h: 183
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 140,
                    w: 251,
                    h: 183
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Banana0004.png": {
                frame: {
                    x: 248,
                    y: 784,
                    w: 191,
                    h: 227
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 136,
                    w: 191,
                    h: 227
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Banana0005.png": {
                frame: {
                    x: 1,
                    y: 810,
                    w: 213,
                    h: 245
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 142,
                    y: 129,
                    w: 213,
                    h: 245
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Banana0006.png": {
                frame: {
                    x: 546,
                    y: 228,
                    w: 124,
                    h: 125
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 168,
                    y: 168,
                    w: 124,
                    h: 125
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 367,
                    y: 1,
                    w: 183,
                    h: 225
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 106,
                    w: 183,
                    h: 225
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 186,
                    y: 534,
                    w: 183,
                    h: 248
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 83,
                    w: 183,
                    h: 248
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 554,
                    w: 183,
                    h: 254
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 77,
                    w: 183,
                    h: 254
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 554,
                    w: 183,
                    h: 254
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 77,
                    w: 183,
                    h: 254
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 182,
                    y: 1,
                    w: 183,
                    h: 248
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 83,
                    w: 183,
                    h: 248
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 357,
                    y: 251,
                    w: 187,
                    h: 244
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 134,
                    y: 87,
                    w: 187,
                    h: 244
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 371,
                    y: 497,
                    w: 183,
                    h: 225
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 138,
                    y: 106,
                    w: 183,
                    h: 225
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Banana: ["CHAR_Banana0001.png", "CHAR_Banana0002.png", "CHAR_Banana0003.png", "CHAR_Banana0004.png", "CHAR_Banana0005.png", "CHAR_Banana0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Banana.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:aa03b60acff5d367c9358a891a893475:5a0af2ca3b4a00d9ed66927d3fdb705c:736b432be3da8a6dd0bd5b380d329bef$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/3de7d310811b58b61509ccdbc6d52797-CHAR_Ninja.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Ninja0001.png": {
                frame: {
                    x: 261,
                    y: 442,
                    w: 184,
                    h: 173
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 138,
                    w: 184,
                    h: 173
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Ninja0002.png": {
                frame: {
                    x: 801,
                    y: 1,
                    w: 200,
                    h: 162
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 127,
                    y: 138,
                    w: 200,
                    h: 162
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Ninja0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 271,
                    h: 244
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 100,
                    w: 271,
                    h: 244
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Ninja0004.png": {
                frame: {
                    x: 1,
                    y: 499,
                    w: 181,
                    h: 164
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 133,
                    w: 181,
                    h: 164
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Ninja0005.png": {
                frame: {
                    x: 793,
                    y: 421,
                    w: 134,
                    h: 186
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 133,
                    w: 134,
                    h: 186
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Ninja0006.png": {
                frame: {
                    x: 447,
                    y: 486,
                    w: 117,
                    h: 117
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 171,
                    y: 171,
                    w: 117,
                    h: 117
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 274,
                    y: 1,
                    w: 264,
                    h: 196
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 114,
                    y: 152,
                    w: 264,
                    h: 196
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 801,
                    y: 165,
                    w: 254,
                    h: 194
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 109,
                    y: 133,
                    w: 254,
                    h: 194
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 540,
                    y: 1,
                    w: 259,
                    h: 251
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 76,
                    w: 259,
                    h: 251
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 247,
                    w: 258,
                    h: 250
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 77,
                    w: 258,
                    h: 250
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 274,
                    y: 199,
                    w: 259,
                    h: 241
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 86,
                    w: 259,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 535,
                    y: 254,
                    w: 256,
                    h: 230
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 97,
                    w: 256,
                    h: 230
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Ninja: ["CHAR_Ninja0001.png", "CHAR_Ninja0002.png", "CHAR_Ninja0003.png", "CHAR_Ninja0004.png", "CHAR_Ninja0005.png", "CHAR_Ninja0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Ninja.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:3bffb7c1fc2bde452c565c2dd7e5aa8f:83fb9dcb602bce456b1c3cc0aec0be09:f236ea6efd8139a222f4aeb41cf66a42$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/2c29c41a85e52e34092591b37aaaa278-CHAR_Sheep.png"
}, function(t) {
    t.exports = {
        frames: {
            "AN_Sheep0001.png": {
                frame: {
                    x: 1,
                    y: 185,
                    w: 262,
                    h: 210
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 60,
                    y: 127,
                    w: 262,
                    h: 210
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Sheep0002.png": {
                frame: {
                    x: 531,
                    y: 169,
                    w: 247,
                    h: 248
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 126,
                    y: 119,
                    w: 247,
                    h: 248
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Sheep0003.png": {
                frame: {
                    x: 1,
                    y: 586,
                    w: 181,
                    h: 243
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 154,
                    y: 134,
                    w: 181,
                    h: 243
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Sheep0004.png": {
                frame: {
                    x: 267,
                    y: 1,
                    w: 246,
                    h: 262
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 101,
                    y: 126,
                    w: 246,
                    h: 262
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Sheep0005.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 264,
                    h: 182
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 111,
                    y: 148,
                    w: 264,
                    h: 182
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "AN_Sheep0006.png": {
                frame: {
                    x: 1,
                    y: 769,
                    w: 131,
                    h: 131
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 165,
                    y: 165,
                    w: 131,
                    h: 131
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 531,
                    y: 1,
                    w: 260,
                    h: 166
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 171,
                    w: 260,
                    h: 166
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 397,
                    w: 244,
                    h: 187
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 150,
                    w: 244,
                    h: 187
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 265,
                    y: 249,
                    w: 244,
                    h: 207
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 130,
                    w: 244,
                    h: 207
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 793,
                    y: 1,
                    w: 244,
                    h: 211
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 126,
                    w: 244,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 511,
                    y: 418,
                    w: 244,
                    h: 175
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 122,
                    w: 244,
                    h: 175
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 247,
                    y: 458,
                    w: 244,
                    h: 171
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 119,
                    w: 244,
                    h: 171
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 781,
                    y: 247,
                    w: 237,
                    h: 181
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 118,
                    y: 119,
                    w: 237,
                    h: 181
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            AN_Sheep: ["AN_Sheep0001.png", "AN_Sheep0002.png", "AN_Sheep0003.png", "AN_Sheep0004.png", "AN_Sheep0005.png", "AN_Sheep0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Sheep.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:3f4e0a3d5745781cda06e6fd35456c4d:0d2449d6b45dc28e3000e7775d4df053:930e65e6c0f80ce30763c17f918bb6b1$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/b29eb22ba46e706f4964c7becd276ae2-CHAR_Panda.png"
}, function(t) {
    t.exports = {
        frames: {
            "dance07.png": {
                frame: {
                    x: 250,
                    y: 547,
                    w: 255,
                    h: 192
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 97,
                    y: 143,
                    w: 255,
                    h: 192
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 490,
                    y: 1,
                    w: 233,
                    h: 223
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 108,
                    y: 102,
                    w: 233,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 824,
                    w: 247,
                    h: 198
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 101,
                    y: 93,
                    w: 247,
                    h: 198
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 250,
                    y: 804,
                    w: 247,
                    h: 197
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 101,
                    y: 89,
                    w: 247,
                    h: 197
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 435,
                    y: 258,
                    w: 238,
                    h: 233
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 93,
                    w: 238,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0001.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 245,
                    h: 278
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 48,
                    y: 128,
                    w: 245,
                    h: 278
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0002.png": {
                frame: {
                    x: 1,
                    y: 557,
                    w: 247,
                    h: 265
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 156,
                    y: 132,
                    w: 247,
                    h: 265
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0003.png": {
                frame: {
                    x: 236,
                    y: 281,
                    w: 197,
                    h: 264
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 127,
                    y: 110,
                    w: 197,
                    h: 264
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0004.png": {
                frame: {
                    x: 248,
                    y: 1,
                    w: 240,
                    h: 255
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 137,
                    w: 240,
                    h: 255
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0005.png": {
                frame: {
                    x: 1,
                    y: 281,
                    w: 274,
                    h: 233
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 89,
                    y: 137,
                    w: 274,
                    h: 233
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "v03_CHAR_Panda0006.png": {
                frame: {
                    x: 444,
                    y: 498,
                    w: 157,
                    h: 157
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 152,
                    w: 157,
                    h: 157
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"],
            v03_CHAR_Panda: ["v03_CHAR_Panda0001.png", "v03_CHAR_Panda0002.png", "v03_CHAR_Panda0003.png", "v03_CHAR_Panda0004.png", "v03_CHAR_Panda0005.png", "v03_CHAR_Panda0006.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Panda.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:70eaaf2e2fcca05d30011a47e875de3a:0ba21fc9622ea342de2c4ee66e2a2e95:8e0c513b69bf9225ef04e50006dc9e1e$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/49e3dae36bca650873d849bb87b3890b-CHAR_SuperStick.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_SuperStick0001.png": {
                frame: {
                    x: 259,
                    y: 1,
                    w: 154,
                    h: 241
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 122,
                    w: 154,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_SuperStick0002.png": {
                frame: {
                    x: 1,
                    y: 363,
                    w: 199,
                    h: 225
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 114,
                    y: 122,
                    w: 199,
                    h: 225
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_SuperStick0003.png": {
                frame: {
                    x: 259,
                    y: 157,
                    w: 232,
                    h: 223
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 99,
                    y: 122,
                    w: 232,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_SuperStick0004.png": {
                frame: {
                    x: 1,
                    y: 178,
                    w: 183,
                    h: 232
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 122,
                    w: 183,
                    h: 232
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_SuperStick0005.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 175,
                    h: 256
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 123,
                    y: 102,
                    w: 175,
                    h: 256
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_SuperStick0006.png": {
                frame: {
                    x: 359,
                    y: 741,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 228,
                    y: 382,
                    w: 185,
                    h: 223
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 106,
                    w: 185,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 564,
                    w: 178,
                    h: 223
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 106,
                    w: 178,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 181,
                    y: 744,
                    w: 176,
                    h: 223
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 115,
                    y: 106,
                    w: 176,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 744,
                    w: 178,
                    h: 223
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 106,
                    w: 178,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 226,
                    y: 569,
                    w: 170,
                    h: 223
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 121,
                    y: 106,
                    w: 170,
                    h: 223
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_SuperStick: ["CHAR_SuperStick0001.png", "CHAR_SuperStick0002.png", "CHAR_SuperStick0003.png", "CHAR_SuperStick0004.png", "CHAR_SuperStick0005.png", "CHAR_SuperStick0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_SuperStick.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:4869fdb089eea373a27bf289609014ca:d552bc41c5038d15cfb6797c90d46ac2:908efdd5771351a0acbc3de0ce9ef13a$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/82d481b0f0594b10f47878452ccb3f6e-CHAR_RobotMan.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_RobotMan0002.png": {
                frame: {
                    x: 380,
                    y: 1,
                    w: 176,
                    h: 183
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 150,
                    y: 126,
                    w: 176,
                    h: 183
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RobotMan0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 206,
                    h: 309
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 124,
                    y: 75,
                    w: 206,
                    h: 309
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RobotMan0004.png": {
                frame: {
                    x: 345,
                    y: 192,
                    w: 167,
                    h: 188
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 136,
                    y: 135,
                    w: 167,
                    h: 188
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RobotMan0005.png": {
                frame: {
                    x: 1,
                    y: 555,
                    w: 172,
                    h: 239
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 147,
                    y: 116,
                    w: 172,
                    h: 239
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RobotMan0006.png": {
                frame: {
                    x: 345,
                    y: 382,
                    w: 122,
                    h: 122
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 170,
                    w: 122,
                    h: 122
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_RobotMan0007.png": {
                frame: {
                    x: 328,
                    y: 525,
                    w: 168,
                    h: 190
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 146,
                    y: 136,
                    w: 168,
                    h: 190
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance06.png": {
                frame: {
                    x: 1,
                    y: 312,
                    w: 170,
                    h: 241
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 145,
                    y: 85,
                    w: 170,
                    h: 241
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 796,
                    w: 180,
                    h: 220
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 140,
                    y: 107,
                    w: 180,
                    h: 220
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 183,
                    y: 733,
                    w: 156,
                    h: 205
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 86,
                    w: 156,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 341,
                    y: 717,
                    w: 168,
                    h: 190
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 146,
                    y: 80,
                    w: 168,
                    h: 190
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 173,
                    y: 312,
                    w: 170,
                    h: 211
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 146,
                    y: 102,
                    w: 170,
                    h: 211
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 514,
                    y: 186,
                    w: 175,
                    h: 178
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 143,
                    y: 149,
                    w: 175,
                    h: 178
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 498,
                    y: 382,
                    w: 182,
                    h: 168
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 140,
                    y: 159,
                    w: 182,
                    h: 168
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 175,
                    y: 525,
                    w: 151,
                    h: 206
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 157,
                    y: 90,
                    w: 151,
                    h: 206
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance14.png": {
                frame: {
                    x: 209,
                    y: 1,
                    w: 169,
                    h: 189
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 158,
                    y: 58,
                    w: 169,
                    h: 189
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_RobotMan: ["CHAR_RobotMan0002.png", "CHAR_RobotMan0003.png", "CHAR_RobotMan0004.png", "CHAR_RobotMan0005.png", "CHAR_RobotMan0006.png", "CHAR_RobotMan0007.png"],
            dance: ["dance06.png", "dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png", "dance14.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_RobotMan.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:0a3738ad22d5c2022387651c4024147e:64011f7f3e1b9748bec1f16a79b7b761:acca6aa8199e7e3ba6b541afadb8ea53$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/8aca225d45e83ac265aec132085a8b71-CHAR_Dragon.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Dragon0001.png": {
                frame: {
                    x: 1,
                    y: 822,
                    w: 197,
                    h: 212
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 124,
                    w: 197,
                    h: 212
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Dragon0002.png": {
                frame: {
                    x: 253,
                    y: 689,
                    w: 213,
                    h: 238
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 128,
                    y: 125,
                    w: 213,
                    h: 238
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Dragon0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 193,
                    h: 330
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 125,
                    y: 53,
                    w: 193,
                    h: 330
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Dragon0004.png": {
                frame: {
                    x: 333,
                    y: 1,
                    w: 172,
                    h: 236
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 137,
                    y: 125,
                    w: 172,
                    h: 236
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Dragon0005.png": {
                frame: {
                    x: 1,
                    y: 595,
                    w: 225,
                    h: 250
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 130,
                    y: 107,
                    w: 225,
                    h: 250
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Dragon0006.png": {
                frame: {
                    x: 320,
                    y: 565,
                    w: 122,
                    h: 122
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 170,
                    w: 122,
                    h: 122
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 321,
                    y: 239,
                    w: 186,
                    h: 161
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 134,
                    y: 169,
                    w: 186,
                    h: 161
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 320,
                    y: 402,
                    w: 186,
                    h: 161
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 134,
                    y: 169,
                    w: 186,
                    h: 161
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 320,
                    y: 402,
                    w: 186,
                    h: 161
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 134,
                    y: 169,
                    w: 186,
                    h: 161
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 196,
                    w: 318,
                    h: 186
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 2,
                    y: 144,
                    w: 318,
                    h: 186
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 1,
                    y: 384,
                    w: 317,
                    h: 209
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 2,
                    y: 141,
                    w: 317,
                    h: 209
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 1,
                    y: 196,
                    w: 318,
                    h: 186
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 2,
                    y: 144,
                    w: 318,
                    h: 186
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 1,
                    y: 384,
                    w: 317,
                    h: 209
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 2,
                    y: 141,
                    w: 317,
                    h: 209
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Dragon: ["CHAR_Dragon0001.png", "CHAR_Dragon0002.png", "CHAR_Dragon0003.png", "CHAR_Dragon0004.png", "CHAR_Dragon0005.png", "CHAR_Dragon0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Dragon.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:98847550a9cca2d6a79d5a2ede4c0888:2f17ff6b997f73b02003da29821cd59d:e5475727f7d2590ce3a1968c0fed681e$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/34b2b8621726d53802db6f864b49cd90-CHAR_TikiMan.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_TikiMan0001.png": {
                frame: {
                    x: 457,
                    y: 241,
                    w: 186,
                    h: 221
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 133,
                    y: 133,
                    w: 186,
                    h: 221
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_TikiMan0002.png": {
                frame: {
                    x: 258,
                    y: 818,
                    w: 226,
                    h: 201
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 148,
                    y: 129,
                    w: 226,
                    h: 201
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_TikiMan0003.png": {
                frame: {
                    x: 1,
                    y: 828,
                    w: 190,
                    h: 255
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 114,
                    y: 112,
                    w: 190,
                    h: 255
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_TikiMan0004.png": {
                frame: {
                    x: 486,
                    y: 758,
                    w: 183,
                    h: 225
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 138,
                    w: 183,
                    h: 225
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_TikiMan0005.png": {
                frame: {
                    x: 215,
                    y: 1,
                    w: 198,
                    h: 276
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 121,
                    y: 93,
                    w: 198,
                    h: 276
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_TikiMan0006.png": {
                frame: {
                    x: 629,
                    y: 1,
                    w: 123,
                    h: 123
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 169,
                    w: 123,
                    h: 123
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 285,
                    w: 214,
                    h: 279
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 122,
                    y: 46,
                    w: 214,
                    h: 279
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 212,
                    h: 282
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 88,
                    y: 42,
                    w: 212,
                    h: 282
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 427,
                    y: 522,
                    w: 234,
                    h: 234
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 57,
                    y: 90,
                    w: 234,
                    h: 234
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 415,
                    y: 1,
                    w: 212,
                    h: 238
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 105,
                    y: 88,
                    w: 212,
                    h: 238
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 212,
                    y: 566,
                    w: 213,
                    h: 250
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 129,
                    y: 73,
                    w: 213,
                    h: 250
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance12.png": {
                frame: {
                    x: 1,
                    y: 566,
                    w: 209,
                    h: 260
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 64,
                    w: 209,
                    h: 260
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance13.png": {
                frame: {
                    x: 217,
                    y: 279,
                    w: 241,
                    h: 238
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 176,
                    y: 86,
                    w: 241,
                    h: 238
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_TikiMan: ["CHAR_TikiMan0001.png", "CHAR_TikiMan0002.png", "CHAR_TikiMan0003.png", "CHAR_TikiMan0004.png", "CHAR_TikiMan0005.png", "CHAR_TikiMan0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png", "dance12.png", "dance13.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_TikiMan.png",
            format: "RGBA8888",
            size: {
                w: 1024,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:49672ab79a6546aea1c6df89e344f26c:1805cf34d5a6c59fb8ab22fbb5a77d65:44ea73fa0733ce658c31873c9f1452a6$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/cb00f3da7bca38a121a28feac4b4d9ea-CHAR_HotDog.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_HotDog0001.png": {
                frame: {
                    x: 254,
                    y: 472,
                    w: 164,
                    h: 244
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 110,
                    y: 128,
                    w: 164,
                    h: 244
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_HotDog0002.png": {
                frame: {
                    x: 291,
                    y: 1,
                    w: 189,
                    h: 215
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 181,
                    y: 124,
                    w: 189,
                    h: 215
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_HotDog0003.png": {
                frame: {
                    x: 1,
                    y: 267,
                    w: 251,
                    h: 231
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 107,
                    y: 102,
                    w: 251,
                    h: 231
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_HotDog0004.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 123,
                    h: 288
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 124,
                    w: 123,
                    h: 288
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_HotDog0005.png": {
                frame: {
                    x: 1,
                    y: 126,
                    w: 139,
                    h: 281
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 152,
                    y: 105,
                    w: 139,
                    h: 281
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_HotDog0006.png": {
                frame: {
                    x: 1,
                    y: 741,
                    w: 120,
                    h: 120
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 169,
                    w: 120,
                    h: 120
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 284,
                    y: 192,
                    w: 150,
                    h: 213
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 144,
                    y: 116,
                    w: 150,
                    h: 213
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 500,
                    w: 115,
                    h: 203
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 127,
                    w: 115,
                    h: 203
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 617,
                    w: 122,
                    h: 189
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 140,
                    w: 122,
                    h: 189
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 254,
                    y: 344,
                    w: 126,
                    h: 249
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 168,
                    y: 80,
                    w: 126,
                    h: 249
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_HotDog: ["CHAR_HotDog0001.png", "CHAR_HotDog0002.png", "CHAR_HotDog0003.png", "CHAR_HotDog0004.png", "CHAR_HotDog0005.png", "CHAR_HotDog0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_HotDog.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:88b212705996733daa95d75a40df6bc2:b7a96caf52b96edd55127e4d71d60b6b:d973817f9a8271d27ed3158c08ce58a5$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/4f337cbf23b4fd91307352b5f9a2d5de-CHAR_LemonMan.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_LemonMan0001.png": {
                frame: {
                    x: 1,
                    y: 308,
                    w: 194,
                    h: 248
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 101,
                    y: 127,
                    w: 194,
                    h: 248
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_LemonMan0002.png": {
                frame: {
                    x: 279,
                    y: 1,
                    w: 186,
                    h: 230
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 160,
                    y: 127,
                    w: 186,
                    h: 230
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_LemonMan0003.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 162,
                    h: 276
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 143,
                    y: 107,
                    w: 162,
                    h: 276
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_LemonMan0004.png": {
                frame: {
                    x: 268,
                    y: 189,
                    w: 243,
                    h: 237
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 106,
                    y: 125,
                    w: 243,
                    h: 237
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_LemonMan0005.png": {
                frame: {
                    x: 251,
                    y: 428,
                    w: 242,
                    h: 218
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 113,
                    y: 172,
                    w: 242,
                    h: 218
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_LemonMan0006.png": {
                frame: {
                    x: 1,
                    y: 656,
                    w: 120,
                    h: 121
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 170,
                    w: 120,
                    h: 121
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 504,
                    w: 150,
                    h: 227
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 100,
                    w: 150,
                    h: 227
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 230,
                    y: 648,
                    w: 163,
                    h: 205
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 168,
                    y: 122,
                    w: 163,
                    h: 205
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 813,
                    w: 180,
                    h: 193
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 140,
                    y: 134,
                    w: 180,
                    h: 193
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 165,
                    w: 141,
                    h: 265
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 62,
                    w: 141,
                    h: 265
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_LemonMan: ["CHAR_LemonMan0001.png", "CHAR_LemonMan0002.png", "CHAR_LemonMan0003.png", "CHAR_LemonMan0004.png", "CHAR_LemonMan0005.png", "CHAR_LemonMan0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_LemonMan.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:129e8244eb9391dc079f7f34ff1f4011:2fb427124d6721cf6fa8a6c951cfea60:79a9da5c65abb02a8af58c7b2d94b5fc$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/368f37cb016283b9e9dee8c14fab9ad4-CHAR_Plant.png"
}, function(t) {
    t.exports = {
        frames: {
            "CHAR_Plant0001.png": {
                frame: {
                    x: 251,
                    y: 392,
                    w: 174,
                    h: 232
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 171,
                    y: 131,
                    w: 174,
                    h: 232
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Plant0002.png": {
                frame: {
                    x: 293,
                    y: 1,
                    w: 219,
                    h: 201
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 71,
                    y: 132,
                    w: 219,
                    h: 201
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Plant0003.png": {
                frame: {
                    x: 231,
                    y: 568,
                    w: 152,
                    h: 220
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 143,
                    y: 162,
                    w: 152,
                    h: 220
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Plant0004.png": {
                frame: {
                    x: 265,
                    y: 222,
                    w: 168,
                    h: 237
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 153,
                    y: 125,
                    w: 168,
                    h: 237
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Plant0005.png": {
                frame: {
                    x: 1,
                    y: 518,
                    w: 167,
                    h: 228
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 161,
                    y: 122,
                    w: 167,
                    h: 228
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "CHAR_Plant0006.png": {
                frame: {
                    x: 197,
                    y: 848,
                    w: 120,
                    h: 121
                },
                rotated: !1,
                trimmed: !0,
                spriteSourceSize: {
                    x: 170,
                    y: 170,
                    w: 120,
                    h: 121
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance07.png": {
                frame: {
                    x: 1,
                    y: 848,
                    w: 163,
                    h: 194
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 166,
                    y: 122,
                    w: 163,
                    h: 194
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance08.png": {
                frame: {
                    x: 1,
                    y: 687,
                    w: 159,
                    h: 200
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 169,
                    y: 116,
                    w: 159,
                    h: 200
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance09.png": {
                frame: {
                    x: 1,
                    y: 352,
                    w: 164,
                    h: 248
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 175,
                    y: 68,
                    w: 164,
                    h: 248
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance10.png": {
                frame: {
                    x: 1,
                    y: 1,
                    w: 174,
                    h: 290
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 156,
                    y: 26,
                    w: 174,
                    h: 290
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            },
            "dance11.png": {
                frame: {
                    x: 1,
                    y: 177,
                    w: 173,
                    h: 262
                },
                rotated: !0,
                trimmed: !0,
                spriteSourceSize: {
                    x: 156,
                    y: 33,
                    w: 173,
                    h: 262
                },
                sourceSize: {
                    w: 461,
                    h: 461
                },
                anchor: {
                    x: 0,
                    y: 0
                }
            }
        },
        animations: {
            CHAR_Plant: ["CHAR_Plant0001.png", "CHAR_Plant0002.png", "CHAR_Plant0003.png", "CHAR_Plant0004.png", "CHAR_Plant0005.png", "CHAR_Plant0006.png"],
            dance: ["dance07.png", "dance08.png", "dance09.png", "dance10.png", "dance11.png"]
        },
        meta: {
            app: "https://www.codeandweb.com/texturepacker",
            version: "1.0",
            image: "CHAR_Plant.png",
            format: "RGBA8888",
            size: {
                w: 512,
                h: 1024
            },
            scale: "0.9",
            smartupdate: "$TexturePacker:SmartUpdate:cda33cf86640ea24f55a3da48dfd378c:f7cb6c1f577ea74e77a9ee2981486c71:89b95b3ae613f373b99f985dcfa16794$"
        }
    }
}, function(t, e, n) {
    t.exports = n.p + "images/1635fd44544c14a10472da2ec5d39197-madbox_blackBG.png"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    function n() {
        return t.exports = n = Object.assign || function(t) {
            for (var e = 1; e < arguments.length; e++) {
                var n = arguments[e];
                for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (t[r] = n[r])
            }
            return t
        }, n.apply(this, arguments)
    }
    t.exports = n
}, function(t, e, n) {
    n(284), t.exports = n(283)
}, function(t, e, n) {
    var r = function(t) {
        "use strict";
        var e, n = Object.prototype,
            r = n.hasOwnProperty,
            i = "function" == typeof Symbol ? Symbol : {},
            o = i.iterator || "@@iterator",
            a = i.asyncIterator || "@@asyncIterator",
            s = i.toStringTag || "@@toStringTag";

        function A(t, e, n, r) {
            var i = e && e.prototype instanceof f ? e : f,
                o = Object.create(i.prototype),
                a = new T(r || []);
            return o._invoke = function(t, e, n) {
                var r = c;
                return function(i, o) {
                    if (r === l) throw new Error("Generator is already running");
                    if (r === d) {
                        if ("throw" === i) throw o;
                        return I()
                    }
                    for (n.method = i, n.arg = o;;) {
                        var a = n.delegate;
                        if (a) {
                            var s = S(a, n);
                            if (s) {
                                if (s === p) continue;
                                return s
                            }
                        }
                        if ("next" === n.method) n.sent = n._sent = n.arg;
                        else if ("throw" === n.method) {
                            if (r === c) throw r = d, n.arg;
                            n.dispatchException(n.arg)
                        } else "return" === n.method && n.abrupt("return", n.arg);
                        r = l;
                        var A = h(t, e, n);
                        if ("normal" === A.type) {
                            if (r = n.done ? d : u, A.arg === p) continue;
                            return {
                                value: A.arg,
                                done: n.done
                            }
                        }
                        "throw" === A.type && (r = d, n.method = "throw", n.arg = A.arg)
                    }
                }
            }(t, n, a), o
        }

        function h(t, e, n) {
            try {
                return {
                    type: "normal",
                    arg: t.call(e, n)
                }
            } catch (t) {
                return {
                    type: "throw",
                    arg: t
                }
            }
        }
        t.wrap = A;
        var c = "suspendedStart",
            u = "suspendedYield",
            l = "executing",
            d = "completed",
            p = {};

        function f() {}

        function y() {}

        function x() {}
        var m = {};
        m[o] = function() {
            return this
        };
        var g = Object.getPrototypeOf,
            w = g && g(g(k([])));
        w && w !== n && r.call(w, o) && (m = w);
        var v = x.prototype = f.prototype = Object.create(m);

        function b(t) {
            ["next", "throw", "return"].forEach(function(e) {
                t[e] = function(t) {
                    return this._invoke(e, t)
                }
            })
        }

        function _(t) {
            var e;
            this._invoke = function(n, i) {
                function o() {
                    return new Promise(function(e, o) {
                        ! function e(n, i, o, a) {
                            var s = h(t[n], t, i);
                            if ("throw" !== s.type) {
                                var A = s.arg,
                                    c = A.value;
                                return c && "object" == typeof c && r.call(c, "__await") ? Promise.resolve(c.__await).then(function(t) {
                                    e("next", t, o, a)
                                }, function(t) {
                                    e("throw", t, o, a)
                                }) : Promise.resolve(c).then(function(t) {
                                    A.value = t, o(A)
                                }, function(t) {
                                    return e("throw", t, o, a)
                                })
                            }
                            a(s.arg)
                        }(n, i, e, o)
                    })
                }
                return e = e ? e.then(o, o) : o()
            }
        }

        function S(t, n) {
            var r = t.iterator[n.method];
            if (r === e) {
                if (n.delegate = null, "throw" === n.method) {
                    if (t.iterator.return && (n.method = "return", n.arg = e, S(t, n), "throw" === n.method)) return p;
                    n.method = "throw", n.arg = new TypeError("The iterator does not provide a 'throw' method")
                }
                return p
            }
            var i = h(r, t.iterator, n.arg);
            if ("throw" === i.type) return n.method = "throw", n.arg = i.arg, n.delegate = null, p;
            var o = i.arg;
            return o ? o.done ? (n[t.resultName] = o.value, n.next = t.nextLoc, "return" !== n.method && (n.method = "next", n.arg = e), n.delegate = null, p) : o : (n.method = "throw", n.arg = new TypeError("iterator result is not an object"), n.delegate = null, p)
        }

        function E(t) {
            var e = {
                tryLoc: t[0]
            };
            1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e)
        }

        function C(t) {
            var e = t.completion || {};
            e.type = "normal", delete e.arg, t.completion = e
        }

        function T(t) {
            this.tryEntries = [{
                tryLoc: "root"
            }], t.forEach(E, this), this.reset(!0)
        }

        function k(t) {
            if (t) {
                var n = t[o];
                if (n) return n.call(t);
                if ("function" == typeof t.next) return t;
                if (!isNaN(t.length)) {
                    var i = -1,
                        a = function n() {
                            for (; ++i < t.length;)
                                if (r.call(t, i)) return n.value = t[i], n.done = !1, n;
                            return n.value = e, n.done = !0, n
                        };
                    return a.next = a
                }
            }
            return {
                next: I
            }
        }

        function I() {
            return {
                value: e,
                done: !0
            }
        }
        return y.prototype = v.constructor = x, x.constructor = y, x[s] = y.displayName = "GeneratorFunction", t.isGeneratorFunction = function(t) {
            var e = "function" == typeof t && t.constructor;
            return !!e && (e === y || "GeneratorFunction" === (e.displayName || e.name))
        }, t.mark = function(t) {
            return Object.setPrototypeOf ? Object.setPrototypeOf(t, x) : (t.__proto__ = x, s in t || (t[s] = "GeneratorFunction")), t.prototype = Object.create(v), t
        }, t.awrap = function(t) {
            return {
                __await: t
            }
        }, b(_.prototype), _.prototype[a] = function() {
            return this
        }, t.AsyncIterator = _, t.async = function(e, n, r, i) {
            var o = new _(A(e, n, r, i));
            return t.isGeneratorFunction(n) ? o : o.next().then(function(t) {
                return t.done ? t.value : o.next()
            })
        }, b(v), v[s] = "Generator", v[o] = function() {
            return this
        }, v.toString = function() {
            return "[object Generator]"
        }, t.keys = function(t) {
            var e = [];
            for (var n in t) e.push(n);
            return e.reverse(),
                function n() {
                    for (; e.length;) {
                        var r = e.pop();
                        if (r in t) return n.value = r, n.done = !1, n
                    }
                    return n.done = !0, n
                }
        }, t.values = k, T.prototype = {
            constructor: T,
            reset: function(t) {
                if (this.prev = 0, this.next = 0, this.sent = this._sent = e, this.done = !1, this.delegate = null, this.method = "next", this.arg = e, this.tryEntries.forEach(C), !t)
                    for (var n in this) "t" === n.charAt(0) && r.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = e)
            },
            stop: function() {
                this.done = !0;
                var t = this.tryEntries[0].completion;
                if ("throw" === t.type) throw t.arg;
                return this.rval
            },
            dispatchException: function(t) {
                if (this.done) throw t;
                var n = this;

                function i(r, i) {
                    return s.type = "throw", s.arg = t, n.next = r, i && (n.method = "next", n.arg = e), !!i
                }
                for (var o = this.tryEntries.length - 1; o >= 0; --o) {
                    var a = this.tryEntries[o],
                        s = a.completion;
                    if ("root" === a.tryLoc) return i("end");
                    if (a.tryLoc <= this.prev) {
                        var A = r.call(a, "catchLoc"),
                            h = r.call(a, "finallyLoc");
                        if (A && h) {
                            if (this.prev < a.catchLoc) return i(a.catchLoc, !0);
                            if (this.prev < a.finallyLoc) return i(a.finallyLoc)
                        } else if (A) {
                            if (this.prev < a.catchLoc) return i(a.catchLoc, !0)
                        } else {
                            if (!h) throw new Error("try statement without catch or finally");
                            if (this.prev < a.finallyLoc) return i(a.finallyLoc)
                        }
                    }
                }
            },
            abrupt: function(t, e) {
                for (var n = this.tryEntries.length - 1; n >= 0; --n) {
                    var i = this.tryEntries[n];
                    if (i.tryLoc <= this.prev && r.call(i, "finallyLoc") && this.prev < i.finallyLoc) {
                        var o = i;
                        break
                    }
                }
                o && ("break" === t || "continue" === t) && o.tryLoc <= e && e <= o.finallyLoc && (o = null);
                var a = o ? o.completion : {};
                return a.type = t, a.arg = e, o ? (this.method = "next", this.next = o.finallyLoc, p) : this.complete(a)
            },
            complete: function(t, e) {
                if ("throw" === t.type) throw t.arg;
                return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), p
            },
            finish: function(t) {
                for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                    var n = this.tryEntries[e];
                    if (n.finallyLoc === t) return this.complete(n.completion, n.afterLoc), C(n), p
                }
            },
            catch: function(t) {
                for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                    var n = this.tryEntries[e];
                    if (n.tryLoc === t) {
                        var r = n.completion;
                        if ("throw" === r.type) {
                            var i = r.arg;
                            C(n)
                        }
                        return i
                    }
                }
                throw new Error("illegal catch attempt")
            },
            delegateYield: function(t, n, r) {
                return this.delegate = {
                    iterator: k(t),
                    resultName: n,
                    nextLoc: r
                }, "next" === this.method && (this.arg = e), p
            }
        }, t
    }(t.exports);
    try {
        regeneratorRuntime = r
    } catch (t) {
        Function("r", "regeneratorRuntime = r")(r)
    }
}, function(t, e) {
    t.exports = function(t, e, n) {
        return e in t ? Object.defineProperty(t, e, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : t[e] = n, t
    }
}, function(t, e) {
    function n(e, r) {
        return t.exports = n = Object.setPrototypeOf || function(t, e) {
            return t.__proto__ = e, t
        }, n(e, r)
    }
    t.exports = n
}, function(t, e, n) {
    "use strict";
    (function(t) {
        var e = n(27),
            r = n(28),
            i = n.n(r);
        /*!
         * @pixi/polyfill - v5.0.4
         * Compiled Fri, 07 Jun 2019 17:17:49 UTC
         *
         * @pixi/polyfill is licensed under the MIT License.
         * http://www.opensource.org/licenses/mit-license
         */
        window.Promise || (window.Promise = e.Polyfill), Object.assign || (Object.assign = i.a);
        var o = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0 !== t ? t : "undefined" != typeof self ? self : {};
        if (Date.now && Date.prototype.getTime || (Date.now = function() {
                return (new Date).getTime()
            }), !o.performance || !o.performance.now) {
            var a = Date.now();
            o.performance || (o.performance = {}), o.performance.now = function() {
                return Date.now() - a
            }
        }
        for (var s = Date.now(), A = ["ms", "moz", "webkit", "o"], h = 0; h < A.length && !o.requestAnimationFrame; ++h) {
            var c = A[h];
            o.requestAnimationFrame = o[c + "RequestAnimationFrame"], o.cancelAnimationFrame = o[c + "CancelAnimationFrame"] || o[c + "CancelRequestAnimationFrame"]
        }
        o.requestAnimationFrame || (o.requestAnimationFrame = function(t) {
            if ("function" != typeof t) throw new TypeError(t + "is not a function");
            var e = Date.now(),
                n = 16 + s - e;
            return n < 0 && (n = 0), s = e, setTimeout(function() {
                s = Date.now(), t(performance.now())
            }, n)
        }), o.cancelAnimationFrame || (o.cancelAnimationFrame = function(t) {
            return clearTimeout(t)
        }), Math.sign || (Math.sign = function(t) {
            return 0 === (t = Number(t)) || isNaN(t) ? t : t > 0 ? 1 : -1
        }), Number.isInteger || (Number.isInteger = function(t) {
            return "number" == typeof t && isFinite(t) && Math.floor(t) === t
        }), window.ArrayBuffer || (window.ArrayBuffer = Array), window.Float32Array || (window.Float32Array = Array), window.Uint32Array || (window.Uint32Array = Array), window.Uint16Array || (window.Uint16Array = Array), window.Uint8Array || (window.Uint8Array = Array), window.Int32Array || (window.Int32Array = Array)
    }).call(this, n(11))
}, function(t, e, n) {
    (function(t) {
        var r = void 0 !== t && t || "undefined" != typeof self && self || window,
            i = Function.prototype.apply;

        function o(t, e) {
            this._id = t, this._clearFn = e
        }
        e.setTimeout = function() {
            return new o(i.call(setTimeout, r, arguments), clearTimeout)
        }, e.setInterval = function() {
            return new o(i.call(setInterval, r, arguments), clearInterval)
        }, e.clearTimeout = e.clearInterval = function(t) {
            t && t.close()
        }, o.prototype.unref = o.prototype.ref = function() {}, o.prototype.close = function() {
            this._clearFn.call(r, this._id)
        }, e.enroll = function(t, e) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = e
        }, e.unenroll = function(t) {
            clearTimeout(t._idleTimeoutId), t._idleTimeout = -1
        }, e._unrefActive = e.active = function(t) {
            clearTimeout(t._idleTimeoutId);
            var e = t._idleTimeout;
            e >= 0 && (t._idleTimeoutId = setTimeout(function() {
                t._onTimeout && t._onTimeout()
            }, e))
        }, n(131), e.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== t && t.setImmediate || this && this.setImmediate, e.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== t && t.clearImmediate || this && this.clearImmediate
    }).call(this, n(11))
}, function(t, e, n) {
    (function(t, e) {
        ! function(t, n) {
            "use strict";
            if (!t.setImmediate) {
                var r, i, o, a, s, A = 1,
                    h = {},
                    c = !1,
                    u = t.document,
                    l = Object.getPrototypeOf && Object.getPrototypeOf(t);
                l = l && l.setTimeout ? l : t, "[object process]" === {}.toString.call(t.process) ? r = function(t) {
                    e.nextTick(function() {
                        p(t)
                    })
                } : ! function() {
                    if (t.postMessage && !t.importScripts) {
                        var e = !0,
                            n = t.onmessage;
                        return t.onmessage = function() {
                            e = !1
                        }, t.postMessage("", "*"), t.onmessage = n, e
                    }
                }() ? t.MessageChannel ? ((o = new MessageChannel).port1.onmessage = function(t) {
                    p(t.data)
                }, r = function(t) {
                    o.port2.postMessage(t)
                }) : u && "onreadystatechange" in u.createElement("script") ? (i = u.documentElement, r = function(t) {
                    var e = u.createElement("script");
                    e.onreadystatechange = function() {
                        p(t), e.onreadystatechange = null, i.removeChild(e), e = null
                    }, i.appendChild(e)
                }) : r = function(t) {
                    setTimeout(p, 0, t)
                } : (a = "setImmediate$" + Math.random() + "$", s = function(e) {
                    e.source === t && "string" == typeof e.data && 0 === e.data.indexOf(a) && p(+e.data.slice(a.length))
                }, t.addEventListener ? t.addEventListener("message", s, !1) : t.attachEvent("onmessage", s), r = function(e) {
                    t.postMessage(a + e, "*")
                }), l.setImmediate = function(t) {
                    "function" != typeof t && (t = new Function("" + t));
                    for (var e = new Array(arguments.length - 1), n = 0; n < e.length; n++) e[n] = arguments[n + 1];
                    var i = {
                        callback: t,
                        args: e
                    };
                    return h[A] = i, r(A), A++
                }, l.clearImmediate = d
            }

            function d(t) {
                delete h[t]
            }

            function p(t) {
                if (c) setTimeout(p, 0, t);
                else {
                    var e = h[t];
                    if (e) {
                        c = !0;
                        try {
                            ! function(t) {
                                var e = t.callback,
                                    r = t.args;
                                switch (r.length) {
                                    case 0:
                                        e();
                                        break;
                                    case 1:
                                        e(r[0]);
                                        break;
                                    case 2:
                                        e(r[0], r[1]);
                                        break;
                                    case 3:
                                        e(r[0], r[1], r[2]);
                                        break;
                                    default:
                                        e.apply(n, r)
                                }
                            }(e)
                        } finally {
                            d(t), c = !1
                        }
                    }
                }
            }
        }("undefined" == typeof self ? void 0 === t ? this : t : self)
    }).call(this, n(11), n(132))
}, function(t, e) {
    var n, r, i = t.exports = {};

    function o() {
        throw new Error("setTimeout has not been defined")
    }

    function a() {
        throw new Error("clearTimeout has not been defined")
    }

    function s(t) {
        if (n === setTimeout) return setTimeout(t, 0);
        if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0);
        try {
            return n(t, 0)
        } catch (e) {
            try {
                return n.call(null, t, 0)
            } catch (e) {
                return n.call(this, t, 0)
            }
        }
    }! function() {
        try {
            n = "function" == typeof setTimeout ? setTimeout : o
        } catch (t) {
            n = o
        }
        try {
            r = "function" == typeof clearTimeout ? clearTimeout : a
        } catch (t) {
            r = a
        }
    }();
    var A, h = [],
        c = !1,
        u = -1;

    function l() {
        c && A && (c = !1, A.length ? h = A.concat(h) : u = -1, h.length && d())
    }

    function d() {
        if (!c) {
            var t = s(l);
            c = !0;
            for (var e = h.length; e;) {
                for (A = h, h = []; ++u < e;) A && A[u].run();
                u = -1, e = h.length
            }
            A = null, c = !1,
                function(t) {
                    if (r === clearTimeout) return clearTimeout(t);
                    if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t);
                    try {
                        r(t)
                    } catch (e) {
                        try {
                            return r.call(null, t)
                        } catch (e) {
                            return r.call(this, t)
                        }
                    }
                }(t)
        }
    }

    function p(t, e) {
        this.fun = t, this.array = e
    }

    function f() {}
    i.nextTick = function(t) {
        var e = new Array(arguments.length - 1);
        if (arguments.length > 1)
            for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
        h.push(new p(t, e)), 1 !== h.length || c || s(d)
    }, p.prototype.run = function() {
        this.fun.apply(null, this.array)
    }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = f, i.addListener = f, i.once = f, i.off = f, i.removeListener = f, i.removeAllListeners = f, i.emit = f, i.prependListener = f, i.prependOnceListener = f, i.listeners = function(t) {
        return []
    }, i.binding = function(t) {
        throw new Error("process.binding is not supported")
    }, i.cwd = function() {
        return "/"
    }, i.chdir = function(t) {
        throw new Error("process.chdir is not supported")
    }, i.umask = function() {
        return 0
    }
}, function(t, e, n) {
    (function(t, r) {
        var i; /*! https://mths.be/punycode v1.4.1 by @mathias */
        ! function(o) {
            e && e.nodeType, t && t.nodeType;
            var a = "object" == typeof r && r;
            a.global !== a && a.window !== a && a.self;
            var s, A = 2147483647,
                h = 36,
                c = 1,
                u = 26,
                l = 38,
                d = 700,
                p = 72,
                f = 128,
                y = "-",
                x = /^xn--/,
                m = /[^\x20-\x7E]/,
                g = /[\x2E\u3002\uFF0E\uFF61]/g,
                w = {
                    overflow: "Overflow: input needs wider integers to process",
                    "not-basic": "Illegal input >= 0x80 (not a basic code point)",
                    "invalid-input": "Invalid input"
                },
                v = h - c,
                b = Math.floor,
                _ = String.fromCharCode;

            function S(t) {
                throw new RangeError(w[t])
            }

            function E(t, e) {
                for (var n = t.length, r = []; n--;) r[n] = e(t[n]);
                return r
            }

            function C(t, e) {
                var n = t.split("@"),
                    r = "";
                return n.length > 1 && (r = n[0] + "@", t = n[1]), r + E((t = t.replace(g, ".")).split("."), e).join(".")
            }

            function T(t) {
                for (var e, n, r = [], i = 0, o = t.length; i < o;)(e = t.charCodeAt(i++)) >= 55296 && e <= 56319 && i < o ? 56320 == (64512 & (n = t.charCodeAt(i++))) ? r.push(((1023 & e) << 10) + (1023 & n) + 65536) : (r.push(e), i--) : r.push(e);
                return r
            }

            function k(t) {
                return E(t, function(t) {
                    var e = "";
                    return t > 65535 && (e += _((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e += _(t)
                }).join("")
            }

            function I(t, e) {
                return t + 22 + 75 * (t < 26) - ((0 != e) << 5)
            }

            function D(t, e, n) {
                var r = 0;
                for (t = n ? b(t / d) : t >> 1, t += b(t / e); t > v * u >> 1; r += h) t = b(t / v);
                return b(r + (v + 1) * t / (t + l))
            }

            function P(t) {
                var e, n, r, i, o, a, s, l, d, x, m, g = [],
                    w = t.length,
                    v = 0,
                    _ = f,
                    E = p;
                for ((n = t.lastIndexOf(y)) < 0 && (n = 0), r = 0; r < n; ++r) t.charCodeAt(r) >= 128 && S("not-basic"), g.push(t.charCodeAt(r));
                for (i = n > 0 ? n + 1 : 0; i < w;) {
                    for (o = v, a = 1, s = h; i >= w && S("invalid-input"), ((l = (m = t.charCodeAt(i++)) - 48 < 10 ? m - 22 : m - 65 < 26 ? m - 65 : m - 97 < 26 ? m - 97 : h) >= h || l > b((A - v) / a)) && S("overflow"), v += l * a, !(l < (d = s <= E ? c : s >= E + u ? u : s - E)); s += h) a > b(A / (x = h - d)) && S("overflow"), a *= x;
                    E = D(v - o, e = g.length + 1, 0 == o), b(v / e) > A - _ && S("overflow"), _ += b(v / e), v %= e, g.splice(v++, 0, _)
                }
                return k(g)
            }

            function R(t) {
                var e, n, r, i, o, a, s, l, d, x, m, g, w, v, E, C = [];
                for (g = (t = T(t)).length, e = f, n = 0, o = p, a = 0; a < g; ++a)(m = t[a]) < 128 && C.push(_(m));
                for (r = i = C.length, i && C.push(y); r < g;) {
                    for (s = A, a = 0; a < g; ++a)(m = t[a]) >= e && m < s && (s = m);
                    for (s - e > b((A - n) / (w = r + 1)) && S("overflow"), n += (s - e) * w, e = s, a = 0; a < g; ++a)
                        if ((m = t[a]) < e && ++n > A && S("overflow"), m == e) {
                            for (l = n, d = h; !(l < (x = d <= o ? c : d >= o + u ? u : d - o)); d += h) E = l - x, v = h - x, C.push(_(I(x + E % v, 0))), l = b(E / v);
                            C.push(_(I(l, 0))), o = D(n, w, r == i), n = 0, ++r
                        }++ n, ++e
                }
                return C.join("")
            }
            s = {
                version: "1.4.1",
                ucs2: {
                    decode: T,
                    encode: k
                },
                decode: P,
                encode: R,
                toASCII: function(t) {
                    return C(t, function(t) {
                        return m.test(t) ? "xn--" + R(t) : t
                    })
                },
                toUnicode: function(t) {
                    return C(t, function(t) {
                        return x.test(t) ? P(t.slice(4).toLowerCase()) : t
                    })
                }
            }, void 0 === (i = function() {
                return s
            }.call(e, n, e, t)) || (t.exports = i)
        }()
    }).call(this, n(134)(t), n(11))
}, function(t, e) {
    t.exports = function(t) {
        return t.webpackPolyfill || (t.deprecate = function() {}, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, "loaded", {
            enumerable: !0,
            get: function() {
                return t.l
            }
        }), Object.defineProperty(t, "id", {
            enumerable: !0,
            get: function() {
                return t.i
            }
        }), t.webpackPolyfill = 1), t
    }
}, function(t, e, n) {
    "use strict";
    t.exports = {
        isString: function(t) {
            return "string" == typeof t
        },
        isObject: function(t) {
            return "object" == typeof t && null !== t
        },
        isNull: function(t) {
            return null === t
        },
        isNullOrUndefined: function(t) {
            return null == t
        }
    }
}, function(t, e, n) {
    "use strict";
    e.decode = e.parse = n(137), e.encode = e.stringify = n(138)
}, function(t, e, n) {
    "use strict";

    function r(t, e) {
        return Object.prototype.hasOwnProperty.call(t, e)
    }
    t.exports = function(t, e, n, o) {
        e = e || "&", n = n || "=";
        var a = {};
        if ("string" != typeof t || 0 === t.length) return a;
        var s = /\+/g;
        t = t.split(e);
        var A = 1e3;
        o && "number" == typeof o.maxKeys && (A = o.maxKeys);
        var h = t.length;
        A > 0 && h > A && (h = A);
        for (var c = 0; c < h; ++c) {
            var u, l, d, p, f = t[c].replace(s, "%20"),
                y = f.indexOf(n);
            y >= 0 ? (u = f.substr(0, y), l = f.substr(y + 1)) : (u = f, l = ""), d = decodeURIComponent(u), p = decodeURIComponent(l), r(a, d) ? i(a[d]) ? a[d].push(p) : a[d] = [a[d], p] : a[d] = p
        }
        return a
    };
    var i = Array.isArray || function(t) {
        return "[object Array]" === Object.prototype.toString.call(t)
    }
}, function(t, e, n) {
    "use strict";
    var r = function(t) {
        switch (typeof t) {
            case "string":
                return t;
            case "boolean":
                return t ? "true" : "false";
            case "number":
                return isFinite(t) ? t : "";
            default:
                return ""
        }
    };
    t.exports = function(t, e, n, s) {
        return e = e || "&", n = n || "=", null === t && (t = void 0), "object" == typeof t ? o(a(t), function(a) {
            var s = encodeURIComponent(r(a)) + n;
            return i(t[a]) ? o(t[a], function(t) {
                return s + encodeURIComponent(r(t))
            }).join(e) : s + encodeURIComponent(r(t[a]))
        }).join(e) : s ? encodeURIComponent(r(s)) + n + encodeURIComponent(r(t)) : ""
    };
    var i = Array.isArray || function(t) {
        return "[object Array]" === Object.prototype.toString.call(t)
    };

    function o(t, e) {
        if (t.map) return t.map(e);
        for (var n = [], r = 0; r < t.length; r++) n.push(e(t[r], r));
        return n
    }
    var a = Object.keys || function(t) {
        var e = [];
        for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n);
        return e
    }
}, function(t, e, n) {
    "use strict";
    e.__esModule = !0, e.Loader = void 0;
    var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
            return typeof t
        } : function(t) {
            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
        },
        i = function() {
            function t(t, e) {
                for (var n = 0; n < e.length; n++) {
                    var r = e[n];
                    r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                }
            }
            return function(e, n, r) {
                return n && t(e.prototype, n), r && t(e, r), e
            }
        }(),
        o = h(n(23)),
        a = h(n(24)),
        s = function(t) {
            if (t && t.__esModule) return t;
            var e = {};
            if (null != t)
                for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);
            return e.default = t, e
        }(n(25)),
        A = n(26);

    function h(t) {
        return t && t.__esModule ? t : {
            default: t
        }
    }
    var c = /(#[\w-]+)?$/,
        u = e.Loader = function() {
            function t() {
                var e = this,
                    n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                    r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 10;
                ! function(t, e) {
                    if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                }(this, t), this.baseUrl = n, this.progress = 0, this.loading = !1, this.defaultQueryString = "", this._beforeMiddleware = [], this._afterMiddleware = [], this._resourcesParsing = [], this._boundLoadResource = function(t, n) {
                    return e._loadResource(t, n)
                }, this._queue = s.queue(this._boundLoadResource, r), this._queue.pause(), this.resources = {}, this.onProgress = new o.default, this.onError = new o.default, this.onLoad = new o.default, this.onStart = new o.default, this.onComplete = new o.default;
                for (var i = 0; i < t._defaultBeforeMiddleware.length; ++i) this.pre(t._defaultBeforeMiddleware[i]);
                for (var a = 0; a < t._defaultAfterMiddleware.length; ++a) this.use(t._defaultAfterMiddleware[a])
            }
            return t.prototype.add = function(t, e, n, i) {
                if (Array.isArray(t)) {
                    for (var o = 0; o < t.length; ++o) this.add(t[o]);
                    return this
                }
                if ("object" === (void 0 === t ? "undefined" : r(t)) && (i = e || t.callback || t.onComplete, n = t, e = t.url, t = t.name || t.key || t.url), "string" != typeof e && (i = n, n = e, e = t), "string" != typeof e) throw new Error("No url passed to add resource to loader.");
                if ("function" == typeof n && (i = n, n = null), this.loading && (!n || !n.parentResource)) throw new Error("Cannot add resources while the loader is running.");
                if (this.resources[t]) throw new Error('Resource named "' + t + '" already exists.');
                if (e = this._prepareUrl(e), this.resources[t] = new A.Resource(t, e, n), "function" == typeof i && this.resources[t].onAfterMiddleware.once(i), this.loading) {
                    for (var a = n.parentResource, s = [], h = 0; h < a.children.length; ++h) a.children[h].isComplete || s.push(a.children[h]);
                    var c = a.progressChunk * (s.length + 1) / (s.length + 2);
                    a.children.push(this.resources[t]), a.progressChunk = c;
                    for (var u = 0; u < s.length; ++u) s[u].progressChunk = c;
                    this.resources[t].progressChunk = c
                }
                return this._queue.push(this.resources[t]), this
            }, t.prototype.pre = function(t) {
                return this._beforeMiddleware.push(t), this
            }, t.prototype.use = function(t) {
                return this._afterMiddleware.push(t), this
            }, t.prototype.reset = function() {
                for (var t in this.progress = 0, this.loading = !1, this._queue.kill(), this._queue.pause(), this.resources) {
                    var e = this.resources[t];
                    e._onLoadBinding && e._onLoadBinding.detach(), e.isLoading && e.abort()
                }
                return this.resources = {}, this
            }, t.prototype.load = function(t) {
                if ("function" == typeof t && this.onComplete.once(t), this.loading) return this;
                if (this._queue.idle()) this._onStart(), this._onComplete();
                else {
                    for (var e = 100 / this._queue._tasks.length, n = 0; n < this._queue._tasks.length; ++n) this._queue._tasks[n].data.progressChunk = e;
                    this._onStart(), this._queue.resume()
                }
                return this
            }, t.prototype._prepareUrl = function(t) {
                var e = (0, a.default)(t, {
                        strictMode: !0
                    }),
                    n = void 0;
                if (n = e.protocol || !e.path || 0 === t.indexOf("//") ? t : this.baseUrl.length && this.baseUrl.lastIndexOf("/") !== this.baseUrl.length - 1 && "/" !== t.charAt(0) ? this.baseUrl + "/" + t : this.baseUrl + t, this.defaultQueryString) {
                    var r = c.exec(n)[0]; - 1 !== (n = n.substr(0, n.length - r.length)).indexOf("?") ? n += "&" + this.defaultQueryString : n += "?" + this.defaultQueryString, n += r
                }
                return n
            }, t.prototype._loadResource = function(t, e) {
                var n = this;
                t._dequeue = e, s.eachSeries(this._beforeMiddleware, function(e, r) {
                    e.call(n, t, function() {
                        r(t.isComplete ? {} : null)
                    })
                }, function() {
                    t.isComplete ? n._onLoad(t) : (t._onLoadBinding = t.onComplete.once(n._onLoad, n), t.load())
                }, !0)
            }, t.prototype._onStart = function() {
                this.progress = 0, this.loading = !0, this.onStart.dispatch(this)
            }, t.prototype._onComplete = function() {
                this.progress = 100, this.loading = !1, this.onComplete.dispatch(this, this.resources)
            }, t.prototype._onLoad = function(t) {
                var e = this;
                t._onLoadBinding = null, this._resourcesParsing.push(t), t._dequeue(), s.eachSeries(this._afterMiddleware, function(n, r) {
                    n.call(e, t, r)
                }, function() {
                    t.onAfterMiddleware.dispatch(t), e.progress = Math.min(100, e.progress + t.progressChunk), e.onProgress.dispatch(e, t), t.error ? e.onError.dispatch(t.error, e, t) : e.onLoad.dispatch(e, t), e._resourcesParsing.splice(e._resourcesParsing.indexOf(t), 1), e._queue.idle() && 0 === e._resourcesParsing.length && e._onComplete()
                }, !0)
            }, i(t, [{
                key: "concurrency",
                get: function() {
                    return this._queue.concurrency
                },
                set: function(t) {
                    this._queue.concurrency = t
                }
            }]), t
        }();
    u._defaultBeforeMiddleware = [], u._defaultAfterMiddleware = [], u.pre = function(t) {
        return u._defaultBeforeMiddleware.push(t), u
    }, u.use = function(t) {
        return u._defaultAfterMiddleware.push(t), u
    }
}, function(t, e, n) {
    "use strict";
    e.__esModule = !0, e.encodeBinary = i;
    var r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

    function i(t) {
        for (var e = "", n = 0; n < t.length;) {
            for (var i = [0, 0, 0], o = [0, 0, 0, 0], a = 0; a < i.length; ++a) n < t.length ? i[a] = 255 & t.charCodeAt(n++) : i[a] = 0;
            switch (o[0] = i[0] >> 2, o[1] = (3 & i[0]) << 4 | i[1] >> 4, o[2] = (15 & i[1]) << 2 | i[2] >> 6, o[3] = 63 & i[2], n - (t.length - 1)) {
                case 2:
                    o[3] = 64, o[2] = 64;
                    break;
                case 1:
                    o[3] = 64
            }
            for (var s = 0; s < o.length; ++s) e += r.charAt(o[s])
        }
        return e
    }
    t.exports.default = i
}, function(t, e, n) {
    var r = n(0);
    t.exports = function(t, e) {
        for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = r(t)););
        return t
    }
}, function(t, e, n) {
    var r = n(143);
    "string" == typeof r && (r = [
        [t.i, r, ""]
    ]);
    var i = {
        hmr: !0,
        transform: void 0,
        insertInto: void 0
    };
    n(160)(r, i);
    r.locals && (t.exports = r.locals)
}, function(t, e, n) {
    e = t.exports = n(144)(!1);
    var r = n(145),
        i = r(n(146)),
        o = r(n(147)),
        a = r(n(148)),
        s = r(n(149)),
        A = r(n(150)),
        h = r(n(151)),
        c = r(n(152)),
        u = r(n(153)),
        l = r(n(154)),
        d = r(n(155)),
        p = r(n(18)),
        f = r(n(19)),
        y = r(n(156)),
        x = r(n(157)),
        m = r(n(158)),
        g = r(n(159));
    e.push([t.i, '@font-face {\r\n  font-family: "JUNEGULL";\r\n  font-style: normal;\r\n  font-weight: 400;\r\n  src: url(' + i + ') format("truetype");\r\n}\r\n\r\n@font-face {\r\n  font-family: "Odin";\r\n  font-style: normal;\r\n  font-weight: 400;\r\n  src: url(' + o + ') format("truetype");\r\n}\r\n\r\n@keyframes spin {\r\n  from {\r\n    transform: rotate(0deg);\r\n  }\r\n  to {\r\n    transform: rotate(360deg);\r\n  }\r\n}\r\n\r\n@keyframes fadeIn {\r\n  from {\r\n    opacity: 0;\r\n  }\r\n  to {\r\n    opacity: 1;\r\n  }\r\n}\r\n\r\nbody {\r\n  font-family: JUNEGULL;\r\n}\r\n\r\n.odin-font-loader {\r\n  font-family: Odin;\r\n  opacity: 0;\r\n}\r\n\r\nbutton,\r\ninput[type="button"],\r\n.clickable {\r\n  outline: none;\r\n  pointer-events: all;\r\n  -webkit-touch-callout: none;\r\n  -webkit-user-select: none;\r\n  -khtml-user-select: none;\r\n  -moz-user-select: none;\r\n  -ms-user-select: none;\r\n  user-select: none;\r\n  -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\ninput[type="button"]::-moz-focus-inner {\r\n  border: 0;\r\n  -webkit-touch-callout: none;\r\n  -webkit-user-select: none;\r\n  -khtml-user-select: none;\r\n  -moz-user-select: none;\r\n  -ms-user-select: none;\r\n  user-select: none;\r\n  -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\n.ui {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  -webkit-touch-callout: none;\r\n  -webkit-user-select: none;\r\n  -khtml-user-select: none;\r\n  -moz-user-select: none;\r\n  -ms-user-select: none;\r\n  user-select: none;\r\n  text-shadow: rgba(0, 6, 95, 0.5) 0 3px 0;\r\n  pointer-events: none;\r\n}\r\n\r\n.button {\r\n  display: block;\r\n  background-color: transparent;\r\n  filter: drop-shadow(0px 5px 0px rgba(0, 6, 95, 0.5));\r\n  font-weight: bold;\r\n  text-shadow: rgba(0, 6, 95, 0.5) 0 3px 0;\r\n  font-family: JUNEGULL;\r\n  cursor: pointer;\r\n  border: none;\r\n}\r\n\r\n.play-button {\r\n  background-image: url(' + a + ");\r\n  background-size: 178px 80px;\r\n  width: 178px;\r\n  height: 80px;\r\n  padding: 16px 25px 16px 54px;\r\n  color: white;\r\n  font-size: 18px;\r\n  display: inline-block;\r\n  margin: 5px;\r\n}\r\n\r\n.continue-button {\r\n  background-image: url(" + s + ");\r\n  background-size: 100px 100px;\r\n  width: 100px;\r\n  height: 100px;\r\n  position: absolute;\r\n  margin: auto;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 10px;\r\n}\r\n\r\n.level-progress {\r\n  text-align: center;\r\n  margin-top: 45px;\r\n}\r\n\r\n.level-progressbar-container {\r\n  display: inline-block;\r\n  width: 100px;\r\n  height: 15px;\r\n  background-color: #666666;\r\n  box-shadow: rgba(0, 6, 95, 0.5) 0 3px 0;\r\n}\r\n\r\n.level-progressbar {\r\n  height: 100%;\r\n  background-color: #ffffff;\r\n}\r\n\r\n.level-progress .lvl {\r\n  width: 50px;\r\n  display: inline-block;\r\n  color: white;\r\n  font-weight: bold;\r\n}\r\n\r\n.level-progress .lvl.current {\r\n  text-align: right;\r\n  padding-right: 10px;\r\n}\r\n\r\n.level-progress .lvl.next {\r\n  text-align: left;\r\n  padding-left: 10px;\r\n}\r\n\r\n.title {\r\n  width: 80%;\r\n  max-width: 500px;\r\n  display: block;\r\n  margin: auto;\r\n  margin-top: 50px;\r\n  filter: drop-shadow(0px 7px 0px rgba(0, 6, 95, 0.5));\r\n}\r\n\r\n.level-cleared {\r\n  text-align: center;\r\n  color: white;\r\n  margin-top: 25px;\r\n  font-size: 1.5em;\r\n}\r\n\r\n.pause-button {\r\n  width: 30px;\r\n  height: 30px;\r\n  background-image: url(" + A + ");\r\n  background-size: 30px 30px;\r\n  position: absolute;\r\n  left: 10px;\r\n  top: 10px;\r\n}\r\n\r\n.back-button {\r\n  background-image: url(" + s + ");\r\n  transform: rotateZ(-90deg);\r\n  width: 30px;\r\n  height: 30px;\r\n  background-size: 30px 30px;\r\n  position: absolute;\r\n  left: 10px;\r\n  top: 10px;\r\n  filter: drop-shadow(-5px 0px 0px rgba(0, 6, 95, 0.5));\r\n}\r\n\r\n.shop-button {\r\n  width: 80px;\r\n  height: 80px;\r\n  color: #0171a3;\r\n  font-size: 14px;\r\n  display: inline-block;\r\n  margin: 5px;\r\n  text-shadow: none;\r\n  background-image: url(" + h + ");\r\n  background-size: 80px 80px;\r\n  position: relative;\r\n}\r\n\r\n.shop-button.selected {\r\n  background-image: url(" + c + ");\r\n}\r\n\r\n.shop-button.locked {\r\n  color: white;\r\n  background-image: url(" + u + ");\r\n}\r\n\r\n.shop-button.type-rewarded.locked {\r\n  background-image: url(" + l + ");\r\n}\r\n\r\n.shop-button.type-rewarded.locked.loading,\r\n.shop-button.type-rewarded.locked.disabled {\r\n  background-image: url(" + d + ");\r\n}\r\n\r\n.shop-button > .load-icon {\r\n  position: absolute;\r\n  width: 20px;\r\n  height: 20px;\r\n  top: 7px;\r\n  right: 7px;\r\n  animation-name: spin;\r\n  animation-duration: 1s;\r\n  animation-iteration-count: infinite;\r\n  animation-timing-function: linear;\r\n}\r\n\r\n.shop-button > .text {\r\n  position: absolute;\r\n  top: 55px;\r\n  left: 6px;\r\n  right: 6px;\r\n  bottom: 4px;\r\n}\r\n\r\n.shop-button > .image {\r\n  width: 80px;\r\n  position: absolute;\r\n  top: -6px;\r\n  left: 0;\r\n}\r\n\r\n.shop-button > .lock {\r\n  position: absolute;\r\n  top: 6px;\r\n  left: 6px;\r\n  width: 16px;\r\n  height: 16px;\r\n}\r\n\r\n.shop-button.type-rewarded.locked > .text,\r\n.shop-button.type-rewarded.locked > .lock {\r\n  display: none;\r\n}\r\n\r\n.row {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  margin: 15px 0;\r\n}\r\n\r\n.title-buttons {\r\n  position: absolute;\r\n  bottom: 50px;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n.title-buttons .button {\r\n  margin: 5px;\r\n}\r\n\r\n.shop-content {\r\n  background-image: url(" + p + ');\r\n  background-size: 100% 100%;\r\n  position: absolute;\r\n  bottom: 0;\r\n  left: 0;\r\n  right: 0;\r\n  top: 33%;\r\n}\r\n\r\n.skins-lists-container {\r\n  position: relative;\r\n  height: calc(100% - 68px);\r\n  left: 0%;\r\n  transition: ease 0.5s;\r\n}\r\n\r\n.skins-list {\r\n  text-align: center;\r\n  overflow: auto;\r\n  height: 100%;\r\n  display: inline-block;\r\n}\r\n\r\n.shop-progress {\r\n  position: absolute;\r\n  top: 10px;\r\n  right: 10px;\r\n  color: white;\r\n  font-size: 20px;\r\n}\r\n\r\n.shop .shop-button {\r\n  text-shadow: none;\r\n}\r\n\r\n.shop-category-name {\r\n  background-color: white;\r\n  color: #00b9dc;\r\n  text-align: center;\r\n  text-shadow: none;\r\n  padding: 5px;\r\n  line-height: 25px;\r\n}\r\n\r\n.shop-category-name > span {\r\n  width: 200px;\r\n  display: inline-block;\r\n}\r\n\r\n.clicked-skin-info {\r\n  color: white;\r\n  background-color: #00b9dc;\r\n  text-align: center;\r\n  padding: 5px;\r\n  filter: drop-shadow(0px 3px 0px rgba(0, 6, 95, 0.5));\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.red-arrow {\r\n  cursor: pointer;\r\n  width: 25px;\r\n  vertical-align: middle;\r\n}\r\n\r\n.red-arrow.orientation-left {\r\n  transform: scaleX(-1);\r\n}\r\n\r\n.red-arrow.disabled {\r\n  opacity: 0.5;\r\n}\r\n\r\n.level-debug-infos {\r\n  font-size: 10px;\r\n  font-family: Arial, Helvetica, sans-serif;\r\n  text-shadow: none;\r\n  position: absolute;\r\n  left: 0;\r\n  bottom: 0;\r\n}\r\n\r\n.popup-container {\r\n  position: fixed;\r\n  top: 0;\r\n  bottom: 0;\r\n  left: 0;\r\n  right: 0;\r\n  background-color: rgba(0, 6, 95, 0.5);\r\n}\r\n\r\n.popup-container > div {\r\n  position: absolute;\r\n  top: 0;\r\n  bottom: 50px;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n.skin-unlocked-popup {\r\n  color: white;\r\n  border: 10px solid white;\r\n  border-radius: 4px;\r\n  width: 250px;\r\n  height: 250px;\r\n  text-align: center;\r\n  position: absolute;\r\n  margin: auto;\r\n  left: 0;\r\n  right: 0;\r\n  top: 0;\r\n  bottom: 0;\r\n  overflow: hidden;\r\n}\r\n\r\n.skin-unlocked-popup::before {\r\n  content: "";\r\n  position: absolute;\r\n  width: 200%;\r\n  height: 200%;\r\n  top: -50%;\r\n  left: -50%;\r\n  z-index: -1;\r\n  background-color: #438dbe;\r\n  background-image: url(' + f + ");\r\n  background-position: 50% 50%;\r\n  animation-name: spin;\r\n  animation-duration: 5s;\r\n  animation-iteration-count: infinite;\r\n  animation-timing-function: linear;\r\n}\r\n\r\n.skin-unlocked-popup img {\r\n  width: 200px;\r\n  height: 200px;\r\n  margin-top: 25px;\r\n}\r\n\r\n.skin-unlocked-popup > p {\r\n  text-shadow: rgba(0, 6, 95, 0.5) 0 2px 0;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n}\r\n\r\n.skin-unlocked-popup .equip-skin-button {\r\n  background-color: #0171a3;\r\n  padding: 7px 12px;\r\n  border-radius: 15px;\r\n  border: 4px solid #00b9dc;\r\n  color: white;\r\n  filter: none;\r\n  text-shadow: rgba(0, 6, 95, 0.5) 0 2px 0;\r\n  margin: auto;\r\n  position: absolute;\r\n  bottom: 10px;\r\n  left: 0;\r\n  right: 0;\r\n  width: 125px;\r\n}\r\n\r\n.share-button {\r\n  color: white;\r\n  padding: 9px 12px;\r\n  font-size: 18px;\r\n  font-weight: normal;\r\n  width: 100px;\r\n  height: 50px;\r\n  background-image: url(" + y + ");\r\n  background-size: 100px 50px;\r\n}\r\n\r\n.victory {\r\n  margin: auto;\r\n  width: 300px;\r\n}\r\n\r\n.victory .shop-button {\r\n  position: absolute;\r\n  bottom: 15px;\r\n  right: 4%;\r\n}\r\n\r\n.victory .share-button {\r\n  position: absolute;\r\n  bottom: 125px;\r\n  left: 4%;\r\n  font-size: 12px;\r\n}\r\n\r\n.leaderboard-button {\r\n  color: white;\r\n  padding: 10px 20px;\r\n  font-size: 12px;\r\n  font-weight: normal;\r\n  width: 123px;\r\n  height: 50px;\r\n  background-image: url(" + x + ');\r\n  background-size: 123px 50px;\r\n}\r\n\r\n.victory .leaderboard-button {\r\n  position: absolute;\r\n  bottom: 65px;\r\n  left: 4%;\r\n  width: 100px;\r\n  height: 50px;\r\n  background-size: 100px 50px;\r\n  font-size: 10px;\r\n  padding: 10px 10px;\r\n}\r\n\r\n.leaderboard {\r\n  height: 100%;\r\n  overflow: auto;\r\n  pointer-events: all;\r\n  color: white;\r\n}\r\n\r\n.leaderboard h2,\r\n.leaderboard h3 {\r\n  text-align: center;\r\n}\r\n\r\n.leaderboard .leaderboard-button {\r\n  display: inline-block;\r\n  margin: 0 5px 15px;\r\n}\r\n\r\n.leaderboard-entries {\r\n  display: table;\r\n  width: 100%;\r\n  border-collapse: separate;\r\n  border-spacing: 0 5px;\r\n}\r\n\r\n.leaderboard-row {\r\n  display: table-row;\r\n  background-color: rgba(0, 6, 95, 0.5);\r\n}\r\n\r\n.leaderboard-row.current {\r\n  background-color: rgba(86, 255, 128, 0.5);\r\n}\r\n\r\n.leaderboard-col {\r\n  display: table-cell;\r\n  vertical-align: middle;\r\n  padding: 5px;\r\n}\r\n\r\n.leaderboard-col.photo,\r\n.leaderboard-col.photo img {\r\n  width: 50px;\r\n  height: 50px;\r\n}\r\n\r\n.leaderboard-col.photo img {\r\n  display: block;\r\n  word-break: break-word;\r\n}\r\n\r\n.pagination {\r\n  text-align: center;\r\n}\r\n\r\n.pagination .page-number {\r\n  display: inline-block;\r\n  width: 200px;\r\n  margin: 20px 0;\r\n}\r\n\r\n.center {\r\n  text-align: center;\r\n}\r\n\r\n.loading-ui {\r\n  color: white;\r\n  text-align: center;\r\n  height: 100%;\r\n  margin: 0;\r\n}\r\n\r\n.loading-ui > img {\r\n  text-align: center;\r\n  position: absolute;\r\n  margin: auto;\r\n  left: 0;\r\n  right: 0;\r\n  top: 0;\r\n  bottom: 0;\r\n  overflow: hidden;\r\n  max-width: 100%;\r\n  animation-name: fadeIn;\r\n  animation-duration: 1s;\r\n  animation-timing-function: ease-in;\r\n}\r\n\r\n.loading-ui > img.fade-out {\r\n  opacity: 0;\r\n  transition: 1s ease-in;\r\n}\r\n\r\n.loading-ui > img::before {\r\n  content: "";\r\n  position: absolute;\r\n  width: 200%;\r\n  height: 200%;\r\n  top: -50%;\r\n  left: -50%;\r\n}\r\n\r\n.loading-ui .title {\r\n  margin-top: 0;\r\n  padding-top: 100px;\r\n}\r\n\r\n.loading-ui .loading-bg {\r\n  background-image: url(' + p + ");\r\n  background-size: 100% 100%;\r\n  height: 100%;\r\n}\r\n\r\n.loading-text {\r\n  filter: drop-shadow(0px 5px 0px rgba(0, 6, 95, 0.5));\r\n  text-shadow: none;\r\n  text-align: center;\r\n  color: white;\r\n  margin-top: 100px;\r\n}\r\n\r\n.loading-text > .load-icon {\r\n  width: 14px;\r\n  height: 14px;\r\n  animation-name: spin;\r\n  animation-duration: 1s;\r\n  animation-iteration-count: infinite;\r\n  animation-timing-function: linear;\r\n}\r\n\r\n.present-button {\r\n  width: 50px;\r\n  height: 50px;\r\n  background-image: url(" + m + ");\r\n  background-size: 50px 50px;\r\n}\r\n\r\n.add-button {\r\n  width: 65px;\r\n  height: 65px;\r\n  background-image: url(" + g + ");\r\n  background-size: 65px 65px;\r\n}\r\n\r\n.present-row {\r\n  background: rgba(0, 6, 95, 0.5);\r\n  padding: 0;\r\n  color: white;\r\n}\r\n\r\n.present-row .present-button {\r\n  margin-right: 15px;\r\n  flex: 0 0 50px;\r\n}\r\n\r\n.present-row .add-button {\r\n  margin-left: 15px;\r\n  flex: 0 0 65px;\r\n  filter: none;\r\n}\r\n\r\n.leaderboard-col.share {\r\n  text-align: right;\r\n}\r\n\r\n.leaderboard-col.share .share-button {\r\n  display: inline-block;\r\n  padding: 10px;\r\n  font-size: 12px;\r\n}\r\n\r\n.title-buttons .share-button {\r\n  font-size: 12px;\r\n}\r\n\r\n.leaderboard .center .share-button {\r\n  display: inline-block;\r\n  margin: 0 5px 15px;\r\n  vertical-align: bottom;\r\n}\r\n\r\n.store-links {\r\n  color: white;\r\n  text-align: center;\r\n  max-width: 140px;\r\n  display: block;\r\n  position: fixed;\r\n  top: 5px;\r\n  right: 5px;\r\n}\r\n\r\n.store-links img {\r\n  display: block;\r\n  max-width: 140px;\r\n}\r\n\r\n@media (max-height: 420px) {\r\n  .victory .title {\r\n    display: none;\r\n  }\r\n}\r\n\r\n@media (max-height: 525px) {\r\n  .victory .level-cleared {\r\n    margin-top: 10px;\r\n    font-size: 1em;\r\n  }\r\n\r\n  .title-buttons {\r\n    bottom: 20px;\r\n  }\r\n}\r\n\r\n@media (max-width: 600px) {\r\n  .store-links {\r\n    display: none;\r\n  }\r\n}\r\n", ""])
}, function(t, e, n) {
    "use strict";
    t.exports = function(t) {
        var e = [];
        return e.toString = function() {
            return this.map(function(e) {
                var n = function(t, e) {
                    var n = t[1] || "",
                        r = t[3];
                    if (!r) return n;
                    if (e && "function" == typeof btoa) {
                        var i = (a = r, s = btoa(unescape(encodeURIComponent(JSON.stringify(a)))), A = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s), "/*# ".concat(A, " */")),
                            o = r.sources.map(function(t) {
                                return "/*# sourceURL=".concat(r.sourceRoot).concat(t, " */")
                            });
                        return [n].concat(o).concat([i]).join("\n")
                    }
                    var a, s, A;
                    return [n].join("\n")
                }(e, t);
                return e[2] ? "@media ".concat(e[2], "{").concat(n, "}") : n
            }).join("")
        }, e.i = function(t, n) {
            "string" == typeof t && (t = [
                [null, t, ""]
            ]);
            for (var r = {}, i = 0; i < this.length; i++) {
                var o = this[i][0];
                null != o && (r[o] = !0)
            }
            for (var a = 0; a < t.length; a++) {
                var s = t[a];
                null != s[0] && r[s[0]] || (n && !s[2] ? s[2] = n : n && (s[2] = "(".concat(s[2], ") and (").concat(n, ")")), e.push(s))
            }
        }, e
    }
}, function(t, e, n) {
    "use strict";
    t.exports = function(t, e) {
        return "string" != typeof t ? t : (/^['"].*['"]$/.test(t) && (t = t.slice(1, -1)), /["'() \t\n]/.test(t) || e ? '"'.concat(t.replace(/"/g, '\\"').replace(/\n/g, "\\n"), '"') : t)
    }
}, function(t, e, n) {
    t.exports = n.p + "fonts/JUNEGULL.ttf"
}, function(t, e, n) {
    t.exports = n.p + "fonts/Odin-Rounded-Bold.ttf"
}, function(t, e, n) {
    t.exports = n.p + "images/54e99c08dfada2fdd1e3b94b699360a4-btn_play.png"
}, function(t, e, n) {
    t.exports = n.p + "images/8c92b88b23a65aece8ad09c9fb12a398-B_PlayButton.png"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADPCAYAAABSgYVfAAAGNklEQVR4nO3c4ZEaVxaA0fu29r+1EUgbgbQRiAykDDwbgb0RWBuBlYEnA+MIFkVgHIFwBMIR3P3RrfIYMdBcuoEenVNFSTXTwJsqPl7364YIAABmoF3riTPzZUQ8e/CjZxHx6krD4bZt+tu2tfbbdYfyp4vEk5mvI2LR317FX6OBinVEbCNi1f9/3Vr7/ZIDmCSezPwmIt4+uMElrCNiGRHLS8xQo8aTmc8j4l10wZhduKZ1RLxrrf0y1ROMEk8/07yPiLsxHg9GtIqIuyl26f527gNk5rfRHczdnftYMIFFRGwy88f+TX405ZmnH8h9OKZhPrbRzUKj7MqV4umPbZZhaZl5et9a+8+5D3JyPP35mWVEvDj3yeGK1hGxaK39UX2Ak+LpZ5x1jLOStulvn237x4aHXvS3KU6inxXQ4Hj6Y5xV1P+AZX//1S2dJWZe+tfhqwe3RZy3F3T2DHRUZv6ap/uYmd/1MxZMIjNfZuYPxddoZuavUw7uhxMH8ykzv5tsQPCIzHzTv2mf6qcpBvP8xEH8L0deT4dTZbfH8+nE1+6bsQdxylQ4fr1QlN0b/ymv30851ht/Zn4rHOYsM7/JzJ8u/jrO4dX+PMoTwkRODOi8Ba7MfD3wiT6mYxxmILvj8SHOm30y8+eBT/R6pL8NJpXdLtzQRYTahJDDV9gc5zAr2S1lD1E71ZLdMt8QL0f+22ByOWz3rXbiNIctFHwc+W+Ci8jhs8/BhYMvPgyXf147dMyyOni4pv7zPJsBmx78rNq+T5IO/XDb/cDt4BYNefM/OInsi2fIrLNxZTQzd7V4fO6GWWutfRiw2STxrAZsA7fu6CSQB85j7otnyKdEVwO2gVu3OefOf4knB55VdbzDEzHk8OPRPbHdmWcx4MFWA7aBp+LRPbHdeHyVFAxU+cbQ1diDgDk6++t24WslHigSDxSJB4rEA0XigSLxQJF4oEg8UCQeKBIPFIkHisQDReKBIvFAkXigSDxQJB4oEg8UiQeKxANF4oEi8UCReKBIPFAkHigSDxSJB4rEA0XigSLxQJF4oEg8UCQeKBIPFIkHisQDReKBIvFAkXigSDxQJB4oEg8UiQeKxANF4oEi8UCReKBIPFAkHigSDxSJB4rEA0XigSLxQJF4oEg8UCQeKBIPFIkHisQDReKBIvFAkXigSDxQJB4oEg8UiQeKxANF4oEi8UCReKBIPFAkHigSDxSJB4rEA0XigSLxQJF4oEg8UCQeKBIPFIkHisQDReKBIvFAkXigSDxQJB4oEg8UiQeKxANF4oEi8UCReKBIPFD098J9Fpk5+kDgChbn3LkUz7lPCk+B3TYoEg8UiQeKxANF4oEi8UCReKBIPFAkHigSDxSJB4rEA0XigSLxQJF4oEg8UCQeKBIPFIkHisQDReKBIvFAkXigSDxQJB4oEg8UiQeKxANF4oEi8UCReKBIPFAkHigSDxSJB4rEA0XigaLdeLZXGQXM0G4866uMAm7Xo03YbYPDHt0bs9sGhz0687TdH2RmTjsWmI1ta+0fj/1y327bZrqxwKysDv1yXzwWDaCzOvTLffEcvAN8RVaHfike2G/TWvvt0AZfxNPfwaobX7vlsQ0eO89z9I7wxL0/tsFj8dyPOw6YlVVr7fdjG+2Np7X2IRz78PU6OutEHL48536cccCsbFprvwzZ8IsrDB7KzI8R8WKMEcFMLPo9r6OOXRh6d/5YYDbuh4YTcWTmiYjIzB8j4vuzhgTz8GLIQsFnQz6S8C5cssPT9+6UcCIGzDwREZn5MrrVt2eFQcGtW7fW/nXqnQbFExGRma/D8jVPzza63bU/Tr3j4E+S9gdSd+HSHZ6ObUS8rYQTccLM81lmvonuHJBdOOZu8LL0Pid/h0F/AmkRFhGYr22cGU5E8QtA+iuvFzHwMga4IZsYIZyIwm7brn4h4T5cicDtu4+I76vHOLvO/uqp1tqH1to/o1tM2Jz7eDCBTXQLA/8eK5yIEWaeXf1MdBcu7eH6NtFdcvPfKR589Hg+y8zn0V2d8Kq/waUso4tm0NXRVZPF81B/hcIiIt72/8KYNtGdwF9FxHLMXbNDLhLPrgcxOVdE1Ta60yXrS8UCAAAAAEzl/x/wCiJmUqfRAAAAAElFTkSuQmCC"
}, function(t, e) {
    t.exports = "data:image/png;base64,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"
}, function(t, e) {
    t.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAADPCAYAAABSgYVfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOZSURBVHhe7drLceJAFEBRM3k6CEfiIBwoU0zBVPnDR1ctGcQ5G7EQDQtdvUb2CwCsanc8rm739rE/voSb7d9ff+2a/WqVLyIU1rB2WIt8mFj4bWuENPQDRMO9WTKiIQuLhnu3RESzFxQOj2RkRLMWEg6PaFRAaRHR8OhGBDR5AeGwFXMDmvRm4bA1cwK6+Y3CYatqQH+OR3hadTDcVNzoqTPqaQfPZ8kd0NTr8urJo76sYFjKyKCmXKcXT5z7pQTD2kaEdOt1u1g8wuE3rXHjP3tC/XDRcC+WvvkPjUc43KOlBsGPj6rnjjy4J0vd1If9ncfUYWuuDZFv8diusUVLXKP+w4CnMTqg2fGYOmzZpZ3Yp3g8KGDrRt7sbdsgmhWPLRvPzOTh6Yy66YsHrjj3LEA8EP2PZ+qTNr93eHYmD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EO2Ox5fd28f++BL4Yv/++r+VE5MHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IxAOReCASD0TigUg8EIkHIvFAJB6IdsfjP7u3j/3xJXC0f3/91MmJyQOReCASD0TigQvO/d45+BTPpROBz0weiMQDZ1zbiX2Lx9YNbmPywA9uGSI/xmP6wHUmD3xx6/A4G4/pA5ddDcQ/i/JMpgwN2zY4mrrbuhqP7Rv87OYwbN/YsjIkJr1BQGxR3V1Nr01AbMicnyWtOAGxAXN/z897s4h4UCMehM1fQEA8mBHhHAxZ5EBE3LtR0ZwMXexARNyb0dGcLLLogYj4bUtFc7Lo4idCYk1LR3Oyyod8JSZGWisWAAAAgCteXv4C/ujMgms5yHkAAAAASUVORK5CYII="
}, function(t, e, n) {
    t.exports = n.p + "images/71b76f184e6da03830b954235e33ae9c-ShopRewarded.png"
}, function(t, e, n) {
    t.exports = n.p + "images/081cbab0a3ae7cc413d3a7b6f0de1d27-ShopRewardedLoading.png"
}, function(t, e, n) {
    t.exports = n.p + "images/9fbf958a795fda3dfcc89826130fcad7-btn_share.png"
}, function(t, e, n) {
    t.exports = n.p + "images/7d2f8caa50780cb5b5d660370723475e-btn_leaderboard.png"
}, function(t, e, n) {
    t.exports = n.p + "images/b68d68a916728e64ff5eada6ad5eedd3-Present.png"
}, function(t, e, n) {
    t.exports = n.p + "images/ce2c2a7333996ccaa789a1f4a1434e1a-AddButton.png"
}, function(t, e, n) {
    var r, i, o = {},
        a = (r = function() {
            return window && document && document.all && !window.atob
        }, function() {
            return void 0 === i && (i = r.apply(this, arguments)), i
        }),
        s = function(t) {
            var e = {};
            return function(t, n) {
                if ("function" == typeof t) return t();
                if (void 0 === e[t]) {
                    var r = function(t, e) {
                        return e ? e.querySelector(t) : document.querySelector(t)
                    }.call(this, t, n);
                    if (window.HTMLIFrameElement && r instanceof window.HTMLIFrameElement) try {
                        r = r.contentDocument.head
                    } catch (t) {
                        r = null
                    }
                    e[t] = r
                }
                return e[t]
            }
        }(),
        A = null,
        h = 0,
        c = [],
        u = n(161);

    function l(t, e) {
        for (var n = 0; n < t.length; n++) {
            var r = t[n],
                i = o[r.id];
            if (i) {
                i.refs++;
                for (var a = 0; a < i.parts.length; a++) i.parts[a](r.parts[a]);
                for (; a < r.parts.length; a++) i.parts.push(m(r.parts[a], e))
            } else {
                var s = [];
                for (a = 0; a < r.parts.length; a++) s.push(m(r.parts[a], e));
                o[r.id] = {
                    id: r.id,
                    refs: 1,
                    parts: s
                }
            }
        }
    }

    function d(t, e) {
        for (var n = [], r = {}, i = 0; i < t.length; i++) {
            var o = t[i],
                a = e.base ? o[0] + e.base : o[0],
                s = {
                    css: o[1],
                    media: o[2],
                    sourceMap: o[3]
                };
            r[a] ? r[a].parts.push(s) : n.push(r[a] = {
                id: a,
                parts: [s]
            })
        }
        return n
    }

    function p(t, e) {
        var n = s(t.insertInto);
        if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
        var r = c[c.length - 1];
        if ("top" === t.insertAt) r ? r.nextSibling ? n.insertBefore(e, r.nextSibling) : n.appendChild(e) : n.insertBefore(e, n.firstChild), c.push(e);
        else if ("bottom" === t.insertAt) n.appendChild(e);
        else {
            if ("object" != typeof t.insertAt || !t.insertAt.before) throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");
            var i = s(t.insertAt.before, n);
            n.insertBefore(e, i)
        }
    }

    function f(t) {
        if (null === t.parentNode) return !1;
        t.parentNode.removeChild(t);
        var e = c.indexOf(t);
        e >= 0 && c.splice(e, 1)
    }

    function y(t) {
        var e = document.createElement("style");
        if (void 0 === t.attrs.type && (t.attrs.type = "text/css"), void 0 === t.attrs.nonce) {
            var r = function() {
                0;
                return n.nc
            }();
            r && (t.attrs.nonce = r)
        }
        return x(e, t.attrs), p(t, e), e
    }

    function x(t, e) {
        Object.keys(e).forEach(function(n) {
            t.setAttribute(n, e[n])
        })
    }

    function m(t, e) {
        var n, r, i, o;
        if (e.transform && t.css) {
            if (!(o = "function" == typeof e.transform ? e.transform(t.css) : e.transform.default(t.css))) return function() {};
            t.css = o
        }
        if (e.singleton) {
            var a = h++;
            n = A || (A = y(e)), r = v.bind(null, n, a, !1), i = v.bind(null, n, a, !0)
        } else t.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = function(t) {
            var e = document.createElement("link");
            return void 0 === t.attrs.type && (t.attrs.type = "text/css"), t.attrs.rel = "stylesheet", x(e, t.attrs), p(t, e), e
        }(e), r = function(t, e, n) {
            var r = n.css,
                i = n.sourceMap,
                o = void 0 === e.convertToAbsoluteUrls && i;
            (e.convertToAbsoluteUrls || o) && (r = u(r));
            i && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */");
            var a = new Blob([r], {
                    type: "text/css"
                }),
                s = t.href;
            t.href = URL.createObjectURL(a), s && URL.revokeObjectURL(s)
        }.bind(null, n, e), i = function() {
            f(n), n.href && URL.revokeObjectURL(n.href)
        }) : (n = y(e), r = function(t, e) {
            var n = e.css,
                r = e.media;
            r && t.setAttribute("media", r);
            if (t.styleSheet) t.styleSheet.cssText = n;
            else {
                for (; t.firstChild;) t.removeChild(t.firstChild);
                t.appendChild(document.createTextNode(n))
            }
        }.bind(null, n), i = function() {
            f(n)
        });
        return r(t),
            function(e) {
                if (e) {
                    if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return;
                    r(t = e)
                } else i()
            }
    }
    t.exports = function(t, e) {
        if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment");
        (e = e || {}).attrs = "object" == typeof e.attrs ? e.attrs : {}, e.singleton || "boolean" == typeof e.singleton || (e.singleton = a()), e.insertInto || (e.insertInto = "head"), e.insertAt || (e.insertAt = "bottom");
        var n = d(t, e);
        return l(n, e),
            function(t) {
                for (var r = [], i = 0; i < n.length; i++) {
                    var a = n[i];
                    (s = o[a.id]).refs--, r.push(s)
                }
                t && l(d(t, e), e);
                for (i = 0; i < r.length; i++) {
                    var s;
                    if (0 === (s = r[i]).refs) {
                        for (var A = 0; A < s.parts.length; A++) s.parts[A]();
                        delete o[s.id]
                    }
                }
            }
    };
    var g, w = (g = [], function(t, e) {
        return g[t] = e, g.filter(Boolean).join("\n")
    });

    function v(t, e, n, r) {
        var i = n ? "" : r.css;
        if (t.styleSheet) t.styleSheet.cssText = w(e, i);
        else {
            var o = document.createTextNode(i),
                a = t.childNodes;
            a[e] && t.removeChild(a[e]), a.length ? t.insertBefore(o, a[e]) : t.appendChild(o)
        }
    }
}, function(t, e) {
    t.exports = function(t) {
        var e = "undefined" != typeof window && window.location;
        if (!e) throw new Error("fixUrls requires window.location");
        if (!t || "string" != typeof t) return t;
        var n = e.protocol + "//" + e.host,
            r = n + e.pathname.replace(/\/[^\/]*$/, "/");
        return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function(t, e) {
            var i, o = e.trim().replace(/^"(.*)"$/, function(t, e) {
                return e
            }).replace(/^'(.*)'$/, function(t, e) {
                return e
            });
            return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o) ? t : (i = 0 === o.indexOf("//") ? o : 0 === o.indexOf("/") ? n + o : r + o.replace(/^\.\//, ""), "url(" + JSON.stringify(i) + ")")
        })
    }
}, function(t, e) {
    t.exports = function(t) {
        if (Array.isArray(t)) {
            for (var e = 0, n = new Array(t.length); e < t.length; e++) n[e] = t[e];
            return n
        }
    }
}, function(t, e) {
    t.exports = function(t) {
        if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t)
    }
}, function(t, e) {
    t.exports = function() {
        throw new TypeError("Invalid attempt to spread non-iterable instance")
    }
}, function(t, e, n) {
    var r = {
        "./LEVEL000.json": 166,
        "./LEVEL001.json": 167,
        "./LEVEL002.json": 168,
        "./LEVEL003.json": 169,
        "./LEVEL004.json": 170,
        "./LEVEL005.json": 171,
        "./LEVEL006.json": 172,
        "./LEVEL007.json": 173,
        "./LEVEL008.json": 174
    };

    function i(t) {
        var e = o(t);
        return n(e)
    }

    function o(t) {
        if (!n.o(r, t)) {
            var e = new Error("Cannot find module '" + t + "'");
            throw e.code = "MODULE_NOT_FOUND", e
        }
        return r[t]
    }
    i.keys = function() {
        return Object.keys(r)
    }, i.resolve = o, t.exports = i, i.id = 165
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .10152838427947594,
            y: .3026200873362445
        },
        background: "background_0",
        hooks: [{
            x: .4628820960698688,
            y: .13864628820960687
        }],
        bumpers: [{
            x: .5895196506550213,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .09170305676855864,
            y: .5447598253275107,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .06113537117903899,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .19432314410480317,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .32532751091703027,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4585152838427944,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: .658296943231441
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .10152838427947594,
            y: .3026200873362445
        },
        background: "background_0",
        hooks: [{
            x: .9050829694323137,
            y: .05676855895196491
        }, {
            x: .4628820960698688,
            y: .13864628820960687
        }],
        bumpers: [{
            x: 1.2445414847161569,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .09170305676855864,
            y: .5447598253275107,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .7161572052401745,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8493449781659386,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9803493449781655,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1135371179039302,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5895196506550213,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .06113537117903899,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .19432314410480317,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .32532751091703027,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4585152838427944,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.3045851528384274
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .10152838427947594,
            y: .3026200873362445
        },
        background: "background_0",
        hooks: [{
            x: 1.3668733624454144,
            y: .13864628820960687
        }, {
            x: .4628820960698688,
            y: .13864628820960687
        }, {
            x: .9138165938864625,
            y: .13864628820960687
        }],
        bumpers: [{
            x: .09170305676855864,
            y: .5447598253275107,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: 1.5775196506550224,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2885764192139737,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.144655021834061,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0005502183406116,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8557117903930128,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .711606986899563,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5676855895196504,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4235807860262007,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4326812227074237,
            y: .9589650655021833,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.7259825327510907
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .13427947598253268,
            y: .26877729257641914
        },
        background: "background_0",
        hooks: [{
            x: .3449213973799123,
            y: .5366593886462878
        }, {
            x: 1.633668122270742,
            y: .30676855895196503
        }],
        bumpers: [{
            x: 1.981825327510916,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .13318777292576386,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: 1.8398209606986886,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3282707423580783,
            y: .7827510917030565,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                force: 1.5
            }
        }, {
            x: .3610218340611351,
            y: .7827510917030565,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .3610218340611351,
            y: .6331877729257638,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .3282707423580783,
            y: .6331877729257638,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                force: 1.5
            }
        }, {
            x: 2.0268384279476113,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.6964410480349335,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5544366812227073,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8419039301310038,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6998995633187769,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5565196506550213,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .41451528384279435,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4116812227074222,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.269676855895195,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1262969432314398,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9842925764192136,
            y: .8635371179039298,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4512358078602745,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.5964323144104928,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.7394454148471734,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.8827336244541608,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .5877903930130999,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .012187772925763757,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .15738427947598205,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .30039737991266324,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .4436855895196501,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.3074061135371302,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .7318034934497811,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .8769999999999994,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.0200131004366932,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.1633013100436802,
            y: .04558515283842797,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }],
        obstacles: [],
        finishLine: 2.042606986899554
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .1801310043668122,
            y: .12685589519650647
        },
        background: "background_0",
        hooks: [{
            x: 1.073144104803493,
            y: .26091703056768556
        }],
        bumpers: [],
        obstacles: [{
            name: "A_Wall45",
            x: .5106419213973798,
            y: .4190439811293335,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .17139737991266363,
            y: .2946871988598884,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .23908296943231427,
            y: .3196199859696655,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .30786026200873357,
            y: .34458010856493,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .3750873362445413,
            y: .3691673103006023,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .4431397379912661,
            y: .3942600317505997,
            rotation: -.4363323129985824
        }, {
            name: "A_WallTransition",
            x: .10462008733624456,
            y: .24698597253249893,
            rotation: 3.5779249665883754
        }, {
            name: "A_Wall45",
            x: .013283842794759804,
            y: .04025838770233575,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .06222707423580781,
            y: .17759593344759045,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .03730131004366807,
            y: .10823780963126522,
            rotation: .4363323129985824
        }],
        finishLine: 1.4181222707423577
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.480349344978165,
            y: .22161572052401735
        }, {
            x: .5655021834061132,
            y: .22161572052401735
        }, {
            x: 1.1233624454148468,
            y: .22161572052401735
        }, {
            x: 1.69650655021834,
            y: .22161572052401735
        }],
        bumpers: [{
            x: 1.5046419213973796,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.964192139737991,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3613537117903927,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.2504934497816587,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.1072052401746717,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9707991266375544,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8275109170305674,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .09716157205240157,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .38346288209606966,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .24017467248908278,
            y: .7674672489082969,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }],
        obstacles: [],
        finishLine: 2.3122270742358078
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24017467248908292,
            y: .23820960698689952
        },
        background: "background_0",
        hooks: [{
            x: .41593886462882074,
            y: .23580786026200873
        }, {
            x: 1.9513755458515278,
            y: .3504366812227071
        }],
        bumpers: [{
            x: .24615720524017437,
            y: .5393013100436681,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }],
        obstacles: [{
            name: "A_Wall45",
            x: .4389563318777288,
            y: 1.0159645144697023,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.2111484716157197,
            y: .268408241232876,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.247816593886462,
            y: .059864101703261785,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.259458515283842,
            y: -.009861546423560574,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.2237991266375534,
            y: .19878363756629164,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.2354410480349336,
            y: .12905798943946917,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: .45205676855895144,
            y: .9462846302486653,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.5538515283842769,
            y: .9921223399766588,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .5568602620087337,
            y: .560184381243246,
            rotation: -.7853981633974483
        }, {
            name: "A_Wall45",
            x: .6289126637554586,
            y: .560184381243246,
            rotation: -.7853981633974483
        }, {
            name: "A_Wall45",
            x: .31695196506550166,
            y: -.0010156219138579134,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .4207641921397375,
            y: .10221145232194992,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .47298253275109103,
            y: .1546131990468406,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: 1.4159388646288198,
            y: .9411708858457554,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.2084235807860253,
            y: .8642173720312409,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.1397379912663748,
            y: .8385567460061981,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.1096200873362436,
            y: .6377080884810213,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.0409344978165933,
            y: .6120474624559785,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .9708820960698681,
            y: .5858618973395805,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .9021965065502175,
            y: .5602012713145377,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.27847598253275,
            y: .890402937147639,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.3471615720524004,
            y: .9160635631726818,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.48462445414847,
            y: .9668315118707982,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .7993100436681221,
            y: .6941896182608146,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .6945982532751092,
            y: .5891110156407274,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .7470917030567685,
            y: .6417878715359239,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .8397030567685585,
            y: .5217005352913823,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .5253842794759822,
            y: .2071066488285003,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .787484716157205,
            y: .46929878856649154,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .5778777292576415,
            y: .2590498802695483,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .6303711790393008,
            y: .3117267361647447,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .6825895196506544,
            y: .3641284828896354,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .7349912663755456,
            y: .4166219326712951,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: .3682707423580781,
            y: .04953459642675348,
            rotation: 0
        }, {
            name: "A_Wall45",
            x: 1.0699606986899552,
            y: .812508623207131,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: 1.001275109170305,
            y: .7868479971820882,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .9312227074235799,
            y: .7606624320656902,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .8625371179039295,
            y: .7350018060406474,
            rotation: -.4363323129985824
        }, {
            name: "A_Wall45",
            x: .4636986899563315,
            y: .8765589821218429,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: .5003668122270738,
            y: .6680148425922289,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: .5120087336244539,
            y: .5982891944654065,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: .4763493449781654,
            y: .8069343784552586,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: .48799126637554546,
            y: .7372087303284363,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.1510131004366804,
            y: .6130487851400336,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.1876812227074227,
            y: .4045046456104197,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.1993231441048027,
            y: .33477899748359735,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.163663755458514,
            y: .5434241814734496,
            rotation: .9599310885968813
        }, {
            name: "A_Wall45",
            x: 1.1753056768558943,
            y: .4736985333466271,
            rotation: .9599310885968813
        }],
        finishLine: 2.3784716157205232
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .637554585152838,
            y: .16593886462882088
        }, {
            x: 2.006266375545852,
            y: .3820960698689956
        }],
        bumpers: [{
            x: .2489082969432312,
            y: .5753275109170305,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: 2.2693668122270707,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2183406113537114,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3679039301310036,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5183755458515273,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.668847161572051,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8189519650655002,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9694235807860236,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.119170305676853,
            y: .9454148471615719,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 2.3392576419213973
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .6441048034934498,
            y: .38886462882096057
        },
        background: "background_0",
        hooks: [{
            x: 2.448689956331877,
            y: .32423580786026185
        }, {
            x: 1.0032751091703056,
            y: .5272925764192139
        }, {
            x: 1.388646288209607,
            y: .21943231441048025
        }, {
            x: 1.7609170305676853,
            y: .5272925764192139
        }, {
            x: 2.1539301310043664,
            y: .32423580786026185
        }],
        bumpers: [{
            x: 2.518668122270729,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 2.224991266375532,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 2.3717379912663623,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .7553100436681216,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .46163318777292467,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .6083799126637549,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.1960829694323034,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .9024061135371187,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.0491528384279434,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.6367554585152724,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.3430786026200758,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.4898253275109052,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 2.077803493449767,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.7841266375545732,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.930873362445403,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .46163318777292467,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 2.518668122270729,
            y: .0381441048034932,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 2.526746724890816,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.233069868995619,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.3798165938864493,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7633886462882096,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4697117903930129,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6164585152838427,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2041615720523902,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9104847161572067,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.05723144104803,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6448340611353587,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3511572052401626,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.497903930130992,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.0858820960698563,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7922052401746595,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9389519650654894,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4697117903930129,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.526746724890816,
            y: .9694323144104802,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.846231441048023,
            y: .7079619703610497,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.6378995633187654,
            y: .915244498941789,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.7427030567685473,
            y: .8109613768585792,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.846436681222695,
            y: .290682078736433,
            w: .15,
            h: .04,
            rotation: 3.9269908169872414
        }, {
            x: 2.639930131004356,
            y: .08431133703038114,
            w: .15,
            h: .04,
            rotation: 3.9269908169872414
        }, {
            x: 2.743999999999988,
            y: .18745346068051033,
            w: .15,
            h: .04,
            rotation: 3.9269908169872414
        }, {
            x: .14228820960698674,
            y: .715574828297082,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .3495283842794759,
            y: .9222222411301897,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .24563318777292562,
            y: .8185945200620808,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .09606986899563298,
            y: .42537991266375524,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .0958864628820959,
            y: .5763362445414845,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .13546288209606977,
            y: .29046089992945645,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .3427947598253275,
            y: .08274333320831158,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .23908296943231433,
            y: .18673941141801198,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }],
        finishLine: 2.8889519650655022
    }
}, function(t, e, n) {
    var r = {
        "./START000.json": 176,
        "./START001.json": 177,
        "./START002.json": 178,
        "./START003.json": 179,
        "./START004.json": 180,
        "./START005.json": 181,
        "./START006.json": 182,
        "./START007.json": 183,
        "./START008.json": 184,
        "./START009.json": 185,
        "./START010.json": 186,
        "./START011.json": 187,
        "./START012.json": 188,
        "./START013.json": 189,
        "./START014.json": 190,
        "./START015.json": 191,
        "./START016.json": 192,
        "./START017.json": 193,
        "./START018.json": 194,
        "./START019.json": 195,
        "./START020.json": 196,
        "./START021.json": 197,
        "./START022.json": 198,
        "./START023.json": 199,
        "./START024.json": 200,
        "./START025.json": 201,
        "./START026.json": 202,
        "./START027.json": 203,
        "./START028.json": 204,
        "./START029.json": 205,
        "./START030.json": 206
    };

    function i(t) {
        var e = o(t);
        return n(e)
    }

    function o(t) {
        if (!n.o(r, t)) {
            var e = new Error("Cannot find module '" + t + "'");
            throw e.code = "MODULE_NOT_FOUND", e
        }
        return r[t]
    }
    i.keys = function() {
        return Object.keys(r)
    }, i.resolve = o, t.exports = i, i.id = 175
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.4918033620698856,
            y: .1765027072260288
        }, {
            x: .5868852542397753,
            y: .1765027072260288
        }],
        bumpers: [{
            x: .2641066416522581,
            y: .5238373603729081,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.9843710355913189
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: .9245901472581535,
            y: .2508196700466135
        }, {
            x: 1.6437159470521683,
            y: .23661204895686577
        }],
        bumpers: [{
            x: 2.1164017778173556,
            y: .859356494394104,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4329655536566567,
            y: .7124838948808015,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .22640818077654434,
            y: .508222811131203,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .3291404170446348,
            y: .6097054652910173,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .5579865022853162,
            y: .7697390414078508,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6989701255189654,
            y: .7697390414078508,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8410465865605252,
            y: .7697390414078508,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9831230892927656,
            y: .7697390414078508,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9754182379650678,
            y: .8582636148955128,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.583716013757258
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.7899179994343404,
            y: .2081966504373184
        }, {
            x: .5704917699261437,
            y: .2081966504373184
        }, {
            x: 1.198907070472592,
            y: .2081966504373184
        }],
        bumpers: [{
            x: .2488061410639193,
            y: .7719248004050332,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.103715846994535
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.7975682393058392,
            y: .08251359032802874
        }, {
            x: .5781420097976425,
            y: .08251359032802874
        }, {
            x: 1.2065573103440907,
            y: .08251359032802874
        }],
        bumpers: [{
            x: .23350559878489988,
            y: .9566242706332181,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.103715846994535
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.5746174029574356,
            y: .5163933383962493
        }, {
            x: .49945351856002296,
            y: .10437147213461595
        }, {
            x: 1.0874316939890698,
            y: .2584698682274321
        }],
        bumpers: [{
            x: 2.0768389529635733,
            y: .9347663471359502,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .22148382007369538,
            y: .9347663471359502,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7863470829797963,
            y: .9347663471359502,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9325765244714288,
            y: .9347663471359502,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.2119125016009216
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.3571310474833482,
            y: .5284151796434743
        }],
        bumpers: [{
            x: .32438631451491023,
            y: .7116449252868131,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .9939972728224787,
            y: .8923757081644387,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2358314962044159,
            y: .5992611524195086,
            w: .15,
            h: .04,
            rotation: 1.0471975511965976
        }, {
            x: .4359734801706425,
            y: .7980225487498659,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .5677542027868118,
            y: .854912937147257,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .7083479576962035,
            y: .8821146428791935,
            w: .15,
            h: .04,
            rotation: .08726646259971647
        }, {
            x: .8513192662700502,
            y: .8911630874765134,
            w: .15,
            h: .04,
            rotation: .03490658503988659
        }, {
            x: .1793676198230326,
            y: .46811981654889806,
            w: .15,
            h: .04,
            rotation: 1.3089969389957472
        }],
        finishLine: 2.2119125016009216
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.783196921426741,
            y: .047540956507615
        }, {
            x: .530054686499423,
            y: .047540956507615
        }, {
            x: 1.161748667232325,
            y: .047540956507615
        }],
        bumpers: [{
            x: .9650992924718618,
            y: 1.159288644254342,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .20990803147219259,
            y: .7233523253696674,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .33559111242682255,
            y: .7952147874036217,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .46018125134684046,
            y: .8679641388052293,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .5869572326454018,
            y: .939739233757989,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .7137331722532827,
            y: 1.0107496995844418,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .8383233528639811,
            y: 1.0858654724515486,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }],
        finishLine: 1.99065575438119
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.55847001206028,
            y: .45191255162973853
        }, {
            x: .7180328786047429,
            y: .45191255162973853
        }],
        bumpers: [{
            x: 1.9537240696241032,
            y: .842790259562045,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3586762799839374,
            y: -.30146714968488547,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: 1.8094618078946805,
            y: .842790259562045,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.317658529206156,
            y: .842790259562045,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1733962674767333,
            y: .842790259562045,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .23296554114945256,
            y: .6780583677089722,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .3586762799839374,
            y: -.15611191465284016,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }],
        obstacles: [{
            name: "A_Wall45",
            x: .4596986899563314,
            y: -.04731602051639594,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .11472022640281188,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .040371368989500445,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .18772075651059317,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .4808439385682698,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .40649508115495847,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .3343027189060036,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .37563755458515236,
            y: .2609538614926923,
            rotation: .7853981633974483
        }],
        finishLine: 2.3311476577175116
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_1",
        hooks: [{
            x: 1.7822677595628411,
            y: .3590163142303298
        }, {
            x: .5628415300546444,
            y: .3590163142303298
        }, {
            x: 1.1912568306010927,
            y: .3590163142303298
        }],
        bumpers: [{
            x: .2488061410639193,
            y: .607990374175525,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.103715846994535
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.3886462882096064,
            y: .2106986899563318
        }, {
            x: .43122270742358054,
            y: .2106986899563318
        }, {
            x: .7543668122270739,
            y: .2106986899563318
        }, {
            x: 1.0611353711790388,
            y: .2106986899563318
        }],
        bumpers: [{
            x: 1.5906113537117903,
            y: .9104803493449781,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2751091703056767,
            y: .9104803493449781,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6113537117903928,
            y: .9104803493449781,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9388646288209603,
            y: .9104803493449781,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2707423580786024,
            y: .9104803493449781,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [{
            name: "A_WallCircleChelou",
            x: 1.4223973799126628,
            y: .8766375545851527,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: 1.095978165938864,
            y: .8766375545851527,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: .44432314410480317,
            y: .8766375545851527,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: .7696506550218332,
            y: .8766375545851527,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: 1.2313493449781652,
            y: .06768558951965062,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: .9049301310043663,
            y: .06768558951965062,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: .2532751091703054,
            y: .06768558951965062,
            rotation: 0
        }, {
            name: "A_WallCircleChelou",
            x: .5786026200873359,
            y: .06768558951965062,
            rotation: 0
        }],
        finishLine: 1.7085152838427946
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .23579235806491203,
            y: .08743169190453702
        },
        background: "background_1",
        hooks: [{
            x: 1.6828141409451836,
            y: .453995514554149
        }, {
            x: 1.066666733371755,
            y: .453995514554149
        }],
        bumpers: [{
            x: .6804866412547027,
            y: .9998125080851676,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .627687315106686,
            y: .9040718468743079,
            w: .15,
            h: .04,
            rotation: 1.8325957145940461
        }, {
            x: .23567782721114697,
            y: .2348351274325184,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .2954468404266035,
            y: .32888363110443014,
            w: .15,
            h: .04,
            rotation: 1.8325957145940461
        }, {
            x: .35589642729145987,
            y: .42350962228821304,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .41566544050691645,
            y: .5175581259601248,
            w: .15,
            h: .04,
            rotation: 1.8325957145940461
        }, {
            x: .46627896596707036,
            y: .6189186811943879,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .526047979182527,
            y: .7129671848662996,
            w: .15,
            h: .04,
            rotation: 1.8325957145940461
        }, {
            x: .8181915009205368,
            y: 1.0362113535344575,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: .5679183018912294,
            y: .810023343202396,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }],
        obstacles: [],
        finishLine: 1.9454189037630942
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.5868852959304554,
            y: .09672131564447782
        }, {
            x: 2.1825137946123627,
            y: .09672131564447782
        }],
        bumpers: [{
            x: .4606818442009179,
            y: .6170269367094467,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .6755884294331038,
            y: .7448154847646485,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .4606818442009179,
            y: .2832186477011458,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .6755884294331038,
            y: .11407536208468781,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .244987340705997,
            y: .46296138185887514,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .244987340705997,
            y: .7846351050958817,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .6755884294331038,
            y: .4357490853216945,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }],
        finishLine: 2.49844270633218
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 2.1706559211439105,
            y: .30109292952740757
        }, {
            x: 1.2721312475986166,
            y: .30109292952740757
        }],
        bumpers: [{
            x: .22630147409514306,
            y: .8320289842261154,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }],
        finishLine: 2.779071255042904
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .264207652357758,
            y: .3322404621728781
        },
        background: "background_0",
        hooks: [{
            x: 2.180655804410007,
            y: .09672130522180754
        }, {
            x: 1.2721312475986166,
            y: .30109292952740757
        }],
        bumpers: [{
            x: .23846446937977211,
            y: .8991260508466576,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .37465709920914403,
            y: .45447255162973993,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                force: 1,
                angle: 3.9269908169872414
            }
        }, {
            x: .37465709920914403,
            y: .777969886094391,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                force: 1,
                angle: 3.9269908169872414
            }
        }, {
            x: .37465709920914403,
            y: .6140354598648826,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                force: 1,
                angle: 3.9269908169872414
            }
        }, {
            x: .639718503297899,
            y: .05960684160662395,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .16195499977653766,
            y: .7149264597007877,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966,
            bounce: {
                force: 1,
                angle: -.7853981633974483
            }
        }, {
            x: .16195499977653766,
            y: .5509920334712795,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966,
            bounce: {
                force: 1,
                angle: -.7853981633974483
            }
        }, {
            x: .16195499977653766,
            y: .3968936582238035,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966,
            bounce: {
                force: 1,
                angle: -.7853981633974483
            }
        }, {
            x: .21691380505972252,
            y: .2388895096410333,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .33276080376430967,
            y: .12189935147668328,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.2673854469107533,
            y: .7641121676144044,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4801556784441166,
            y: .06069972110521514,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .4095327510917026,
            y: .777969886094391,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .4095327510917026,
            y: .45447255162973993,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .4095327510917026,
            y: .6140354598648826,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }],
        finishLine: 2.779071255042904
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .264207652357758,
            y: .3322404621728781
        },
        background: "background_0",
        hooks: [{
            x: 2.299781420765026,
            y: .510081903634827
        }, {
            x: 1.6134426729796365,
            y: .510081903634827
        }],
        bumpers: [{
            x: 1.6134548467117054,
            y: .10827038147139513,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .23846446937977211,
            y: .8991260508466576,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: 1.6134548467117054,
            y: .3989807160407736,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.6134548467117054,
            y: .2536255539674193,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        finishLine: 2.779071255042904
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .264207652357758,
            y: .3322404621728781
        },
        background: "background_0",
        hooks: [{
            x: .65606555709422,
            y: .10024583806105605
        }, {
            x: .65606555709422,
            y: .8281146738438007
        }, {
            x: .65606555709422,
            y: .7013387342359196
        }, {
            x: .65606555709422,
            y: .5865846358752638
        }, {
            x: .65606555709422,
            y: .46308737645383696
        }, {
            x: .65606555709422,
            y: .3428687972188644
        }, {
            x: .65606555709422,
            y: .22155735933064072
        }],
        bumpers: [{
            x: .24552746087746521,
            y: .9018269550367205,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.4085794142426031
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .264207652357758,
            y: .3322404621728781
        },
        background: "background_0",
        hooks: [{
            x: 1.6309289534104994,
            y: .291502679084819
        }, {
            x: .5128961748633882,
            y: .09150265615494477
        }, {
            x: .7085245651495264,
            y: .291502679084819
        }, {
            x: 1.1893988820894181,
            y: .291502679084819
        }],
        bumpers: [{
            x: .24552746087746521,
            y: .9018269550367205,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.9230057104558884
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.7901639677787733,
            y: .3240437325232667
        }, {
            x: 1.5781420931790042,
            y: .3240437325232667
        }, {
            x: 2.2393442789713536,
            y: .3240437325232667
        }],
        bumpers: [{
            x: 1.3165657330889255,
            y: .9131527710978581,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8384300178547014,
            y: .6586401528520804,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .9433480339653145,
            y: .761391835738583,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.0471731705773362,
            y: .8619479842053466,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.173396267476733,
            y: .9131527710978581,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .23952292236770087,
            y: .3508845968207471,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .3444409384783139,
            y: .45363627970724973,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .4482660750903357,
            y: .5541924281740132,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .5723033713018697,
            y: .6071418004454291,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7154728369140622,
            y: .6071418004454291,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.1156010762199013
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.4404371501318087,
            y: .30546453611446844
        }, {
            x: .5366120051816506,
            y: .30546453611446844
        }],
        bumpers: [{
            x: 1.1823073891094595,
            y: .8031065158347882,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .6773892646030774,
            y: .09163105492763887,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .2214836741563138,
            y: .8617865174691013,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6773892646030774,
            y: .8031065158347882,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .6773892646030774,
            y: .3867130481974288,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .6773892646030774,
            y: .24135784443339403,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        obstacles: [],
        finishLine: 1.6172403537771076
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 3.059016285046853,
            y: .6081966129157059
        }, {
            x: 1.4950820005656584,
            y: .4551912735068731
        }, {
            x: 2.4928961164964347,
            y: .5021857589971823
        }],
        bumpers: [{
            x: .8294509042234234,
            y: .7297835959182594,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .2165720568358208,
            y: .4099559505824018,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .321490093791774,
            y: .5110635507833469,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .42750103109165877,
            y: .6129834585951947,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .5507623796332597,
            y: .6781754784699264,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .6895601604883655,
            y: .7035941812796099,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 2.1065384356989627,
            y: .9675531906911714,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.819106708357347,
            y: .9675531906911714,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9622760905881786,
            y: .9675531906911714,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.4701640845126764
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.1071037334171139,
            y: .44863374637124287
        }, {
            x: .3759562174479159,
            y: .3655738205206197
        }, {
            x: 1.9169398656959733,
            y: .35245897470276205
        }],
        bumpers: [{
            x: 2.0574674078702655,
            y: .8221979660817963,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7700356805286506,
            y: .8221979660817963,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9144658194486686,
            y: .4753195190663161,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.9132050627594823,
            y: .8221979660817963,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9144658194486686,
            y: .7354288420363467,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.9144658194486686,
            y: .6053741805513314,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5197624814993439,
            y: .8462417319576072,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2323307541577277,
            y: .8462417319576072,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .37676089307774585,
            y: .49936328494212695,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .3755001363885595,
            y: .8462417319576072,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .37676089307774585,
            y: .7594726079121576,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .37676089307774585,
            y: .6294179464271423,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.2530958398470853,
            y: .38285369544857817,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .9656641125054691,
            y: .38285369544857817,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: 1.1100942514254872,
            y: .0359752484330979,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.108833494736301,
            y: .38285369544857817,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: 1.1100942514254872,
            y: .29608457140312855,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.1100942514254872,
            y: .16602990991811323,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 2.2177051264861865
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 3.4229506195568637,
            y: .6551911400966957
        }, {
            x: 3.099453368473573,
            y: .6551911400966957
        }, {
            x: 2.7672129980201925,
            y: .3830600175701204
        }, {
            x: 2.4437157469369017,
            y: .3830600175701204
        }],
        bumpers: [{
            x: 1.2920162110162874,
            y: .856190822713968,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .23518570581195705,
            y: .3561091504547458,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .3575900648894523,
            y: .41268021160496327,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .4789015236230162,
            y: .4702190812143976,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .596934302170126,
            y: .5257593431009675,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .7127813217200534,
            y: .5800285665113516,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .827535420080709,
            y: .6356503409559483,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .9422895184413645,
            y: .6896144981012875,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: 1.0581364963006115,
            y: .7453445498887772,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: 1.173983474159858,
            y: .8001798097459317,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: 3.32599183752508,
            y: .6560778225457861,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.195937176040065,
            y: .6560778225457862,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5664291210670676,
            y: .8866789404563694,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4243526183348272,
            y: .8866789404563694,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.670254215988409,
            y: .3839467000192109,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5401995545033937,
            y: .38394670001921094,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.66918041125021
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.3455196506550218,
            y: .6573886462882096
        }, {
            x: .5365676855895195,
            y: .6595720524017468
        }, {
            x: .9219388646288208,
            y: .23599126637554585
        }, {
            x: 1.9255021834061135,
            y: .48362445414847155
        }],
        bumpers: [{
            x: .2532751091703054,
            y: .7849344978165939,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                force: 1
            }
        }, {
            x: 1.9255021834061135,
            y: .872270742358079,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.9255021834061135,
            y: .5829694323144109,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.9255021834061135,
            y: .725982532751092,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [{
            name: "A_WallCurve",
            x: 1.2707423580786021,
            y: .7315938864628824,
            rotation: -1.5707963267948966
        }, {
            name: "A_WallCurve",
            x: 1.2707423580786021,
            y: .588655021834061,
            rotation: 0
        }, {
            name: "A_WallCurve",
            x: 1.4161834061135363,
            y: .7315938864628824,
            rotation: 3.141592653589793
        }, {
            name: "A_WallCurve",
            x: 1.4161834061135363,
            y: .588655021834061,
            rotation: 1.5707963267948966
        }, {
            name: "A_WallCurve",
            x: .46179039301310004,
            y: .7337772925764195,
            rotation: -1.5707963267948966
        }, {
            name: "A_WallCurve",
            x: .46179039301310004,
            y: .5908384279475982,
            rotation: 0
        }, {
            name: "A_WallCurve",
            x: .6072314410480342,
            y: .7337772925764195,
            rotation: 3.141592653589793
        }, {
            name: "A_WallCurve",
            x: .6072314410480342,
            y: .5908384279475982,
            rotation: 1.5707963267948966
        }, {
            name: "A_WallCurve",
            x: .8471615720524014,
            y: .31019650655021863,
            rotation: -1.5707963267948966
        }, {
            name: "A_WallCurve",
            x: .8471615720524014,
            y: .1672576419213973,
            rotation: 0
        }, {
            name: "A_WallCurve",
            x: .9926026200873355,
            y: .31019650655021863,
            rotation: 3.141592653589793
        }, {
            name: "A_WallCurve",
            x: .9926026200873355,
            y: .1672576419213973,
            rotation: 1.5707963267948966
        }],
        finishLine: 2.1484716157205237
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.7836064823338234,
            y: .4683060411547049
        }, {
            x: .6819671881003451,
            y: .25737706689886686
        }, {
            x: .6775955450339387,
            y: .6759563560694292
        }, {
            x: 1.297267601138255,
            y: .4661202404668421
        }],
        bumpers: [{
            x: 1.6867129054068462,
            y: .46632666681508605,
            w: .15,
            h: .04,
            rotation: 3.141592653589793,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .6817608659788031,
            y: .0194999240629276,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .2171120727805879,
            y: .969983255456849,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1
            }
        }, {
            x: .6773892646030774,
            y: .911303253822536,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .6773892646030774,
            y: .7703196045322115,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .6817608659788031,
            y: .16157649975385924,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.3938167805722752,
            y: .46632666681508605,
            w: .15,
            h: .04,
            rotation: 3.141592653589793,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.5402648846802411,
            y: .46632666681508605,
            w: .15,
            h: .04,
            rotation: 3.141592653589793,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 1.9013933592415884
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .26637554585152834,
            y: .06244541484716157
        },
        background: "background_0",
        hooks: [{
            x: 1.8689956331877724,
            y: .2991266375545851
        }, {
            x: .5906113537117901,
            y: .14410480349344967
        }, {
            x: 1.3744541484716153,
            y: .3013100436681222
        }],
        bumpers: [{
            x: .2685589519650653,
            y: .4061135371179037,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [{
            name: "A_Wall45",
            x: 1.2279737991266346,
            y: .7176546976375175,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .8666288209606979,
            y: .6525782852262147,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0023231441048033,
            y: .1402580502518178,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9293624454148471,
            y: .1274223473444968,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9395895196506542,
            y: .6654139881335357,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.061008733624453,
            y: .28088937736607433,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9153624454148469,
            y: .2548728373892443,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9883231441048032,
            y: .2677085402965653,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0122751091703046,
            y: .6785948252030447,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1189694323144086,
            y: .42027359972168654,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9012707423580782,
            y: .38101894467797737,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9742314410480345,
            y: .3938546475852983,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0469170305676845,
            y: .4070354846548073,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0843275109170287,
            y: .6918329402699239,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.17447161572052,
            y: .5659405976677667,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .8850873362445408,
            y: .5138828872369468,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9580480349344971,
            y: .5267185901442679,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0307336244541472,
            y: .5398994272137769,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1027860262008713,
            y: .5531375422806559,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1560131004366783,
            y: .7046359956570347,
            rotation: -.6108652381980153
        }],
        finishLine: 2.1083842794759824
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .26637554585152834,
            y: .06244541484716157
        },
        background: "background_0",
        hooks: [{
            x: 2.5491266375545845,
            y: .2554585152838427
        }, {
            x: .5906113537117901,
            y: .14410480349344967
        }, {
            x: 2.0545851528384276,
            y: .25764192139737985
        }],
        bumpers: [{
            x: .2685589519650653,
            y: .4061135371179037,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [{
            name: "A_Wall45",
            x: 1.6271703056768525,
            y: .5127029726986173,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .8666288209606979,
            y: .6525782852262147,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0023231441048033,
            y: .1402580502518178,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9293624454148471,
            y: .1274223473444968,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9395895196506542,
            y: .6654139881335357,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.061008733624453,
            y: .28088937736607433,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9153624454148469,
            y: .2548728373892443,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9883231441048032,
            y: .2677085402965653,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0747772925764183,
            y: .15299802217218894,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1189694323144086,
            y: .42027359972168654,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9012707423580782,
            y: .38101894467797737,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9742314410480345,
            y: .3938546475852983,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0469170305676845,
            y: .4070354846548073,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4091048034934472,
            y: .4731874720264972,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1896637554585108,
            y: .4329738445660136,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .8850873362445408,
            y: .5138828872369468,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: .9580480349344971,
            y: .5267185901442679,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0307336244541472,
            y: .5398994272137769,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1027860262008713,
            y: .5531375422806559,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4807903930130968,
            y: .485990527413608,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5527510917030531,
            y: .499009229394091,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.3361441048034903,
            y: .45962190056703855,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1345458515283822,
            y: .29436974068420846,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.261724890829691,
            y: .44592815726251245,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.6119781659388617,
            y: .6456697258003703,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.3939126637554564,
            y: .6061542251282505,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.17447161572052,
            y: .5659405976677667,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.465598253275106,
            y: .6189572805153613,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5375589519650623,
            y: .6319759824958441,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.3209519650654995,
            y: .5925886536687918,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.2465327510917001,
            y: .5788949103642655,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.2062314410480317,
            y: .30717279607131925,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.6436375545851496,
            y: .38696631348790683,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4255720524017443,
            y: .34745081281578694,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4972576419213939,
            y: .36025386820289773,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5692183406113502,
            y: .3732725701833805,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.3526113537117874,
            y: .33388524135632824,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.278192139737988,
            y: .32019149805180214,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1468296943231424,
            y: .16623613723906816,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.218515283842792,
            y: .17903919262617896,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.6559213973799098,
            y: .2588327100427664,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4378558951965046,
            y: .2193172093706468,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5095414847161541,
            y: .23212026475775757,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5815021834061105,
            y: .2451389667382404,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.3648951965065477,
            y: .20575163791118806,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.2904759825327483,
            y: .19205789460666178,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0122751091703046,
            y: .6785948252030447,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.0843275109170287,
            y: .6918329402699239,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.1560131004366783,
            y: .7046359956570347,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5934192139737962,
            y: .7844295130736223,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.375353711790391,
            y: .7449140124015025,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.4470393013100404,
            y: .7577170677886133,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.5189999999999968,
            y: .7707357697690961,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.302393013100434,
            y: .7313484409420438,
            rotation: -.6108652381980153
        }, {
            name: "A_Wall45",
            x: 1.2279737991266346,
            y: .7176546976375175,
            rotation: -.6108652381980153
        }],
        finishLine: 2.9148034934497815
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .6294866382704326,
            y: .03980154321272183
        }, {
            x: 1.594911301443456,
            y: .03980154321272183
        }],
        bumpers: [{
            x: .24005795927603094,
            y: .5230056890600311,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4937751138695503,
            y: .40376555608586506,
            w: .15,
            h: .04,
            rotation: .9948376736367679
        }, {
            x: 1.3991587333189033,
            y: .40517329191617363,
            w: .15,
            h: .04,
            rotation: -.9948376736367679
        }, {
            x: 1.4455038513717966,
            y: .47662669258919965,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .859635380748586,
            y: .8736483647785245,
            w: .15,
            h: .04,
            rotation: .9948376736367679
        }, {
            x: .7650190001979389,
            y: .8750561006088331,
            w: .15,
            h: .04,
            rotation: -.9948376736367679
        }, {
            x: .8113641182508325,
            y: .9465095012818594,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.4795616550845716,
            y: .8679560466665595,
            w: .15,
            h: .04,
            rotation: .9948376736367679
        }, {
            x: 1.3849452745339246,
            y: .8693637824968681,
            w: .15,
            h: .04,
            rotation: -.9948376736367679
        }, {
            x: 1.431290392586818,
            y: .9408171831698943,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }],
        finishLine: 1.9013933592415884
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.615074467395065,
            y: -.10571284370375421
        }, {
            x: 1.6117944095700727,
            y: .43439926579136423
        }],
        bumpers: [{
            x: .4543738931980575,
            y: .6515486925473084,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .19612713407134108,
            y: .03450943241009647,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .19612713407134108,
            y: .17992421884861026,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .21015859431793954,
            y: .32346839147730083,
            w: .15,
            h: .04,
            rotation: 1.3962634015954636
        }, {
            x: .25242478411070157,
            y: .46159703223151255,
            w: .15,
            h: .04,
            rotation: 1.1344640137963142
        }, {
            x: .3349527954173825,
            y: .5759874733346747,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.5042733474472454,
            y: .9972098557751765,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5916491858149251,
            y: .6880716568864463,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .7277100433076056,
            y: .7256570143716721,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .8530318411377604,
            y: .7898616803012329,
            w: .15,
            h: .04,
            rotation: .6108652381980153
        }, {
            x: .9667729505083346,
            y: .8771312990448188,
            w: .15,
            h: .04,
            rotation: .6981317007977318
        }, {
            x: 1.0850194505932327,
            y: .9543058137663359,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: 1.2196007142009255,
            y: .9925051964816447,
            w: .15,
            h: .04,
            rotation: .08726646259971647
        }, {
            x: 1.3610452318164796,
            y: .9983032334081714,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6126400368523226,
            y: .04554218824473371,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.6126400368523226,
            y: .3352783834887662,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.6126400368523226,
            y: .18877032264399757,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        finishLine: 2.5036989286640923
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .17358078602620086,
            y: .043886462882096036
        },
        background: "background_0",
        hooks: [{
            x: 1.2019650655021827,
            y: .14737991266375539
        }],
        bumpers: [{
            x: .5294759825327517,
            y: .771153473704679,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .4028384279475982,
            y: .7114625891244315,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }],
        obstacles: [{
            name: "A_Wall45",
            x: .325685589519651,
            y: .6417294031588363,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .1797641921397375,
            y: .2410681369792534,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .30148471615720485,
            y: .5747452946868141,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .15538864628820914,
            y: .17545699955699756,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .10589519650654988,
            y: .0401110486035654,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .13118777292576378,
            y: .1084728910849751,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .22925764192139741,
            y: .37641408793268566,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .20505676855895155,
            y: .3094299794606637,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .4001965065502184,
            y: .5020410807217699,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .3031266375545847,
            y: .23560894871505916,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .3759956331877725,
            y: .43505697224974726,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .27875109170305634,
            y: .16999781129280334,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .22925764192139708,
            y: .03465186033937118,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .254550218340611,
            y: .10301370282078087,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .3526200873362446,
            y: .37095489966849116,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .3284192139737987,
            y: .30397079119646897,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .2768340611353714,
            y: .5075002689859645,
            rotation: .4363323129985824
        }, {
            name: "A_Wall45",
            x: .25263318777292537,
            y: .44051616051394205,
            rotation: .4363323129985824
        }],
        finishLine: 1.784934497816593
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .22925764192139725,
            y: .03834497816593885
        },
        background: "background_0",
        hooks: [{
            x: 1.4235807860262002,
            y: .14628820960698663
        }],
        bumpers: [{
            x: .33508733624454146,
            y: .780104125045365,
            w: .15,
            h: .04,
            rotation: .7853981633974483,
            bounce: {
                force: 1.5,
                angle: -.4363323129985824
            }
        }],
        obstacles: [{
            name: "A_Wall45",
            x: .33524454148471494,
            y: .5610858550435991,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .503366812227074,
            y: .23501722057338192,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .5677772925764188,
            y: .2723288121025308,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .6311877729257639,
            y: .30896419687780047,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .4399563318777291,
            y: .19831038457147387,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .12117903930130983,
            y: .014265883731005513,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .31141048034934454,
            y: .12458299817360582,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .37482096069868964,
            y: .1612183829488754,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .7614672489082969,
            y: .303609005258436,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .4554235807860255,
            y: .4759612766147669,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .39401310043668025,
            y: .5194660272267495,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .6330960698689952,
            y: .34969636839188595,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .57168558951965,
            y: .39320111900386884,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .5129170305676847,
            y: .4348209468207183,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .5705109170305676,
            y: .19354787513539096,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .6349213973799124,
            y: .23085946666453983,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .6983318777292574,
            y: .2674948514398095,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .5071004366812226,
            y: .1568410391334829,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .25064192139737973,
            y: .008536190369901428,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .37855458515283813,
            y: .08311365273561486,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .4439650655021832,
            y: .12072688531485648,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .46561572052401656,
            y: .555505295371745,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .5857947598253271,
            y: .4703807169429124,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .5243842794759819,
            y: .5138854675548954,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .7020567685589516,
            y: .38762055933201495,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .6432882096069863,
            y: .4292403871488644,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .7634672489082969,
            y: .34411580872003206,
            rotation: 1.7453292519943295
        }, {
            name: "A_Wall45",
            x: .3058689956331879,
            y: .6226038445085056,
            rotation: .7853981633974483
        }, {
            name: "A_Wall45",
            x: .24699999999999972,
            y: .08727140664445693,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .31614410480349325,
            y: .04680206120646604,
            rotation: -.2617993877991494
        }, {
            name: "A_Wall45",
            x: .18477292576419188,
            y: .05110076008048267,
            rotation: -.2617993877991494
        }],
        finishLine: 1.9892576419213965
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.1291801919972344,
            y: .12856349065493497
        }, {
            x: .729465686380497,
            y: .12856349065493497
        }, {
            x: 1.4565395153463259,
            y: .12856349065493497
        }],
        bumpers: [{
            x: .08695925151042384,
            y: .17290334162574303,
            w: .15,
            h: .04,
            rotation: 1.2217304763960306
        }, {
            x: .13834642370734113,
            y: .31010745196630674,
            w: .15,
            h: .04,
            rotation: 1.2217304763960306
        }, {
            x: .18973363344125488,
            y: .4449753842233706,
            w: .15,
            h: .04,
            rotation: 1.2217304763960306
        }, {
            x: 1.4761645694789685,
            y: .9142075752890791,
            w: .15,
            h: .04,
            rotation: 1.9198621771937625
        }, {
            x: .3393262684123659,
            y: .6899820434236297,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .4529260420572367,
            y: .7756997548931718,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 1.3760632727505442,
            y: .6937602043402668,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .7195705776387062,
            y: .8741353059219965,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .8661828568018374,
            y: .8790476679146653,
            w: .15,
            h: .04,
            rotation: -.08726646259971647
        }, {
            x: 1.2402818627411334,
            y: .6949116697393136,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 1.122544532982965,
            y: .7705628391167949,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.0063062563835072,
            y: .8495400460891467,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: .3393262684123659,
            y: .6899820434236297,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .4529260420572367,
            y: .7756997548931718,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .5822952850218388,
            y: .8367741978968822,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .25401616284484896,
            y: .5738063487216031,
            w: .15,
            h: .04,
            rotation: 1.0471975511965976
        }, {
            x: 1.4747839850891855,
            y: .7821809533089547,
            w: .15,
            h: .04,
            rotation: 1.1344640137963142
        }],
        obstacles: [],
        finishLine: 2.1984223260445495
    }
}, function(t, e, n) {
    var r = {
        "./MIDDLE000.json": 208,
        "./MIDDLE001.json": 209,
        "./MIDDLE002.json": 210,
        "./MIDDLE003.json": 211,
        "./MIDDLE004.json": 212,
        "./MIDDLE005.json": 213,
        "./MIDDLE006.json": 214,
        "./MIDDLE007.json": 215,
        "./MIDDLE008.json": 216,
        "./MIDDLE009.json": 217,
        "./MIDDLE010.json": 218,
        "./MIDDLE011.json": 219,
        "./MIDDLE012.json": 220,
        "./MIDDLE013.json": 221,
        "./MIDDLE014.json": 222,
        "./MIDDLE015.json": 223,
        "./MIDDLE016.json": 224,
        "./MIDDLE017.json": 225,
        "./MIDDLE018.json": 226,
        "./MIDDLE019.json": 227,
        "./MIDDLE020.json": 228,
        "./MIDDLE021.json": 229,
        "./MIDDLE022.json": 230,
        "./MIDDLE024.json": 231,
        "./MIDDLE025.json": 232,
        "./MIDDLE026.json": 233,
        "./MIDDLE027.json": 234,
        "./MIDDLE028.json": 235,
        "./MIDDLE029.json": 236,
        "./MIDDLE030.json": 237,
        "./MIDDLE033.json": 238,
        "./MIDDLE034.json": 239,
        "./MIDDLE035.json": 240,
        "./MIDDLE036.json": 241,
        "./MIDDLE037.json": 242,
        "./MIDDLE038.json": 243,
        "./MIDDLE039.json": 244,
        "./MIDDLE040.json": 245,
        "./MIDDLE041.json": 246,
        "./MIDDLE042.json": 247,
        "./MIDDLE043.json": 248,
        "./MIDDLE044.json": 249,
        "./MIDDLE045.json": 250
    };

    function i(t) {
        var e = o(t);
        return n(e)
    }

    function o(t) {
        if (!n.o(r, t)) {
            var e = new Error("Cannot find module '" + t + "'");
            throw e.code = "MODULE_NOT_FOUND", e
        }
        return r[t]
    }
    i.keys = function() {
        return Object.keys(r)
    }, i.resolve = o, t.exports = i, i.id = 207
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.612021920459516,
            y: .23224045800381005
        }, {
            x: .4185791849438606,
            y: .24098363990992133
        }, {
            x: .8754098819253219,
            y: .08251362680737427
        }, {
            x: 1.3704917991096202,
            y: .24098363990992133
        }, {
            x: 1.930054774049852,
            y: .24098363990992133
        }],
        bumpers: [{
            x: 1.315326786354264,
            y: .637346410398011,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.219844471642333,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4367842706332181,
            y: .5839467333717552,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5821395369332736,
            y: .5839467333717552,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7242159562841528,
            y: .5839467333717552,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.0963537485902712,
            y: .7353133822021279,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.2147802882380159,
            y: .7376127195396985,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.0903362999354291,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.6515384190226903,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5094619996718115,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.3641067333717563,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8684783847762976,
            y: .5839467333717552,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9947143709754322,
            y: .6344023156807309,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .5143799240629268,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6586421857923496,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8039974520924049,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9460738714432844,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.8580327702089736
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.302486468038921,
            y: .24098363990992133
        }, {
            x: .4185791849438606,
            y: .24098363990992133
        }, {
            x: 1.0666666291450537,
            y: .24098363990992133
        }, {
            x: 1.66885257158123,
            y: .24098363990992133
        }],
        bumpers: [{
            x: 2.219844471642333,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.6515384190226903,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5094619996718115,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.3641067333717563,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5143799240629268,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6586421857923496,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8039974520924049,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9460738714432844,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.8580327702089736
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .07257918494386029,
            y: .24098363990992133
        }, {
            x: .7206666291450607,
            y: .24098363990992133
        }],
        bumpers: [{
            x: .16837992406292646,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .31264218579234926,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4579974520924046,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6000738714432841,
            y: .7872253635293927,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: .909816427562858
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .4393442289425371,
            y: .06502735158784781
        }, {
            x: 1.0349726233977432,
            y: .06502735158784781
        }],
        bumpers: [{
            x: .5121941650657443,
            y: .8374985708968362,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6564564267951671,
            y: .8374985708968362,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8018116930952225,
            y: .8374985708968362,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9438881124461019,
            y: .8374985708968362,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.2919124974318537
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .33989067286090074,
            y: .10765032950646225
        }, {
            x: 1.0207651065346968,
            y: .10765032950646225
        }],
        bumpers: [{
            x: 1.2890972614812706,
            y: .547796178977993,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.4127405881387685,
            y: .4921433546255973,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1885507633650225,
            y: .6480624881196806,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .8641068250912521,
            y: .8997935778208245,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4324127109481727,
            y: .8997935778208245,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .577767977248228,
            y: .8997935778208245,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7198443965991075,
            y: .8997935778208245,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.089097311510087,
            y: .7499146246894428,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .9885508133938389,
            y: .8501809338311304,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }],
        obstacles: [],
        finishLine: 1.87620961030257
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .176519092330515,
            y: .108743255907069
        }, {
            x: 1.3863552704691402,
            y: .25081971173729384
        }, {
            x: 1.0071203311440888,
            y: .10218581736413491
        }],
        bumpers: [{
            x: .8745057321950807,
            y: .9249302231952268,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .1848881374605102,
            y: .9249302231952268,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .35538000744428744,
            y: .4954220348120513,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5193143502924346,
            y: .9249302231952268,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7051068250912517,
            y: .4954220348120513,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.7023078793792965
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .22076493143383827,
            y: .2256831758009278
        }, {
            x: 1.5224044674732624,
            y: .2256831758009278
        }, {
            x: 1.1322404830182171,
            y: .2256831758009278
        }],
        bumpers: [{
            x: 1.4018117097714944,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6100147006319812,
            y: .7532017684547311,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .9788608400705469,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.120937217730746,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2619209243457556,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3972938743969775,
            y: .8531776681218489,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .7116540782468205,
            y: .8533399138691234,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .5011190110089992,
            y: .7531691342154251,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .8345984532690828,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.8580327702089736
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .7027321695630006,
            y: .06393452941394225
        }, {
            x: 1.4655738997329104,
            y: .06393452941394225
        }, {
            x: 1.1420765652682596,
            y: .06393452941394225
        }, {
            x: .22076493143383827,
            y: .2256831758009278
        }],
        bumpers: [{
            x: 1.1648930453935438,
            y: .5801809937425145,
            w: .15,
            h: .04,
            rotation: -.5235987755982988,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .4182050690130843,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: 1.2948957478186423,
            y: .5278464606919282,
            w: .15,
            h: .04,
            rotation: -.2617993877991494,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: 1.4356912660625853,
            y: .5107225145550498,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: 1.0463047827426255,
            y: .658411276885837,
            w: .15,
            h: .04,
            rotation: -.6981317007977318,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .5602815300546445,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .8304668325616195,
            y: .8402349725862107,
            w: .15,
            h: .04,
            rotation: -.5235987755982988,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .700360295398048,
            y: .8926347846454339,
            w: .15,
            h: .04,
            rotation: -.2617993877991494,
            bounce: {
                bounce: 1.3
            }
        }, {
            x: .9426489989487188,
            y: .7547749127625837,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.3
            }
        }],
        obstacles: [],
        finishLine: 1.859124473265742
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .7027321695630006,
            y: .06393452941394225
        }, {
            x: 2.2633881073831836,
            y: .06393452941394225
        }, {
            x: 1.1420765652682596,
            y: .06393452941394225
        }, {
            x: .22076493143383827,
            y: .2256831758009278
        }, {
            x: 1.4655738997329104,
            y: .06393452941394225
        }],
        bumpers: [{
            x: 1.7049903030272746,
            y: .585960695316951,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 2.4450630508773052,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.576661327457288,
            y: .5314671428598337,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: 2.300800705766522,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4356912660625853,
            y: .5107225145550498,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8164397280371347,
            y: .6606118837935958,
            w: .15,
            h: .04,
            rotation: .6981317007977318
        }, {
            x: 2.587139511918865,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.032858988723568,
            y: .8350683533973812,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 2.161360989462602,
            y: .889164346762682,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: 1.9214902355400878,
            y: .7526457238528993,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.2948957478186423,
            y: .5278464606919282,
            w: .15,
            h: .04,
            rotation: -.2617993877991494
        }, {
            x: 1.1648930453935438,
            y: .5801809937425145,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 1.0463047827426255,
            y: .658411276885837,
            w: .15,
            h: .04,
            rotation: -.6981317007977318
        }, {
            x: .9426489989487188,
            y: .7547749127625837,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .8304668325616195,
            y: .8402349725862107,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: .700360295398048,
            y: .8926347846454339,
            w: .15,
            h: .04,
            rotation: -.2617993877991494
        }, {
            x: .5602815300546445,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4182050690130843,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 2.8580327702089736
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .7027321695630006,
            y: .06393452941394225
        }, {
            x: 2.2633881073831836,
            y: .06393452941394225
        }, {
            x: .22076493143383827,
            y: .2256831758009278
        }, {
            x: 1.4655738997329104,
            y: .06393452941394225
        }],
        bumpers: [{
            x: 2.4450630508773052,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.300800705766522,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.587139511918865,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5602815300546445,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4182050690130843,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.8580327702089736
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.0469451754148897,
            y: .6869619446926893
        }, {
            x: 1.7244087397539023,
            y: .6858686421336871
        }, {
            x: .5118901251573553,
            y: .6957084777756958
        }, {
            x: .19591365499836655,
            y: .6957084777756958
        }, {
            x: .8901872247787422,
            y: .41143892670616183
        }, {
            x: .5742107546197536,
            y: .41143892670616183
        }, {
            x: 1.275044364976121,
            y: .1545029437263369
        }, {
            x: .9590678948171321,
            y: .1545029437263369
        }, {
            x: 1.6730215863254825,
            y: .4059721511521758
        }, {
            x: 1.3570451161664936,
            y: .4059721511521758
        }],
        bumpers: [{
            x: 1.9525444384345223,
            y: .6911217884667128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8202497613007391,
            y: .6911217884667128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .42076922078000095,
            y: .6987751316017066,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .28847454364621783,
            y: .6987751316017066,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .799066320401388,
            y: .4145055805321727,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .666771643267605,
            y: .4145055805321727,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1839234605987667,
            y: .15756959755234773,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0516287834649838,
            y: .15756959755234773,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5819006819481283,
            y: .4090388049781866,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4496060048143453,
            y: .4090388049781866,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 2.2680343191795687
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.0163318591804096,
            y: .46501307939104813
        }, {
            x: .24183429563177528,
            y: .2365038919859415
        }, {
            x: .8748806323512462,
            y: .05610203948261435
        }, {
            x: 2.7980732935381125,
            y: .04954196606175076
        }, {
            x: 2.9912320873452867,
            y: .5984007212508652
        }, {
            x: 1.8752906489636194,
            y: .05610203948261435
        }, {
            x: 2.3924425038317776,
            y: .04954196606175076
        }],
        bumpers: [{
            x: 1.7918229938787684,
            y: .8726169200684195,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.1806956077269763,
            y: .8769902804524135,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5589927073483634,
            y: .5927207293828796,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.943849847545742,
            y: .33578474640305506,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4211792373923746,
            y: .5905339365798933,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .26004777622424713,
            y: .8802702632034133,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6383448758456343,
            y: .5960007121338794,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.023202016043013,
            y: .33906472915405445,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.3813476051996822
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .7272789311145065,
            y: .7022687060366699
        }, {
            x: .5140767865808543,
            y: .5470138118129229
        }, {
            x: .23527399229680793,
            y: .4497061678990814
        }],
        bumpers: [],
        finishLine: 1.310509863521487
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .9481345689311387,
            y: .6082410448738279
        }, {
            x: .5917042712297244,
            y: .6082410448738279
        }, {
            x: .23527399229680793,
            y: .4497061678990814
        }],
        bumpers: [],
        finishLine: 1.310509863521487
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.0028018740270412,
            y: .8192565092154832
        }, {
            x: .6234112466246737,
            y: .8192565092154832
        }, {
            x: .2407407115452993,
            y: .36223862238622395
        }],
        bumpers: [],
        finishLine: 1.310509863521487
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .739305784781481,
            y: .5076533055979982
        }, {
            x: .2604209083472676,
            y: .5076534932829797
        }],
        bumpers: [{
            x: .6445979673926625,
            y: .5096265817910134,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3548617533801317,
            y: .5096265817910134,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .49918320910689606,
            y: .5096265817910134,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: .9109465447441941
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.7484627098468253,
            y: .5786282170707456
        }, {
            x: .265887627595759,
            y: .3544927841880958
        }, {
            x: .739305784781481,
            y: .4266533055979981
        }, {
            x: 1.266297738050623,
            y: .5786282170707456
        }],
        bumpers: [],
        obstacles: [],
        finishLine: 1.9085692608635072
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.2687433124087115,
            y: .2343172868679379
        }, {
            x: .265887627595759,
            y: .4354927841880959
        }, {
            x: .9076808352312048,
            y: .06375554214984364
        }, {
            x: 1.5888343050910985,
            y: .14138304087508738
        }],
        bumpers: [{
            x: 2.2863690116298634,
            y: .4457063150080713,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 2
            }
        }, {
            x: .6328780627546512,
            y: .9305641328413283,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .49292992987488476,
            y: .9305641328413283,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3529819096061078,
            y: .9305641328413283,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7728260830234281,
            y: .9305641328413283,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.2863690116298634,
            y: .8764839269223743,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 2
            }
        }, {
            x: 2.2863690116298634,
            y: .7332558112916082,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 2
            }
        }, {
            x: 2.2863690116298634,
            y: .5911209606828483,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 2
            }
        }],
        obstacles: [],
        finishLine: 2.8109069508907987
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.1842968179437663,
            y: .35862994467347015
        }, {
            x: .5829573627767537,
            y: .5193515487614592
        }],
        bumpers: [{
            x: 1.184277953182658,
            y: .45644495150820535,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.184277953182658,
            y: .7439944477917423,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.184277953182658,
            y: .6018595971829824,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5862186309146306,
            y: .1339083938519794,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5862186309146306,
            y: .42145789013551627,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5862186309146306,
            y: .2793230395267563,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 1.7120959127315891
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .19785430706093446,
            y: .11899405217947662
        },
        background: "background_0",
        hooks: [{
            x: .557226143887416,
            y: .679632442235067
        }, {
            x: .5594127490054204,
            y: .26853504823729263
        }],
        bumpers: [{
            x: .5572072791263076,
            y: .7774474490698022,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .5572072791263076,
            y: .9228620947445793,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .5626740171432972,
            y: .17064138961134986,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .5626740171432972,
            y: .028506539002589898,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        obstacles: [],
        finishLine: 1.1236679651333357
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .42056173064172053,
            y: .05349186877336309
        },
        background: "background_0",
        hooks: [{
            x: .21192806785367735,
            y: .1952809802779119
        }, {
            x: 1.0250695098088791,
            y: .9617153318811023
        }, {
            x: 1.0250695098088791,
            y: .7321129920649794
        }, {
            x: 1.0250695098088791,
            y: .6249652779029014
        }, {
            x: 1.0250695098088791,
            y: .509070758514592
        }, {
            x: 1.0250695098088791,
            y: .3888028975107867
        }, {
            x: 1.0250695098088791,
            y: .27290837812247754
        }, {
            x: 1.0250695098088791,
            y: .1657606639603995
        }, {
            x: 1.0250695098088791,
            y: .04986614457209035
        }, {
            x: 1.0250695098088791,
            y: .8480075114532886
        }],
        bumpers: [],
        obstacles: [],
        finishLine: 1.3343666550896671
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .42056173064172053,
            y: .05349186877336309
        },
        background: "background_0",
        hooks: [{
            x: .28478115180321817,
            y: .2051211349843907
        }, {
            x: 1.087295822762916,
            y: .526564343160369
        }, {
            x: .6073177188436933,
            y: .526564343160369
        }, {
            x: 1.9969582360374392,
            y: .7255531039830359
        }, {
            x: 1.5169801321182166,
            y: .7255531039830359
        }],
        bumpers: [{
            x: 2.7000852681763146,
            y: .9097907460913477,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.411442356722786,
            y: .9097907460913477,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5557637749125544,
            y: .9097907460913477,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9922814317150987,
            y: .5271200984009841,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .7036385202615699,
            y: .5271200984009841,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .847959938451338,
            y: .5271200984009841,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.901943844989622,
            y: .7261088592236509,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.6133009335360933,
            y: .7261088592236509,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.7576223517258613,
            y: .7261088592236509,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 2.884545637180006
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.4510727960978347,
            y: .09983599992402523
        }, {
            x: .2374606161833106,
            y: .29226458879121275
        }, {
            x: .6933851441480727,
            y: .09983599992402523
        }, {
            x: 1.0891757603794308,
            y: .09983599992402523
        }],
        bumpers: [{
            x: .3625328746902165,
            y: .8326422449762166,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .9093831915068041,
            y: .877799270461669,
            w: .15,
            h: .04,
            rotation: -.4363323129985824
        }, {
            x: .2269581960369359,
            y: .7819568065816301,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .49701425078449507,
            y: .8822220488821731,
            w: .15,
            h: .04,
            rotation: .3490658503988659
        }, {
            x: .633196203305364,
            y: .9204868557515715,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 1.45785001865111,
            y: .8611205029802318,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .7747721442103156,
            y: .9214553183237318,
            w: .15,
            h: .04,
            rotation: -.17453292519943295
        }, {
            x: 1.0452550242575673,
            y: .8281758528831594,
            w: .15,
            h: .04,
            rotation: -.2617993877991494
        }, {
            x: 1.1843460071528238,
            y: .8022694561344446,
            w: .15,
            h: .04,
            rotation: -.08726646259971647
        }, {
            x: 1.3238598469533505,
            y: .8147926781501473,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }],
        finishLine: 1.7161405781538286
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.793699783006134,
            y: .44533278874658866
        }, {
            x: 1.9682247448084833,
            y: .44533278874658866
        }, {
            x: 2.3782288948988146,
            y: .44533278874658866
        }, {
            x: 1.3985924527214024,
            y: .2747710956418647
        }, {
            x: .5731174145237546,
            y: .2747710956418647
        }, {
            x: .9831215646140838,
            y: .2747710956418647
        }],
        bumpers: [],
        finishLine: 2.89747580815652
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.5615007651541388,
            y: .5284269363384552
        }, {
            x: .7360257269564883,
            y: .5284269363384552
        }, {
            x: 1.1460298770468196,
            y: .5284269363384552
        }, {
            x: 1.7276890603378692,
            y: .8072298620019893
        }, {
            x: .5742107921567495,
            y: .8072298620019893
        }, {
            x: .9842149422470787,
            y: .8072298620019893
        }, {
            x: 1.3985924527214024,
            y: .2747710956418647
        }, {
            x: .5731174145237546,
            y: .2747710956418647
        }, {
            x: .9831215646140838,
            y: .2747710956418647
        }, {
            x: 1.3996858303543973,
            y: .8072298620019893
        }],
        bumpers: [],
        finishLine: 1.8905057885051515
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5425038167618006,
            y: .6596284235242257
        }, {
            x: .9525079668521298,
            y: .6596284235242257
        }, {
            x: 1.3668854773264534,
            y: .1271696571641011
        }, {
            x: .5414104391288057,
            y: .1271696571641011
        }, {
            x: .9514145892191349,
            y: .1271696571641011
        }, {
            x: 1.3679788549594485,
            y: .6596284235242257
        }],
        bumpers: [{
            x: 2.0170518043944123,
            y: .9272841500903292,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7159722103465179,
            y: .38061200001921913,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.151123220181812,
            y: .38061200001921913,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5665940332151376,
            y: .38061200001921913,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7295022705738785,
            y: .9272841500903292,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8727303111306512,
            y: .9272841500903292,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.4084830849285064
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .36428866791109327,
            y: .40378573371915366
        }, {
            x: 2.274360985187001,
            y: .21901054429245484
        }, {
            x: 1.1974169741697418,
            y: .4628262865880613
        }, {
            x: 1.7517424673758462,
            y: .4693863647010495
        }],
        bumpers: [{
            x: .46669149485076494,
            y: .031681856227666484,
            w: .15,
            h: .04,
            rotation: -1.3089969389957472,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .39125072793088866,
            y: .3064349826731215,
            w: .15,
            h: .04,
            rotation: -1.3089969389957472,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .4295178189758226,
            y: .17174603177254932,
            w: .15,
            h: .04,
            rotation: -1.3089969389957472,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.753715968790842,
            y: -.05832567923795919,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .2844194176554272,
            y: .791002391305774,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .42546085309419573,
            y: .8178082426847012,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .5643156083409668,
            y: .8434908117929204,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .7031703260507416,
            y: .8680639998022712,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .8273417686384279,
            y: .8331604437263769,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .9290228104732606,
            y: .7347721798771547,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.0296104746750983,
            y: .6342846507390785,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.1291048363179335,
            y: .5361601458664785,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.753715968790842,
            y: .08490224870782452,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.753715968790842,
            y: .22703716969845283,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.753715968790842,
            y: .37026509764423654,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 2.4960626273254927
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.3231516294960315,
            y: .5185868754744677
        }, {
            x: .332581692516144,
            y: .10530275201738835
        }, {
            x: .8781605212597537,
            y: .10530275201738835
        }, {
            x: 1.374538801692949,
            y: .10530275201738835
        }],
        bumpers: [{
            x: 1.804943112567748,
            y: .8331639368431512,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .26391809184404874,
            y: .7128858436073917,
            w: .15,
            h: .04,
            rotation: .4363323129985824
        }, {
            x: .3992206532532322,
            y: .7575301324121736,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .5404355779636184,
            y: .7707435695395723,
            w: .15,
            h: .04,
            rotation: .03490658503988659
        }, {
            x: .6842651974145721,
            y: .773030043878245,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.521767014205201,
            y: .8331639368431512,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.662808374569977,
            y: .8331639368431512,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.073050355430312
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.4328959184672416,
            y: .3296557014946779
        }, {
            x: .2527674713697822,
            y: .3318423816866752
        }, {
            x: .8606668545017973,
            y: .3296557014946779
        }, {
            x: 1.5287001681357149,
            y: .3296557014946779
        }],
        bumpers: [{
            x: 1.925399682985333,
            y: .9208512808069631,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 2.031823005696634,
            y: .8138173059404538,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.9228726738986528,
            y: .811323794786312,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.034350127394304,
            y: .9189895278894429,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.9428932371323,
            y: .20846256150515471,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 2.0493165598436027,
            y: .1014285866386452,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.9403662280456198,
            y: .09893507548450343,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.0518436815412726,
            y: .20660080858763435,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.041977582162762,
            y: .9233700378715902,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.1484009048740629,
            y: .8163360630050809,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.0394505730760817,
            y: .8138425518509391,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.1509280265717325,
            y: .92150828495407,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.0518176805637458,
            y: .20649529600835295,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.1582410032750468,
            y: .09946132114184358,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.0492906714770656,
            y: .09696780998770183,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.1607681249727164,
            y: .20463354309083268,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }],
        finishLine: 2.6618661352629154
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.33955174970451,
            y: .6618150098737317
        }, {
            x: .250580791177785,
            y: .3272515891662824
        }, {
            x: .5906108560597326,
            y: .4562662084750732
        }, {
            x: .8705070842822691,
            y: .6618150098737317
        }],
        bumpers: [],
        finishLine: 1
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.298319737433216,
            y: .40050563835716485
        }, {
            x: .2516742438847731,
            y: .40269235608615855
        }, {
            x: .9044008900172015,
            y: .4026923560861586
        }, {
            x: 1.5702475985331148,
            y: .39831903323916057
        }],
        bumpers: [{
            x: .5317549135850487,
            y: .009017245884590519,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.266866251468706,
            y: .010927142859974728,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .7373036023727179,
            y: .2160860657772138,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .6334359178828847,
            y: .11421967542487081,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.1556855902755572,
            y: .984817141746802,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: .960729823405206,
            y: .3202190115898054,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.0645975454320358,
            y: .21532911637250177,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.1651852096338733,
            y: .11040367523943238,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .8389846066705537,
            y: .31926331412213893,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .8404182381242384,
            y: .775939742347744,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .7387373464373916,
            y: .877606270254059,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .6392429847945564,
            y: .9784293847940156,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .9534168842388874,
            y: .7773293360952173,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.0561912286327217,
            y: .8791472031926992,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }],
        finishLine: 2.44243260757803
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .7535191684924663,
            y: .1851168511685117
        }, {
            x: .427702543626999,
            y: .3021046731158231
        }],
        bumpers: [{
            x: .9783748093480937,
            y: .5107199594240083,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5858642134047319,
            y: .8256031833294896,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.1902419274436886
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.0716823000749542,
            y: .33490495106977475
        }, {
            x: .3380483554591406,
            y: .0790623644914433
        }, {
            x: .6343445349736703,
            y: .33490495106977475
        }],
        bumpers: [{
            x: .9084006678342178,
            y: .5905341242648757,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2823244821456028,
            y: .9633644107952803,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4918366648528791,
            y: .9633644107952803,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7618926445264453,
            y: .9633644107952803,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0242952435280213,
            y: .9633644107952803,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5193385350601551
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.2619242275186426,
            y: .3359982630130262
        }, {
            x: .3380483554591406,
            y: .0790623644914433
        }, {
            x: .5632772035117816,
            y: .654161497822254
        }, {
            x: .8519201525023067,
            y: .0790623644914433
        }],
        bumpers: [{
            x: .814373306967347,
            y: .958991050411286,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5193385350601551
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.298319737433216,
            y: .40050563835716485
        }, {
            x: .5643706749872678,
            y: .06256955902987872
        }, {
            x: 1.14165655419982,
            y: .06256955902987872
        }, {
            x: 1.7091023537798862,
            y: .06256955902987872
        }],
        bumpers: [{
            x: .9548790697533683,
            y: .7714122748238486,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .8510113852635351,
            y: .6695458844715056,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.1783052907858567,
            y: .8755452206364402,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.2821730128126876,
            y: .7706553254191366,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.382760677014525,
            y: .6657298842860672,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.0565600740512044,
            y: .8745895231687737,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .23271401106530606,
            y: .9141639938643528,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.44243260757803
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .48274484286713015,
            y: .13363694210513768
        }, {
            x: .9856833327928184,
            y: .29107849775238365
        }],
        bumpers: [{
            x: 1.052003908988718,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8070947890600976,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5632789716904982,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3183698517618965,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.4095973259244505
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .2483941485227844,
            y: .11067672501517384
        }, {
            x: 1.873103893697629,
            y: .30747865549785763
        }, {
            x: .7721061753464225,
            y: .30747865549785763
        }, {
            x: 1.2805113094465912,
            y: .30747865549785763
        }],
        bumpers: [{
            x: 1.4758464674142837,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9750947890600977,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4863698517618967,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 2.0865374110714794
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5009566866603731,
            y: .10630331770993383
        }, {
            x: .9874949625350756,
            y: .10630331770993383
        }, {
            x: .9874949625350756,
            y: .5687879519404314
        }],
        bumpers: [{
            x: .9750947890600977,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7312789716904984,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4863698517618967,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.577597325924432
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .24511410946629064,
            y: .6584422057980335
        }, {
            x: 1.7353424410098608,
            y: .3676125859997603
        }, {
            x: .7108789047485212,
            y: .4933472225575517
        }, {
            x: 1.0170151826640348,
            y: .3676125859997603
        }],
        bumpers: [{
            x: 1.2232839668136921,
            y: .7250152939056737,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0778692085279256,
            y: .7250152939056737,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .6317846100476633,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4863698517618967,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9324543751681661,
            y: .7938959827125617,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7870396168823995,
            y: .7938959827125617,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.577597325924432
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .2833811629742281,
            y: .16753058830783518
        }, {
            x: .9393877730891578,
            y: .16753058830783518
        }],
        bumpers: [{
            x: .6306912511831665,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2089189073163082,
            y: .5381908308512383,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .3420483584981361,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4863698517618967,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3337115980370258,
            y: .4833862318020643,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9016891766938067,
            y: .8361566032150677,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.0033702185286393,
            y: .7366454980420449,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.1061445629224735,
            y: .6371426520231264,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .775012744446927,
            y: .8835502459544128,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.577597325924432
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .24730080842678687,
            y: .3577724219090325
        }, {
            x: 1.605234556679065,
            y: .5578544665222034
        }, {
            x: .8016264705493753,
            y: .5578544665222034
        }],
        bumpers: [],
        finishLine: 1.9209072421778917
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5359438137228071,
            y: .12817013839840444
        }, {
            x: 1.23349749763367,
            y: .3643325563275156
        }, {
            x: .5359438137228071,
            y: .6682823041990178
        }],
        bumpers: [{
            x: 1.5984738394521645,
            y: .829976543713484,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2547537376698475,
            y: .829976543713484,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7992391887804622,
            y: .829976543713484,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9402805491452377,
            y: .829976543713484,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0813219845840063,
            y: .829976543713484,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.9209072421778917
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .7174389453245136,
            y: .23859801361221544
        }, {
            x: 1.8348370278746757,
            y: .23859801361221544
        }, {
            x: .39599571838003733,
            y: .23859801361221544
        }, {
            x: 1.0738692430259285,
            y: .23859801361221544
        }, {
            x: 1.4652864988732917,
            y: .23859801361221544
        }],
        bumpers: [{
            x: 1.9133568381356671,
            y: .8562168561654367,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4799826044909865,
            y: .8562168561654367,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8298527865424165,
            y: .6769083296817344,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1917497471868277,
            y: .5850673862478859,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5766070375321921,
            y: .6769083296817344,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.9209072421778917
    }
}, function(t, e, n) {
    var r = {
        "./FINISH000.json": 252,
        "./FINISH001.json": 253,
        "./FINISH002.json": 254,
        "./FINISH003.json": 255,
        "./FINISH004.json": 256,
        "./FINISH005.json": 257,
        "./FINISH006.json": 258,
        "./FINISH007.json": 259,
        "./FINISH008.json": 260,
        "./FINISH009.json": 261,
        "./FINISH010.json": 262,
        "./FINISH011.json": 263,
        "./FINISH012.json": 264,
        "./FINISH013.json": 265,
        "./FINISH014.json": 266,
        "./FINISH015.json": 267,
        "./FINISH016.json": 268,
        "./FINISH017.json": 269,
        "./FINISH018.json": 270,
        "./FINISH019.json": 271,
        "./FINISH020.json": 272,
        "./FINISH021.json": 273,
        "./FINISH022.json": 274,
        "./FINISH028.json": 275,
        "./FINISH029.json": 276,
        "./FINISH030.json": 277,
        "./FINISH031.json": 278,
        "./FINISH032.json": 279,
        "./FINISH033.json": 280,
        "./FINISH035.json": 281,
        "./FINISH036.json": 282
    };

    function i(t) {
        var e = o(t);
        return n(e)
    }

    function o(t) {
        if (!n.o(r, t)) {
            var e = new Error("Cannot find module '" + t + "'");
            throw e.code = "MODULE_NOT_FOUND", e
        }
        return r[t]
    }
    i.keys = function() {
        return Object.keys(r)
    }, i.resolve = o, t.exports = i, i.id = 251
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .6579234639152141,
            y: .45409846696697276
        }, {
            x: .242622854931106,
            y: .14371592620682827
        }, {
            x: 1.5147542067564226,
            y: .45409846696697276
        }, {
            x: .9737706001990454,
            y: .14371592620682827
        }],
        bumpers: [{
            x: 1.4947077804081814,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2728498652490494,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.128587520138266,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5602815300546445,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4182050690130843,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9876039385952972,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .845527477553737,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7012651324429535,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.6700546197943344
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .8021856839539565,
            y: .3437159908273829
        }, {
            x: .242622854931106,
            y: .14371592620682827
        }, {
            x: 1.3978142660172233,
            y: .5098361968994137
        }],
        bumpers: [{
            x: .5602815300546445,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .4182050690130843,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .27394272390230073,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7012651324429535,
            y: .9085367805722759,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.7389071121632724
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .6120217745421352,
            y: .08251380399276613
        }, {
            x: .24699443546149147,
            y: .08251380399276613
        }, {
            x: 1.1912569556731318,
            y: .08251380399276613
        }],
        bumpers: [{
            x: .7652060074913983,
            y: .8345265070727389,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .4389701130117608,
            y: .5839465666090331,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2936148258663653,
            y: .5839465666090331,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.318751471240768,
            y: .8877717365735993,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5608343727631283,
            y: .6361693124846226,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .6624737086872873,
            y: .7354582090247279,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .8892433245482727,
            y: .8877717365735993,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0324127067791042,
            y: .8877717365735993,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.173396330012754,
            y: .8877717365735993,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.4514753848216566
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .6896173862811636,
            y: .08251380399276613
        }, {
            x: .24699443546149147,
            y: .08251380399276613
        }, {
            x: 1.5071040502662842,
            y: .22786907029282158
        }, {
            x: 1.1322406289355977,
            y: .22786907029282158
        }],
        bumpers: [{
            x: .4378772335131692,
            y: .8145476428289358,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2958006265542282,
            y: .8145476428289358,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5716939640566292
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .6404371001029916,
            y: .31007394729835014
        }, {
            x: .19781410759263898,
            y: .31007394729835014
        }, {
            x: 1.4437160387716632,
            y: .8377051066831157
        }, {
            x: 1.0382515745736187,
            y: .5710385692575585
        }],
        bumpers: [{
            x: .4345985533267151,
            y: .931487500186774,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .40817059397013467,
            y: .1103575216438114,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .2958006265542282,
            y: .931487500186774,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .30653125804597564,
            y: .21239933212899298,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }],
        finishLine: 1.522513636187777
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 1.3562841363291918,
            y: .40054638138234283
        }, {
            x: .256830601092896,
            y: .20273223209902227
        }, {
            x: .7344261961556522,
            y: .20273223209902227
        }],
        bumpers: [{
            x: 1.5001722195918192,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8805000801061409,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0236694831823137,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .530773324995197,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .24552739834144444,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3886968014176163,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1657460067598948,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5715848161874568
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 1.2021857923497261,
            y: .26939886124407647
        }, {
            x: .2502732407199878,
            y: .26939886124407647
        }, {
            x: .7278688357827441,
            y: .03551910483771965
        }, {
            x: .7278688357827441,
            y: .5131147415911564
        }],
        bumpers: [{
            x: 1.5001722195918192,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8805000801061409,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0236694831823137,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .530773324995197,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .24552739834144444,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3886968014176163,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1657460067598948,
            y: .8506133750240137,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5715848161874568
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 1.347541016959101,
            y: .42677596879135704
        }, {
            x: .25901642262609903,
            y: .04863384642887626
        }, {
            x: .7289617986626963,
            y: .42677596879135704
        }],
        bumpers: [{
            x: 1.4958006599067726,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6389700629829451,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5318662044937882,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2466202778400356,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .38978968091620747,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7810465865605263,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .881592959604732,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0247623626809048,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.166838886258486,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.5486340965729586
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 1.3540983773320088,
            y: .38415300129541263
        }, {
            x: .23936576760426484,
            y: .2757080822367365
        }, {
            x: .8579235806491203,
            y: .38415300129541263
        }],
        bumpers: [{
            x: .6563102553323965,
            y: .8798258677623326,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.2291339974091753,
            y: .9371898082597966,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5318662044937882,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2466202778400356,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .38978968091620747,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5111011813404536,
            y: .9371898082597966,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.085964594333003,
            y: .9371898082597966,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9662988578065133,
            y: .8802231363385544,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .8668453225702173,
            y: .7801634418129603,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .7568566700672834,
            y: .7780780168591607,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.3712105209867564,
            y: .9371898082597966,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.5486340965729586
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .24125682851655883,
            y: .35628412382198804
        },
        background: "background_0",
        hooks: [{
            x: 1.8578415800834605,
            y: .2737705251558229
        }, {
            x: .9092896883604953,
            y: .07377045532393314
        }, {
            x: 2.420710582628928,
            y: .3808743002636183
        }, {
            x: 1.3573772659718664,
            y: .17322402703957462
        }],
        bumpers: [{
            x: .8160192933396311,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5318662044937882,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .2466202778400356,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .38978968091620747,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.7543963136125664,
            y: .8247933463694401,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .6728498068820977,
            y: .929301866261633,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6231766552984754,
            y: .6621111659036858,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 2.32781164751156,
            y: .7504780063626951,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 2.4698880668624397,
            y: .7758106407158611,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 2.613057449093271,
            y: .800205550585046,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: .9554170674425359,
            y: .9074051794506804,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 1.0898432886125966,
            y: .8557703132195867,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 1.2231765885933858,
            y: .8068388338237436,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 1.3586957309527183,
            y: .7589711241849504,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 1.4920291143148685,
            y: .7089144514121085,
            w: .15,
            h: .04,
            rotation: -.3490658503988659
        }, {
            x: 2.187183265563557,
            y: .7248799434627281,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 2.0458444010442616,
            y: .700292147678334,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 1.9026750188134296,
            y: .6758972378091491,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }, {
            x: 1.7605985994625502,
            y: .6505646034559831,
            w: .15,
            h: .04,
            rotation: .17453292519943295
        }],
        finishLine: 2.828497567932461
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .4021858257022708,
            y: .3120218704307014
        }, {
            x: 1.2612022024686218,
            y: .3120218704307014
        }, {
            x: .8284153338989921,
            y: .04972676761814802
        }],
        bumpers: [{
            x: 1.1114888502132398,
            y: .8732718389291029,
            w: .15,
            h: .04,
            rotation: .6108652381980153
        }, {
            x: .7520766916831416,
            y: .7087754454535663,
            w: .15,
            h: .04,
            rotation: -.6108652381980153
        }, {
            x: .5192897939300358,
            y: .8720934549958147,
            w: .15,
            h: .04,
            rotation: -.6108652381980153
        }, {
            x: .6340438922906916,
            y: .7904781028418125,
            w: .15,
            h: .04,
            rotation: -.6108652381980153
        }, {
            x: .8743303719297498,
            y: .7096868048352312,
            w: .15,
            h: .04,
            rotation: .6108652381980153
        }, {
            x: .9934560299754507,
            y: .7909889934191533,
            w: .15,
            h: .04,
            rotation: .6108652381980153
        }, {
            x: 1.5427952079331024,
            y: .9183728211316382,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.6153004964192708
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5217303174008322,
            y: .29873194411411813
        }, {
            x: 1.1766435874197627,
            y: .1872108601837964
        }, {
            x: 3.3752638610614647,
            y: .49006724919080197
        }, {
            x: 1.9243960732698169,
            y: .08443648763721452
        }, {
            x: 2.478721566475921,
            y: .34683909602303964
        }],
        bumpers: [{
            x: .46686244826501017,
            y: .9229108647803277,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5924456154898844,
            y: .8746176209532946,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .7139582483856091,
            y: .8212298229454954,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9773028307612558,
            y: .7644925951040776,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .856093098994369,
            y: .8212298229454954,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0999088037529794,
            y: .7108019852686812,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.363253386128626,
            y: .6540647574272634,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.2420436543617392,
            y: .7108019852686812,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4814860362733515,
            y: .5960008247448692,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7448306186489981,
            y: .5392635969034514,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.6236208868821114,
            y: .5960008247448692,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.863063118645738,
            y: .47901302156605613,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.1264077010213844,
            y: .42227579372463836,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.005197969254498,
            y: .47901302156605613,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.2468268812101218,
            y: .3685852214262384,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.482408964121974,
            y: .7288169695311567,
            w: .15,
            h: .04,
            rotation: 1.3089969389957472
        }, {
            x: 2.3889617318188816,
            y: .3685852214262384,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.4638959199867396,
            y: .4408743634085765,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: 2.4638959199867396,
            y: .5851958191353408,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: 3.813589169621581,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5480543137738745,
            y: .854552016490573,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 2.6699393471587527,
            y: .9222759732005164,
            w: .15,
            h: .04,
            rotation: .2617993877991494
        }, {
            x: 2.8084028230594154,
            y: .9474571528995805,
            w: .15,
            h: .04,
            rotation: .08726646259971647
        }, {
            x: 3.524946408316038,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.094168683790745,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.949847265600977,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.380624915052277,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.236303496862509,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.669267826505806,
            y: .9523256749904366,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.8657425613684886
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.6773950780889646,
            y: .18511681363151533
        }, {
            x: .995148268133072,
            y: .18511681363151533
        }, {
            x: .3489817564191266,
            y: .18511681363151533
        }],
        bumpers: [{
            x: 1.5479469692764458,
            y: .6826405649186689,
            w: .15,
            h: .04,
            rotation: -.9599310885968813
        }, {
            x: 1.5913942300171051,
            y: .75261705455369,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.636624915341628,
            y: .6818294074393193,
            w: .15,
            h: .04,
            rotation: .9599310885968813
        }, {
            x: .42726905412327093,
            y: .6827995651125383,
            w: .15,
            h: .04,
            rotation: -.9599310885968813
        }, {
            x: .47071631486393034,
            y: .7527760547475595,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .515947000188453,
            y: .6819884076331887,
            w: .15,
            h: .04,
            rotation: .9599310885968813
        }, {
            x: .6831116876228481,
            y: .19063864140277573,
            w: .15,
            h: .04,
            rotation: -.9599310885968813
        }, {
            x: .7265589483635074,
            y: .2606151310377968,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .7717896336880301,
            y: .18982748392342622,
            w: .15,
            h: .04,
            rotation: .9599310885968813
        }, {
            x: .9509810246414138,
            y: .6807510463426336,
            w: .15,
            h: .04,
            rotation: -.9599310885968813
        }, {
            x: .9944282853820731,
            y: .7507275359776546,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.0396589707065957,
            y: .679939888863284,
            w: .15,
            h: .04,
            rotation: .9599310885968813
        }, {
            x: 1.2439972964789368,
            y: .18231883388805337,
            w: .15,
            h: .04,
            rotation: -.9599310885968813
        }, {
            x: 1.287444557219596,
            y: .2522953235230744,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.3326752425441188,
            y: .18150767640870386,
            w: .15,
            h: .04,
            rotation: .9599310885968813
        }],
        finishLine: 1.7740878660007304
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.60851435174508,
            y: .25727757903189397
        }, {
            x: .4145824624750154,
            y: .25727757903189397
        }, {
            x: 1.0563755387309735,
            y: .25727757903189397
        }],
        bumpers: [{
            x: 1.5906475904010995,
            y: .8638701617634341,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .23599401258480363,
            y: .8638701617634341,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5749307373707526,
            y: .8638701617634341,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9116808007332027,
            y: .8638701617634341,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.26373766297663,
            y: .8638701617634341,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.6953669286448725
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 1.6358481919780137,
            y: .5682280593252713
        }, {
            x: .3828754870800661,
            y: .32397160641528305
        }, {
            x: .8311465780673436,
            y: .5682280593252713
        }, {
            x: .8409866764683275,
            y: .12542363128099077
        }, {
            x: 1.2652042853436352,
            y: .3462791189496375
        }, {
            x: 1.6358481919780137,
            y: .13446005282806803
        }],
        bumpers: [{
            x: 1.6346709700941264,
            y: .052245578574244236,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6310442305576387,
            y: .21011433635791577,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.71397861248847,
            y: .13230991929245586,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: 1.5517366257002914,
            y: .13046001225207662,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .3825021109665687,
            y: .7053351346407022,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .37887537143008165,
            y: .8632038924243737,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .46180975336091257,
            y: .7853994753589139,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .2995677665727342,
            y: .7835495683185346,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .3825021109665688,
            y: .2450372087549492,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .3788753714300817,
            y: .40290596653862054,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .4618097533609126,
            y: .32510154947316083,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .29956776657273426,
            y: .3232516424327816,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8318665420498448,
            y: .49038707683492905,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8282398025133577,
            y: .6482558346186005,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .9111741844441886,
            y: .5704514175531407,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .74893219765601,
            y: .5686015105127614,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .842800018083824,
            y: .048675960733899945,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8391732785473369,
            y: .20654471851757147,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: .9221076604781677,
            y: .12874030145211157,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: .7598656736899893,
            y: .12689039441173233,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.268110854444141,
            y: .26515804109730673,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2644841149076538,
            y: .4230267988809782,
            w: .15,
            h: .04,
            rotation: 3.141592653589793
        }, {
            x: 1.3474184968384848,
            y: .34522238181551834,
            w: .15,
            h: .04,
            rotation: 1.5707963267948966
        }, {
            x: 1.1851765100503062,
            y: .3433724747751391,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        finishLine: 1.7731111893882614
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .9186141611171972,
            y: .2966380101728264
        }, {
            x: 1.3570452287774832,
            y: .4245593081541168
        }, {
            x: .45066279825395916,
            y: .4201859102331259
        }],
        bumpers: [{
            x: .9194939470662284,
            y: .20079710123697914,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .9194939470662284,
            y: .058662288165215674,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .9194939470662284,
            y: -.08237910973655627,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .45263596183598565,
            y: .5145868536669741,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .45263596183598565,
            y: .9398978026382803,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .45263596183598565,
            y: .7977629895665168,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .45263596183598565,
            y: .6567215916647449,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.3590183923595096,
            y: .518960251587965,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.3590183923595096,
            y: .9442712005592712,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.3590183923595096,
            y: .8021363874875077,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.3590183923595096,
            y: .6610949895857358,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        finishLine: 1.7478477036967637
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: 2.317001811985894,
            y: .17965013192002044
        }, {
            x: 1.3625121544794552,
            y: .17965013192002044
        }, {
            x: .8595736457852861,
            y: .17965013192002044
        }, {
            x: .3752221064080759,
            y: .17965013192002044
        }, {
            x: 1.8468636938566654,
            y: .17965013192002044
        }],
        bumpers: [{
            x: 2.0083051211634197,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6485948594795035,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5967976519017144,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .23708739021779873,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3194981580205454,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9597878963366295,
            y: .9130706537683542,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 2.391827309996733
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .8606669483442885,
            y: .2769578743684773
        }, {
            x: .8606669483442885,
            y: .6454148708967559
        }, {
            x: .35554187206911153,
            y: .6935219477316842
        }, {
            x: .35554187206911153,
            y: .22447728230944403
        }],
        bumpers: [{
            x: .8626401119263148,
            y: .1854903445851228,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8626401119263148,
            y: .043355531513359365,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .9194939470662284,
            y: -.08237910973655627,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .357515035651138,
            y: .3188782257432922,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .357515035651138,
            y: .6020543616428348,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .357515035651138,
            y: .461012963741063,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8626401119263148,
            y: .7398158143306041,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8626401119263147,
            y: 1.0481388475121078,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8626401119263148,
            y: 1.0229919502301468,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .8626401119263148,
            y: .8819505523283748,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        obstacles: [],
        finishLine: 1.7478477036967637
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .9448545486431431,
            y: .5448269063989476
        }, {
            x: .3380483554591409,
            y: .4748530651810423
        }, {
            x: 1.5964875731520993,
            y: .4693862896270573
        }],
        bumpers: [{
            x: .9457343345921746,
            y: .9289642139933119,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .9457343345921746,
            y: .6425080202687764,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .9457343345921746,
            y: .7857361171310439,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .33674146121617493,
            y: .3757320984202028,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .3367414424476768,
            y: .09194225214771651,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .33674146121617493,
            y: .23250400155793538,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.5951806789091334,
            y: .3702653228662172,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.5951806789091334,
            y: .08380912914168187,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: 1.5951806789091334,
            y: .22703722600394932,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }],
        obstacles: [],
        finishLine: 2.042687576875769
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5526118512405831,
            y: .36944565795796025
        }, {
            x: 1.2859780099265838,
            y: .36725894022896644
        }, {
            x: 1.6631818069889688,
            y: .37335382752686025
        }, {
            x: 1.9835317689114396,
            y: .36288557984497205
        }, {
            x: .9098675529601982,
            y: .3821005858318457
        }],
        bumpers: [{
            x: .8522794422260404,
            y: .9906625608706067,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.0616638270601695,
            y: .7785224165670822,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .9599828602993308,
            y: .6771739758079837,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.065377516338847,
            y: .8882731654727373,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .8488457356983624,
            y: .6786426587733972,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .7495050227582128,
            y: .8913343872175158,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: .747257996422532,
            y: .7797473155884086,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .9626031719450132,
            y: .985753313532093,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .4994923375056271,
            y: .29376146874279185,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: .7088767223397567,
            y: .08162132443926738,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .6071957555789173,
            y: -.01972711631983127,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .49605863097794894,
            y: -.01825843335441758,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .3967179180377996,
            y: .1944332950897009,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: .39447089170211874,
            y: .08284622346059377,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .6098160672245997,
            y: .28885222140427813,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: .7125904116184343,
            y: .19137207334492237,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.2320329044884453,
            y: .28239012491191595,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.4414172893225747,
            y: .07024998060839144,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.3397363225617354,
            y: -.031098460150707226,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.228599197960767,
            y: -.029629777185293537,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.1292584850206178,
            y: .18306195125882493,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.127011458684937,
            y: .07147487962971781,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.3423566342074178,
            y: .27748087757340223,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.4451309786012523,
            y: .18000072951404641,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.9259436769457796,
            y: .28217117224496935,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 2.135328061779909,
            y: .07003102794144489,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 2.0336470950190697,
            y: -.031317412817653774,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.9225099704181017,
            y: -.029848729852240085,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.823169257477952,
            y: .18284299859187833,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.8209222311422713,
            y: .07125592696277126,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.036267406664752,
            y: .2772619249064556,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 2.1390417510585866,
            y: .1797817768470998,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.608873622700316,
            y: .9824593916444728,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.818258007534445,
            y: .7703192473409484,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.716577040773606,
            y: .6689708065818498,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: 1.605439916172638,
            y: .6704394895472634,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.5060992032324885,
            y: .883131217991382,
            w: .15,
            h: .04,
            rotation: -2.356194490192345
        }, {
            x: 1.5038521768968076,
            y: .7715441463622748,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 1.7191973524192885,
            y: .9775501443059591,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }, {
            x: 1.8219716968131225,
            y: .8800699962466034,
            w: .15,
            h: .04,
            rotation: 2.356194490192345
        }],
        finishLine: 2.2648482484336565
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .748052392938481,
            y: .8651770935433968
        }, {
            x: .4320759415479899,
            y: .5371737509489357
        }, {
            x: 1.0607488615779719,
            y: .5393604311409329
        }, {
            x: .750239148204471,
            y: .2157305427729571
        }],
        bumpers: [{
            x: 1.2200039089886996,
            y: .8671502195884263,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7489323102669996,
            y: .7660559954030692,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .674425267930072,
            y: .5391469896049549,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .531197039688317,
            y: .5391469896049549,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9608814241176107,
            y: .5391469896049549,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8176531958758556,
            y: .5391469896049549,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7489323102669996,
            y: .4588262647805673,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .7489323102669996,
            y: .3177848668787953,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .7489323102669996,
            y: .6228278797723033,
            w: .15,
            h: .04,
            rotation: -1.5707963267948966
        }, {
            x: .23599408765879656,
            y: .8671502195884263,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.641793076255958
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5315703782648182,
            y: .34037165154976756
        }, {
            x: .8890939409882381,
            y: .026581922580395247
        }, {
            x: 1.2225639840626923,
            y: .028768619194828433
        }, {
            x: 1.4762198622962794,
            y: .505466756785488
        }, {
            x: 1.139469836470826,
            y: .5032800765934908
        }, {
            x: .5293836980728209,
            y: .6607215383982454
        }, {
            x: 1.2225639840626925,
            y: .9777914424957239
        }, {
            x: .885813958237239,
            y: .9756047623037267
        }],
        bumpers: [{
            x: 1.3796321635964408,
            y: .5074400142100055,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5955529926207839,
            y: .26791460188394206,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .9827482448060809,
            y: .030741782776854906,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1270696629958488,
            y: .030741782776854906,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.236404123039668,
            y: .5074400142100055,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .8018108932586143,
            y: .9343345067393553,
            w: .15,
            h: .04,
            rotation: .7853981633974483
        }, {
            x: .7001300015717676,
            y: .8303208526610234,
            w: .15,
            h: .04,
            rotation: .7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .597355657177933,
            y: .7287450036710265,
            w: .15,
            h: .04,
            rotation: .7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .802195059041448,
            y: .06723330008265924,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: .6983273370146184,
            y: .16822050817760925,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .5955529926207839,
            y: .26791460188394206,
            w: .15,
            h: .04,
            rotation: -.7853981633974483,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.1259762853628539,
            y: .9797646999202414,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9827482448060809,
            y: .9797646999202414,
            w: .15,
            h: .04,
            rotation: 0
        }],
        obstacles: [],
        finishLine: 1.8779554378795742
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .5807711142602157,
            y: .5087467583049858
        }, {
            x: .24402108843476217,
            y: .5065600781129886
        }, {
            x: 1.800943259676738,
            y: .5065601344184831
        }, {
            x: 1.4641932338512846,
            y: .5043734542264859
        }, {
            x: 1.1482167073868013,
            y: .21682390163745416
        }, {
            x: .8114666815613478,
            y: .21463722144545697
        }, {
            x: 1.1307232658508235,
            y: .7798961906855402
        }, {
            x: .79397324002537,
            y: .777709510493543
        }],
        bumpers: [{
            x: .48418341556037686,
            y: .5107200157295034,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .3409553750036041,
            y: .5107200157295034,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.7043555609768994,
            y: .5085333918430007,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.5611275204201267,
            y: .5085333918430007,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.0516290086869626,
            y: .21879715906197172,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .9084009681301898,
            y: .21879715906197172,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: 1.0341355671509846,
            y: .7818694481100577,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }, {
            x: .8909075265942119,
            y: .7818694481100577,
            w: .15,
            h: .04,
            rotation: 0,
            bounce: {
                bounce: 1.5
            }
        }],
        obstacles: [],
        finishLine: 2.1022080973007
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .45315857693871675,
            y: .15902275324055276
        }, {
            x: 1.4502470284815152,
            y: .3589775407821251
        }, {
            x: .9147300097931415,
            y: .16120941466405173
        }],
        bumpers: [{
            x: 1.3890948654964987,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5814073255885182,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .609540449163761,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8018529092557806,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.0009576674741278,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.193270127566147,
            y: .9030700425552863,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.6514676504773758
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .36551816304678486,
            y: .16011603703105678
        }, {
            x: 1.2807787505467825,
            y: .15902265939806162
        }, {
            x: .8250757465512905,
            y: .15902265939806162
        }],
        bumpers: [{
            x: 1.5837101533241815,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.776022613416201,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .804155736991444,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9964681970834631,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1955729553018106,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3878854153938296,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.847176240864061
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: .5325879920702703,
            y: .320837650503295
        }, {
            x: 1.5716081920443226,
            y: .18088957392902352
        }, {
            x: 1.0153176739949794,
            y: .18088957392902352
        }, {
            x: 1.0153176739949794,
            y: .4651590686930629
        }],
        bumpers: [{
            x: 1.5837101533241815,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.776022613416201,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .804155736991444,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9964681970834631,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1955729553018106,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3878854153938296,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.847176240864061
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: 1.5716081920443226,
            y: .18088957392902352
        }, {
            x: 1.1027851819708405,
            y: .4465722495240901
        }],
        bumpers: [{
            x: 1.5837101533241815,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.776022613416201,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5614333723288328,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9964681970834631,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1955729553018106,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3878854153938296,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .783382162556481,
            y: .9008832872892962,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.847176240864061
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: 1.652515734518185,
            y: .48374590663053413
        }, {
            x: .6129669045766412,
            y: .06062170354096917
        }, {
            x: 1.077638247151883,
            y: .057341678560848756
        }],
        bumpers: [{
            x: 1.5170161447092911,
            y: .8287224655834232,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.925927179925601,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.210080470840478,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.2349333489057472,
            y: .8287224655834232,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.3758586368008487,
            y: .8287224655834232,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.068061842849377,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5614333723288333,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8455866632437112,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7035680352526108,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 1.9805641079458571
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: 2.6365254995425937,
            y: .057341678560848756
        }, {
            x: 1.8791762790361088,
            y: .057341678560848756
        }, {
            x: 1.1421455568062786,
            y: .057341678560848756
        }, {
            x: 1.4786739460514724,
            y: .3765981267787122
        }, {
            x: 2.2451082436952308,
            y: .3765981267787122
        }],
        bumpers: [{
            x: 1.2710136846846911,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.4153354407074277,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.6994887316223046,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9889308888811471,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1298561767762487,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.5574701036312035,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5614333723288333,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .8455866632437112,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7035680352526108,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.8406461269197585,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.977607845821259,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.8355892178301576,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.1247994178346357,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.9827807898435343,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.4101622714631716,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.26814364347207,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.6922451423407088,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.5502265143496072,
            y: .955550442237213,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.030174579026154
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .25,
            y: .2
        },
        background: "background_0",
        hooks: [{
            x: .371272283462582,
            y: .1326630204766832
        }, {
            x: 2.573267757701992,
            y: .1326630204766832
        }, {
            x: 2.118436475990738,
            y: .1326630204766832
        }, {
            x: 1.568484343168628,
            y: .1326630204766832
        }, {
            x: .9562114870416294,
            y: .1326630204766832
        }],
        bumpers: [{
            x: 2.190036544500445,
            y: .8409571924836732,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 2.761467830785278,
            y: .7039716122598761,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.0664885881346513,
            y: .9103847569400134,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 2.314891282498215,
            y: .8409897426798404,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .6845013765389022,
            y: .8291791937023983,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: .9339974109984657,
            y: .901527887325317,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: .560953420173108,
            y: .8986067581587386,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: .8093561145366728,
            y: .8292117438985656,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 1.1874398101590788,
            y: .833572003723965,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 1.4369358446186427,
            y: .9059206973468836,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 1.0638918537932842,
            y: .9029995681803052,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 1.3122945481568498,
            y: .8336045539201322,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 1.6881915260502611,
            y: .8368272957330857,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 1.937687560509825,
            y: .9091759893560043,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 1.5646435696844665,
            y: .9062548601894259,
            w: .15,
            h: .04,
            rotation: -.5235987755982988
        }, {
            x: 1.813046264048032,
            y: .8368598459292529,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 2.4395325789600073,
            y: .9133058861065918,
            w: .15,
            h: .04,
            rotation: .5235987755982988
        }, {
            x: 2.5591992748965944,
            y: .9013103191410847,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }, {
            x: 2.6608802416574338,
            y: .8024004702014387,
            w: .15,
            h: .04,
            rotation: -.7853981633974483
        }],
        finishLine: 2.640094250893681
    }
}, function(t) {
    t.exports = {
        spawnPoint: {
            x: .2849726859337645,
            y: .3234973011121073
        },
        background: "background_0",
        hooks: [{
            x: 3.0388761751184417,
            y: .3394245447462612
        }, {
            x: 2.2442366152534845,
            y: .3394245447462612
        }, {
            x: 1.0172827363752155,
            y: .3394245447462612
        }, {
            x: .6107802994586365,
            y: .34051780976826695
        }, {
            x: 1.8121440078944249,
            y: .3394245447462612
        }, {
            x: 1.4056415709778458,
            y: .3394245447462612
        }, {
            x: 2.6507390521700636,
            y: .3394245447462612
        }],
        bumpers: [{
            x: 3.0258313517273274,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.4433725472609984,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.0035545707319793,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.43858939548661,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.637694153704957,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.830006613796976,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 2.2255033609596273,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.582616813228183,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.7749292733202024,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .5603400322328341,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .9953748569874646,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.1944796152058121,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 1.386792075297831,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: .7822888224604823,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }, {
            x: 3.2181438118193473,
            y: .8298158807534144,
            w: .15,
            h: .04,
            rotation: 0
        }],
        finishLine: 3.1537226104659406
    }
}, function(t, e) {
    var n = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "_keyStr", "length", "replace", "indexOf", "fromCharCode", "n", "bG9jYWxob3N0Lw==", "cWEtZmlsZXMucG9raS5jb20=", "Z2FtZS1jZG4ucG9raS5jb20=", "bG9jYWxob3N0Og==", "decode", "href", "location", "www", "//", "split", "substr", "aHR0cDovL3BvLmtpL3NpdGVsb2NrcmVkaXJlY3Q=", "top"];
    ! function() {
        for (var t = {
                _keyStr: n[0],
                encode: function(e) {
                    var r, i, o, a, s, A, h, c = n[1],
                        u = 0;
                    for (e = t._utf8_encode(e); u < e[n[5]];) a = (r = e[n[2]](u++)) >> 2, s = (3 & r) << 4 | (i = e[n[2]](u++)) >> 4, A = (15 & i) << 2 | (o = e[n[2]](u++)) >> 6, h = 63 & o, isNaN(i) ? A = h = 64 : isNaN(o) && (h = 64), c = c + this[n[4]][n[3]](a) + this[n[4]][n[3]](s) + this[n[4]][n[3]](A) + this[n[4]][n[3]](h);
                    return c
                },
                decode: function(e) {
                    var r, i, o, a, s, A, h = n[1],
                        c = 0;
                    for (e = e[n[6]](/[^A-Za-z0-9+\/=]/g, n[1]); c < e[n[5]];) r = this[n[4]][n[7]](e[n[3]](c++)) << 2 | (a = this[n[4]][n[7]](e[n[3]](c++))) >> 4, i = (15 & a) << 4 | (s = this[n[4]][n[7]](e[n[3]](c++))) >> 2, o = (3 & s) << 6 | (A = this[n[4]][n[7]](e[n[3]](c++))), h += String[n[8]](r), 64 != s && (h += String[n[8]](i)), 64 != A && (h += String[n[8]](o));
                    return h = t._utf8_decode(h)
                },
                _utf8_encode: function(t) {
                    t = t[n[6]](/rn/g, n[9]);
                    for (var e = n[1], r = 0; r < t[n[5]]; r++) {
                        var i = t[n[2]](r);
                        i < 128 ? e += String[n[8]](i) : i > 127 && i < 2048 ? (e += String[n[8]](i >> 6 | 192), e += String[n[8]](63 & i | 128)) : (e += String[n[8]](i >> 12 | 224), e += String[n[8]](i >> 6 & 63 | 128), e += String[n[8]](63 & i | 128))
                    }
                    return e
                },
                _utf8_decode: function(t) {
                    for (var e = n[1], r = 0, i = c1 = c2 = 0; r < t[n[5]];)(i = t[n[2]](r)) < 128 ? (e += String[n[8]](i), r++) : i > 191 && i < 224 ? (c2 = t[n[2]](r + 1), e += String[n[8]]((31 & i) << 6 | 63 & c2), r += 2) : (c2 = t[n[2]](r + 1), c3 = t[n[2]](r + 2), e += String[n[8]]((15 & i) << 12 | (63 & c2) << 6 | 63 & c3), r += 3);
                    return e
                }
            }, e = [n[10], n[11], n[12], n[13]], r = !1, i = 0; i < e[n[5]]; i++) {
            var o = t[n[14]](e[i]),
                a = window[n[16]][n[15]];
            if ((a = a[n[19]](n[18])[1][n[6]](n[17], n[1]))[n[5]] > o[n[5]] && (a = a[n[20]](0, o[n[5]])), o === a) {
                r = !0;
                break
            }
        }
    }()
}, function(t, e, n) {
    "use strict";
    n.r(e);
    var r = {};
    n.r(r), n.d(r, "isMobile", function() {
        return E.a
    }), n.d(r, "EventEmitter", function() {
        return k.a
    }), n.d(r, "earcut", function() {
        return D.a
    }), n.d(r, "url", function() {
        return R.a
    }), n.d(r, "BaseTextureCache", function() {
        return yt
    }), n.d(r, "CanvasRenderTarget", function() {
        return wt
    }), n.d(r, "DATA_URI", function() {
        return _t
    }), n.d(r, "ProgramCache", function() {
        return pt
    }), n.d(r, "TextureCache", function() {
        return ft
    }), n.d(r, "clearTextureCache", function() {
        return mt
    }), n.d(r, "correctBlendMode", function() {
        return nt
    }), n.d(r, "createIndicesForQuads", function() {
        return at
    }), n.d(r, "decomposeDataUri", function() {
        return St
    }), n.d(r, "deprecation", function() {
        return kt
    }), n.d(r, "destroyTextureCache", function() {
        return xt
    }), n.d(r, "determineCrossOrigin", function() {
        return Et
    }), n.d(r, "getResolutionOfUrl", function() {
        return Ct
    }), n.d(r, "hex2rgb", function() {
        return J
    }), n.d(r, "hex2string", function() {
        return Z
    }), n.d(r, "isPow2", function() {
        return lt
    }), n.d(r, "isWebGLSupported", function() {
        return q
    }), n.d(r, "log2", function() {
        return dt
    }), n.d(r, "nextPow2", function() {
        return ut
    }), n.d(r, "premultiplyBlendMode", function() {
        return et
    }), n.d(r, "premultiplyRgba", function() {
        return rt
    }), n.d(r, "premultiplyTint", function() {
        return it
    }), n.d(r, "premultiplyTintToRgba", function() {
        return ot
    }), n.d(r, "removeItems", function() {
        return st
    }), n.d(r, "rgb2hex", function() {
        return tt
    }), n.d(r, "sayHello", function() {
        return V
    }), n.d(r, "sign", function() {
        return ct
    }), n.d(r, "skipHello", function() {
        return K
    }), n.d(r, "string2hex", function() {
        return $
    }), n.d(r, "trimCanvas", function() {
        return gt
    }), n.d(r, "uid", function() {
        return ht
    });
    var i = n(10),
        o = n.n(i),
        a = n(15),
        s = n.n(a),
        A = n(8),
        h = n.n(A),
        c = n(17),
        u = n.n(c),
        l = n(2),
        d = n.n(l),
        p = n(4),
        f = n.n(p),
        y = n(1),
        x = n.n(y),
        m = n(0),
        g = n.n(m),
        w = n(7),
        v = n.n(w),
        b = n(3),
        _ = n.n(b),
        S = (n(129), n(9)),
        E = n.n(S);
    var C = {
            MIPMAP_TEXTURES: 1,
            RESOLUTION: 1,
            FILTER_RESOLUTION: 1,
            SPRITE_MAX_TEXTURES:
                /*!
                 * @pixi/settings - v5.0.4
                 * Compiled Fri, 07 Jun 2019 17:17:49 UTC
                 *
                 * @pixi/settings is licensed under the MIT License.
                 * http://www.opensource.org/licenses/mit-license
                 */
                function(t) {
                    var e = !0;
                    if (E.a.tablet || E.a.phone) {
                        if (e = !1, E.a.apple.device) {
                            var n = navigator.userAgent.match(/OS (\d+)_(\d+)?/);
                            n && parseInt(n[1], 10) >= 11 && (e = !0)
                        }
                        if (E.a.android.device) {
                            var r = navigator.userAgent.match(/Android\s([0-9.]*)/);
                            r && parseInt(r[1], 10) >= 7 && (e = !0)
                        }
                    }
                    return e ? t : 4
                }(32),
            SPRITE_BATCH_SIZE: 4096,
            RENDER_OPTIONS: {
                view: null,
                antialias: !1,
                forceFXAA: !1,
                autoDensity: !1,
                transparent: !1,
                backgroundColor: 0,
                clearBeforeRender: !0,
                preserveDrawingBuffer: !1,
                width: 800,
                height: 600,
                legacy: !1
            },
            GC_MODE: 0,
            GC_MAX_IDLE: 3600,
            GC_MAX_CHECK_COUNT: 600,
            WRAP_MODE: 33071,
            SCALE_MODE: 1,
            PRECISION_VERTEX: "highp",
            PRECISION_FRAGMENT: E.a.apple.device ? "highp" : "mediump",
            CAN_UPLOAD_SAME_BUFFER: !E.a.apple.device,
            CREATE_IMAGE_BITMAP: !1,
            ROUND_PIXELS: !1
        },
        T = n(21),
        k = n.n(T),
        I = n(22),
        D = n.n(I),
        P = n(12),
        R = n.n(P),
        B = {
            WEBGL_LEGACY: 0,
            WEBGL: 1,
            WEBGL2: 2
        },
        M = {
            UNKNOWN: 0,
            WEBGL: 1,
            CANVAS: 2
        },
        O = {
            NORMAL: 0,
            ADD: 1,
            MULTIPLY: 2,
            SCREEN: 3,
            OVERLAY: 4,
            DARKEN: 5,
            LIGHTEN: 6,
            COLOR_DODGE: 7,
            COLOR_BURN: 8,
            HARD_LIGHT: 9,
            SOFT_LIGHT: 10,
            DIFFERENCE: 11,
            EXCLUSION: 12,
            HUE: 13,
            SATURATION: 14,
            COLOR: 15,
            LUMINOSITY: 16,
            NORMAL_NPM: 17,
            ADD_NPM: 18,
            SCREEN_NPM: 19,
            NONE: 20,
            SRC_OVER: 0,
            SRC_IN: 21,
            SRC_OUT: 22,
            SRC_ATOP: 23,
            DST_OVER: 24,
            DST_IN: 25,
            DST_OUT: 26,
            DST_ATOP: 27,
            ERASE: 26,
            SUBTRACT: 28
        },
        L = {
            POINTS: 0,
            LINES: 1,
            LINE_LOOP: 2,
            LINE_STRIP: 3,
            TRIANGLES: 4,
            TRIANGLE_STRIP: 5,
            TRIANGLE_FAN: 6
        },
        H = {
            RGBA: 6408,
            RGB: 6407,
            ALPHA: 6406,
            LUMINANCE: 6409,
            LUMINANCE_ALPHA: 6410,
            DEPTH_COMPONENT: 6402,
            DEPTH_STENCIL: 34041
        },
        z = {
            TEXTURE_2D: 3553,
            TEXTURE_CUBE_MAP: 34067,
            TEXTURE_2D_ARRAY: 35866,
            TEXTURE_CUBE_MAP_POSITIVE_X: 34069,
            TEXTURE_CUBE_MAP_NEGATIVE_X: 34070,
            TEXTURE_CUBE_MAP_POSITIVE_Y: 34071,
            TEXTURE_CUBE_MAP_NEGATIVE_Y: 34072,
            TEXTURE_CUBE_MAP_POSITIVE_Z: 34073,
            TEXTURE_CUBE_MAP_NEGATIVE_Z: 34074
        },
        F = {
            UNSIGNED_BYTE: 5121,
            UNSIGNED_SHORT: 5123,
            UNSIGNED_SHORT_5_6_5: 33635,
            UNSIGNED_SHORT_4_4_4_4: 32819,
            UNSIGNED_SHORT_5_5_5_1: 32820,
            FLOAT: 5126,
            HALF_FLOAT: 36193
        },
        N = 33071,
        U = 10497,
        Q = 1,
        j = 1,
        X = {
            LOW: "lowp",
            MEDIUM: "mediump",
            HIGH: "highp"
        };
    /*!
     * @pixi/utils - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/utils is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    C.RETINA_PREFIX = /@([0-9\.]+)x/;
    var G, W = !1,
        Y = "5.0.4";

    function K() {
        W = !0
    }

    function V(t) {
        if (!W) {
            if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1) {
                var e = ["\n %c %c %c PixiJS " + Y + " - ✰ " + t + " ✰  %c  %c  http://www.pixijs.com/  %c %c ♥%c♥%c♥ \n\n", "background: #ff66a5; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "color: #ff66a5; background: #030307; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "background: #ffc3dc; padding:5px 0;", "background: #ff66a5; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;", "color: #ff2424; background: #fff; padding:5px 0;"];
                window.console.log.apply(console, e)
            } else window.console && window.console.log("PixiJS " + Y + " - " + t + " - http://www.pixijs.com/");
            W = !0
        }
    }

    function q() {
        return void 0 === G && (G = function() {
            var t = {
                stencil: !0,
                failIfMajorPerformanceCaveat: !0
            };
            try {
                if (!window.WebGLRenderingContext) return !1;
                var e = document.createElement("canvas"),
                    n = e.getContext("webgl", t) || e.getContext("experimental-webgl", t),
                    r = !(!n || !n.getContextAttributes().stencil);
                if (n) {
                    var i = n.getExtension("WEBGL_lose_context");
                    i && i.loseContext()
                }
                return n = null, r
            } catch (t) {
                return !1
            }
        }()), G
    }

    function J(t, e) {
        return (e = e || [])[0] = (t >> 16 & 255) / 255, e[1] = (t >> 8 & 255) / 255, e[2] = (255 & t) / 255, e
    }

    function Z(t) {
        return t = t.toString(16), "#" + (t = "000000".substr(0, 6 - t.length) + t)
    }

    function $(t) {
        return "string" == typeof t && "#" === t[0] && (t = t.substr(1)), parseInt(t, 16)
    }

    function tt(t) {
        return (255 * t[0] << 16) + (255 * t[1] << 8) + (255 * t[2] | 0)
    }
    var et = function() {
        for (var t = [], e = [], n = 0; n < 32; n++) t[n] = n, e[n] = n;
        t[O.NORMAL_NPM] = O.NORMAL, t[O.ADD_NPM] = O.ADD, t[O.SCREEN_NPM] = O.SCREEN, e[O.NORMAL] = O.NORMAL_NPM, e[O.ADD] = O.ADD_NPM, e[O.SCREEN] = O.SCREEN_NPM;
        var r = [];
        return r.push(e), r.push(t), r
    }();

    function nt(t, e) {
        return et[e ? 1 : 0][t]
    }

    function rt(t, e, n, r) {
        return n = n || new Float32Array(4), r || void 0 === r ? (n[0] = t[0] * e, n[1] = t[1] * e, n[2] = t[2] * e) : (n[0] = t[0], n[1] = t[1], n[2] = t[2]), n[3] = e, n
    }

    function it(t, e) {
        if (1 === e) return (255 * e << 24) + t;
        if (0 === e) return 0;
        var n = t >> 16 & 255,
            r = t >> 8 & 255,
            i = 255 & t;
        return (255 * e << 24) + ((n = n * e + .5 | 0) << 16) + ((r = r * e + .5 | 0) << 8) + (i = i * e + .5 | 0)
    }

    function ot(t, e, n, r) {
        return (n = n || new Float32Array(4))[0] = (t >> 16 & 255) / 255, n[1] = (t >> 8 & 255) / 255, n[2] = (255 & t) / 255, (r || void 0 === r) && (n[0] *= e, n[1] *= e, n[2] *= e), n[3] = e, n
    }

    function at(t) {
        for (var e = 6 * t, n = new Uint16Array(e), r = 0, i = 0; r < e; r += 6, i += 4) n[r + 0] = i + 0, n[r + 1] = i + 1, n[r + 2] = i + 2, n[r + 3] = i + 0, n[r + 4] = i + 2, n[r + 5] = i + 3;
        return n
    }

    function st(t, e, n) {
        var r, i = t.length;
        if (!(e >= i || 0 === n)) {
            var o = i - (n = e + n > i ? i - e : n);
            for (r = e; r < o; ++r) t[r] = t[r + n];
            t.length = o
        }
    }
    var At = 0;

    function ht() {
        return ++At
    }

    function ct(t) {
        return 0 === t ? 0 : t < 0 ? -1 : 1
    }

    function ut(t) {
        return t += 0 === t, --t, t |= t >>> 1, t |= t >>> 2, t |= t >>> 4, t |= t >>> 8, (t |= t >>> 16) + 1
    }

    function lt(t) {
        return !(t & t - 1 || !t)
    }

    function dt(t) {
        var e = (t > 65535) << 4,
            n = ((t >>>= e) > 255) << 3;
        return e |= n, e |= n = ((t >>>= n) > 15) << 2, (e |= n = ((t >>>= n) > 3) << 1) | (t >>>= n) >> 1
    }
    var pt = {},
        ft = Object.create(null),
        yt = Object.create(null);

    function xt() {
        var t;
        for (t in ft) ft[t].destroy();
        for (t in yt) yt[t].destroy()
    }

    function mt() {
        var t;
        for (t in ft) delete ft[t];
        for (t in yt) delete yt[t]
    }

    function gt(t) {
        var e, n, r, i = t.width,
            o = t.height,
            a = t.getContext("2d"),
            s = a.getImageData(0, 0, i, o).data,
            A = s.length,
            h = {
                top: null,
                left: null,
                right: null,
                bottom: null
            },
            c = null;
        for (e = 0; e < A; e += 4) 0 !== s[e + 3] && (n = e / 4 % i, r = ~~(e / 4 / i), null === h.top && (h.top = r), null === h.left ? h.left = n : n < h.left && (h.left = n), null === h.right ? h.right = n + 1 : h.right < n && (h.right = n + 1), null === h.bottom ? h.bottom = r : h.bottom < r && (h.bottom = r));
        return null !== h.top && (i = h.right - h.left, o = h.bottom - h.top + 1, c = a.getImageData(h.left, h.top, i, o)), {
            height: o,
            width: i,
            data: c
        }
    }
    var wt = function(t, e, n) {
            this.canvas = document.createElement("canvas"), this.context = this.canvas.getContext("2d"), this.resolution = n || C.RESOLUTION, this.resize(t, e)
        },
        vt = {
            width: {
                configurable: !0
            },
            height: {
                configurable: !0
            }
        };
    wt.prototype.clear = function() {
        this.context.setTransform(1, 0, 0, 1, 0, 0), this.context.clearRect(0, 0, this.canvas.width, this.canvas.height)
    }, wt.prototype.resize = function(t, e) {
        this.canvas.width = t * this.resolution, this.canvas.height = e * this.resolution
    }, wt.prototype.destroy = function() {
        this.context = null, this.canvas = null
    }, vt.width.get = function() {
        return this.canvas.width
    }, vt.width.set = function(t) {
        this.canvas.width = t
    }, vt.height.get = function() {
        return this.canvas.height
    }, vt.height.set = function(t) {
        this.canvas.height = t
    }, Object.defineProperties(wt.prototype, vt);
    var bt, _t = /^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i;

    function St(t) {
        var e = _t.exec(t);
        if (e) return {
            mediaType: e[1] ? e[1].toLowerCase() : void 0,
            subType: e[2] ? e[2].toLowerCase() : void 0,
            charset: e[3] ? e[3].toLowerCase() : void 0,
            encoding: e[4] ? e[4].toLowerCase() : void 0,
            data: e[5]
        }
    }

    function Et(t, e) {
        if (void 0 === e && (e = window.location), 0 === t.indexOf("data:")) return "";
        e = e || window.location, bt || (bt = document.createElement("a")), bt.href = t;
        var n = !(t = R.a.parse(bt.href)).port && "" === e.port || t.port === e.port;
        return t.hostname === e.hostname && n && t.protocol === e.protocol ? "" : "anonymous"
    }

    function Ct(t, e) {
        var n = C.RETINA_PREFIX.exec(t);
        return n ? parseFloat(n[1]) : void 0 !== e ? e : 1
    }
    var Tt = {};

    function kt(t, e, n) {
        if (void 0 === n && (n = 3), !Tt[e]) {
            var r = (new Error).stack;
            void 0 === r ? console.warn("PixiJS Deprecation Warning: ", e + "\nDeprecated since v" + t) : (r = r.split("\n").splice(n).join("\n"), console.groupCollapsed ? (console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s", "color:#614108;background:#fffbe6", "font-weight:normal;color:#614108;background:#fffbe6", e + "\nDeprecated since v" + t), console.warn(r), console.groupEnd()) : (console.warn("PixiJS Deprecation Warning: ", e + "\nDeprecated since v" + t), console.warn(r))), Tt[e] = !0
        }
    }
    /*!
     * @pixi/math - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/math is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var It = function(t, e) {
        void 0 === t && (t = 0), void 0 === e && (e = 0), this.x = t, this.y = e
    };
    It.prototype.clone = function() {
        return new It(this.x, this.y)
    }, It.prototype.copyFrom = function(t) {
        return this.set(t.x, t.y), this
    }, It.prototype.copyTo = function(t) {
        return t.set(this.x, this.y), t
    }, It.prototype.equals = function(t) {
        return t.x === this.x && t.y === this.y
    }, It.prototype.set = function(t, e) {
        this.x = t || 0, this.y = e || (0 !== e ? this.x : 0)
    };
    var Dt = function(t, e, n, r) {
            void 0 === n && (n = 0), void 0 === r && (r = 0), this._x = n, this._y = r, this.cb = t, this.scope = e
        },
        Pt = {
            x: {
                configurable: !0
            },
            y: {
                configurable: !0
            }
        };
    Dt.prototype.clone = function(t, e) {
        void 0 === t && (t = null), void 0 === e && (e = null);
        var n = t || this.cb,
            r = e || this.scope;
        return new Dt(n, r, this._x, this._y)
    }, Dt.prototype.set = function(t, e) {
        var n = t || 0,
            r = e || (0 !== e ? n : 0);
        this._x === n && this._y === r || (this._x = n, this._y = r, this.cb.call(this.scope))
    }, Dt.prototype.copyFrom = function(t) {
        return this._x === t.x && this._y === t.y || (this._x = t.x, this._y = t.y, this.cb.call(this.scope)), this
    }, Dt.prototype.copyTo = function(t) {
        return t.set(this._x, this._y), t
    }, Dt.prototype.equals = function(t) {
        return t.x === this._x && t.y === this._y
    }, Pt.x.get = function() {
        return this._x
    }, Pt.x.set = function(t) {
        this._x !== t && (this._x = t, this.cb.call(this.scope))
    }, Pt.y.get = function() {
        return this._y
    }, Pt.y.set = function(t) {
        this._y !== t && (this._y = t, this.cb.call(this.scope))
    }, Object.defineProperties(Dt.prototype, Pt);
    var Rt = 2 * Math.PI,
        Bt = 180 / Math.PI,
        Mt = Math.PI / 180,
        Ot = {
            POLY: 0,
            RECT: 1,
            CIRC: 2,
            ELIP: 3,
            RREC: 4
        },
        Lt = function(t, e, n, r, i, o) {
            void 0 === t && (t = 1), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 1), void 0 === i && (i = 0), void 0 === o && (o = 0), this.a = t, this.b = e, this.c = n, this.d = r, this.tx = i, this.ty = o, this.array = null
        },
        Ht = {
            IDENTITY: {
                configurable: !0
            },
            TEMP_MATRIX: {
                configurable: !0
            }
        };
    Lt.prototype.fromArray = function(t) {
        this.a = t[0], this.b = t[1], this.c = t[3], this.d = t[4], this.tx = t[2], this.ty = t[5]
    }, Lt.prototype.set = function(t, e, n, r, i, o) {
        return this.a = t, this.b = e, this.c = n, this.d = r, this.tx = i, this.ty = o, this
    }, Lt.prototype.toArray = function(t, e) {
        this.array || (this.array = new Float32Array(9));
        var n = e || this.array;
        return t ? (n[0] = this.a, n[1] = this.b, n[2] = 0, n[3] = this.c, n[4] = this.d, n[5] = 0, n[6] = this.tx, n[7] = this.ty, n[8] = 1) : (n[0] = this.a, n[1] = this.c, n[2] = this.tx, n[3] = this.b, n[4] = this.d, n[5] = this.ty, n[6] = 0, n[7] = 0, n[8] = 1), n
    }, Lt.prototype.apply = function(t, e) {
        e = e || new It;
        var n = t.x,
            r = t.y;
        return e.x = this.a * n + this.c * r + this.tx, e.y = this.b * n + this.d * r + this.ty, e
    }, Lt.prototype.applyInverse = function(t, e) {
        e = e || new It;
        var n = 1 / (this.a * this.d + this.c * -this.b),
            r = t.x,
            i = t.y;
        return e.x = this.d * n * r + -this.c * n * i + (this.ty * this.c - this.tx * this.d) * n, e.y = this.a * n * i + -this.b * n * r + (-this.ty * this.a + this.tx * this.b) * n, e
    }, Lt.prototype.translate = function(t, e) {
        return this.tx += t, this.ty += e, this
    }, Lt.prototype.scale = function(t, e) {
        return this.a *= t, this.d *= e, this.c *= t, this.b *= e, this.tx *= t, this.ty *= e, this
    }, Lt.prototype.rotate = function(t) {
        var e = Math.cos(t),
            n = Math.sin(t),
            r = this.a,
            i = this.c,
            o = this.tx;
        return this.a = r * e - this.b * n, this.b = r * n + this.b * e, this.c = i * e - this.d * n, this.d = i * n + this.d * e, this.tx = o * e - this.ty * n, this.ty = o * n + this.ty * e, this
    }, Lt.prototype.append = function(t) {
        var e = this.a,
            n = this.b,
            r = this.c,
            i = this.d;
        return this.a = t.a * e + t.b * r, this.b = t.a * n + t.b * i, this.c = t.c * e + t.d * r, this.d = t.c * n + t.d * i, this.tx = t.tx * e + t.ty * r + this.tx, this.ty = t.tx * n + t.ty * i + this.ty, this
    }, Lt.prototype.setTransform = function(t, e, n, r, i, o, a, s, A) {
        return this.a = Math.cos(a + A) * i, this.b = Math.sin(a + A) * i, this.c = -Math.sin(a - s) * o, this.d = Math.cos(a - s) * o, this.tx = t - (n * this.a + r * this.c), this.ty = e - (n * this.b + r * this.d), this
    }, Lt.prototype.prepend = function(t) {
        var e = this.tx;
        if (1 !== t.a || 0 !== t.b || 0 !== t.c || 1 !== t.d) {
            var n = this.a,
                r = this.c;
            this.a = n * t.a + this.b * t.c, this.b = n * t.b + this.b * t.d, this.c = r * t.a + this.d * t.c, this.d = r * t.b + this.d * t.d
        }
        return this.tx = e * t.a + this.ty * t.c + t.tx, this.ty = e * t.b + this.ty * t.d + t.ty, this
    }, Lt.prototype.decompose = function(t) {
        var e = this.a,
            n = this.b,
            r = this.c,
            i = this.d,
            o = -Math.atan2(-r, i),
            a = Math.atan2(n, e),
            s = Math.abs(o + a);
        return s < 1e-5 || Math.abs(Rt - s) < 1e-5 ? (t.rotation = a, t.skew.x = t.skew.y = 0) : (t.rotation = 0, t.skew.x = o, t.skew.y = a), t.scale.x = Math.sqrt(e * e + n * n), t.scale.y = Math.sqrt(r * r + i * i), t.position.x = this.tx, t.position.y = this.ty, t
    }, Lt.prototype.invert = function() {
        var t = this.a,
            e = this.b,
            n = this.c,
            r = this.d,
            i = this.tx,
            o = t * r - e * n;
        return this.a = r / o, this.b = -e / o, this.c = -n / o, this.d = t / o, this.tx = (n * this.ty - r * i) / o, this.ty = -(t * this.ty - e * i) / o, this
    }, Lt.prototype.identity = function() {
        return this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.tx = 0, this.ty = 0, this
    }, Lt.prototype.clone = function() {
        var t = new Lt;
        return t.a = this.a, t.b = this.b, t.c = this.c, t.d = this.d, t.tx = this.tx, t.ty = this.ty, t
    }, Lt.prototype.copyTo = function(t) {
        return t.a = this.a, t.b = this.b, t.c = this.c, t.d = this.d, t.tx = this.tx, t.ty = this.ty, t
    }, Lt.prototype.copyFrom = function(t) {
        return this.a = t.a, this.b = t.b, this.c = t.c, this.d = t.d, this.tx = t.tx, this.ty = t.ty, this
    }, Ht.IDENTITY.get = function() {
        return new Lt
    }, Ht.TEMP_MATRIX.get = function() {
        return new Lt
    }, Object.defineProperties(Lt, Ht);
    var zt = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1],
        Ft = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1],
        Nt = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1],
        Ut = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1],
        Qt = [],
        jt = [];

    function Xt(t) {
        return t < 0 ? -1 : t > 0 ? 1 : 0
    }! function() {
        for (var t = 0; t < 16; t++) {
            var e = [];
            jt.push(e);
            for (var n = 0; n < 16; n++)
                for (var r = Xt(zt[t] * zt[n] + Nt[t] * Ft[n]), i = Xt(Ft[t] * zt[n] + Ut[t] * Ft[n]), o = Xt(zt[t] * Nt[n] + Nt[t] * Ut[n]), a = Xt(Ft[t] * Nt[n] + Ut[t] * Ut[n]), s = 0; s < 16; s++)
                    if (zt[s] === r && Ft[s] === i && Nt[s] === o && Ut[s] === a) {
                        e.push(s);
                        break
                    }
        }
        for (var A = 0; A < 16; A++) {
            var h = new Lt;
            h.set(zt[A], Ft[A], Nt[A], Ut[A], 0, 0), Qt.push(h)
        }
    }();
    var Gt = {
            E: 0,
            SE: 1,
            S: 2,
            SW: 3,
            W: 4,
            NW: 5,
            N: 6,
            NE: 7,
            MIRROR_VERTICAL: 8,
            MIRROR_HORIZONTAL: 12,
            uX: function(t) {
                return zt[t]
            },
            uY: function(t) {
                return Ft[t]
            },
            vX: function(t) {
                return Nt[t]
            },
            vY: function(t) {
                return Ut[t]
            },
            inv: function(t) {
                return 8 & t ? 15 & t : 7 & -t
            },
            add: function(t, e) {
                return jt[t][e]
            },
            sub: function(t, e) {
                return jt[t][Gt.inv(e)]
            },
            rotate180: function(t) {
                return 4 ^ t
            },
            isVertical: function(t) {
                return 2 == (3 & t)
            },
            byDirection: function(t, e) {
                return 2 * Math.abs(t) <= Math.abs(e) ? e >= 0 ? Gt.S : Gt.N : 2 * Math.abs(e) <= Math.abs(t) ? t > 0 ? Gt.E : Gt.W : e > 0 ? t > 0 ? Gt.SE : Gt.SW : t > 0 ? Gt.NE : Gt.NW
            },
            matrixAppendRotationInv: function(t, e, n, r) {
                void 0 === n && (n = 0), void 0 === r && (r = 0);
                var i = Qt[Gt.inv(e)];
                i.tx = n, i.ty = r, t.append(i)
            }
        },
        Wt = function() {
            this.worldTransform = new Lt, this.localTransform = new Lt, this.position = new Dt(this.onChange, this, 0, 0), this.scale = new Dt(this.onChange, this, 1, 1), this.pivot = new Dt(this.onChange, this, 0, 0), this.skew = new Dt(this.updateSkew, this, 0, 0), this._rotation = 0, this._cx = 1, this._sx = 0, this._cy = 0, this._sy = 1, this._localID = 0, this._currentLocalID = 0, this._worldID = 0, this._parentID = 0
        },
        Yt = {
            rotation: {
                configurable: !0
            }
        };
    Wt.prototype.onChange = function() {
        this._localID++
    }, Wt.prototype.updateSkew = function() {
        this._cx = Math.cos(this._rotation + this.skew._y), this._sx = Math.sin(this._rotation + this.skew._y), this._cy = -Math.sin(this._rotation - this.skew._x), this._sy = Math.cos(this._rotation - this.skew._x), this._localID++
    }, Wt.prototype.updateLocalTransform = function() {
        var t = this.localTransform;
        this._localID !== this._currentLocalID && (t.a = this._cx * this.scale._x, t.b = this._sx * this.scale._x, t.c = this._cy * this.scale._y, t.d = this._sy * this.scale._y, t.tx = this.position._x - (this.pivot._x * t.a + this.pivot._y * t.c), t.ty = this.position._y - (this.pivot._x * t.b + this.pivot._y * t.d), this._currentLocalID = this._localID, this._parentID = -1)
    }, Wt.prototype.updateTransform = function(t) {
        var e = this.localTransform;
        if (this._localID !== this._currentLocalID && (e.a = this._cx * this.scale._x, e.b = this._sx * this.scale._x, e.c = this._cy * this.scale._y, e.d = this._sy * this.scale._y, e.tx = this.position._x - (this.pivot._x * e.a + this.pivot._y * e.c), e.ty = this.position._y - (this.pivot._x * e.b + this.pivot._y * e.d), this._currentLocalID = this._localID, this._parentID = -1), this._parentID !== t._worldID) {
            var n = t.worldTransform,
                r = this.worldTransform;
            r.a = e.a * n.a + e.b * n.c, r.b = e.a * n.b + e.b * n.d, r.c = e.c * n.a + e.d * n.c, r.d = e.c * n.b + e.d * n.d, r.tx = e.tx * n.a + e.ty * n.c + n.tx, r.ty = e.tx * n.b + e.ty * n.d + n.ty, this._parentID = t._worldID, this._worldID++
        }
    }, Wt.prototype.setFromMatrix = function(t) {
        t.decompose(this), this._localID++
    }, Yt.rotation.get = function() {
        return this._rotation
    }, Yt.rotation.set = function(t) {
        this._rotation !== t && (this._rotation = t, this.updateSkew())
    }, Object.defineProperties(Wt.prototype, Yt), Wt.IDENTITY = new Wt;
    var Kt = function(t, e, n, r) {
            void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 0), this.x = Number(t), this.y = Number(e), this.width = Number(n), this.height = Number(r), this.type = Ot.RECT
        },
        Vt = {
            left: {
                configurable: !0
            },
            right: {
                configurable: !0
            },
            top: {
                configurable: !0
            },
            bottom: {
                configurable: !0
            }
        },
        qt = {
            EMPTY: {
                configurable: !0
            }
        };
    Vt.left.get = function() {
        return this.x
    }, Vt.right.get = function() {
        return this.x + this.width
    }, Vt.top.get = function() {
        return this.y
    }, Vt.bottom.get = function() {
        return this.y + this.height
    }, qt.EMPTY.get = function() {
        return new Kt(0, 0, 0, 0)
    }, Kt.prototype.clone = function() {
        return new Kt(this.x, this.y, this.width, this.height)
    }, Kt.prototype.copyFrom = function(t) {
        return this.x = t.x, this.y = t.y, this.width = t.width, this.height = t.height, this
    }, Kt.prototype.copyTo = function(t) {
        return t.x = this.x, t.y = this.y, t.width = this.width, t.height = this.height, t
    }, Kt.prototype.contains = function(t, e) {
        return !(this.width <= 0 || this.height <= 0) && (t >= this.x && t < this.x + this.width && e >= this.y && e < this.y + this.height)
    }, Kt.prototype.pad = function(t, e) {
        t = t || 0, e = e || (0 !== e ? t : 0), this.x -= t, this.y -= e, this.width += 2 * t, this.height += 2 * e
    }, Kt.prototype.fit = function(t) {
        var e = Math.max(this.x, t.x),
            n = Math.min(this.x + this.width, t.x + t.width),
            r = Math.max(this.y, t.y),
            i = Math.min(this.y + this.height, t.y + t.height);
        this.x = e, this.width = Math.max(n - e, 0), this.y = r, this.height = Math.max(i - r, 0)
    }, Kt.prototype.ceil = function(t, e) {
        void 0 === t && (t = 1), void 0 === e && (e = .001);
        var n = Math.ceil((this.x + this.width - e) * t) / t,
            r = Math.ceil((this.y + this.height - e) * t) / t;
        this.x = Math.floor((this.x + e) * t) / t, this.y = Math.floor((this.y + e) * t) / t, this.width = n - this.x, this.height = r - this.y
    }, Kt.prototype.enlarge = function(t) {
        var e = Math.min(this.x, t.x),
            n = Math.max(this.x + this.width, t.x + t.width),
            r = Math.min(this.y, t.y),
            i = Math.max(this.y + this.height, t.y + t.height);
        this.x = e, this.width = n - e, this.y = r, this.height = i - r
    }, Object.defineProperties(Kt.prototype, Vt), Object.defineProperties(Kt, qt);
    var Jt = function(t, e, n) {
        void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 0), this.x = t, this.y = e, this.radius = n, this.type = Ot.CIRC
    };
    Jt.prototype.clone = function() {
        return new Jt(this.x, this.y, this.radius)
    }, Jt.prototype.contains = function(t, e) {
        if (this.radius <= 0) return !1;
        var n = this.radius * this.radius,
            r = this.x - t,
            i = this.y - e;
        return (r *= r) + (i *= i) <= n
    }, Jt.prototype.getBounds = function() {
        return new Kt(this.x - this.radius, this.y - this.radius, 2 * this.radius, 2 * this.radius)
    };
    var Zt = function(t, e, n, r) {
        void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 0), this.x = t, this.y = e, this.width = n, this.height = r, this.type = Ot.ELIP
    };
    Zt.prototype.clone = function() {
        return new Zt(this.x, this.y, this.width, this.height)
    }, Zt.prototype.contains = function(t, e) {
        if (this.width <= 0 || this.height <= 0) return !1;
        var n = (t - this.x) / this.width,
            r = (e - this.y) / this.height;
        return (n *= n) + (r *= r) <= 1
    }, Zt.prototype.getBounds = function() {
        return new Kt(this.x - this.width, this.y - this.height, this.width, this.height)
    };
    var $t = function() {
        for (var t = [], e = arguments.length; e--;) t[e] = arguments[e];
        if (Array.isArray(t[0]) && (t = t[0]), t[0] instanceof It) {
            for (var n = [], r = 0, i = t.length; r < i; r++) n.push(t[r].x, t[r].y);
            t = n
        }
        this.points = t, this.type = Ot.POLY, this.closeStroke = !0
    };
    $t.prototype.clone = function() {
        var t = new $t(this.points.slice());
        return t.closeStroke = this.closeStroke, t
    }, $t.prototype.contains = function(t, e) {
        for (var n = !1, r = this.points.length / 2, i = 0, o = r - 1; i < r; o = i++) {
            var a = this.points[2 * i],
                s = this.points[2 * i + 1],
                A = this.points[2 * o],
                h = this.points[2 * o + 1];
            s > e != h > e && t < (e - s) / (h - s) * (A - a) + a && (n = !n)
        }
        return n
    };
    var te = function(t, e, n, r, i) {
        void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 0), void 0 === r && (r = 0), void 0 === i && (i = 20), this.x = t, this.y = e, this.width = n, this.height = r, this.radius = i, this.type = Ot.RREC
    };
    te.prototype.clone = function() {
            return new te(this.x, this.y, this.width, this.height, this.radius)
        }, te.prototype.contains = function(t, e) {
            if (this.width <= 0 || this.height <= 0) return !1;
            if (t >= this.x && t <= this.x + this.width && e >= this.y && e <= this.y + this.height) {
                if (e >= this.y + this.radius && e <= this.y + this.height - this.radius || t >= this.x + this.radius && t <= this.x + this.width - this.radius) return !0;
                var n = t - (this.x + this.radius),
                    r = e - (this.y + this.radius),
                    i = this.radius * this.radius;
                if (n * n + r * r <= i) return !0;
                if ((n = t - (this.x + this.width - this.radius)) * n + r * r <= i) return !0;
                if (n * n + (r = e - (this.y + this.height - this.radius)) * r <= i) return !0;
                if ((n = t - (this.x + this.radius)) * n + r * r <= i) return !0
            }
            return !1
        },
        /*!
         * @pixi/display - v5.0.4
         * Compiled Fri, 07 Jun 2019 17:17:49 UTC
         *
         * @pixi/display is licensed under the MIT License.
         * http://www.opensource.org/licenses/mit-license
         */
        C.SORTABLE_CHILDREN = !1;
    var ee = function() {
        this.minX = 1 / 0, this.minY = 1 / 0, this.maxX = -1 / 0, this.maxY = -1 / 0, this.rect = null
    };
    ee.prototype.isEmpty = function() {
        return this.minX > this.maxX || this.minY > this.maxY
    }, ee.prototype.clear = function() {
        this.updateID++, this.minX = 1 / 0, this.minY = 1 / 0, this.maxX = -1 / 0, this.maxY = -1 / 0
    }, ee.prototype.getRectangle = function(t) {
        return this.minX > this.maxX || this.minY > this.maxY ? Kt.EMPTY : ((t = t || new Kt(0, 0, 1, 1)).x = this.minX, t.y = this.minY, t.width = this.maxX - this.minX, t.height = this.maxY - this.minY, t)
    }, ee.prototype.addPoint = function(t) {
        this.minX = Math.min(this.minX, t.x), this.maxX = Math.max(this.maxX, t.x), this.minY = Math.min(this.minY, t.y), this.maxY = Math.max(this.maxY, t.y)
    }, ee.prototype.addQuad = function(t) {
        var e = this.minX,
            n = this.minY,
            r = this.maxX,
            i = this.maxY,
            o = t[0],
            a = t[1];
        e = o < e ? o : e, n = a < n ? a : n, r = o > r ? o : r, i = a > i ? a : i, e = (o = t[2]) < e ? o : e, n = (a = t[3]) < n ? a : n, r = o > r ? o : r, i = a > i ? a : i, e = (o = t[4]) < e ? o : e, n = (a = t[5]) < n ? a : n, r = o > r ? o : r, i = a > i ? a : i, e = (o = t[6]) < e ? o : e, n = (a = t[7]) < n ? a : n, r = o > r ? o : r, i = a > i ? a : i, this.minX = e, this.minY = n, this.maxX = r, this.maxY = i
    }, ee.prototype.addFrame = function(t, e, n, r, i) {
        var o = t.worldTransform,
            a = o.a,
            s = o.b,
            A = o.c,
            h = o.d,
            c = o.tx,
            u = o.ty,
            l = this.minX,
            d = this.minY,
            p = this.maxX,
            f = this.maxY,
            y = a * e + A * n + c,
            x = s * e + h * n + u;
        l = y < l ? y : l, d = x < d ? x : d, p = y > p ? y : p, f = x > f ? x : f, l = (y = a * r + A * n + c) < l ? y : l, d = (x = s * r + h * n + u) < d ? x : d, p = y > p ? y : p, f = x > f ? x : f, l = (y = a * e + A * i + c) < l ? y : l, d = (x = s * e + h * i + u) < d ? x : d, p = y > p ? y : p, f = x > f ? x : f, l = (y = a * r + A * i + c) < l ? y : l, d = (x = s * r + h * i + u) < d ? x : d, p = y > p ? y : p, f = x > f ? x : f, this.minX = l, this.minY = d, this.maxX = p, this.maxY = f
    }, ee.prototype.addVertexData = function(t, e, n) {
        for (var r = this.minX, i = this.minY, o = this.maxX, a = this.maxY, s = e; s < n; s += 2) {
            var A = t[s],
                h = t[s + 1];
            r = A < r ? A : r, i = h < i ? h : i, o = A > o ? A : o, a = h > a ? h : a
        }
        this.minX = r, this.minY = i, this.maxX = o, this.maxY = a
    }, ee.prototype.addVertices = function(t, e, n, r) {
        for (var i = t.worldTransform, o = i.a, a = i.b, s = i.c, A = i.d, h = i.tx, c = i.ty, u = this.minX, l = this.minY, d = this.maxX, p = this.maxY, f = n; f < r; f += 2) {
            var y = e[f],
                x = e[f + 1],
                m = o * y + s * x + h,
                g = A * x + a * y + c;
            u = m < u ? m : u, l = g < l ? g : l, d = m > d ? m : d, p = g > p ? g : p
        }
        this.minX = u, this.minY = l, this.maxX = d, this.maxY = p
    }, ee.prototype.addBounds = function(t) {
        var e = this.minX,
            n = this.minY,
            r = this.maxX,
            i = this.maxY;
        this.minX = t.minX < e ? t.minX : e, this.minY = t.minY < n ? t.minY : n, this.maxX = t.maxX > r ? t.maxX : r, this.maxY = t.maxY > i ? t.maxY : i
    }, ee.prototype.addBoundsMask = function(t, e) {
        var n = t.minX > e.minX ? t.minX : e.minX,
            r = t.minY > e.minY ? t.minY : e.minY,
            i = t.maxX < e.maxX ? t.maxX : e.maxX,
            o = t.maxY < e.maxY ? t.maxY : e.maxY;
        if (n <= i && r <= o) {
            var a = this.minX,
                s = this.minY,
                A = this.maxX,
                h = this.maxY;
            this.minX = n < a ? n : a, this.minY = r < s ? r : s, this.maxX = i > A ? i : A, this.maxY = o > h ? o : h
        }
    }, ee.prototype.addBoundsArea = function(t, e) {
        var n = t.minX > e.x ? t.minX : e.x,
            r = t.minY > e.y ? t.minY : e.y,
            i = t.maxX < e.x + e.width ? t.maxX : e.x + e.width,
            o = t.maxY < e.y + e.height ? t.maxY : e.y + e.height;
        if (n <= i && r <= o) {
            var a = this.minX,
                s = this.minY,
                A = this.maxX,
                h = this.maxY;
            this.minX = n < a ? n : a, this.minY = r < s ? r : s, this.maxX = i > A ? i : A, this.maxY = o > h ? o : h
        }
    };
    var ne = function(t) {
        function e() {
            t.call(this), this.tempDisplayObjectParent = null, this.transform = new Wt, this.alpha = 1, this.visible = !0, this.renderable = !0, this.parent = null, this.worldAlpha = 1, this._lastSortedIndex = 0, this._zIndex = 0, this.filterArea = null, this.filters = null, this._enabledFilters = null, this._bounds = new ee, this._boundsID = 0, this._lastBoundsID = -1, this._boundsRect = null, this._localBoundsRect = null, this._mask = null, this._destroyed = !1, this.isSprite = !1
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
            _tempDisplayObjectParent: {
                configurable: !0
            },
            x: {
                configurable: !0
            },
            y: {
                configurable: !0
            },
            worldTransform: {
                configurable: !0
            },
            localTransform: {
                configurable: !0
            },
            position: {
                configurable: !0
            },
            scale: {
                configurable: !0
            },
            pivot: {
                configurable: !0
            },
            skew: {
                configurable: !0
            },
            rotation: {
                configurable: !0
            },
            angle: {
                configurable: !0
            },
            zIndex: {
                configurable: !0
            },
            worldVisible: {
                configurable: !0
            },
            mask: {
                configurable: !0
            }
        };
        return e.mixin = function(t) {
            for (var n = Object.keys(t), r = 0; r < n.length; ++r) {
                var i = n[r];
                Object.defineProperty(e.prototype, i, Object.getOwnPropertyDescriptor(t, i))
            }
        }, n._tempDisplayObjectParent.get = function() {
            return null === this.tempDisplayObjectParent && (this.tempDisplayObjectParent = new e), this.tempDisplayObjectParent
        }, e.prototype.updateTransform = function() {
            this.transform.updateTransform(this.parent.transform), this.worldAlpha = this.alpha * this.parent.worldAlpha, this._bounds.updateID++
        }, e.prototype._recursivePostUpdateTransform = function() {
            this.parent ? (this.parent._recursivePostUpdateTransform(), this.transform.updateTransform(this.parent.transform)) : this.transform.updateTransform(this._tempDisplayObjectParent.transform)
        }, e.prototype.getBounds = function(t, e) {
            return t || (this.parent ? (this._recursivePostUpdateTransform(), this.updateTransform()) : (this.parent = this._tempDisplayObjectParent, this.updateTransform(), this.parent = null)), this._boundsID !== this._lastBoundsID && this.calculateBounds(), e || (this._boundsRect || (this._boundsRect = new Kt), e = this._boundsRect), this._bounds.getRectangle(e)
        }, e.prototype.getLocalBounds = function(t) {
            var e = this.transform,
                n = this.parent;
            this.parent = null, this.transform = this._tempDisplayObjectParent.transform, t || (this._localBoundsRect || (this._localBoundsRect = new Kt), t = this._localBoundsRect);
            var r = this.getBounds(!1, t);
            return this.parent = n, this.transform = e, r
        }, e.prototype.toGlobal = function(t, e, n) {
            return void 0 === n && (n = !1), n || (this._recursivePostUpdateTransform(), this.parent ? this.displayObjectUpdateTransform() : (this.parent = this._tempDisplayObjectParent, this.displayObjectUpdateTransform(), this.parent = null)), this.worldTransform.apply(t, e)
        }, e.prototype.toLocal = function(t, e, n, r) {
            return e && (t = e.toGlobal(t, n, r)), r || (this._recursivePostUpdateTransform(), this.parent ? this.displayObjectUpdateTransform() : (this.parent = this._tempDisplayObjectParent, this.displayObjectUpdateTransform(), this.parent = null)), this.worldTransform.applyInverse(t, n)
        }, e.prototype.render = function(t) {}, e.prototype.setParent = function(t) {
            if (!t || !t.addChild) throw new Error("setParent: Argument must be a Container");
            return t.addChild(this), t
        }, e.prototype.setTransform = function(t, e, n, r, i, o, a, s, A) {
            return void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 1), void 0 === r && (r = 1), void 0 === i && (i = 0), void 0 === o && (o = 0), void 0 === a && (a = 0), void 0 === s && (s = 0), void 0 === A && (A = 0), this.position.x = t, this.position.y = e, this.scale.x = n || 1, this.scale.y = r || 1, this.rotation = i, this.skew.x = o, this.skew.y = a, this.pivot.x = s, this.pivot.y = A, this
        }, e.prototype.destroy = function() {
            this.removeAllListeners(), this.parent && this.parent.removeChild(this), this.transform = null, this.parent = null, this._bounds = null, this._currentBounds = null, this._mask = null, this.filterArea = null, this.interactive = !1, this.interactiveChildren = !1, this._destroyed = !0
        }, n.x.get = function() {
            return this.position.x
        }, n.x.set = function(t) {
            this.transform.position.x = t
        }, n.y.get = function() {
            return this.position.y
        }, n.y.set = function(t) {
            this.transform.position.y = t
        }, n.worldTransform.get = function() {
            return this.transform.worldTransform
        }, n.localTransform.get = function() {
            return this.transform.localTransform
        }, n.position.get = function() {
            return this.transform.position
        }, n.position.set = function(t) {
            this.transform.position.copyFrom(t)
        }, n.scale.get = function() {
            return this.transform.scale
        }, n.scale.set = function(t) {
            this.transform.scale.copyFrom(t)
        }, n.pivot.get = function() {
            return this.transform.pivot
        }, n.pivot.set = function(t) {
            this.transform.pivot.copyFrom(t)
        }, n.skew.get = function() {
            return this.transform.skew
        }, n.skew.set = function(t) {
            this.transform.skew.copyFrom(t)
        }, n.rotation.get = function() {
            return this.transform.rotation
        }, n.rotation.set = function(t) {
            this.transform.rotation = t
        }, n.angle.get = function() {
            return this.transform.rotation * Bt
        }, n.angle.set = function(t) {
            this.transform.rotation = t * Mt
        }, n.zIndex.get = function() {
            return this._zIndex
        }, n.zIndex.set = function(t) {
            this._zIndex = t, this.parent && (this.parent.sortDirty = !0)
        }, n.worldVisible.get = function() {
            var t = this;
            do {
                if (!t.visible) return !1;
                t = t.parent
            } while (t);
            return !0
        }, n.mask.get = function() {
            return this._mask
        }, n.mask.set = function(t) {
            this._mask && (this._mask.renderable = !0, this._mask.isMask = !1), this._mask = t, this._mask && (this._mask.renderable = !1, this._mask.isMask = !0)
        }, Object.defineProperties(e.prototype, n), e
    }(k.a);

    function re(t, e) {
        return t.zIndex === e.zIndex ? t._lastSortedIndex - e._lastSortedIndex : t.zIndex - e.zIndex
    }
    ne.prototype.displayObjectUpdateTransform = ne.prototype.updateTransform;
    var ie = function(t) {
        function e() {
            t.call(this), this.children = [], this.sortableChildren = C.SORTABLE_CHILDREN, this.sortDirty = !1
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
            width: {
                configurable: !0
            },
            height: {
                configurable: !0
            }
        };
        return e.prototype.onChildrenChange = function() {}, e.prototype.addChild = function(t) {
            var e = arguments,
                n = arguments.length;
            if (n > 1)
                for (var r = 0; r < n; r++) this.addChild(e[r]);
            else t.parent && t.parent.removeChild(t), t.parent = this, this.sortDirty = !0, t.transform._parentID = -1, this.children.push(t), this._boundsID++, this.onChildrenChange(this.children.length - 1), this.emit("childAdded", t, this, this.children.length - 1), t.emit("added", this);
            return t
        }, e.prototype.addChildAt = function(t, e) {
            if (e < 0 || e > this.children.length) throw new Error(t + "addChildAt: The index " + e + " supplied is out of bounds " + this.children.length);
            return t.parent && t.parent.removeChild(t), t.parent = this, this.sortDirty = !0, t.transform._parentID = -1, this.children.splice(e, 0, t), this._boundsID++, this.onChildrenChange(e), t.emit("added", this), this.emit("childAdded", t, this, e), t
        }, e.prototype.swapChildren = function(t, e) {
            if (t !== e) {
                var n = this.getChildIndex(t),
                    r = this.getChildIndex(e);
                this.children[n] = e, this.children[r] = t, this.onChildrenChange(n < r ? n : r)
            }
        }, e.prototype.getChildIndex = function(t) {
            var e = this.children.indexOf(t);
            if (-1 === e) throw new Error("The supplied DisplayObject must be a child of the caller");
            return e
        }, e.prototype.setChildIndex = function(t, e) {
            if (e < 0 || e >= this.children.length) throw new Error("The index " + e + " supplied is out of bounds " + this.children.length);
            var n = this.getChildIndex(t);
            st(this.children, n, 1), this.children.splice(e, 0, t), this.onChildrenChange(e)
        }, e.prototype.getChildAt = function(t) {
            if (t < 0 || t >= this.children.length) throw new Error("getChildAt: Index (" + t + ") does not exist.");
            return this.children[t]
        }, e.prototype.removeChild = function(t) {
            var e = arguments,
                n = arguments.length;
            if (n > 1)
                for (var r = 0; r < n; r++) this.removeChild(e[r]);
            else {
                var i = this.children.indexOf(t);
                if (-1 === i) return null;
                t.parent = null, t.transform._parentID = -1, st(this.children, i, 1), this._boundsID++, this.onChildrenChange(i), t.emit("removed", this), this.emit("childRemoved", t, this, i)
            }
            return t
        }, e.prototype.removeChildAt = function(t) {
            var e = this.getChildAt(t);
            return e.parent = null, e.transform._parentID = -1, st(this.children, t, 1), this._boundsID++, this.onChildrenChange(t), e.emit("removed", this), this.emit("childRemoved", e, this, t), e
        }, e.prototype.removeChildren = function(t, e) {
            void 0 === t && (t = 0);
            var n, r = t,
                i = "number" == typeof e ? e : this.children.length,
                o = i - r;
            if (o > 0 && o <= i) {
                n = this.children.splice(r, o);
                for (var a = 0; a < n.length; ++a) n[a].parent = null, n[a].transform && (n[a].transform._parentID = -1);
                this._boundsID++, this.onChildrenChange(t);
                for (var s = 0; s < n.length; ++s) n[s].emit("removed", this), this.emit("childRemoved", n[s], this, s);
                return n
            }
            if (0 === o && 0 === this.children.length) return [];
            throw new RangeError("removeChildren: numeric values are outside the acceptable range.")
        }, e.prototype.sortChildren = function() {
            for (var t = !1, e = 0, n = this.children.length; e < n; ++e) {
                var r = this.children[e];
                r._lastSortedIndex = e, t || 0 === r.zIndex || (t = !0)
            }
            t && this.children.length > 1 && this.children.sort(re), this.sortDirty = !1
        }, e.prototype.updateTransform = function() {
            this.sortableChildren && this.sortDirty && this.sortChildren(), this._boundsID++, this.transform.updateTransform(this.parent.transform), this.worldAlpha = this.alpha * this.parent.worldAlpha;
            for (var t = 0, e = this.children.length; t < e; ++t) {
                var n = this.children[t];
                n.visible && n.updateTransform()
            }
        }, e.prototype.calculateBounds = function() {
            this._bounds.clear(), this._calculateBounds();
            for (var t = 0; t < this.children.length; t++) {
                var e = this.children[t];
                e.visible && e.renderable && (e.calculateBounds(), e._mask ? (e._mask.calculateBounds(), this._bounds.addBoundsMask(e._bounds, e._mask._bounds)) : e.filterArea ? this._bounds.addBoundsArea(e._bounds, e.filterArea) : this._bounds.addBounds(e._bounds))
            }
            this._lastBoundsID = this._boundsID
        }, e.prototype._calculateBounds = function() {}, e.prototype.render = function(t) {
            if (this.visible && !(this.worldAlpha <= 0) && this.renderable)
                if (this._mask || this.filters) this.renderAdvanced(t);
                else {
                    this._render(t);
                    for (var e = 0, n = this.children.length; e < n; ++e) this.children[e].render(t)
                }
        }, e.prototype.renderAdvanced = function(t) {
            t.batch.flush();
            var e = this.filters,
                n = this._mask;
            if (e) {
                this._enabledFilters || (this._enabledFilters = []), this._enabledFilters.length = 0;
                for (var r = 0; r < e.length; r++) e[r].enabled && this._enabledFilters.push(e[r]);
                this._enabledFilters.length && t.filter.push(this, this._enabledFilters)
            }
            n && t.mask.push(this, this._mask), this._render(t);
            for (var i = 0, o = this.children.length; i < o; i++) this.children[i].render(t);
            t.batch.flush(), n && t.mask.pop(this, this._mask), e && this._enabledFilters && this._enabledFilters.length && t.filter.pop()
        }, e.prototype._render = function(t) {}, e.prototype.destroy = function(e) {
            t.prototype.destroy.call(this), this.sortDirty = !1;
            var n = "boolean" == typeof e ? e : e && e.children,
                r = this.removeChildren(0, this.children.length);
            if (n)
                for (var i = 0; i < r.length; ++i) r[i].destroy(e)
        }, n.width.get = function() {
            return this.scale.x * this.getLocalBounds().width
        }, n.width.set = function(t) {
            var e = this.getLocalBounds().width;
            this.scale.x = 0 !== e ? t / e : 1, this._width = t
        }, n.height.get = function() {
            return this.scale.y * this.getLocalBounds().height
        }, n.height.set = function(t) {
            var e = this.getLocalBounds().height;
            this.scale.y = 0 !== e ? t / e : 1, this._height = t
        }, Object.defineProperties(e.prototype, n), e
    }(ne);
    ie.prototype.containerUpdateTransform = ie.prototype.updateTransform;
    ne.mixin({
        accessible: !1,
        accessibleTitle: null,
        accessibleHint: null,
        tabIndex: 0,
        _accessibleActive: !1,
        _accessibleDiv: !1
    });
    var oe = function(t) {
        this._hookDiv = null, (E.a.tablet || E.a.phone) && this.createTouchHook();
        var e = document.createElement("div");
        e.style.width = "100px", e.style.height = "100px", e.style.position = "absolute", e.style.top = "0px", e.style.left = "0px", e.style.zIndex = 2, this.div = e, this.pool = [], this.renderId = 0, this.debug = !1, this.renderer = t, this.children = [], this._onKeyDown = this._onKeyDown.bind(this), this._onMouseMove = this._onMouseMove.bind(this), this.isActive = !1, this.isMobileAccessibility = !1, window.addEventListener("keydown", this._onKeyDown, !1)
    };
    oe.prototype.createTouchHook = function() {
        var t = this,
            e = document.createElement("button");
        e.style.width = "1px", e.style.height = "1px", e.style.position = "absolute", e.style.top = "-1000px", e.style.left = "-1000px", e.style.zIndex = 2, e.style.backgroundColor = "#FF0000", e.title = "HOOK DIV", e.addEventListener("focus", function() {
            t.isMobileAccessibility = !0, t.activate(), t.destroyTouchHook()
        }), document.body.appendChild(e), this._hookDiv = e
    }, oe.prototype.destroyTouchHook = function() {
        this._hookDiv && (document.body.removeChild(this._hookDiv), this._hookDiv = null)
    }, oe.prototype.activate = function() {
        this.isActive || (this.isActive = !0, window.document.addEventListener("mousemove", this._onMouseMove, !0), window.removeEventListener("keydown", this._onKeyDown, !1), this.renderer.on("postrender", this.update, this), this.renderer.view.parentNode && this.renderer.view.parentNode.appendChild(this.div))
    }, oe.prototype.deactivate = function() {
        this.isActive && !this.isMobileAccessibility && (this.isActive = !1, window.document.removeEventListener("mousemove", this._onMouseMove, !0), window.addEventListener("keydown", this._onKeyDown, !1), this.renderer.off("postrender", this.update), this.div.parentNode && this.div.parentNode.removeChild(this.div))
    }, oe.prototype.updateAccessibleObjects = function(t) {
        if (t.visible) {
            t.accessible && t.interactive && (t._accessibleActive || this.addChild(t), t.renderId = this.renderId);
            for (var e = t.children, n = 0; n < e.length; n++) this.updateAccessibleObjects(e[n])
        }
    }, oe.prototype.update = function() {
        if (this.renderer.renderingToScreen) {
            this.updateAccessibleObjects(this.renderer._lastObjectRendered);
            var t = this.renderer.view.getBoundingClientRect(),
                e = t.width / this.renderer.width,
                n = t.height / this.renderer.height,
                r = this.div;
            r.style.left = t.left + "px", r.style.top = t.top + "px", r.style.width = this.renderer.width + "px", r.style.height = this.renderer.height + "px";
            for (var i = 0; i < this.children.length; i++) {
                var o = this.children[i];
                if (o.renderId !== this.renderId) o._accessibleActive = !1, st(this.children, i, 1), this.div.removeChild(o._accessibleDiv), this.pool.push(o._accessibleDiv), o._accessibleDiv = null, i--, 0 === this.children.length && this.deactivate();
                else {
                    r = o._accessibleDiv;
                    var a = o.hitArea,
                        s = o.worldTransform;
                    o.hitArea ? (r.style.left = (s.tx + a.x * s.a) * e + "px", r.style.top = (s.ty + a.y * s.d) * n + "px", r.style.width = a.width * s.a * e + "px", r.style.height = a.height * s.d * n + "px") : (a = o.getBounds(), this.capHitArea(a), r.style.left = a.x * e + "px", r.style.top = a.y * n + "px", r.style.width = a.width * e + "px", r.style.height = a.height * n + "px", r.title !== o.accessibleTitle && null !== o.accessibleTitle && (r.title = o.accessibleTitle), r.getAttribute("aria-label") !== o.accessibleHint && null !== o.accessibleHint && r.setAttribute("aria-label", o.accessibleHint))
                }
            }
            this.renderId++
        }
    }, oe.prototype.capHitArea = function(t) {
        t.x < 0 && (t.width += t.x, t.x = 0), t.y < 0 && (t.height += t.y, t.y = 0), t.x + t.width > this.renderer.width && (t.width = this.renderer.width - t.x), t.y + t.height > this.renderer.height && (t.height = this.renderer.height - t.y)
    }, oe.prototype.addChild = function(t) {
        var e = this.pool.pop();
        e || ((e = document.createElement("button")).style.width = "100px", e.style.height = "100px", e.style.backgroundColor = this.debug ? "rgba(255,0,0,0.5)" : "transparent", e.style.position = "absolute", e.style.zIndex = 2, e.style.borderStyle = "none", navigator.userAgent.toLowerCase().indexOf("chrome") > -1 ? e.setAttribute("aria-live", "off") : e.setAttribute("aria-live", "polite"), navigator.userAgent.match(/rv:.*Gecko\//) ? e.setAttribute("aria-relevant", "additions") : e.setAttribute("aria-relevant", "text"), e.addEventListener("click", this._onClick.bind(this)), e.addEventListener("focus", this._onFocus.bind(this)), e.addEventListener("focusout", this._onFocusOut.bind(this))), t.accessibleTitle && null !== t.accessibleTitle ? e.title = t.accessibleTitle : t.accessibleHint && null !== t.accessibleHint || (e.title = "displayObject " + t.tabIndex), t.accessibleHint && null !== t.accessibleHint && e.setAttribute("aria-label", t.accessibleHint), t._accessibleActive = !0, t._accessibleDiv = e, e.displayObject = t, this.children.push(t), this.div.appendChild(t._accessibleDiv), t._accessibleDiv.tabIndex = t.tabIndex
    }, oe.prototype._onClick = function(t) {
        var e = this.renderer.plugins.interaction;
        e.dispatchEvent(t.target.displayObject, "click", e.eventData)
    }, oe.prototype._onFocus = function(t) {
        t.target.getAttribute("aria-live", "off") || t.target.setAttribute("aria-live", "assertive");
        var e = this.renderer.plugins.interaction;
        e.dispatchEvent(t.target.displayObject, "mouseover", e.eventData)
    }, oe.prototype._onFocusOut = function(t) {
        t.target.getAttribute("aria-live", "off") || t.target.setAttribute("aria-live", "polite");
        var e = this.renderer.plugins.interaction;
        e.dispatchEvent(t.target.displayObject, "mouseout", e.eventData)
    }, oe.prototype._onKeyDown = function(t) {
        9 === t.keyCode && this.activate()
    }, oe.prototype._onMouseMove = function(t) {
        0 === t.movementX && 0 === t.movementY || this.deactivate()
    }, oe.prototype.destroy = function() {
        this.destroyTouchHook(), this.div = null;
        for (var t = 0; t < this.children.length; t++) this.children[t].div = null;
        window.document.removeEventListener("mousemove", this._onMouseMove, !0), window.removeEventListener("keydown", this._onKeyDown), this.pool = null, this.children = null, this.renderer = null
    };
    /*!
     * @pixi/runner - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/runner is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var ae = function(t) {
            this.items = [], this._name = t
        },
        se = {
            empty: {
                configurable: !0
            },
            name: {
                configurable: !0
            }
        };
    ae.prototype.emit = function(t, e, n, r, i, o, a, s) {
            if (arguments.length > 8) throw new Error("max arguments reached");
            for (var A = this.name, h = this.items, c = 0, u = h.length; c < u; c++) h[c][A](t, e, n, r, i, o, a, s);
            return this
        }, ae.prototype.add = function(t) {
            return t[this._name] && (this.remove(t), this.items.push(t)), this
        }, ae.prototype.remove = function(t) {
            var e = this.items.indexOf(t);
            return -1 !== e && this.items.splice(e, 1), this
        }, ae.prototype.contains = function(t) {
            return -1 !== this.items.indexOf(t)
        }, ae.prototype.removeAll = function() {
            return this.items.length = 0, this
        }, ae.prototype.destroy = function() {
            this.removeAll(), this.items = null, this._name = null
        }, se.empty.get = function() {
            return 0 === this.items.length
        }, se.name.get = function() {
            return this._name
        }, Object.defineProperties(ae.prototype, se), ae.prototype.dispatch = ae.prototype.emit, ae.prototype.run = ae.prototype.emit,
        /*!
         * @pixi/ticker - v5.0.4
         * Compiled Fri, 07 Jun 2019 17:17:49 UTC
         *
         * @pixi/ticker is licensed under the MIT License.
         * http://www.opensource.org/licenses/mit-license
         */
        C.TARGET_FPMS = .06;
    var Ae = 50,
        he = 25,
        ce = 0,
        ue = -25,
        le = -50,
        de = function(t, e, n, r) {
            void 0 === e && (e = null), void 0 === n && (n = 0), void 0 === r && (r = !1), this.fn = t, this.context = e, this.priority = n, this.once = r, this.next = null, this.previous = null, this._destroyed = !1
        };
    de.prototype.match = function(t, e) {
        return e = e || null, this.fn === t && this.context === e
    }, de.prototype.emit = function(t) {
        this.fn && (this.context ? this.fn.call(this.context, t) : this.fn(t));
        var e = this.next;
        return this.once && this.destroy(!0), this._destroyed && (this.next = null), e
    }, de.prototype.connect = function(t) {
        this.previous = t, t.next && (t.next.previous = this), this.next = t.next, t.next = this
    }, de.prototype.destroy = function(t) {
        void 0 === t && (t = !1), this._destroyed = !0, this.fn = null, this.context = null, this.previous && (this.previous.next = this.next), this.next && (this.next.previous = this.previous);
        var e = this.next;
        return this.next = t ? null : e, this.previous = null, e
    };
    var pe = function() {
            var t = this;
            this._head = new de(null, null, 1 / 0), this._requestId = null, this._maxElapsedMS = 100, this._minElapsedMS = 0, this.autoStart = !1, this.deltaTime = 1, this.deltaMS = 1 / C.TARGET_FPMS, this.elapsedMS = 1 / C.TARGET_FPMS, this.lastTime = -1, this.speed = 1, this.started = !1, this._protected = !1, this._tick = function(e) {
                t._requestId = null, t.started && (t.update(e), t.started && null === t._requestId && t._head.next && (t._requestId = requestAnimationFrame(t._tick)))
            }
        },
        fe = {
            FPS: {
                configurable: !0
            },
            minFPS: {
                configurable: !0
            },
            maxFPS: {
                configurable: !0
            }
        },
        ye = {
            shared: {
                configurable: !0
            },
            system: {
                configurable: !0
            }
        };
    pe.prototype._requestIfNeeded = function() {
        null === this._requestId && this._head.next && (this.lastTime = performance.now(), this._requestId = requestAnimationFrame(this._tick))
    }, pe.prototype._cancelIfNeeded = function() {
        null !== this._requestId && (cancelAnimationFrame(this._requestId), this._requestId = null)
    }, pe.prototype._startIfPossible = function() {
        this.started ? this._requestIfNeeded() : this.autoStart && this.start()
    }, pe.prototype.add = function(t, e, n) {
        return void 0 === n && (n = ce), this._addListener(new de(t, e, n))
    }, pe.prototype.addOnce = function(t, e, n) {
        return void 0 === n && (n = ce), this._addListener(new de(t, e, n, !0))
    }, pe.prototype._addListener = function(t) {
        var e = this._head.next,
            n = this._head;
        if (e) {
            for (; e;) {
                if (t.priority > e.priority) {
                    t.connect(n);
                    break
                }
                n = e, e = e.next
            }
            t.previous || t.connect(n)
        } else t.connect(n);
        return this._startIfPossible(), this
    }, pe.prototype.remove = function(t, e) {
        for (var n = this._head.next; n;) n = n.match(t, e) ? n.destroy() : n.next;
        return this._head.next || this._cancelIfNeeded(), this
    }, pe.prototype.start = function() {
        this.started || (this.started = !0, this._requestIfNeeded())
    }, pe.prototype.stop = function() {
        this.started && (this.started = !1, this._cancelIfNeeded())
    }, pe.prototype.destroy = function() {
        if (!this._protected) {
            this.stop();
            for (var t = this._head.next; t;) t = t.destroy(!0);
            this._head.destroy(), this._head = null
        }
    }, pe.prototype.update = function(t) {
        var e;
        if (void 0 === t && (t = performance.now()), t > this.lastTime) {
            if ((e = this.elapsedMS = t - this.lastTime) > this._maxElapsedMS && (e = this._maxElapsedMS), e *= this.speed, this._minElapsedMS && e + 1 < this._minElapsedMS) return;
            this.deltaMS = e, this.deltaTime = this.deltaMS * C.TARGET_FPMS;
            for (var n = this._head, r = n.next; r;) r = r.emit(this.deltaTime);
            n.next || this._cancelIfNeeded()
        } else this.deltaTime = this.deltaMS = this.elapsedMS = 0;
        this.lastTime = t
    }, fe.FPS.get = function() {
        return 1e3 / this.elapsedMS
    }, fe.minFPS.get = function() {
        return 1e3 / this._maxElapsedMS
    }, fe.minFPS.set = function(t) {
        var e = Math.min(this.maxFPS, t),
            n = Math.min(Math.max(0, e) / 1e3, C.TARGET_FPMS);
        this._maxElapsedMS = 1 / n
    }, fe.maxFPS.get = function() {
        return this._minElapsedMS ? 1e3 / this._minElapsedMS : 1e3 * C.TARGET_FPMS
    }, fe.maxFPS.set = function(t) {
        if (t / 1e3 >= C.TARGET_FPMS) this._minElapsedMS = 0;
        else {
            var e = Math.max(this.minFPS, t),
                n = Math.min(Math.max(1, e) / 1e3, C.TARGET_FPMS);
            this._minElapsedMS = 1 / n
        }
    }, ye.shared.get = function() {
        if (!pe._shared) {
            var t = pe._shared = new pe;
            t.autoStart = !0, t._protected = !0
        }
        return pe._shared
    }, ye.system.get = function() {
        if (!pe._system) {
            var t = pe._system = new pe;
            t.autoStart = !0, t._protected = !0
        }
        return pe._system
    }, Object.defineProperties(pe.prototype, fe), Object.defineProperties(pe, ye);
    var xe = function() {};
    xe.init = function(t) {
        var e = this;
        t = Object.assign({
            autoStart: !0,
            sharedTicker: !1
        }, t), Object.defineProperty(this, "ticker", {
            set: function(t) {
                this._ticker && this._ticker.remove(this.render, this), this._ticker = t, t && t.add(this.render, this, ue)
            },
            get: function() {
                return this._ticker
            }
        }), this.stop = function() {
            e._ticker.stop()
        }, this.start = function() {
            e._ticker.start()
        }, this._ticker = null, this.ticker = t.sharedTicker ? pe.shared : new pe, t.autoStart && this.start()
    }, xe.destroy = function() {
        if (this._ticker) {
            var t = this._ticker;
            this.ticker = null, t.destroy()
        }
    };
    /*!
     * @pixi/core - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/core is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var me = function(t, e) {
            void 0 === t && (t = 0), void 0 === e && (e = 0), this._width = t, this._height = e, this.destroyed = !1, this.internal = !1, this.onResize = new ae("setRealSize", 2), this.onUpdate = new ae("update")
        },
        ge = {
            valid: {
                configurable: !0
            },
            width: {
                configurable: !0
            },
            height: {
                configurable: !0
            }
        };
    me.prototype.bind = function(t) {
        this.onResize.add(t), this.onUpdate.add(t), (this._width || this._height) && this.onResize.run(this._width, this._height)
    }, me.prototype.unbind = function(t) {
        this.onResize.remove(t), this.onUpdate.remove(t)
    }, me.prototype.resize = function(t, e) {
        t === this._width && e === this._height || (this._width = t, this._height = e, this.onResize.run(t, e))
    }, ge.valid.get = function() {
        return !!this._width && !!this._height
    }, me.prototype.update = function() {
        this.destroyed || this.onUpdate.run()
    }, me.prototype.load = function() {
        return Promise.resolve()
    }, ge.width.get = function() {
        return this._width
    }, ge.height.get = function() {
        return this._height
    }, me.prototype.upload = function(t, e, n) {
        return !1
    }, me.prototype.style = function(t, e, n) {
        return !1
    }, me.prototype.dispose = function() {}, me.prototype.destroy = function() {
        this.destroyed || (this.onResize.removeAll(), this.onResize = null, this.onUpdate.removeAll(), this.onUpdate = null, this.destroyed = !0, this.dispose())
    }, Object.defineProperties(me.prototype, ge);
    var we = function(t) {
            function e(e) {
                var n = e.naturalWidth || e.videoWidth || e.width,
                    r = e.naturalHeight || e.videoHeight || e.height;
                t.call(this, n, r), this.source = e
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.crossOrigin = function(t, e, n) {
                void 0 === n && 0 !== e.indexOf("data:") ? t.crossOrigin = Et(e) : !1 !== n && (t.crossOrigin = "string" == typeof n ? n : "anonymous")
            }, e.prototype.upload = function(t, e, n, r) {
                var i = t.gl,
                    o = e.realWidth,
                    a = e.realHeight;
                return r = r || this.source, i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL, e.premultiplyAlpha), e.target === i.TEXTURE_2D && n.width === o && n.height === a ? i.texSubImage2D(i.TEXTURE_2D, 0, 0, 0, e.format, e.type, r) : (n.width = o, n.height = a, i.texImage2D(e.target, 0, e.format, e.format, e.type, r)), !0
            }, e.prototype.update = function() {
                if (!this.destroyed) {
                    var e = this.source.naturalWidth || this.source.videoWidth || this.source.width,
                        n = this.source.naturalHeight || this.source.videoHeight || this.source.height;
                    this.resize(e, n), t.prototype.update.call(this)
                }
            }, e.prototype.dispose = function() {
                this.source = null
            }, e
        }(me),
        ve = function(t) {
            function e(e, n) {
                if (n = n || {}, !(e instanceof HTMLImageElement)) {
                    var r = new Image;
                    t.crossOrigin(r, e, n.crossorigin), r.src = e, e = r
                }
                t.call(this, e), this.url = e.src, this._process = null, this.preserveBitmap = !1, this.createBitmap = (void 0 !== n.createBitmap ? n.createBitmap : C.CREATE_IMAGE_BITMAP) && !!window.createImageBitmap, this.premultiplyAlpha = !1 !== n.premultiplyAlpha, this.bitmap = null, this._load = null, !1 !== n.autoLoad && this.load()
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.load = function(t) {
                var e = this;
                return void 0 !== t && (this.createBitmap = t), this._load ? this._load : (this._load = new Promise(function(t) {
                    e.url = e.source.src;
                    var n = e.source,
                        r = function() {
                            e.destroyed || (n.onload = null, n.onerror = null, e.resize(n.width, n.height), e._load = null, e.createBitmap ? t(e.process()) : t(e))
                        };
                    n.complete && n.src ? r() : n.onload = r
                }), this._load)
            }, e.prototype.process = function() {
                var t = this;
                return null !== this._process ? this._process : null === this.bitmap && window.createImageBitmap ? (this._process = window.createImageBitmap(this.source, 0, 0, this.source.width, this.source.height, {
                    premultiplyAlpha: this.premultiplyAlpha ? "premultiply" : "none"
                }).then(function(e) {
                    return t.destroyed ? Promise.reject() : (t.bitmap = e, t.update(), t._process = null, Promise.resolve(t))
                }), this._process) : Promise.resolve(this)
            }, e.prototype.upload = function(e, n, r) {
                if (n.premultiplyAlpha = this.premultiplyAlpha, !this.createBitmap) return t.prototype.upload.call(this, e, n, r);
                if (!this.bitmap && (this.process(), !this.bitmap)) return !1;
                if (t.prototype.upload.call(this, e, n, r, this.bitmap), !this.preserveBitmap) {
                    var i = !0;
                    for (var o in n._glTextures) {
                        var a = n._glTextures[o];
                        if (a !== r && a.dirtyId !== n.dirtyId) {
                            i = !1;
                            break
                        }
                    }
                    i && (this.bitmap.close && this.bitmap.close(), this.bitmap = null)
                }
                return !0
            }, e.prototype.dispose = function() {
                t.prototype.dispose.call(this), this.bitmap && (this.bitmap.close(), this.bitmap = null), this._process = null, this._load = null
            }, e
        }(we),
        be = [];

    function _e(t, e) {
        if (!t) return null;
        var n = "";
        if ("string" == typeof t) {
            var r = /\.(\w{3,4})(?:$|\?|#)/i.exec(t);
            r && (n = r[1].toLowerCase())
        }
        for (var i = be.length - 1; i >= 0; --i) {
            var o = be[i];
            if (o.test && o.test(t, n)) return new o(t, e)
        }
        return new ve(t, e)
    }
    var Se = function(t) {
            function e(e, n) {
                var r = n || {},
                    i = r.width,
                    o = r.height;
                if (!i || !o) throw new Error("BufferResource width or height invalid");
                t.call(this, i, o), this.data = e
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.upload = function(t, e, n) {
                var r = t.gl;
                if (r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, e.premultiplyAlpha), n.width === e.width && n.height === e.height) r.texSubImage2D(e.target, 0, 0, 0, e.width, e.height, e.format, e.type, this.data);
                else {
                    n.width = e.width, n.height = e.height;
                    var i = e.format;
                    2 === t.context.webGLVersion && e.type === t.gl.FLOAT && e.format === t.gl.RGBA && (i = t.gl.RGBA32F), r.texImage2D(e.target, 0, i, e.width, e.height, 0, e.format, e.type, this.data)
                }
                return !0
            }, e.prototype.dispose = function() {
                this.data = null
            }, e.test = function(t) {
                return t instanceof Float32Array || t instanceof Uint8Array || t instanceof Uint32Array
            }, e
        }(me),
        Ee = {
            scaleMode: 0,
            format: H.RGBA,
            premultiplyAlpha: !1
        },
        Ce = function(t) {
            function e(e, n) {
                void 0 === e && (e = null), void 0 === n && (n = null), t.call(this);
                var r = (n = n || {}).premultiplyAlpha,
                    i = n.mipmap,
                    o = n.scaleMode,
                    a = n.width,
                    s = n.height,
                    A = n.wrapMode,
                    h = n.format,
                    c = n.type,
                    u = n.target,
                    l = n.resolution,
                    d = n.resourceOptions;
                !e || e instanceof me || ((e = _e(e, d)).internal = !0), this.width = a || 0, this.height = s || 0, this.resolution = l || C.RESOLUTION, this.mipmap = void 0 !== i ? i : C.MIPMAP_TEXTURES, this.wrapMode = A || C.WRAP_MODE, this.scaleMode = void 0 !== o ? o : C.SCALE_MODE, this.format = h || H.RGBA, this.type = c || F.UNSIGNED_BYTE, this.target = u || z.TEXTURE_2D, this.premultiplyAlpha = !1 !== r, this.uid = ht(), this.touched = 0, this.isPowerOfTwo = !1, this._refreshPOT(), this._glTextures = {}, this.dirtyId = 0, this.dirtyStyleId = 0, this.cacheId = null, this.valid = a > 0 && s > 0, this.textureCacheIds = [], this.destroyed = !1, this.resource = null, this._batchEnabled = 0, this.setResource(e)
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                realWidth: {
                    configurable: !0
                },
                realHeight: {
                    configurable: !0
                }
            };
            return n.realWidth.get = function() {
                return this.width * this.resolution
            }, n.realHeight.get = function() {
                return this.height * this.resolution
            }, e.prototype.setStyle = function(t, e) {
                var n;
                return void 0 !== t && t !== this.scaleMode && (this.scaleMode = t, n = !0), void 0 !== e && e !== this.mipmap && (this.mipmap = e, n = !0), n && this.dirtyStyleId++, this
            }, e.prototype.setSize = function(t, e, n) {
                return this.resolution = n || this.resolution, this.width = t, this.height = e, this._refreshPOT(), this.update(), this
            }, e.prototype.setRealSize = function(t, e, n) {
                return this.resolution = n || this.resolution, this.width = t / this.resolution, this.height = e / this.resolution, this._refreshPOT(), this.update(), this
            }, e.prototype._refreshPOT = function() {
                this.isPowerOfTwo = lt(this.realWidth) && lt(this.realHeight)
            }, e.prototype.setResolution = function(t) {
                var e = this.resolution;
                return e === t ? this : (this.resolution = t, this.valid && (this.width = this.width * e / t, this.height = this.height * e / t, this.emit("update", this)), this._refreshPOT(), this)
            }, e.prototype.setResource = function(t) {
                if (this.resource === t) return this;
                if (this.resource) throw new Error("Resource can be set only once");
                return t.bind(this), this.resource = t, this
            }, e.prototype.update = function() {
                this.valid ? (this.dirtyId++, this.dirtyStyleId++, this.emit("update", this)) : this.width > 0 && this.height > 0 && (this.valid = !0, this.emit("loaded", this), this.emit("update", this))
            }, e.prototype.destroy = function() {
                this.resource && (this.resource.unbind(this), this.resource.internal && this.resource.destroy(), this.resource = null), this.cacheId && (delete yt[this.cacheId], delete ft[this.cacheId], this.cacheId = null), this.dispose(), e.removeFromCache(this), this.textureCacheIds = null, this.destroyed = !0
            }, e.prototype.dispose = function() {
                this.emit("dispose", this)
            }, e.from = function(t, n) {
                var r = null;
                "string" == typeof t ? r = t : (t._pixiId || (t._pixiId = "pixiid_" + ht()), r = t._pixiId);
                var i = yt[r];
                return i || ((i = new e(t, n)).cacheId = r, e.addToCache(i, r)), i
            }, e.fromBuffer = function(t, n, r, i) {
                t = t || new Float32Array(n * r * 4);
                var o = new Se(t, {
                        width: n,
                        height: r
                    }),
                    a = t instanceof Float32Array ? F.FLOAT : F.UNSIGNED_BYTE;
                return new e(o, Object.assign(Ee, i || {
                    width: n,
                    height: r,
                    type: a
                }))
            }, e.addToCache = function(t, e) {
                e && (-1 === t.textureCacheIds.indexOf(e) && t.textureCacheIds.push(e), yt[e] && console.warn("BaseTexture added to the cache with an id [" + e + "] that already had an entry"), yt[e] = t)
            }, e.removeFromCache = function(t) {
                if ("string" == typeof t) {
                    var e = yt[t];
                    if (e) {
                        var n = e.textureCacheIds.indexOf(t);
                        return n > -1 && e.textureCacheIds.splice(n, 1), delete yt[t], e
                    }
                } else if (t && t.textureCacheIds) {
                    for (var r = 0; r < t.textureCacheIds.length; ++r) delete yt[t.textureCacheIds[r]];
                    return t.textureCacheIds.length = 0, t
                }
                return null
            }, Object.defineProperties(e.prototype, n), e
        }(k.a);
    Ce._globalBatch = 0;
    var Te = function(t) {
            function e(e, n) {
                var r;
                n = n || {};
                var i = e;
                Array.isArray(e) && (r = e, i = e.length), t.call(this, n.width, n.height), this.items = [], this.itemDirtyIds = [];
                for (var o = 0; o < i; o++) {
                    var a = new Ce;
                    this.items.push(a), this.itemDirtyIds.push(-1)
                }
                if (this.length = i, this._load = null, r)
                    for (var s = 0; s < i; s++) this.addResourceAt(_e(r[s], n), s)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.dispose = function() {
                for (var t = 0, e = this.length; t < e; t++) this.items[t].destroy();
                this.items = null, this.itemDirtyIds = null, this._load = null
            }, e.prototype.addResourceAt = function(t, e) {
                if (!this.items[e]) throw new Error("Index " + e + " is out of bounds");
                return t.valid && !this.valid && this.resize(t.width, t.height), this.items[e].setResource(t), this
            }, e.prototype.bind = function(e) {
                t.prototype.bind.call(this, e), e.target = z.TEXTURE_2D_ARRAY;
                for (var n = 0; n < this.length; n++) this.items[n].on("update", e.update, e)
            }, e.prototype.unbind = function(e) {
                t.prototype.unbind.call(this, e);
                for (var n = 0; n < this.length; n++) this.items[n].off("update", e.update, e)
            }, e.prototype.load = function() {
                var t = this;
                if (this._load) return this._load;
                var e = this.items.map(function(t) {
                        return t.resource
                    }),
                    n = e.map(function(t) {
                        return t.load()
                    });
                return this._load = Promise.all(n).then(function() {
                    var n = e[0],
                        r = n.width,
                        i = n.height;
                    return t.resize(r, i), Promise.resolve(t)
                }), this._load
            }, e.prototype.upload = function(t, e, n) {
                var r = this.length,
                    i = this.itemDirtyIds,
                    o = this.items,
                    a = t.gl;
                n.dirtyId < 0 && a.texImage3D(a.TEXTURE_2D_ARRAY, 0, e.format, this._width, this._height, r, 0, e.format, e.type, null);
                for (var s = 0; s < r; s++) {
                    var A = o[s];
                    i[s] < A.dirtyId && (i[s] = A.dirtyId, A.valid && a.texSubImage3D(a.TEXTURE_2D_ARRAY, 0, 0, 0, s, A.resource.width, A.resource.height, 1, e.format, e.type, A.resource.source))
                }
                return !0
            }, e
        }(me),
        ke = function(t) {
            function e() {
                t.apply(this, arguments)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.test = function(t) {
                return t instanceof HTMLCanvasElement
            }, e
        }(we),
        Ie = function(t) {
            function e(n, r) {
                if (r = r || {}, t.call(this, n, r), this.length !== e.SIDES) throw new Error("Invalid length. Got " + this.length + ", expected 6");
                for (var i = 0; i < e.SIDES; i++) this.items[i].target = z.TEXTURE_CUBE_MAP_POSITIVE_X + i;
                !1 !== r.autoLoad && this.load()
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.bind = function(e) {
                t.prototype.bind.call(this, e), e.target = z.TEXTURE_CUBE_MAP
            }, e.prototype.upload = function(t, n, r) {
                for (var i = this.itemDirtyIds, o = 0; o < e.SIDES; o++) {
                    var a = this.items[o];
                    i[o] < a.dirtyId && (i[o] = a.dirtyId, a.valid && a.resource.upload(t, a, r))
                }
                return !0
            }, e
        }(Te);
    Ie.SIDES = 6;
    var De = function(t) {
        function e(e, n) {
            n = n || {}, t.call(this, document.createElement("canvas")), this.svg = e, this.scale = n.scale || 1, this._resolve = null, this._crossorigin = n.crossorigin, this._load = null, !1 !== n.autoLoad && this.load()
        }
        return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.load = function() {
            var t = this;
            return this._load ? this._load : (this._load = new Promise(function(e) {
                if (t._resolve = function() {
                        t.resize(t.source.width, t.source.height), e(t)
                    }, /^\<svg/.test(t.svg.trim())) {
                    if (!btoa) throw new Error("Your browser doesn't support base64 conversions.");
                    t.svg = "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(t.svg)))
                }
                t._loadSvg()
            }), this._load)
        }, e.prototype._loadSvg = function() {
            var e = this,
                n = new Image;
            t.crossOrigin(n, this.svg, this._crossorigin), n.src = this.svg, n.onload = function() {
                var t = n.width,
                    r = n.height;
                if (!t || !r) throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");
                var i = Math.round(t * e.scale),
                    o = Math.round(r * e.scale),
                    a = e.source;
                a.width = i, a.height = o, a._pixiId = "canvas_" + ht(), a.getContext("2d").drawImage(n, 0, 0, t, r, 0, 0, i, o), e._resolve(), e._resolve = null
            }
        }, e.getSize = function(t) {
            var n = e.SVG_SIZE.exec(t),
                r = {};
            return n && (r[n[1]] = Math.round(parseFloat(n[3])), r[n[5]] = Math.round(parseFloat(n[7]))), r
        }, e.prototype.dispose = function() {
            t.prototype.dispose.call(this), this._resolve = null, this._crossorigin = null
        }, e.test = function(t, e) {
            return "svg" === e || "string" == typeof t && 0 === t.indexOf("data:image/svg+xml;base64") || "string" == typeof t && 0 === t.indexOf("<svg")
        }, e
    }(we);
    De.SVG_SIZE = /<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;
    var Pe = function(t) {
        function e(e, n) {
            if (n = n || {}, !(e instanceof HTMLVideoElement)) {
                var r = document.createElement("video");
                r.setAttribute("webkit-playsinline", ""), r.setAttribute("playsinline", ""), "string" == typeof e && (e = [e]), t.crossOrigin(r, e[0].src || e[0], n.crossorigin);
                for (var i = 0; i < e.length; ++i) {
                    var o = document.createElement("source"),
                        a = e[i],
                        s = a.src,
                        A = a.mime,
                        h = (s = s || e[i]).split("?").shift().toLowerCase(),
                        c = h.substr(h.lastIndexOf(".") + 1);
                    A = A || "video/" + c, o.src = s, o.type = A, r.appendChild(o)
                }
                e = r
            }
            t.call(this, e), this._autoUpdate = !0, this._isAutoUpdating = !1, this._updateFPS = n.updateFPS || 0, this._msToNextUpdate = 0, this.autoPlay = !1 !== n.autoPlay, this._load = null, this._resolve = null, this._onCanPlay = this._onCanPlay.bind(this), !1 !== n.autoLoad && this.load()
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
            autoUpdate: {
                configurable: !0
            },
            updateFPS: {
                configurable: !0
            }
        };
        return e.prototype.update = function(e) {
            if (void 0 === e && (e = 0), !this.destroyed) {
                var n = pe.shared.elapsedMS * this.source.playbackRate;
                this._msToNextUpdate = Math.floor(this._msToNextUpdate - n), (!this._updateFPS || this._msToNextUpdate <= 0) && (t.prototype.update.call(this, e), this._msToNextUpdate = this._updateFPS ? Math.floor(1e3 / this._updateFPS) : 0)
            }
        }, e.prototype.load = function() {
            var t = this;
            if (this._load) return this._load;
            var e = this.source;
            return (e.readyState === e.HAVE_ENOUGH_DATA || e.readyState === e.HAVE_FUTURE_DATA) && e.width && e.height && (e.complete = !0), e.addEventListener("play", this._onPlayStart.bind(this)), e.addEventListener("pause", this._onPlayStop.bind(this)), this._isSourceReady() ? this._onCanPlay() : (e.addEventListener("canplay", this._onCanPlay), e.addEventListener("canplaythrough", this._onCanPlay)), this._load = new Promise(function(n) {
                t.valid ? n(t) : (t._resolve = n, e.load())
            }), this._load
        }, e.prototype._isSourcePlaying = function() {
            var t = this.source;
            return t.currentTime > 0 && !1 === t.paused && !1 === t.ended && t.readyState > 2
        }, e.prototype._isSourceReady = function() {
            return 3 === this.source.readyState || 4 === this.source.readyState
        }, e.prototype._onPlayStart = function() {
            this.valid || this._onCanPlay(), !this._isAutoUpdating && this.autoUpdate && (pe.shared.add(this.update, this), this._isAutoUpdating = !0)
        }, e.prototype._onPlayStop = function() {
            this._isAutoUpdating && (pe.shared.remove(this.update, this), this._isAutoUpdating = !1)
        }, e.prototype._onCanPlay = function() {
            var t = this.source;
            t.removeEventListener("canplay", this._onCanPlay), t.removeEventListener("canplaythrough", this._onCanPlay);
            var e = this.valid;
            this.resize(t.videoWidth, t.videoHeight), !e && this._resolve && (this._resolve(this), this._resolve = null), this._isSourcePlaying() ? this._onPlayStart() : this.autoPlay && t.play()
        }, e.prototype.dispose = function() {
            this._isAutoUpdating && pe.shared.remove(this.update, this), this.source && (this.source.pause(), this.source.src = "", this.source.load()), t.prototype.dispose.call(this)
        }, n.autoUpdate.get = function() {
            return this._autoUpdate
        }, n.autoUpdate.set = function(t) {
            t !== this._autoUpdate && (this._autoUpdate = t, !this._autoUpdate && this._isAutoUpdating ? (pe.shared.remove(this.update, this), this._isAutoUpdating = !1) : this._autoUpdate && !this._isAutoUpdating && (pe.shared.add(this.update, this), this._isAutoUpdating = !0))
        }, n.updateFPS.get = function() {
            return this._updateFPS
        }, n.updateFPS.set = function(t) {
            t !== this._updateFPS && (this._updateFPS = t)
        }, e.test = function(t, n) {
            return t instanceof HTMLVideoElement || e.TYPES.indexOf(n) > -1
        }, Object.defineProperties(e.prototype, n), e
    }(we);
    Pe.TYPES = ["mp4", "m4v", "webm", "ogg", "ogv", "h264", "avi", "mov"], be.push(ve, ke, Pe, De, Se, Ie, Te);
    var Re = function(t) {
        this.renderer = t, this.renderer.runners.contextChange.add(this)
    };
    Re.prototype.contextChange = function(t) {}, Re.prototype.destroy = function() {
        this.renderer.runners.contextChange.remove(this), this.renderer = null
    };
    var Be = function(t) {
            function e() {
                t.apply(this, arguments)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.upload = function(t, e, n) {
                var r = t.gl;
                return r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, e.premultiplyAlpha), n.width === e.width && n.height === e.height ? r.texSubImage2D(e.target, 0, 0, 0, e.width, e.height, e.format, e.type, this.data) : (n.width = e.width, n.height = e.height, r.texImage2D(e.target, 0, r.DEPTH_COMPONENT16, e.width, e.height, 0, e.format, e.type, this.data)), !0
            }, e
        }(Se),
        Me = function(t, e) {
            this.width = Math.ceil(t || 100), this.height = Math.ceil(e || 100), this.stencil = !1, this.depth = !1, this.dirtyId = 0, this.dirtyFormat = 0, this.dirtySize = 0, this.depthTexture = null, this.colorTextures = [], this.glFramebuffers = {}, this.disposeRunner = new ae("disposeFramebuffer", 2)
        },
        Oe = {
            colorTexture: {
                configurable: !0
            }
        };
    Oe.colorTexture.get = function() {
        return this.colorTextures[0]
    }, Me.prototype.addColorTexture = function(t, e) {
        return void 0 === t && (t = 0), this.colorTextures[t] = e || new Ce(null, {
            scaleMode: 0,
            resolution: 1,
            mipmap: !1,
            width: this.width,
            height: this.height
        }), this.dirtyId++, this.dirtyFormat++, this
    }, Me.prototype.addDepthTexture = function(t) {
        return this.depthTexture = t || new Ce(new Be(null, {
            width: this.width,
            height: this.height
        }), {
            scaleMode: 0,
            resolution: 1,
            width: this.width,
            height: this.height,
            mipmap: !1,
            format: H.DEPTH_COMPONENT,
            type: F.UNSIGNED_SHORT
        }), this.dirtyId++, this.dirtyFormat++, this
    }, Me.prototype.enableDepth = function() {
        return this.depth = !0, this.dirtyId++, this.dirtyFormat++, this
    }, Me.prototype.enableStencil = function() {
        return this.stencil = !0, this.dirtyId++, this.dirtyFormat++, this
    }, Me.prototype.resize = function(t, e) {
        if (t = Math.ceil(t), e = Math.ceil(e), t !== this.width || e !== this.height) {
            this.width = t, this.height = e, this.dirtyId++, this.dirtySize++;
            for (var n = 0; n < this.colorTextures.length; n++) {
                var r = this.colorTextures[n],
                    i = r.resolution;
                r.setSize(t / i, e / i)
            }
            if (this.depthTexture) {
                var o = this.depthTexture.resolution;
                this.depthTexture.setSize(t / o, e / o)
            }
        }
    }, Me.prototype.dispose = function() {
        this.disposeRunner.run(this, !1)
    }, Object.defineProperties(Me.prototype, Oe);
    var Le = function(t) {
            function e(e) {
                "number" == typeof e && (e = {
                    width: arguments[0],
                    height: arguments[1],
                    scaleMode: arguments[2],
                    resolution: arguments[3]
                });
                t.call(this, null, e);
                var n = e || {},
                    r = n.width,
                    i = n.height;
                this.mipmap = !1, this.width = Math.ceil(r) || 100, this.height = Math.ceil(i) || 100, this.valid = !0, this._canvasRenderTarget = null, this.clearColor = [0, 0, 0, 0], this.framebuffer = new Me(this.width * this.resolution, this.height * this.resolution).addColorTexture(0, this).enableStencil(), this.stencilMaskStack = [], this.filterStack = [{}]
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.resize = function(t, e) {
                t = Math.ceil(t), e = Math.ceil(e), this.framebuffer.resize(t * this.resolution, e * this.resolution)
            }, e.prototype.dispose = function() {
                this.framebuffer.dispose(), t.prototype.dispose.call(this)
            }, e.prototype.destroy = function() {
                t.prototype.destroy.call(this, !0), this.framebuffer = null, this.renderer = null
            }, e
        }(Ce),
        He = function() {
            this.x0 = 0, this.y0 = 0, this.x1 = 1, this.y1 = 0, this.x2 = 1, this.y2 = 1, this.x3 = 0, this.y3 = 1, this.uvsFloat32 = new Float32Array(8)
        };
    He.prototype.set = function(t, e, n) {
        var r = e.width,
            i = e.height;
        if (n) {
            var o = t.width / 2 / r,
                a = t.height / 2 / i,
                s = t.x / r + o,
                A = t.y / i + a;
            n = Gt.add(n, Gt.NW), this.x0 = s + o * Gt.uX(n), this.y0 = A + a * Gt.uY(n), n = Gt.add(n, 2), this.x1 = s + o * Gt.uX(n), this.y1 = A + a * Gt.uY(n), n = Gt.add(n, 2), this.x2 = s + o * Gt.uX(n), this.y2 = A + a * Gt.uY(n), n = Gt.add(n, 2), this.x3 = s + o * Gt.uX(n), this.y3 = A + a * Gt.uY(n)
        } else this.x0 = t.x / r, this.y0 = t.y / i, this.x1 = (t.x + t.width) / r, this.y1 = t.y / i, this.x2 = (t.x + t.width) / r, this.y2 = (t.y + t.height) / i, this.x3 = t.x / r, this.y3 = (t.y + t.height) / i;
        this.uvsFloat32[0] = this.x0, this.uvsFloat32[1] = this.y0, this.uvsFloat32[2] = this.x1, this.uvsFloat32[3] = this.y1, this.uvsFloat32[4] = this.x2, this.uvsFloat32[5] = this.y2, this.uvsFloat32[6] = this.x3, this.uvsFloat32[7] = this.y3
    };
    var ze = new He,
        Fe = function(t) {
            function e(n, r, i, o, a, s) {
                if (t.call(this), this.noFrame = !1, r || (this.noFrame = !0, r = new Kt(0, 0, 1, 1)), n instanceof e && (n = n.baseTexture), this.baseTexture = n, this._frame = r, this.trim = o, this.valid = !1, this.requiresUpdate = !1, this._uvs = ze, this.uvMatrix = null, this.orig = i || r, this._rotate = Number(a || 0), !0 === a) this._rotate = 2;
                else if (this._rotate % 2 != 0) throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");
                this.defaultAnchor = s ? new It(s.x, s.y) : new It(0, 0), this._updateID = 0, this.textureCacheIds = [], n.valid ? this.noFrame ? n.valid && this.onBaseTextureUpdated(n) : this.frame = r : n.once("loaded", this.onBaseTextureUpdated, this), this.noFrame && n.on("update", this.onBaseTextureUpdated, this)
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                frame: {
                    configurable: !0
                },
                rotate: {
                    configurable: !0
                },
                width: {
                    configurable: !0
                },
                height: {
                    configurable: !0
                }
            };
            return e.prototype.update = function() {
                this.baseTexture.resource && this.baseTexture.resource.update()
            }, e.prototype.onBaseTextureUpdated = function(t) {
                if (this.noFrame) {
                    if (!this.baseTexture.valid) return;
                    this._frame.width = t.width, this._frame.height = t.height, this.valid = !0, this.updateUvs()
                } else this.frame = this._frame;
                this.emit("update", this)
            }, e.prototype.destroy = function(t) {
                if (this.baseTexture) {
                    if (t) {
                        var n = this.baseTexture.resource;
                        n && ft[n.url] && e.removeFromCache(n.url), this.baseTexture.destroy()
                    }
                    this.baseTexture.off("update", this.onBaseTextureUpdated, this), this.baseTexture = null
                }
                this._frame = null, this._uvs = null, this.trim = null, this.orig = null, this.valid = !1, e.removeFromCache(this), this.textureCacheIds = null
            }, e.prototype.clone = function() {
                return new e(this.baseTexture, this.frame, this.orig, this.trim, this.rotate, this.defaultAnchor)
            }, e.prototype.updateUvs = function() {
                this._uvs === ze && (this._uvs = new He), this._uvs.set(this._frame, this.baseTexture, this.rotate), this._updateID++
            }, e.from = function(t, n) {
                void 0 === n && (n = {});
                var r = null;
                "string" == typeof t ? r = t : (t._pixiId || (t._pixiId = "pixiid_" + ht()), r = t._pixiId);
                var i = ft[r];
                return i || (n.resolution || (n.resolution = Ct(t)), (i = new e(new Ce(t, n))).baseTexture.cacheId = r, Ce.addToCache(i.baseTexture, r), e.addToCache(i, r)), i
            }, e.fromBuffer = function(t, n, r, i) {
                return new e(Ce.fromBuffer(t, n, r, i))
            }, e.fromLoader = function(t, n, r) {
                var i = new ve(t);
                i.url = n;
                var o = new e(new Ce(i, {
                    scaleMode: C.SCALE_MODE,
                    resolution: Ct(n)
                }));
                return r || (r = n), Ce.addToCache(o.baseTexture, r), e.addToCache(o, r), r !== n && (Ce.addToCache(o.baseTexture, n), e.addToCache(o, n)), o
            }, e.addToCache = function(t, e) {
                e && (-1 === t.textureCacheIds.indexOf(e) && t.textureCacheIds.push(e), ft[e] && console.warn("Texture added to the cache with an id [" + e + "] that already had an entry"), ft[e] = t)
            }, e.removeFromCache = function(t) {
                if ("string" == typeof t) {
                    var e = ft[t];
                    if (e) {
                        var n = e.textureCacheIds.indexOf(t);
                        return n > -1 && e.textureCacheIds.splice(n, 1), delete ft[t], e
                    }
                } else if (t && t.textureCacheIds) {
                    for (var r = 0; r < t.textureCacheIds.length; ++r) ft[t.textureCacheIds[r]] === t && delete ft[t.textureCacheIds[r]];
                    return t.textureCacheIds.length = 0, t
                }
                return null
            }, n.frame.get = function() {
                return this._frame
            }, n.frame.set = function(t) {
                this._frame = t, this.noFrame = !1;
                var e = t.x,
                    n = t.y,
                    r = t.width,
                    i = t.height,
                    o = e + r > this.baseTexture.width,
                    a = n + i > this.baseTexture.height;
                if (o || a) {
                    var s = o && a ? "and" : "or",
                        A = "X: " + e + " + " + r + " = " + (e + r) + " > " + this.baseTexture.width,
                        h = "Y: " + n + " + " + i + " = " + (n + i) + " > " + this.baseTexture.height;
                    throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: " + A + " " + s + " " + h)
                }
                this.valid = r && i && this.baseTexture.valid, this.trim || this.rotate || (this.orig = t), this.valid && this.updateUvs()
            }, n.rotate.get = function() {
                return this._rotate
            }, n.rotate.set = function(t) {
                this._rotate = t, this.valid && this.updateUvs()
            }, n.width.get = function() {
                return this.orig.width
            }, n.height.get = function() {
                return this.orig.height
            }, Object.defineProperties(e.prototype, n), e
        }(k.a);

    function Ne(t) {
        t.destroy = function() {}, t.on = function() {}, t.once = function() {}, t.emit = function() {}
    }
    Fe.EMPTY = new Fe(new Ce), Ne(Fe.EMPTY), Ne(Fe.EMPTY.baseTexture), Fe.WHITE = function() {
        var t = document.createElement("canvas");
        t.width = 16, t.height = 16;
        var e = t.getContext("2d");
        return e.fillStyle = "white", e.fillRect(0, 0, 16, 16), new Fe(new Ce(new ke(t)))
    }(), Ne(Fe.WHITE), Ne(Fe.WHITE.baseTexture);
    var Ue = function(t) {
            function e(e, n) {
                var r = null;
                if (!(e instanceof Le)) {
                    var i = arguments[1],
                        o = arguments[2],
                        a = arguments[3],
                        s = arguments[4];
                    console.warn("Please use RenderTexture.create(" + i + ", " + o + ") instead of the ctor directly."), r = arguments[0], n = null, e = new Le({
                        width: i,
                        height: o,
                        scaleMode: a,
                        resolution: s
                    })
                }
                t.call(this, e, n), this.legacyRenderer = r, this.valid = !0, this.filterFrame = null, this.filterPoolKey = null, this.updateUvs()
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.resize = function(t, e, n) {
                void 0 === n && (n = !0), t = Math.ceil(t), e = Math.ceil(e), this.valid = t > 0 && e > 0, this._frame.width = this.orig.width = t, this._frame.height = this.orig.height = e, n && this.baseTexture.resize(t, e), this.updateUvs()
            }, e.prototype.setResolution = function(t) {
                var e = this.baseTexture;
                e.resolution !== t && (e.setResolution(t), this.resize(e.width, e.height, !1))
            }, e.create = function(t) {
                return "number" == typeof t && (t = {
                    width: t,
                    height: arguments[1],
                    scaleMode: arguments[2],
                    resolution: arguments[3]
                }), new e(new Le(t))
            }, e
        }(Fe),
        Qe = function(t, e, n, r, i, o, a) {
            void 0 === n && (n = !1), void 0 === r && (r = 5126), this.buffer = t, this.size = e, this.normalized = n, this.type = r, this.stride = i, this.start = o, this.instance = a
        };
    Qe.prototype.destroy = function() {
        this.buffer = null
    }, Qe.from = function(t, e, n, r, i) {
        return new Qe(t, e, n, r, i)
    };
    var je = 0,
        Xe = function(t, e, n) {
            void 0 === e && (e = !0), void 0 === n && (n = !1), this.data = t || new Float32Array(1), this._glBuffers = {}, this._updateID = 0, this.index = n, this.static = e, this.id = je++, this.disposeRunner = new ae("disposeBuffer", 2)
        };

    function Ge(t) {
        if (4 === t.BYTES_PER_ELEMENT) return t instanceof Float32Array ? "Float32Array" : t instanceof Uint32Array ? "Uint32Array" : "Int32Array";
        if (2 === t.BYTES_PER_ELEMENT) {
            if (t instanceof Uint16Array) return "Uint16Array"
        } else if (1 === t.BYTES_PER_ELEMENT && t instanceof Uint8Array) return "Uint8Array";
        return null
    }
    Xe.prototype.update = function(t) {
        this.data = t || this.data, this._updateID++
    }, Xe.prototype.dispose = function() {
        this.disposeRunner.run(this, !1)
    }, Xe.prototype.destroy = function() {
        this.dispose(), this.data = null
    }, Xe.from = function(t) {
        return t instanceof Array && (t = new Float32Array(t)), new Xe(t)
    };
    var We = {
        Float32Array: Float32Array,
        Uint32Array: Uint32Array,
        Int32Array: Int32Array,
        Uint8Array: Uint8Array
    };
    var Ye = {
            5126: 4,
            5123: 2,
            5121: 1
        },
        Ke = 0,
        Ve = {
            Float32Array: Float32Array,
            Uint32Array: Uint32Array,
            Int32Array: Int32Array,
            Uint8Array: Uint8Array,
            Uint16Array: Uint16Array
        },
        qe = function(t, e) {
            void 0 === t && (t = []), void 0 === e && (e = {}), this.buffers = t, this.indexBuffer = null, this.attributes = e, this.glVertexArrayObjects = {}, this.id = Ke++, this.instanced = !1, this.instanceCount = 1, this._size = null, this.disposeRunner = new ae("disposeGeometry", 2), this.refCount = 0
        };
    qe.prototype.addAttribute = function(t, e, n, r, i, o, a, s) {
        if (void 0 === r && (r = !1), void 0 === s && (s = !1), !e) throw new Error("You must pass a buffer when creating an attribute");
        e.data || (e instanceof Array && (e = new Float32Array(e)), e = new Xe(e));
        var A = t.split("|");
        if (A.length > 1) {
            for (var h = 0; h < A.length; h++) this.addAttribute(A[h], e, n, r, i);
            return this
        }
        var c = this.buffers.indexOf(e);
        return -1 === c && (this.buffers.push(e), c = this.buffers.length - 1), this.attributes[t] = new Qe(c, n, r, i, o, a, s), this.instanced = this.instanced || s, this
    }, qe.prototype.getAttribute = function(t) {
        return this.attributes[t]
    }, qe.prototype.getBuffer = function(t) {
        return this.buffers[this.getAttribute(t).buffer]
    }, qe.prototype.addIndex = function(t) {
        return t.data || (t instanceof Array && (t = new Uint16Array(t)), t = new Xe(t)), t.index = !0, this.indexBuffer = t, -1 === this.buffers.indexOf(t) && this.buffers.push(t), this
    }, qe.prototype.getIndex = function() {
        return this.indexBuffer
    }, qe.prototype.interleave = function() {
        if (1 === this.buffers.length || 2 === this.buffers.length && this.indexBuffer) return this;
        var t, e = [],
            n = [],
            r = new Xe;
        for (t in this.attributes) {
            var i = this.attributes[t],
                o = this.buffers[i.buffer];
            e.push(o.data), n.push(i.size * Ye[i.type] / 4), i.buffer = 0
        }
        for (r.data = function(t, e) {
                for (var n = 0, r = 0, i = {}, o = 0; o < t.length; o++) r += e[o], n += t[o].length;
                for (var a = new ArrayBuffer(4 * n), s = null, A = 0, h = 0; h < t.length; h++) {
                    var c = e[h],
                        u = t[h],
                        l = Ge(u);
                    i[l] || (i[l] = new We[l](a)), s = i[l];
                    for (var d = 0; d < u.length; d++) s[(d / c | 0) * r + A + d % c] = u[d];
                    A += c
                }
                return new Float32Array(a)
            }(e, n), t = 0; t < this.buffers.length; t++) this.buffers[t] !== this.indexBuffer && this.buffers[t].destroy();
        return this.buffers = [r], this.indexBuffer && this.buffers.push(this.indexBuffer), this
    }, qe.prototype.getSize = function() {
        for (var t in this.attributes) {
            var e = this.attributes[t];
            return this.buffers[e.buffer].data.length / (e.stride / 4 || e.size)
        }
        return 0
    }, qe.prototype.dispose = function() {
        this.disposeRunner.run(this, !1)
    }, qe.prototype.destroy = function() {
        this.dispose(), this.buffers = null, this.indexBuffer.destroy(), this.attributes = null
    }, qe.prototype.clone = function() {
        for (var t = new qe, e = 0; e < this.buffers.length; e++) t.buffers[e] = new Xe(this.buffers[e].data.slice());
        for (var n in this.attributes) {
            var r = this.attributes[n];
            t.attributes[n] = new Qe(r.buffer, r.size, r.normalized, r.type, r.stride, r.start, r.instance)
        }
        return this.indexBuffer && (t.indexBuffer = t.buffers[this.buffers.indexOf(this.indexBuffer)], t.indexBuffer.index = !0), t
    }, qe.merge = function(t) {
        for (var e, n = new qe, r = [], i = [], o = [], a = 0; a < t.length; a++) {
            e = t[a];
            for (var s = 0; s < e.buffers.length; s++) i[s] = i[s] || 0, i[s] += e.buffers[s].data.length, o[s] = 0
        }
        for (var A = 0; A < e.buffers.length; A++) r[A] = new(Ve[Ge(e.buffers[A].data)])(i[A]), n.buffers[A] = new Xe(r[A]);
        for (var h = 0; h < t.length; h++) {
            e = t[h];
            for (var c = 0; c < e.buffers.length; c++) r[c].set(e.buffers[c].data, o[c]), o[c] += e.buffers[c].data.length
        }
        if (n.attributes = e.attributes, e.indexBuffer) {
            n.indexBuffer = n.buffers[e.buffers.indexOf(e.indexBuffer)], n.indexBuffer.index = !0;
            for (var u = 0, l = 0, d = 0, p = 0, f = 0; f < e.buffers.length; f++)
                if (e.buffers[f] !== e.indexBuffer) {
                    p = f;
                    break
                } for (var y in e.attributes) {
                var x = e.attributes[y];
                (0 | x.buffer) === p && (l += x.size * Ye[x.type] / 4)
            }
            for (var m = 0; m < t.length; m++) {
                for (var g = t[m].indexBuffer.data, w = 0; w < g.length; w++) n.indexBuffer.data[w + d] += u;
                u += e.buffers[p].data.length / l, d += g.length
            }
        }
        return n
    };
    var Je = function(t) {
            function e() {
                t.call(this), this.addAttribute("aVertexPosition", [0, 0, 1, 0, 1, 1, 0, 1]).addIndex([0, 1, 3, 2])
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e
        }(qe),
        Ze = function(t) {
            function e() {
                t.call(this), this.vertices = new Float32Array([-1, -1, 1, -1, 1, 1, -1, 1]), this.uvs = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), this.vertexBuffer = new Xe(this.vertices), this.uvBuffer = new Xe(this.uvs), this.addAttribute("aVertexPosition", this.vertexBuffer).addAttribute("aTextureCoord", this.uvBuffer).addIndex([0, 1, 2, 0, 2, 3])
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.map = function(t, e) {
                var n = 0,
                    r = 0;
                return this.uvs[0] = n, this.uvs[1] = r, this.uvs[2] = n + e.width / t.width, this.uvs[3] = r, this.uvs[4] = n + e.width / t.width, this.uvs[5] = r + e.height / t.height, this.uvs[6] = n, this.uvs[7] = r + e.height / t.height, n = e.x, r = e.y, this.vertices[0] = n, this.vertices[1] = r, this.vertices[2] = n + e.width, this.vertices[3] = r, this.vertices[4] = n + e.width, this.vertices[5] = r + e.height, this.vertices[6] = n, this.vertices[7] = r + e.height, this.invalidate(), this
            }, e.prototype.invalidate = function() {
                return this.vertexBuffer._updateID++, this.uvBuffer._updateID++, this
            }, e
        }(qe),
        $e = 0,
        tn = function(t, e) {
            this.uniforms = t, this.group = !0, this.syncUniforms = {}, this.dirtyId = 0, this.id = $e++, this.static = !!e
        };
    tn.prototype.update = function() {
        this.dirtyId++
    }, tn.prototype.add = function(t, e, n) {
        this.uniforms[t] = new tn(e, n)
    }, tn.from = function(t, e) {
        return new tn(t, e)
    };
    var en = function() {
        this.renderTexture = null, this.target = null, this.legacy = !1, this.resolution = 1, this.sourceFrame = new Kt, this.destinationFrame = new Kt, this.filters = []
    };
    en.prototype.clear = function() {
        this.target = null, this.filters = null, this.renderTexture = null
    };
    var nn = function(t) {
            function e(e) {
                t.call(this, e), this.defaultFilterStack = [{}], this.texturePool = {}, this.statePool = [], this.quad = new Je, this.quadUv = new Ze, this.tempRect = new Kt, this.activeState = {}, this.globalUniforms = new tn({
                    outputFrame: this.tempRect,
                    inputSize: new Float32Array(4),
                    inputPixel: new Float32Array(4),
                    inputClamp: new Float32Array(4),
                    resolution: 1,
                    filterArea: new Float32Array(4),
                    filterClamp: new Float32Array(4)
                }, !0), this._pixelsWidth = e.view.width, this._pixelsHeight = e.view.height
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.push = function(t, e) {
                for (var n = this.renderer, r = this.defaultFilterStack, i = this.statePool.pop() || new en, o = e[0].resolution, a = e[0].padding, s = e[0].autoFit, A = e[0].legacy, h = 1; h < e.length; h++) {
                    var c = e[h];
                    o = Math.min(o, c.resolution), a = Math.max(a, c.padding), s = s || c.autoFit, A = A || c.legacy
                }
                1 === r.length && (this.defaultFilterStack[0].renderTexture = n.renderTexture.current), r.push(i), i.resolution = o, i.legacy = A, i.target = t, i.sourceFrame.copyFrom(t.filterArea || t.getBounds(!0)), i.sourceFrame.pad(a), s && i.sourceFrame.fit(this.renderer.renderTexture.sourceFrame), i.sourceFrame.ceil(o), i.renderTexture = this.getOptimalFilterTexture(i.sourceFrame.width, i.sourceFrame.height, o), i.filters = e, i.destinationFrame.width = i.renderTexture.width, i.destinationFrame.height = i.renderTexture.height, i.renderTexture.filterFrame = i.sourceFrame, n.renderTexture.bind(i.renderTexture, i.sourceFrame), n.renderTexture.clear()
            }, e.prototype.pop = function() {
                var t = this.defaultFilterStack,
                    e = t.pop(),
                    n = e.filters;
                this.activeState = e;
                var r = this.globalUniforms.uniforms;
                r.outputFrame = e.sourceFrame, r.resolution = e.resolution;
                var i = r.inputSize,
                    o = r.inputPixel,
                    a = r.inputClamp;
                if (i[0] = e.destinationFrame.width, i[1] = e.destinationFrame.height, i[2] = 1 / i[0], i[3] = 1 / i[1], o[0] = i[0] * e.resolution, o[1] = i[1] * e.resolution, o[2] = 1 / o[0], o[3] = 1 / o[1], a[0] = .5 * o[2], a[1] = .5 * o[3], a[2] = e.sourceFrame.width * i[2] - .5 * o[2], a[3] = e.sourceFrame.height * i[3] - .5 * o[3], e.legacy) {
                    var s = r.filterArea;
                    s[0] = e.destinationFrame.width, s[1] = e.destinationFrame.height, s[2] = e.sourceFrame.x, s[3] = e.sourceFrame.y, r.filterClamp = r.inputClamp
                }
                this.globalUniforms.update();
                var A = t[t.length - 1];
                if (1 === n.length) n[0].apply(this, e.renderTexture, A.renderTexture, !1, e), this.returnFilterTexture(e.renderTexture);
                else {
                    var h = e.renderTexture,
                        c = this.getOptimalFilterTexture(h.width, h.height, e.resolution);
                    c.filterFrame = h.filterFrame;
                    var u = 0;
                    for (u = 0; u < n.length - 1; ++u) {
                        n[u].apply(this, h, c, !0, e);
                        var l = h;
                        h = c, c = l
                    }
                    n[u].apply(this, h, A.renderTexture, !1, e), this.returnFilterTexture(h), this.returnFilterTexture(c)
                }
                e.clear(), this.statePool.push(e)
            }, e.prototype.applyFilter = function(t, e, n, r) {
                var i = this.renderer;
                i.renderTexture.bind(n, n ? n.filterFrame : null), r && i.renderTexture.clear(), t.uniforms.uSampler = e, t.uniforms.filterGlobals = this.globalUniforms, i.state.setState(t.state), i.shader.bind(t), t.legacy ? (this.quadUv.map(e._frame, e.filterFrame), i.geometry.bind(this.quadUv), i.geometry.draw(L.TRIANGLES)) : (i.geometry.bind(this.quad), i.geometry.draw(L.TRIANGLE_STRIP))
            }, e.prototype.calculateSpriteMatrix = function(t, e) {
                var n = this.activeState,
                    r = n.sourceFrame,
                    i = n.destinationFrame,
                    o = e._texture.orig,
                    a = t.set(i.width, 0, 0, i.height, r.x, r.y),
                    s = e.worldTransform.copyTo(Lt.TEMP_MATRIX);
                return s.invert(), a.prepend(s), a.scale(1 / o.width, 1 / o.height), a.translate(e.anchor.x, e.anchor.y), a
            }, e.prototype.destroy = function(t) {
                void 0 === t && (t = !1), t ? this.texturePool = {} : this.emptyPool()
            }, e.prototype.getOptimalFilterTexture = function(t, e, n) {
                void 0 === n && (n = 1);
                var r = "screen";
                e *= n, (t *= n) === this._pixelsWidth && e === this._pixelsHeight || (r = (65535 & (t = ut(t))) << 16 | 65535 & (e = ut(e))), this.texturePool[r] || (this.texturePool[r] = []);
                var i = this.texturePool[r].pop();
                return i || (i = Ue.create({
                    width: t,
                    height: e
                })), i.filterPoolKey = r, i.setResolution(n), i
            }, e.prototype.getFilterTexture = function(t) {
                var e = this.activeState.renderTexture,
                    n = this.getOptimalFilterTexture(e.width, e.height, t || e.baseTexture.resolution);
                return n.filterFrame = e.filterFrame, n
            }, e.prototype.returnFilterTexture = function(t) {
                var e = t.filterPoolKey;
                t.filterFrame = null, this.texturePool[e].push(t)
            }, e.prototype.emptyPool = function() {
                for (var t in this.texturePool) {
                    var e = this.texturePool[t];
                    if (e)
                        for (var n = 0; n < e.length; n++) e[n].destroy(!0)
                }
                this.texturePool = {}
            }, e.prototype.resize = function() {
                var t = this.texturePool.screen;
                if (t)
                    for (var e = 0; e < t.length; e++) t[e].destroy(!0);
                this.texturePool.screen = [], this._pixelsWidth = this.renderer.view.width, this._pixelsHeight = this.renderer.view.height
            }, e
        }(Re),
        rn = function(t) {
            function e() {
                t.apply(this, arguments)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.start = function() {}, e.prototype.stop = function() {
                this.flush()
            }, e.prototype.flush = function() {}, e.prototype.render = function(t) {}, e
        }(Re),
        on = function(t) {
            function e(e) {
                t.call(this, e), this.emptyRenderer = new rn(e), this.currentRenderer = this.emptyRenderer
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.setObjectRenderer = function(t) {
                this.currentRenderer !== t && (this.currentRenderer.stop(), this.currentRenderer = t, this.currentRenderer.start())
            }, e.prototype.flush = function() {
                this.setObjectRenderer(this.emptyRenderer)
            }, e.prototype.reset = function() {
                this.setObjectRenderer(this.emptyRenderer)
            }, e
        }(Re);
    C.PREFER_ENV = E.a.any ? B.WEBGL : B.WEBGL2;
    var an = 0,
        sn = function(t) {
            function e(e) {
                t.call(this, e), this.webGLVersion = 1, this.extensions = {}, this.handleContextLost = this.handleContextLost.bind(this), this.handleContextRestored = this.handleContextRestored.bind(this), e.view.addEventListener("webglcontextlost", this.handleContextLost, !1), e.view.addEventListener("webglcontextrestored", this.handleContextRestored, !1)
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                isLost: {
                    configurable: !0
                }
            };
            return n.isLost.get = function() {
                return !this.gl || this.gl.isContextLost()
            }, e.prototype.contextChange = function(t) {
                this.gl = t, t.isContextLost() && t.getExtension("WEBGL_lose_context") && t.getExtension("WEBGL_lose_context").restoreContext()
            }, e.prototype.initFromContext = function(t) {
                this.gl = t, this.validateContext(t), this.renderer.gl = t, this.renderer.CONTEXT_UID = an++, this.renderer.runners.contextChange.run(t)
            }, e.prototype.initFromOptions = function(t) {
                var e = this.createContext(this.renderer.view, t);
                this.initFromContext(e)
            }, e.prototype.createContext = function(t, e) {
                var n;
                if (C.PREFER_ENV >= B.WEBGL2 && (n = t.getContext("webgl2", e)), n) this.webGLVersion = 2;
                else if (this.webGLVersion = 1, !(n = t.getContext("webgl", e) || t.getContext("experimental-webgl", e))) throw new Error("This browser does not support WebGL. Try using the canvas renderer");
                return this.gl = n, this.getExtensions(), n
            }, e.prototype.getExtensions = function() {
                var t = this.gl;
                1 === this.webGLVersion && Object.assign(this.extensions, {
                    drawBuffers: t.getExtension("WEBGL_draw_buffers"),
                    depthTexture: t.getExtension("WEBKIT_WEBGL_depth_texture"),
                    floatTexture: t.getExtension("OES_texture_float"),
                    loseContext: t.getExtension("WEBGL_lose_context"),
                    vertexArrayObject: t.getExtension("OES_vertex_array_object") || t.getExtension("MOZ_OES_vertex_array_object") || t.getExtension("WEBKIT_OES_vertex_array_object"),
                    uint32ElementIndex: t.getExtension("OES_element_index_uint")
                })
            }, e.prototype.handleContextLost = function(t) {
                t.preventDefault()
            }, e.prototype.handleContextRestored = function() {
                this.renderer.runners.contextChange.run(this.gl)
            }, e.prototype.destroy = function() {
                var t = this.renderer.view;
                t.removeEventListener("webglcontextlost", this.handleContextLost), t.removeEventListener("webglcontextrestored", this.handleContextRestored), this.gl.useProgram(null), this.extensions.loseContext && this.extensions.loseContext.loseContext()
            }, e.prototype.postrender = function() {
                this.gl.flush()
            }, e.prototype.validateContext = function(t) {
                t.getContextAttributes().stencil || console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly")
            }, Object.defineProperties(e.prototype, n), e
        }(Re),
        An = function(t) {
            function e(e) {
                t.call(this, e), this.managedFramebuffers = [], this.unknownFramebuffer = new Me(10, 10)
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                size: {
                    configurable: !0
                }
            };
            return e.prototype.contextChange = function() {
                var t = this.gl = this.renderer.gl;
                if (this.CONTEXT_UID = this.renderer.CONTEXT_UID, this.current = this.unknownFramebuffer, this.viewport = new Kt, this.hasMRT = !0, this.writeDepthTexture = !0, this.disposeAll(!0), 1 === this.renderer.context.webGLVersion) {
                    var e = this.renderer.context.extensions.drawBuffers,
                        n = this.renderer.context.extensions.depthTexture;
                    C.PREFER_ENV === B.WEBGL_LEGACY && (e = null, n = null), e ? t.drawBuffers = function(t) {
                        return e.drawBuffersWEBGL(t)
                    } : (this.hasMRT = !1, t.drawBuffers = function() {}), n || (this.writeDepthTexture = !1)
                }
            }, e.prototype.bind = function(t, e) {
                var n = this.gl;
                if (t) {
                    var r = t.glFramebuffers[this.CONTEXT_UID] || this.initFramebuffer(t);
                    this.current !== t && (this.current = t, n.bindFramebuffer(n.FRAMEBUFFER, r.framebuffer)), r.dirtyId !== t.dirtyId && (r.dirtyId = t.dirtyId, r.dirtyFormat !== t.dirtyFormat ? (r.dirtyFormat = t.dirtyFormat, this.updateFramebuffer(t)) : r.dirtySize !== t.dirtySize && (r.dirtySize = t.dirtySize, this.resizeFramebuffer(t)));
                    for (var i = 0; i < t.colorTextures.length; i++) t.colorTextures[i].texturePart ? this.renderer.texture.unbind(t.colorTextures[i].texture) : this.renderer.texture.unbind(t.colorTextures[i]);
                    t.depthTexture && this.renderer.texture.unbind(t.depthTexture), e ? this.setViewport(e.x, e.y, e.width, e.height) : this.setViewport(0, 0, t.width, t.height)
                } else this.current && (this.current = null, n.bindFramebuffer(n.FRAMEBUFFER, null)), e ? this.setViewport(e.x, e.y, e.width, e.height) : this.setViewport(0, 0, this.renderer.width, this.renderer.height)
            }, e.prototype.setViewport = function(t, e, n, r) {
                var i = this.viewport;
                i.width === n && i.height === r && i.x === t && i.y === e || (i.x = t, i.y = e, i.width = n, i.height = r, this.gl.viewport(t, e, n, r))
            }, n.size.get = function() {
                return this.current ? {
                    x: 0,
                    y: 0,
                    width: this.current.width,
                    height: this.current.height
                } : {
                    x: 0,
                    y: 0,
                    width: this.renderer.width,
                    height: this.renderer.height
                }
            }, e.prototype.clear = function(t, e, n, r) {
                var i = this.gl;
                i.clearColor(t, e, n, r), i.clear(i.COLOR_BUFFER_BIT | i.DEPTH_BUFFER_BIT)
            }, e.prototype.initFramebuffer = function(t) {
                var e = {
                    framebuffer: this.gl.createFramebuffer(),
                    stencil: null,
                    dirtyId: 0,
                    dirtyFormat: 0,
                    dirtySize: 0
                };
                return t.glFramebuffers[this.CONTEXT_UID] = e, this.managedFramebuffers.push(t), t.disposeRunner.add(this), e
            }, e.prototype.resizeFramebuffer = function(t) {
                var e = this.gl,
                    n = t.glFramebuffers[this.CONTEXT_UID];
                n.stencil && (e.bindRenderbuffer(e.RENDERBUFFER, n.stencil), e.renderbufferStorage(e.RENDERBUFFER, e.DEPTH_STENCIL, t.width, t.height));
                for (var r = t.colorTextures, i = 0; i < r.length; i++) this.renderer.texture.bind(r[i], 0);
                t.depthTexture && this.renderer.texture.bind(t.depthTexture, 0)
            }, e.prototype.updateFramebuffer = function(t) {
                var e = this.gl,
                    n = t.glFramebuffers[this.CONTEXT_UID],
                    r = t.colorTextures.length;
                e.drawBuffers || (r = Math.min(r, 1));
                for (var i = [], o = 0; o < r; o++) {
                    var a = t.colorTextures[o];
                    a.texturePart ? (this.renderer.texture.bind(a.texture, 0), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0 + o, e.TEXTURE_CUBE_MAP_NEGATIVE_X + a.side, a.texture._glTextures[this.CONTEXT_UID].texture, 0)) : (this.renderer.texture.bind(a, 0), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0 + o, e.TEXTURE_2D, a._glTextures[this.CONTEXT_UID].texture, 0)), i.push(e.COLOR_ATTACHMENT0 + o)
                }
                if ((i.length > 1 && e.drawBuffers(i), t.depthTexture) && this.writeDepthTexture) {
                    var s = t.depthTexture;
                    this.renderer.texture.bind(s, 0), e.framebufferTexture2D(e.FRAMEBUFFER, e.DEPTH_ATTACHMENT, e.TEXTURE_2D, s._glTextures[this.CONTEXT_UID].texture, 0)
                }
                n.stencil || !t.stencil && !t.depth || (n.stencil = e.createRenderbuffer(), e.bindRenderbuffer(e.RENDERBUFFER, n.stencil), t.depthTexture || e.framebufferRenderbuffer(e.FRAMEBUFFER, e.DEPTH_STENCIL_ATTACHMENT, e.RENDERBUFFER, n.stencil), e.renderbufferStorage(e.RENDERBUFFER, e.DEPTH_STENCIL, t.width, t.height))
            }, e.prototype.disposeFramebuffer = function(t, e) {
                var n = t.glFramebuffers[this.CONTEXT_UID],
                    r = this.gl;
                if (n) {
                    delete t.glFramebuffers[this.CONTEXT_UID];
                    var i = this.managedFramebuffers.indexOf(t);
                    i >= 0 && this.managedFramebuffers.splice(i, 1), t.disposeRunner.remove(this), e || (r.deleteFramebuffer(n.framebuffer), n.stencil && r.deleteRenderbuffer(n.stencil))
                }
            }, e.prototype.disposeAll = function(t) {
                var e = this.managedFramebuffers;
                this.managedFramebuffers = [];
                for (var n = 0; n < e.count; n++) this.disposeFramebuffer(e[n], t)
            }, e.prototype.reset = function() {
                this.current = this.unknownFramebuffer, this.viewport = new Kt
            }, Object.defineProperties(e.prototype, n), e
        }(Re),
        hn = function(t) {
            this.buffer = t, this.updateID = -1, this.byteLength = -1, this.refCount = 0
        },
        cn = {
            5126: 4,
            5123: 2,
            5121: 1
        },
        un = function(t) {
            function e(e) {
                t.call(this, e), this._activeGeometry = null, this._activeVao = null, this.hasVao = !0, this.hasInstance = !0, this.canUseUInt32ElementIndex = !1, this.boundBuffers = {}, this.managedGeometries = {}, this.managedBuffers = {}
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.contextChange = function() {
                this.disposeAll(!0);
                var t = this.gl = this.renderer.gl,
                    e = this.renderer.context;
                if (this.CONTEXT_UID = this.renderer.CONTEXT_UID, !t.createVertexArray) {
                    var n = this.renderer.context.extensions.vertexArrayObject;
                    C.PREFER_ENV === B.WEBGL_LEGACY && (n = null), n ? (t.createVertexArray = function() {
                        return n.createVertexArrayOES()
                    }, t.bindVertexArray = function(t) {
                        return n.bindVertexArrayOES(t)
                    }, t.deleteVertexArray = function(t) {
                        return n.deleteVertexArrayOES(t)
                    }) : (this.hasVao = !1, t.createVertexArray = function() {}, t.bindVertexArray = function() {}, t.deleteVertexArray = function() {})
                }
                if (!t.vertexAttribDivisor) {
                    var r = t.getExtension("ANGLE_instanced_arrays");
                    r ? (t.vertexAttribDivisor = function(t, e) {
                        return r.vertexAttribDivisorANGLE(t, e)
                    }, t.drawElementsInstanced = function(t, e, n, i, o) {
                        return r.drawElementsInstancedANGLE(t, e, n, i, o)
                    }, t.drawArraysInstanced = function(t, e, n, i) {
                        return r.drawArraysInstancedANGLE(t, e, n, i)
                    }) : this.hasInstance = !1
                }
                this.canUseUInt32ElementIndex = 2 === e.webGLVersion || !!e.extensions.uint32ElementIndex
            }, e.prototype.bind = function(t, e) {
                e = e || this.renderer.shader.shader;
                var n = this.gl,
                    r = t.glVertexArrayObjects[this.CONTEXT_UID];
                r || (this.managedGeometries[t.id] = t, t.disposeRunner.add(this), t.glVertexArrayObjects[this.CONTEXT_UID] = r = {});
                var i = r[e.program.id] || this.initGeometryVao(t, e.program);
                this._activeGeometry = t, this._activeVao !== i && (this._activeVao = i, this.hasVao ? n.bindVertexArray(i) : this.activateVao(t, e.program)), this.updateBuffers()
            }, e.prototype.reset = function() {
                this.unbind()
            }, e.prototype.updateBuffers = function() {
                for (var t = this._activeGeometry, e = this.gl, n = 0; n < t.buffers.length; n++) {
                    var r = t.buffers[n],
                        i = r._glBuffers[this.CONTEXT_UID];
                    if (r._updateID !== i.updateID) {
                        i.updateID = r._updateID;
                        var o = r.index ? e.ELEMENT_ARRAY_BUFFER : e.ARRAY_BUFFER;
                        if (e.bindBuffer(o, i.buffer), this._boundBuffer = i, i.byteLength >= r.data.byteLength) e.bufferSubData(o, 0, r.data);
                        else {
                            var a = r.static ? e.STATIC_DRAW : e.DYNAMIC_DRAW;
                            i.byteLength = r.data.byteLength, e.bufferData(o, r.data, a)
                        }
                    }
                }
            }, e.prototype.checkCompatibility = function(t, e) {
                var n = t.attributes,
                    r = e.attributeData;
                for (var i in r)
                    if (!n[i]) throw new Error('shader and geometry incompatible, geometry missing the "' + i + '" attribute')
            }, e.prototype.getSignature = function(t, e) {
                var n = t.attributes,
                    r = e.attributeData,
                    i = ["g", t.id];
                for (var o in n) r[o] && i.push(o);
                return i.join("-")
            }, e.prototype.initGeometryVao = function(t, e) {
                this.checkCompatibility(t, e);
                var n = this.gl,
                    r = this.CONTEXT_UID,
                    i = this.getSignature(t, e),
                    o = t.glVertexArrayObjects[this.CONTEXT_UID],
                    a = o[i];
                if (a) return o[e.id] = a, a;
                var s = t.buffers,
                    A = t.attributes,
                    h = {},
                    c = {};
                for (var u in s) h[u] = 0, c[u] = 0;
                for (var l in A) !A[l].size && e.attributeData[l] ? A[l].size = e.attributeData[l].size : A[l].size || console.warn("PIXI Geometry attribute '" + l + "' size cannot be determined (likely the bound shader does not have the attribute)"), h[A[l].buffer] += A[l].size * cn[A[l].type];
                for (var d in A) {
                    var p = A[d],
                        f = p.size;
                    void 0 === p.stride && (h[p.buffer] === f * cn[p.type] ? p.stride = 0 : p.stride = h[p.buffer]), void 0 === p.start && (p.start = c[p.buffer], c[p.buffer] += f * cn[p.type])
                }
                a = n.createVertexArray(), n.bindVertexArray(a);
                for (var y = 0; y < s.length; y++) {
                    var x = s[y];
                    x._glBuffers[r] || (x._glBuffers[r] = new hn(n.createBuffer()), this.managedBuffers[x.id] = x, x.disposeRunner.add(this)), x._glBuffers[r].refCount++
                }
                return this.activateVao(t, e), this._activeVao = a, o[e.id] = a, o[i] = a, a
            }, e.prototype.disposeBuffer = function(t, e) {
                if (this.managedBuffers[t.id]) {
                    delete this.managedBuffers[t.id];
                    var n = t._glBuffers[this.CONTEXT_UID],
                        r = this.gl;
                    t.disposeRunner.remove(this), n && (e || r.deleteBuffer(n.buffer), delete t._glBuffers[this.CONTEXT_UID])
                }
            }, e.prototype.disposeGeometry = function(t, e) {
                if (this.managedGeometries[t.id]) {
                    delete this.managedGeometries[t.id];
                    var n = t.glVertexArrayObjects[this.CONTEXT_UID],
                        r = this.gl,
                        i = t.buffers;
                    if (t.disposeRunner.remove(this), n) {
                        for (var o = 0; o < i.length; o++) {
                            var a = i[o]._glBuffers[this.CONTEXT_UID];
                            a.refCount--, 0 !== a.refCount || e || this.disposeBuffer(i[o], e)
                        }
                        if (!e)
                            for (var s in n)
                                if ("g" === s[0]) {
                                    var A = n[s];
                                    this._activeVao === A && this.unbind(), r.deleteVertexArray(A)
                                } delete t.glVertexArrayObjects[this.CONTEXT_UID]
                    }
                }
            }, e.prototype.disposeAll = function(t) {
                for (var e = Object.keys(this.managedGeometries), n = 0; n < e.length; n++) this.disposeGeometry(this.managedGeometries[e[n]], t);
                e = Object.keys(this.managedBuffers);
                for (var r = 0; r < e.length; r++) this.disposeBuffer(this.managedBuffers[e[r]], t)
            }, e.prototype.activateVao = function(t, e) {
                var n = this.gl,
                    r = this.CONTEXT_UID,
                    i = t.buffers,
                    o = t.attributes;
                t.indexBuffer && n.bindBuffer(n.ELEMENT_ARRAY_BUFFER, t.indexBuffer._glBuffers[r].buffer);
                var a = null;
                for (var s in o) {
                    var A = o[s],
                        h = i[A.buffer]._glBuffers[r];
                    if (e.attributeData[s]) {
                        a !== h && (n.bindBuffer(n.ARRAY_BUFFER, h.buffer), a = h);
                        var c = e.attributeData[s].location;
                        if (n.enableVertexAttribArray(c), n.vertexAttribPointer(c, A.size, A.type || n.FLOAT, A.normalized, A.stride, A.start), A.instance) {
                            if (!this.hasInstance) throw new Error("geometry error, GPU Instancing is not supported on this device");
                            n.vertexAttribDivisor(c, 1)
                        }
                    }
                }
            }, e.prototype.draw = function(t, e, n, r) {
                var i = this.gl,
                    o = this._activeGeometry;
                if (o.indexBuffer) {
                    var a = o.indexBuffer.data.BYTES_PER_ELEMENT,
                        s = 2 === a ? i.UNSIGNED_SHORT : i.UNSIGNED_INT;
                    2 === a || 4 === a && this.canUseUInt32ElementIndex ? o.instanced ? i.drawElementsInstanced(t, e || o.indexBuffer.data.length, s, (n || 0) * a, r || 1) : i.drawElements(t, e || o.indexBuffer.data.length, s, (n || 0) * a) : console.warn("unsupported index buffer type: uint32")
                } else o.instanced ? i.drawArraysInstanced(t, n, e || o.getSize(), r || 1) : i.drawArrays(t, n, e || o.getSize());
                return this
            }, e.prototype.unbind = function() {
                this.gl.bindVertexArray(null), this._activeVao = null, this._activeGeometry = null
            }, e
        }(Re);

    function ln(t, e, n, r) {
        var i = dn(t, t.VERTEX_SHADER, e),
            o = dn(t, t.FRAGMENT_SHADER, n),
            a = t.createProgram();
        if (t.attachShader(a, i), t.attachShader(a, o), r)
            for (var s in r) t.bindAttribLocation(a, r[s], s);
        return t.linkProgram(a), t.getProgramParameter(a, t.LINK_STATUS) || (console.error("Pixi.js Error: Could not initialize shader."), console.error("gl.VALIDATE_STATUS", t.getProgramParameter(a, t.VALIDATE_STATUS)), console.error("gl.getError()", t.getError()), "" !== t.getProgramInfoLog(a) && console.warn("Pixi.js Warning: gl.getProgramInfoLog()", t.getProgramInfoLog(a)), t.deleteProgram(a), a = null), t.deleteShader(i), t.deleteShader(o), a
    }

    function dn(t, e, n) {
        var r = t.createShader(e);
        return t.shaderSource(r, n), t.compileShader(r), t.getShaderParameter(r, t.COMPILE_STATUS) ? r : (console.warn(n), console.error(t.getShaderInfoLog(r)), null)
    }

    function pn(t, e) {
        switch (t) {
            case "float":
                return 0;
            case "vec2":
                return new Float32Array(2 * e);
            case "vec3":
                return new Float32Array(3 * e);
            case "vec4":
                return new Float32Array(4 * e);
            case "int":
            case "sampler2D":
            case "sampler2DArray":
                return 0;
            case "ivec2":
                return new Int32Array(2 * e);
            case "ivec3":
                return new Int32Array(3 * e);
            case "ivec4":
                return new Int32Array(4 * e);
            case "bool":
                return !1;
            case "bvec2":
                return fn(2 * e);
            case "bvec3":
                return fn(3 * e);
            case "bvec4":
                return fn(4 * e);
            case "mat2":
                return new Float32Array([1, 0, 0, 1]);
            case "mat3":
                return new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
            case "mat4":
                return new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])
        }
        return null
    }

    function fn(t) {
        for (var e = new Array(t), n = 0; n < e.length; n++) e[n] = !1;
        return e
    }
    var yn, xn = null;

    function mn() {
        if (!xn) {
            var t, e = document.createElement("canvas");
            if (C.PREFER_ENV >= B.WEBGL2 && (t = e.getContext("webgl2", {})), !t) {
                if (!(t = e.getContext("webgl", {}) || e.getContext("experimental-webgl", {}))) throw new Error("This browser does not support WebGL. Try using the canvas renderer");
                t.getExtension("WEBGL_draw_buffers")
            }
            return xn = t, t
        }
        return xn
    }

    function gn(t, e, n) {
        if ("precision" !== t.substring(0, 9)) {
            var r = e;
            return e === X.HIGH && n !== X.HIGH && (r = X.MEDIUM), "precision " + r + " float;\n" + t
        }
        return n !== X.HIGH && "precision highp" === t.substring(0, 15) ? t.replace("precision highp", "precision mediump") : t
    }
    var wn = {
        float: 1,
        vec2: 2,
        vec3: 3,
        vec4: 4,
        int: 1,
        ivec2: 2,
        ivec3: 3,
        ivec4: 4,
        bool: 1,
        bvec2: 2,
        bvec3: 3,
        bvec4: 4,
        mat2: 4,
        mat3: 9,
        mat4: 16,
        sampler2D: 1
    };

    function vn(t) {
        return wn[t]
    }
    var bn = null,
        _n = {
            FLOAT: "float",
            FLOAT_VEC2: "vec2",
            FLOAT_VEC3: "vec3",
            FLOAT_VEC4: "vec4",
            INT: "int",
            INT_VEC2: "ivec2",
            INT_VEC3: "ivec3",
            INT_VEC4: "ivec4",
            BOOL: "bool",
            BOOL_VEC2: "bvec2",
            BOOL_VEC3: "bvec3",
            BOOL_VEC4: "bvec4",
            FLOAT_MAT2: "mat2",
            FLOAT_MAT3: "mat3",
            FLOAT_MAT4: "mat4",
            SAMPLER_2D: "sampler2D",
            SAMPLER_CUBE: "samplerCube",
            SAMPLER_2D_ARRAY: "sampler2DArray"
        };

    function Sn(t, e) {
        if (!bn) {
            var n = Object.keys(_n);
            bn = {};
            for (var r = 0; r < n.length; ++r) {
                var i = n[r];
                bn[t[i]] = _n[i]
            }
        }
        return bn[e]
    }
    var En = {
            float: "\n    if(cv !== v)\n    {\n        cv.v = v;\n        gl.uniform1f(location, v)\n    }",
            vec2: "\n    if(cv[0] !== v[0] || cv[1] !== v[1])\n    {\n        cv[0] = v[0];\n        cv[1] = v[1];\n        gl.uniform2f(location, v[0], v[1])\n    }",
            vec3: "\n    if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])\n    {\n        cv[0] = v[0];\n        cv[1] = v[1];\n        cv[2] = v[2];\n\n        gl.uniform3f(location, v[0], v[1], v[2])\n    }",
            vec4: "gl.uniform4f(location, v[0], v[1], v[2], v[3])",
            int: "gl.uniform1i(location, v)",
            ivec2: "gl.uniform2i(location, v[0], v[1])",
            ivec3: "gl.uniform3i(location, v[0], v[1], v[2])",
            ivec4: "gl.uniform4i(location, v[0], v[1], v[2], v[3])",
            bool: "gl.uniform1i(location, v)",
            bvec2: "gl.uniform2i(location, v[0], v[1])",
            bvec3: "gl.uniform3i(location, v[0], v[1], v[2])",
            bvec4: "gl.uniform4i(location, v[0], v[1], v[2], v[3])",
            mat2: "gl.uniformMatrix2fv(location, false, v)",
            mat3: "gl.uniformMatrix3fv(location, false, v)",
            mat4: "gl.uniformMatrix4fv(location, false, v)",
            sampler2D: "gl.uniform1i(location, v)",
            samplerCube: "gl.uniform1i(location, v)",
            sampler2DArray: "gl.uniform1i(location, v)"
        },
        Cn = {
            float: "gl.uniform1fv(location, v)",
            vec2: "gl.uniform2fv(location, v)",
            vec3: "gl.uniform3fv(location, v)",
            vec4: "gl.uniform4fv(location, v)",
            mat4: "gl.uniformMatrix4fv(location, false, v)",
            mat3: "gl.uniformMatrix3fv(location, false, v)",
            mat2: "gl.uniformMatrix2fv(location, false, v)",
            int: "gl.uniform1iv(location, v)",
            ivec2: "gl.uniform2iv(location, v)",
            ivec3: "gl.uniform3iv(location, v)",
            ivec4: "gl.uniform4iv(location, v)",
            bool: "gl.uniform1iv(location, v)",
            bvec2: "gl.uniform2iv(location, v)",
            bvec3: "gl.uniform3iv(location, v)",
            bvec4: "gl.uniform4iv(location, v)",
            sampler2D: "gl.uniform1iv(location, v)",
            samplerCube: "gl.uniform1iv(location, v)",
            sampler2DArray: "gl.uniform1iv(location, v)"
        };
    var Tn, kn = ["precision mediump float;", "void main(void){", "float test = 0.1;", "%forloop%", "gl_FragColor = vec4(0.0);", "}"].join("\n");

    function In(t) {
        for (var e = "", n = 0; n < t; ++n) n > 0 && (e += "\nelse "), n < t - 1 && (e += "if(test == " + n + ".0){}");
        return e
    }
    var Dn = 0,
        Pn = {},
        Rn = function t(e, n, r) {
            void 0 === r && (r = "pixi-shader"), this.id = Dn++, this.vertexSrc = e || t.defaultVertexSrc, this.fragmentSrc = n || t.defaultFragmentSrc, this.vertexSrc = this.vertexSrc.trim(), this.fragmentSrc = this.fragmentSrc.trim(), "#version" !== this.vertexSrc.substring(0, 8) && (r = r.replace(/\s+/g, "-"), Pn[r] ? (Pn[r]++, r += "-" + Pn[r]) : Pn[r] = 1, this.vertexSrc = "#define SHADER_NAME " + r + "\n" + this.vertexSrc, this.fragmentSrc = "#define SHADER_NAME " + r + "\n" + this.fragmentSrc, this.vertexSrc = gn(this.vertexSrc, C.PRECISION_VERTEX, X.HIGH), this.fragmentSrc = gn(this.fragmentSrc, C.PRECISION_FRAGMENT, function() {
                if (!yn) {
                    yn = X.MEDIUM;
                    var t = mn();
                    if (t && t.getShaderPrecisionFormat) {
                        var e = t.getShaderPrecisionFormat(t.FRAGMENT_SHADER, t.HIGH_FLOAT);
                        yn = e.precision ? X.HIGH : X.MEDIUM
                    }
                }
                return yn
            }())), this.extractData(this.vertexSrc, this.fragmentSrc), this.glPrograms = {}, this.syncUniforms = null
        },
        Bn = {
            defaultVertexSrc: {
                configurable: !0
            },
            defaultFragmentSrc: {
                configurable: !0
            }
        };
    Rn.prototype.extractData = function(t, e) {
        var n = mn();
        if (n) {
            var r = ln(n, t, e);
            this.attributeData = this.getAttributeData(r, n), this.uniformData = this.getUniformData(r, n), n.deleteProgram(r)
        } else this.uniformData = {}, this.attributeData = {}
    }, Rn.prototype.getAttributeData = function(t, e) {
        for (var n = {}, r = [], i = e.getProgramParameter(t, e.ACTIVE_ATTRIBUTES), o = 0; o < i; o++) {
            var a = e.getActiveAttrib(t, o),
                s = Sn(e, a.type),
                A = {
                    type: s,
                    name: a.name,
                    size: vn(s),
                    location: 0
                };
            n[a.name] = A, r.push(A)
        }
        r.sort(function(t, e) {
            return t.name > e.name ? 1 : -1
        });
        for (var h = 0; h < r.length; h++) r[h].location = h;
        return n
    }, Rn.prototype.getUniformData = function(t, e) {
        for (var n = {}, r = e.getProgramParameter(t, e.ACTIVE_UNIFORMS), i = 0; i < r; i++) {
            var o = e.getActiveUniform(t, i),
                a = o.name.replace(/\[.*?\]/, ""),
                s = o.name.match(/\[.*?\]/, ""),
                A = Sn(e, o.type);
            n[a] = {
                type: A,
                size: o.size,
                isArray: s,
                value: pn(A, o.size)
            }
        }
        return n
    }, Bn.defaultVertexSrc.get = function() {
        return "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void){\n   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n   vTextureCoord = aTextureCoord;\n}\n"
    }, Bn.defaultFragmentSrc.get = function() {
        return "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\n\nvoid main(void){\n   gl_FragColor *= texture2D(uSampler, vTextureCoord);\n}"
    }, Rn.from = function(t, e, n) {
        var r = t + e,
            i = pt[r];
        return i || (pt[r] = i = new Rn(t, e, n)), i
    }, Object.defineProperties(Rn, Bn);
    var Mn = function(t, e) {
            for (var n in this.program = t, this.uniformGroup = e ? e instanceof tn ? e : new tn(e) : new tn({}), t.uniformData) this.uniformGroup.uniforms[n] instanceof Array && (this.uniformGroup.uniforms[n] = new Float32Array(this.uniformGroup.uniforms[n]))
        },
        On = {
            uniforms: {
                configurable: !0
            }
        };
    Mn.prototype.checkUniformExists = function(t, e) {
        if (e.uniforms[t]) return !0;
        for (var n in e.uniforms) {
            var r = e.uniforms[n];
            if (r.group && this.checkUniformExists(t, r)) return !0
        }
        return !1
    }, Mn.prototype.destroy = function() {
        this.uniformGroup = null
    }, On.uniforms.get = function() {
        return this.uniformGroup.uniforms
    }, Mn.from = function(t, e, n) {
        var r = Rn.from(t, e);
        return new Mn(r, n)
    }, Object.defineProperties(Mn.prototype, On);
    var Ln = function() {
            this.data = 0, this.blendMode = O.NORMAL, this.polygonOffset = 0, this.blend = !0
        },
        Hn = {
            blend: {
                configurable: !0
            },
            offsets: {
                configurable: !0
            },
            culling: {
                configurable: !0
            },
            depthTest: {
                configurable: !0
            },
            clockwiseFrontFace: {
                configurable: !0
            },
            blendMode: {
                configurable: !0
            },
            polygonOffset: {
                configurable: !0
            }
        };
    Hn.blend.get = function() {
        return !!(1 & this.data)
    }, Hn.blend.set = function(t) {
        !!(1 & this.data) !== t && (this.data ^= 1)
    }, Hn.offsets.get = function() {
        return !!(2 & this.data)
    }, Hn.offsets.set = function(t) {
        !!(2 & this.data) !== t && (this.data ^= 2)
    }, Hn.culling.get = function() {
        return !!(4 & this.data)
    }, Hn.culling.set = function(t) {
        !!(4 & this.data) !== t && (this.data ^= 4)
    }, Hn.depthTest.get = function() {
        return !!(8 & this.data)
    }, Hn.depthTest.set = function(t) {
        !!(8 & this.data) !== t && (this.data ^= 8)
    }, Hn.clockwiseFrontFace.get = function() {
        return !!(16 & this.data)
    }, Hn.clockwiseFrontFace.set = function(t) {
        !!(16 & this.data) !== t && (this.data ^= 16)
    }, Hn.blendMode.get = function() {
        return this._blendMode
    }, Hn.blendMode.set = function(t) {
        this.blend = t !== O.NONE, this._blendMode = t
    }, Hn.polygonOffset.get = function() {
        return this._polygonOffset
    }, Hn.polygonOffset.set = function(t) {
        this.offsets = !!t, this._polygonOffset = t
    }, Ln.for2d = function() {
        var t = new Ln;
        return t.depthTest = !1, t.blend = !0, t
    }, Object.defineProperties(Ln.prototype, Hn);
    var zn = function(t) {
        function e(n, r, i) {
            var o = Rn.from(n || e.defaultVertexSrc, r || e.defaultFragmentSrc);
            t.call(this, o, i), this.padding = 0, this.resolution = C.FILTER_RESOLUTION, this.enabled = !0, this.autoFit = !0, this.legacy = !!this.program.attributeData.aTextureCoord, this.state = new Ln
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
                blendMode: {
                    configurable: !0
                }
            },
            r = {
                defaultVertexSrc: {
                    configurable: !0
                },
                defaultFragmentSrc: {
                    configurable: !0
                }
            };
        return e.prototype.apply = function(t, e, n, r, i) {
            t.applyFilter(this, e, n, r, i)
        }, n.blendMode.get = function() {
            return this.state.blendMode
        }, n.blendMode.set = function(t) {
            this.state.blendMode = t
        }, r.defaultVertexSrc.get = function() {
            return "attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n    return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n    gl_Position = filterVertexPosition();\n    vTextureCoord = filterTextureCoord();\n}\n"
        }, r.defaultFragmentSrc.get = function() {
            return "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\n\nvoid main(void){\n   gl_FragColor = texture2D(uSampler, vTextureCoord);\n}\n"
        }, Object.defineProperties(e.prototype, n), Object.defineProperties(e, r), e
    }(Mn);
    zn.SOURCE_KEY_MAP = {};
    var Fn = "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 otherMatrix;\n\nvarying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = aTextureCoord;\n    vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0)  ).xy;\n}\n",
        Nn = "varying vec2 vMaskCoord;\nvarying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform sampler2D mask;\nuniform float alpha;\nuniform float npmAlpha;\nuniform vec4 maskClamp;\n\nvoid main(void)\n{\n    float clip = step(3.5,\n        step(maskClamp.x, vMaskCoord.x) +\n        step(maskClamp.y, vMaskCoord.y) +\n        step(vMaskCoord.x, maskClamp.z) +\n        step(vMaskCoord.y, maskClamp.w));\n\n    vec4 original = texture2D(uSampler, vTextureCoord);\n    vec4 masky = texture2D(mask, vMaskCoord);\n    float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);\n\n    original *= (alphaMul * masky.r * alpha * clip);\n\n    gl_FragColor = original;\n}\n",
        Un = new Lt,
        Qn = function(t, e) {
            this._texture = t, this.mapCoord = new Lt, this.uClampFrame = new Float32Array(4), this.uClampOffset = new Float32Array(2), this._updateID = -1, this.clampOffset = 0, this.clampMargin = void 0 === e ? .5 : e, this.isSimple = !1
        },
        jn = {
            texture: {
                configurable: !0
            }
        };
    jn.texture.get = function() {
        return this._texture
    }, jn.texture.set = function(t) {
        this._texture = t, this._updateID = -1
    }, Qn.prototype.multiplyUvs = function(t, e) {
        void 0 === e && (e = t);
        for (var n = this.mapCoord, r = 0; r < t.length; r += 2) {
            var i = t[r],
                o = t[r + 1];
            e[r] = i * n.a + o * n.c + n.tx, e[r + 1] = i * n.b + o * n.d + n.ty
        }
        return e
    }, Qn.prototype.update = function(t) {
        var e = this._texture;
        if (!e || !e.valid) return !1;
        if (!t && this._updateID === e._updateID) return !1;
        this._updateID = e._updateID;
        var n = e._uvs;
        this.mapCoord.set(n.x1 - n.x0, n.y1 - n.y0, n.x3 - n.x0, n.y3 - n.y0, n.x0, n.y0);
        var r = e.orig,
            i = e.trim;
        i && (Un.set(r.width / i.width, 0, 0, r.height / i.height, -i.x / i.width, -i.y / i.height), this.mapCoord.append(Un));
        var o = e.baseTexture,
            a = this.uClampFrame,
            s = this.clampMargin / o.resolution,
            A = this.clampOffset;
        return a[0] = (e._frame.x + s + A) / o.width, a[1] = (e._frame.y + s + A) / o.height, a[2] = (e._frame.x + e._frame.width - s + A) / o.width, a[3] = (e._frame.y + e._frame.height - s + A) / o.height, this.uClampOffset[0] = A / o.realWidth, this.uClampOffset[1] = A / o.realHeight, this.isSimple = e._frame.width === o.width && e._frame.height === o.height && 0 === e.rotate, !0
    }, Object.defineProperties(Qn.prototype, jn);
    var Xn = function(t) {
            function e(e) {
                var n = new Lt;
                t.call(this, Fn, Nn), e.renderable = !1, this.maskSprite = e, this.maskMatrix = n
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.apply = function(t, e, n, r) {
                var i = this.maskSprite,
                    o = this.maskSprite.texture;
                o.valid && (o.transform || (o.transform = new Qn(o, 0)), o.transform.update(), this.uniforms.npmAlpha = o.baseTexture.premultiplyAlpha ? 0 : 1, this.uniforms.mask = o, this.uniforms.otherMatrix = t.calculateSpriteMatrix(this.maskMatrix, i).prepend(o.transform.mapCoord), this.uniforms.alpha = i.worldAlpha, this.uniforms.maskClamp = o.transform.uClampFrame, t.applyFilter(this, e, n, r))
            }, e
        }(zn),
        Gn = function(t) {
            function e(e) {
                t.call(this, e), this.scissor = !1, this.scissorData = null, this.scissorRenderTarget = null, this.enableScissor = !1, this.alphaMaskPool = [], this.alphaMaskIndex = 0
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.push = function(t, e) {
                if (e.isSprite) this.pushSpriteMask(t, e);
                else if (this.enableScissor && !this.scissor && this.renderer._activeRenderTarget.root && !this.renderer.stencil.stencilMaskStack.length && e.isFastRect()) {
                    var n = e.worldTransform,
                        r = Math.atan2(n.b, n.a);
                    (r = Math.round(r * (180 / Math.PI))) % 90 ? this.pushStencilMask(e) : this.pushScissorMask(t, e)
                } else this.pushStencilMask(e)
            }, e.prototype.pop = function(t, e) {
                e.isSprite ? this.popSpriteMask(t, e) : this.enableScissor && !this.renderer.stencil.stencilMaskStack.length ? this.popScissorMask(t, e) : this.popStencilMask(t, e)
            }, e.prototype.pushSpriteMask = function(t, e) {
                var n = this.alphaMaskPool[this.alphaMaskIndex];
                n || (n = this.alphaMaskPool[this.alphaMaskIndex] = [new Xn(e)]), n[0].resolution = this.renderer.resolution, n[0].maskSprite = e;
                var r = t.filterArea;
                t.filterArea = e.getBounds(!0), this.renderer.filter.push(t, n), t.filterArea = r, this.alphaMaskIndex++
            }, e.prototype.popSpriteMask = function() {
                this.renderer.filter.pop(), this.alphaMaskIndex--
            }, e.prototype.pushStencilMask = function(t) {
                this.renderer.batch.flush(), this.renderer.stencil.pushStencil(t)
            }, e.prototype.popStencilMask = function() {
                this.renderer.stencil.popStencil()
            }, e.prototype.pushScissorMask = function(t, e) {
                e.renderable = !0;
                var n = this.renderer._activeRenderTarget,
                    r = e.getBounds();
                r.fit(n.size), e.renderable = !1, this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST);
                var i = this.renderer.resolution;
                this.renderer.gl.scissor(r.x * i, (n.root ? n.size.height - r.y - r.height : r.y) * i, r.width * i, r.height * i), this.scissorRenderTarget = n, this.scissorData = e, this.scissor = !0
            }, e.prototype.popScissorMask = function() {
                this.scissorRenderTarget = null, this.scissorData = null, this.scissor = !1;
                var t = this.renderer.gl;
                t.disable(t.SCISSOR_TEST)
            }, e
        }(Re),
        Wn = function(t) {
            function e(e) {
                t.call(this, e), this.stencilMaskStack = []
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.setMaskStack = function(t) {
                var e = this.renderer.gl;
                t.length !== this.stencilMaskStack.length && (0 === t.length ? e.disable(e.STENCIL_TEST) : e.enable(e.STENCIL_TEST)), this.stencilMaskStack = t
            }, e.prototype.pushStencil = function(t) {
                var e = this.renderer.gl,
                    n = this.stencilMaskStack.length;
                0 === n && e.enable(e.STENCIL_TEST), this.stencilMaskStack.push(t), e.colorMask(!1, !1, !1, !1), e.stencilFunc(e.EQUAL, n, this._getBitwiseMask()), e.stencilOp(e.KEEP, e.KEEP, e.INCR), t.renderable = !0, t.render(this.renderer), this.renderer.batch.flush(), t.renderable = !1, this._useCurrent()
            }, e.prototype.popStencil = function() {
                var t = this.renderer.gl,
                    e = this.stencilMaskStack.pop();
                0 === this.stencilMaskStack.length ? (t.disable(t.STENCIL_TEST), t.clear(t.STENCIL_BUFFER_BIT), t.clearStencil(0)) : (t.colorMask(!1, !1, !1, !1), t.stencilOp(t.KEEP, t.KEEP, t.DECR), e.renderable = !0, e.render(this.renderer), this.renderer.batch.flush(), e.renderable = !1, this._useCurrent())
            }, e.prototype._useCurrent = function() {
                var t = this.renderer.gl;
                t.colorMask(!0, !0, !0, !0), t.stencilFunc(t.EQUAL, this.stencilMaskStack.length, this._getBitwiseMask()), t.stencilOp(t.KEEP, t.KEEP, t.KEEP)
            }, e.prototype._getBitwiseMask = function() {
                return (1 << this.stencilMaskStack.length) - 1
            }, e.prototype.destroy = function() {
                t.prototype.destroy.call(this, this), this.stencilMaskStack = null
            }, e
        }(Re),
        Yn = function(t) {
            function e(e) {
                t.call(this, e), this.destinationFrame = null, this.sourceFrame = null, this.defaultFrame = null, this.projectionMatrix = new Lt, this.transform = null
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.update = function(t, e, n, r) {
                this.destinationFrame = t || this.destinationFrame || this.defaultFrame, this.sourceFrame = e || this.sourceFrame || t, this.calculateProjection(this.destinationFrame, this.sourceFrame, n, r), this.transform && this.projectionMatrix.append(this.transform);
                var i = this.renderer;
                i.globalUniforms.uniforms.projectionMatrix = this.projectionMatrix, i.globalUniforms.update(), i.shader.shader && i.shader.syncUniformGroup(i.shader.shader.uniforms.globals)
            }, e.prototype.calculateProjection = function(t, e, n, r) {
                var i = this.projectionMatrix;
                r ? (i.a = 1 / t.width * 2 * n, i.d = -1 / t.height * 2 * n, i.tx = -1 - e.x * i.a, i.ty = 1 - e.y * i.d) : (i.a = 1 / t.width * 2 * n, i.d = 1 / t.height * 2 * n, i.tx = -1 - e.x * i.a, i.ty = -1 - e.y * i.d)
            }, e.prototype.setTransform = function() {}, e
        }(Re),
        Kn = new Kt,
        Vn = function(t) {
            function e(e) {
                t.call(this, e), this.clearColor = e._backgroundColorRgba, this.defaultMaskStack = [], this.current = null, this.sourceFrame = new Kt, this.destinationFrame = new Kt
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.bind = function(t, e, n) {
                void 0 === t && (t = null), this.current = t;
                var r, i = this.renderer;
                if (t) {
                    var o = t.baseTexture;
                    r = o.resolution, n || (Kn.width = o.realWidth, Kn.height = o.realHeight, n = Kn), e || (e = n), this.renderer.framebuffer.bind(o.framebuffer, n), this.renderer.projection.update(n, e, r, !1), this.renderer.stencil.setMaskStack(o.stencilMaskStack)
                } else r = this.renderer.resolution, n || (Kn.width = i.width, Kn.height = i.height, n = Kn), e || (e = n), i.framebuffer.bind(null, n), this.renderer.projection.update(n, e, r, !0), this.renderer.stencil.setMaskStack(this.defaultMaskStack);
                this.sourceFrame.copyFrom(e), this.destinationFrame.x = n.x / r, this.destinationFrame.y = n.y / r, this.destinationFrame.width = n.width / r, this.destinationFrame.height = n.height / r, e === n && this.sourceFrame.copyFrom(this.destinationFrame)
            }, e.prototype.clear = function(t) {
                t = this.current ? t || this.current.baseTexture.clearColor : t || this.clearColor, this.renderer.framebuffer.clear(t[0], t[1], t[2], t[3])
            }, e.prototype.resize = function() {
                this.bind(null)
            }, e.prototype.reset = function() {
                this.bind(null)
            }, e
        }(Re),
        qn = function(t, e) {
            this.program = t, this.uniformData = e, this.uniformGroups = {}
        };
    qn.prototype.destroy = function() {
        this.uniformData = null, this.uniformGroups = null, this.program = null
    };
    var Jn = 0,
        Zn = function(t) {
            function e(e) {
                t.call(this, e), this.systemCheck(), this.gl = null, this.shader = null, this.program = null, this.cache = {}, this.id = Jn++
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.systemCheck = function() {
                if (! function() {
                        if ("boolean" == typeof Tn) return Tn;
                        try {
                            var t = new Function("param1", "param2", "param3", "return param1[param2] === param3;");
                            Tn = !0 === t({
                                a: "b"
                            }, "a", "b")
                        } catch (t) {
                            Tn = !1
                        }
                        return Tn
                    }()) throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")
            }, e.prototype.contextChange = function(t) {
                this.gl = t
            }, e.prototype.bind = function(t, e) {
                t.uniforms.globals = this.renderer.globalUniforms;
                var n = t.program,
                    r = n.glPrograms[this.renderer.CONTEXT_UID] || this.generateShader(t);
                return this.shader = t, this.program !== n && (this.program = n, this.gl.useProgram(r.program)), e || this.syncUniformGroup(t.uniformGroup), r
            }, e.prototype.setUniforms = function(t) {
                var e = this.shader.program,
                    n = e.glPrograms[this.renderer.CONTEXT_UID];
                e.syncUniforms(n.uniformData, t, this.renderer)
            }, e.prototype.syncUniformGroup = function(t) {
                var e = this.getglProgram();
                t.static && t.dirtyId === e.uniformGroups[t.id] || (e.uniformGroups[t.id] = t.dirtyId, this.syncUniforms(t, e))
            }, e.prototype.syncUniforms = function(t, e) {
                (t.syncUniforms[this.shader.program.id] || this.createSyncGroups(t))(e.uniformData, t.uniforms, this.renderer)
            }, e.prototype.createSyncGroups = function(t) {
                var e = this.getSignature(t, this.shader.program.uniformData);
                return this.cache[e] || (this.cache[e] = function(t, e) {
                    var n = 0,
                        r = "var v = null;\n    var cv = null\n    var gl = renderer.gl";
                    for (var i in t.uniforms) {
                        var o = e[i];
                        o ? "float" === o.type && 1 === o.size ? r += "\n            if(uv." + i + " !== ud." + i + ".value)\n            {\n                ud." + i + ".value = uv." + i + "\n                gl.uniform1f(ud." + i + ".location, uv." + i + ")\n            }\n" : "sampler2D" !== o.type && "samplerCube" !== o.type && "sampler2DArray" !== o.type || 1 !== o.size || o.isArray ? "mat3" === o.type && 1 === o.size ? void 0 !== t.uniforms[i].a ? r += "\n                gl.uniformMatrix3fv(ud." + i + ".location, false, uv." + i + ".toArray(true));\n                \n" : r += "\n                gl.uniformMatrix3fv(ud." + i + ".location, false, uv." + i + ");\n                \n" : "vec2" === o.type && 1 === o.size ? void 0 !== t.uniforms[i].x ? r += "\n                cv = ud." + i + ".value;\n                v = uv." + i + ";\n\n                if(cv[0] !== v.x || cv[1] !== v.y)\n                {\n                    cv[0] = v.x;\n                    cv[1] = v.y;\n                    gl.uniform2f(ud." + i + ".location, v.x, v.y);\n                }\n" : r += "\n                cv = ud." + i + ".value;\n                v = uv." + i + ";\n\n                if(cv[0] !== v[0] || cv[1] !== v[1])\n                {\n                    cv[0] = v[0];\n                    cv[1] = v[1];\n                    gl.uniform2f(ud." + i + ".location, v[0], v[1]);\n                }\n                \n" : "vec4" === o.type && 1 === o.size ? void 0 !== t.uniforms[i].width ? r += "\n                cv = ud." + i + ".value;\n                v = uv." + i + ";\n\n                if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)\n                {\n                    cv[0] = v.x;\n                    cv[1] = v.y;\n                    cv[2] = v.width;\n                    cv[3] = v.height;\n                    gl.uniform4f(ud." + i + ".location, v.x, v.y, v.width, v.height)\n                }\n" : r += "\n                cv = ud." + i + ".value;\n                v = uv." + i + ";\n\n                if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])\n                {\n                    cv[0] = v[0];\n                    cv[1] = v[1];\n                    cv[2] = v[2];\n                    cv[3] = v[3];\n\n                    gl.uniform4f(ud." + i + ".location, v[0], v[1], v[2], v[3])\n                }\n                \n" : r += "\n            cv = ud." + i + ".value;\n            v = uv." + i + ";\n            " + (1 === o.size ? En : Cn)[o.type].replace("location", "ud." + i + ".location") + ";\n" : (r += "\n            renderer.texture.bind(uv." + i + ", " + n + ");\n\n            if(ud." + i + ".value !== " + n + ")\n            {\n                ud." + i + ".value = " + n + ";\n                gl.uniform1i(ud." + i + ".location, " + n + ");\n; // eslint-disable-line max-len\n            }\n", n++) : t.uniforms[i].group && (r += "\n                    renderer.shader.syncUniformGroup(uv." + i + ");\n                ")
                    }
                    return new Function("ud", "uv", "renderer", r)
                }(t, this.shader.program.uniformData)), t.syncUniforms[this.shader.program.id] = this.cache[e], t.syncUniforms[this.shader.program.id]
            }, e.prototype.getSignature = function(t, e) {
                var n = t.uniforms,
                    r = [];
                for (var i in n) r.push(i), e[i] && r.push(e[i].type);
                return r.join("-")
            }, e.prototype.getglProgram = function() {
                return this.shader ? this.shader.program.glPrograms[this.renderer.CONTEXT_UID] : null
            }, e.prototype.generateShader = function(t) {
                var e = this.gl,
                    n = t.program,
                    r = {};
                for (var i in n.attributeData) r[i] = n.attributeData[i].location;
                var o = ln(e, n.vertexSrc, n.fragmentSrc, r),
                    a = {};
                for (var s in n.uniformData) {
                    var A = n.uniformData[s];
                    a[s] = {
                        location: e.getUniformLocation(o, s),
                        value: pn(A.type, A.size)
                    }
                }
                var h = new qn(o, a);
                return n.glPrograms[this.renderer.CONTEXT_UID] = h, h
            }, e.prototype.reset = function() {
                this.program = null, this.shader = null
            }, e.prototype.destroy = function() {
                this.destroyed = !0
            }, e
        }(Re);
    var $n = 0,
        tr = 1,
        er = 2,
        nr = 3,
        rr = 4,
        ir = function(t) {
            function e(e) {
                t.call(this, e), this.gl = null, this.stateId = 0, this.polygonOffset = 0, this.blendMode = O.NONE, this._blendEq = !1, this.map = [], this.map[$n] = this.setBlend, this.map[tr] = this.setOffset, this.map[er] = this.setCullFace, this.map[nr] = this.setDepthTest, this.map[rr] = this.setFrontFace, this.checks = [], this.defaultState = new Ln, this.defaultState.blend = !0, this.defaultState.depth = !0
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.contextChange = function(t) {
                this.gl = t, this.blendModes = function(t, e) {
                    return void 0 === e && (e = []), e[O.NORMAL] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.ADD] = [t.ONE, t.ONE], e[O.MULTIPLY] = [t.DST_COLOR, t.ONE_MINUS_SRC_ALPHA, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.SCREEN] = [t.ONE, t.ONE_MINUS_SRC_COLOR, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.OVERLAY] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.DARKEN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.LIGHTEN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.COLOR_DODGE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.COLOR_BURN] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.HARD_LIGHT] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.SOFT_LIGHT] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.DIFFERENCE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.EXCLUSION] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.HUE] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.SATURATION] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.COLOR] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.LUMINOSITY] = [t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.NONE] = [0, 0], e[O.NORMAL_NPM] = [t.SRC_ALPHA, t.ONE_MINUS_SRC_ALPHA, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.ADD_NPM] = [t.SRC_ALPHA, t.ONE, t.ONE, t.ONE], e[O.SCREEN_NPM] = [t.SRC_ALPHA, t.ONE_MINUS_SRC_COLOR, t.ONE, t.ONE_MINUS_SRC_ALPHA], e[O.SRC_IN] = [t.DST_ALPHA, t.ZERO], e[O.SRC_OUT] = [t.ONE_MINUS_DST_ALPHA, t.ZERO], e[O.SRC_ATOP] = [t.DST_ALPHA, t.ONE_MINUS_SRC_ALPHA], e[O.DST_OVER] = [t.ONE_MINUS_DST_ALPHA, t.ONE], e[O.DST_IN] = [t.ZERO, t.SRC_ALPHA], e[O.DST_OUT] = [t.ZERO, t.ONE_MINUS_SRC_ALPHA], e[O.DST_ATOP] = [t.ONE_MINUS_DST_ALPHA, t.SRC_ALPHA], e[O.SUBTRACT] = [t.ONE, t.ONE, t.ONE, t.ONE, t.FUNC_REVERSE_SUBTRACT, t.FUNC_ADD], e
                }(t), this.setState(this.defaultState), this.reset()
            }, e.prototype.setState = function(t) {
                if (t = t || this.defaultState, this.stateId !== t.data) {
                    for (var e = this.stateId ^ t.data, n = 0; e;) 1 & e && this.map[n].call(this, !!(t.data & 1 << n)), e >>= 1, n++;
                    this.stateId = t.data
                }
                for (var r = 0; r < this.checks.length; r++) this.checks[r](this, t)
            }, e.prototype.forceState = function(t) {
                t = t || this.defaultState;
                for (var e = 0; e < this.map.length; e++) this.map[e].call(this, !!(t.data & 1 << e));
                for (var n = 0; n < this.checks.length; n++) this.checks[n](this, t);
                this.stateId = t.data
            }, e.prototype.setBlend = function(t) {
                this.updateCheck(e.checkBlendMode, t), this.gl[t ? "enable" : "disable"](this.gl.BLEND)
            }, e.prototype.setOffset = function(t) {
                this.updateCheck(e.checkPolygonOffset, t), this.gl[t ? "enable" : "disable"](this.gl.POLYGON_OFFSET_FILL)
            }, e.prototype.setDepthTest = function(t) {
                this.gl[t ? "enable" : "disable"](this.gl.DEPTH_TEST)
            }, e.prototype.setCullFace = function(t) {
                this.gl[t ? "enable" : "disable"](this.gl.CULL_FACE)
            }, e.prototype.setFrontFace = function(t) {
                this.gl.frontFace(this.gl[t ? "CW" : "CCW"])
            }, e.prototype.setBlendMode = function(t) {
                if (t !== this.blendMode) {
                    this.blendMode = t;
                    var e = this.blendModes[t],
                        n = this.gl;
                    2 === e.length ? n.blendFunc(e[0], e[1]) : n.blendFuncSeparate(e[0], e[1], e[2], e[3]), 6 === e.length ? (this._blendEq = !0, n.blendEquationSeparate(e[4], e[5])) : this._blendEq && (this._blendEq = !1, n.blendEquationSeparate(n.FUNC_ADD, n.FUNC_ADD))
                }
            }, e.prototype.setPolygonOffset = function(t, e) {
                this.gl.polygonOffset(t, e)
            }, e.prototype.reset = function() {
                this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL, !1), this.forceState(0), this._blendEq = !0, this.blendMode = -1, this.setBlendMode(0)
            }, e.prototype.updateCheck = function(t, e) {
                var n = this.checks.indexOf(t);
                e && -1 === n ? this.checks.push(t) : e || -1 === n || this.checks.splice(n, 1)
            }, e.checkBlendMode = function(t, e) {
                t.setBlendMode(e.blendMode)
            }, e.checkPolygonOffset = function(t, e) {
                t.setPolygonOffset(e.polygonOffset, 0)
            }, e
        }(Re),
        or = function(t) {
            function e(e) {
                t.call(this, e), this.count = 0, this.checkCount = 0, this.maxIdle = C.GC_MAX_IDLE, this.checkCountMax = C.GC_MAX_CHECK_COUNT, this.mode = C.GC_MODE
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.postrender = function() {
                this.count++, this.mode !== j && (this.checkCount++, this.checkCount > this.checkCountMax && (this.checkCount = 0, this.run()))
            }, e.prototype.run = function() {
                for (var t = this.renderer.texture, e = t.managedTextures, n = !1, r = 0; r < e.length; r++) {
                    var i = e[r];
                    !i.framebuffer && this.count - i.touched > this.maxIdle && (t.destroyTexture(i, !0), e[r] = null, n = !0)
                }
                if (n) {
                    for (var o = 0, a = 0; a < e.length; a++) null !== e[a] && (e[o++] = e[a]);
                    e.length = o
                }
            }, e.prototype.unload = function(t) {
                var e = this.renderer.textureSystem;
                t._texture && t._texture._glRenderTargets && e.destroyTexture(t._texture);
                for (var n = t.children.length - 1; n >= 0; n--) this.unload(t.children[n])
            }, e
        }(Re),
        ar = function(t) {
            this.texture = t, this.width = -1, this.height = -1, this.dirtyId = -1, this.dirtyStyleId = -1, this.mipmap = !1, this.wrapMode = 33071
        },
        sr = function(t) {
            function e(e) {
                t.call(this, e), this.boundTextures = [], this.currentLocation = -1, this.managedTextures = [], this._unknownBoundTextures = !1, this.unknownTexture = new Ce
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.contextChange = function() {
                var t = this.gl = this.renderer.gl;
                this.CONTEXT_UID = this.renderer.CONTEXT_UID, this.webGLVersion = this.renderer.context.webGLVersion;
                var e = t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);
                this.boundTextures.length = e;
                for (var n = 0; n < e; n++) this.boundTextures[n] = null;
                this.emptyTextures = {};
                var r = new ar(t.createTexture());
                t.bindTexture(t.TEXTURE_2D, r.texture), t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, 1, 1, 0, t.RGBA, t.UNSIGNED_BYTE, new Uint8Array(4)), this.emptyTextures[t.TEXTURE_2D] = r, this.emptyTextures[t.TEXTURE_CUBE_MAP] = new ar(t.createTexture()), t.bindTexture(t.TEXTURE_CUBE_MAP, this.emptyTextures[t.TEXTURE_CUBE_MAP].texture);
                for (var i = 0; i < 6; i++) t.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, t.RGBA, 1, 1, 0, t.RGBA, t.UNSIGNED_BYTE, null);
                t.texParameteri(t.TEXTURE_CUBE_MAP, t.TEXTURE_MAG_FILTER, t.LINEAR), t.texParameteri(t.TEXTURE_CUBE_MAP, t.TEXTURE_MIN_FILTER, t.LINEAR);
                for (var o = 0; o < this.boundTextures.length; o++) this.bind(null, o)
            }, e.prototype.bind = function(t, e) {
                void 0 === e && (e = 0);
                var n = this.gl;
                if (t) {
                    if ((t = t.baseTexture || t).valid) {
                        t.touched = this.renderer.textureGC.count;
                        var r = t._glTextures[this.CONTEXT_UID] || this.initTexture(t);
                        this.currentLocation !== e && (this.currentLocation = e, n.activeTexture(n.TEXTURE0 + e)), this.boundTextures[e] !== t && n.bindTexture(t.target, r.texture), r.dirtyId !== t.dirtyId && this.updateTexture(t), this.boundTextures[e] = t
                    }
                } else this.currentLocation !== e && (this.currentLocation = e, n.activeTexture(n.TEXTURE0 + e)), n.bindTexture(n.TEXTURE_2D, this.emptyTextures[n.TEXTURE_2D].texture), this.boundTextures[e] = null
            }, e.prototype.reset = function() {
                this._unknownBoundTextures = !0, this.currentLocation = -1;
                for (var t = 0; t < this.boundTextures.length; t++) this.boundTextures[t] = this.unknownTexture
            }, e.prototype.unbind = function(t) {
                var e = this.gl,
                    n = this.boundTextures;
                if (this._unknownBoundTextures) {
                    this._unknownBoundTextures = !1;
                    for (var r = 0; r < n.length; r++) n[r] === this.unknownTexture && this.bind(null, r)
                }
                for (var i = 0; i < n.length; i++) n[i] === t && (this.currentLocation !== i && (e.activeTexture(e.TEXTURE0 + i), this.currentLocation = i), e.bindTexture(e.TEXTURE_2D, this.emptyTextures[t.target].texture), n[i] = null)
            }, e.prototype.initTexture = function(t) {
                var e = new ar(this.gl.createTexture());
                return e.dirtyId = -1, t._glTextures[this.CONTEXT_UID] = e, this.managedTextures.push(t), t.on("dispose", this.destroyTexture, this), e
            }, e.prototype.updateTexture = function(t) {
                var e = t._glTextures[this.CONTEXT_UID],
                    n = this.renderer;
                if (t.resource && t.resource.upload(n, t, e));
                else {
                    var r = t.realWidth,
                        i = t.realHeight,
                        o = n.gl;
                    (e.width !== r || e.height !== i || e.dirtyId < 0) && (e.width = r, e.height = i, o.texImage2D(t.target, 0, t.format, r, i, 0, t.format, t.type, null))
                }
                t.dirtyStyleId !== e.dirtyStyleId && this.updateTextureStyle(t), e.dirtyId = t.dirtyId
            }, e.prototype.destroyTexture = function(t, e) {
                var n = this.gl;
                if ((t = t.baseTexture || t)._glTextures[this.CONTEXT_UID] && (this.unbind(t), n.deleteTexture(t._glTextures[this.CONTEXT_UID].texture), t.off("dispose", this.destroyTexture, this), delete t._glTextures[this.CONTEXT_UID], !e)) {
                    var r = this.managedTextures.indexOf(t); - 1 !== r && st(this.managedTextures, r, 1)
                }
            }, e.prototype.updateTextureStyle = function(t) {
                var e = t._glTextures[this.CONTEXT_UID];
                e && (t.mipmap !== Q && 2 === this.webGLVersion || t.isPowerOfTwo ? (e.mipmap = t.mipmap >= 1, e.wrapMode = t.wrapMode) : (e.mipmap = 0, e.wrapMode = N), t.resource && t.resource.style(this.renderer, t, e) || this.setStyle(t, e), e.dirtyStyleId = t.dirtyStyleId)
            }, e.prototype.setStyle = function(t, e) {
                var n = this.gl;
                e.mipmap && n.generateMipmap(t.target), n.texParameteri(t.target, n.TEXTURE_WRAP_S, e.wrapMode), n.texParameteri(t.target, n.TEXTURE_WRAP_T, e.wrapMode), e.mipmap ? n.texParameteri(t.target, n.TEXTURE_MIN_FILTER, t.scaleMode ? n.LINEAR_MIPMAP_LINEAR : n.NEAREST_MIPMAP_NEAREST) : n.texParameteri(t.target, n.TEXTURE_MIN_FILTER, t.scaleMode ? n.LINEAR : n.NEAREST), n.texParameteri(t.target, n.TEXTURE_MAG_FILTER, t.scaleMode ? n.LINEAR : n.NEAREST)
            }, e
        }(Re),
        Ar = new Lt,
        hr = function(t) {
            function e(n) {
                void 0 === n && (n = {}), t.call(this, "WebGL", n), n = this.options, this.type = M.WEBGL, this.gl = null, this.CONTEXT_UID = 0, this.runners = {
                    destroy: new ae("destroy"),
                    contextChange: new ae("contextChange", 1),
                    reset: new ae("reset"),
                    update: new ae("update"),
                    postrender: new ae("postrender"),
                    prerender: new ae("prerender"),
                    resize: new ae("resize", 2)
                }, this.globalUniforms = new tn({
                    projectionMatrix: new Lt
                }, !0), this.addSystem(Gn, "mask").addSystem(sn, "context").addSystem(ir, "state").addSystem(Zn, "shader").addSystem(sr, "texture").addSystem(un, "geometry").addSystem(An, "framebuffer").addSystem(Wn, "stencil").addSystem(Yn, "projection").addSystem(or, "textureGC").addSystem(nn, "filter").addSystem(Vn, "renderTexture").addSystem(on, "batch"), this.initPlugins(e.__plugins), n.context ? this.context.initFromContext(n.context) : this.context.initFromOptions({
                    alpha: this.transparent,
                    antialias: n.antialias,
                    premultipliedAlpha: this.transparent && "notMultiplied" !== this.transparent,
                    stencil: !0,
                    preserveDrawingBuffer: n.preserveDrawingBuffer,
                    powerPreference: this.options.powerPreference
                }), this.renderingToScreen = !0, V(2 === this.context.webGLVersion ? "WebGL 2" : "WebGL 1"), this.resize(this.options.width, this.options.height)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.create = function(t) {
                if (q()) return new e(t);
                throw new Error('WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.')
            }, e.prototype.addSystem = function(t, e) {
                e || (e = t.name);
                var n = new t(this);
                if (this[e]) throw new Error('Whoops! The name "' + e + '" is already in use');
                for (var r in this[e] = n, this.runners) this.runners[r].add(n);
                return this
            }, e.prototype.render = function(t, e, n, r, i) {
                if (this.renderingToScreen = !e, this.runners.prerender.run(), this.emit("prerender"), this.projection.transform = r, !this.context.isLost) {
                    if (e || (this._lastObjectRendered = t), !i) {
                        var o = t.parent;
                        t.parent = this._tempDisplayObjectParent, t.updateTransform(), t.parent = o
                    }
                    this.renderTexture.bind(e), this.batch.currentRenderer.start(), (void 0 !== n ? n : this.clearBeforeRender) && this.renderTexture.clear(), t.render(this), this.batch.currentRenderer.flush(), e && e.baseTexture.update(), this.runners.postrender.run(), this.projection.transform = null, this.emit("postrender")
                }
            }, e.prototype.resize = function(e, n) {
                t.prototype.resize.call(this, e, n), this.runners.resize.run(e, n)
            }, e.prototype.reset = function() {
                return this.runners.reset.run(), this
            }, e.prototype.clear = function() {
                this.framebuffer.bind(), this.framebuffer.clear()
            }, e.prototype.destroy = function(e) {
                this.runners.destroy.run(), t.prototype.destroy.call(this, e), this.gl = null
            }, e.registerPlugin = function(t, n) {
                e.__plugins = e.__plugins || {}, e.__plugins[t] = n
            }, e
        }(function(t) {
            function e(e, n) {
                t.call(this), (n = Object.assign({}, C.RENDER_OPTIONS, n)).roundPixels && (C.ROUND_PIXELS = n.roundPixels, kt("5.0.0", "Renderer roundPixels option is deprecated, please use PIXI.settings.ROUND_PIXELS", 2)), this.options = n, this.type = M.UNKNOWN, this.screen = new Kt(0, 0, n.width, n.height), this.view = n.view || document.createElement("canvas"), this.resolution = n.resolution || C.RESOLUTION, this.transparent = n.transparent, this.autoDensity = n.autoDensity || n.autoResize || !1, this.preserveDrawingBuffer = n.preserveDrawingBuffer, this.clearBeforeRender = n.clearBeforeRender, this._backgroundColor = 0, this._backgroundColorRgba = [0, 0, 0, 0], this._backgroundColorString = "#000000", this.backgroundColor = n.backgroundColor || this._backgroundColor, this._tempDisplayObjectParent = new ie, this._lastObjectRendered = this._tempDisplayObjectParent, this.plugins = {}
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                width: {
                    configurable: !0
                },
                height: {
                    configurable: !0
                },
                backgroundColor: {
                    configurable: !0
                }
            };
            return e.prototype.initPlugins = function(t) {
                for (var e in t) this.plugins[e] = new t[e](this)
            }, n.width.get = function() {
                return this.view.width
            }, n.height.get = function() {
                return this.view.height
            }, e.prototype.resize = function(t, e) {
                this.screen.width = t, this.screen.height = e, this.view.width = t * this.resolution, this.view.height = e * this.resolution, this.autoDensity && (this.view.style.width = t + "px", this.view.style.height = e + "px")
            }, e.prototype.generateTexture = function(t, e, n, r) {
                0 === (r = r || t.getLocalBounds()).width && (r.width = 1), 0 === r.height && (r.height = 1);
                var i = Ue.create(0 | r.width, 0 | r.height, e, n);
                return Ar.tx = -r.x, Ar.ty = -r.y, this.render(t, i, !1, Ar, !!t.parent), i
            }, e.prototype.destroy = function(t) {
                for (var e in this.plugins) this.plugins[e].destroy(), this.plugins[e] = null;
                t && this.view.parentNode && this.view.parentNode.removeChild(this.view), this.plugins = null, this.type = M.UNKNOWN, this.view = null, this.screen = null, this.resolution = 0, this.transparent = !1, this.autoDensity = !1, this.blendModes = null, this.options = null, this.preserveDrawingBuffer = !1, this.clearBeforeRender = !1, this._backgroundColor = 0, this._backgroundColorRgba = null, this._backgroundColorString = null, this._tempDisplayObjectParent = null, this._lastObjectRendered = null
            }, n.backgroundColor.get = function() {
                return this._backgroundColor
            }, n.backgroundColor.set = function(t) {
                this._backgroundColor = t, this._backgroundColorString = Z(t), J(t, this._backgroundColorRgba)
            }, Object.defineProperties(e.prototype, n), e
        }(k.a));
    var cr = "attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n    return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n    gl_Position = filterVertexPosition();\n    vTextureCoord = filterTextureCoord();\n}\n",
        ur = function(t) {
            function e(e) {
                void 0 === e && (e = !1), t.call(this), this._buffer = new Xe(null, e, !1), this._indexBuffer = new Xe(null, e, !0), this.addAttribute("aVertexPosition", this._buffer, 2, !1, F.FLOAT).addAttribute("aTextureCoord", this._buffer, 2, !1, F.FLOAT).addAttribute("aColor", this._buffer, 4, !0, F.UNSIGNED_BYTE).addAttribute("aTextureId", this._buffer, 1, !0, F.FLOAT).addIndex(this._indexBuffer)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e
        }(qe),
        lr = function() {
            this.textures = [], this.ids = [], this.blend = 0, this.textureCount = 0, this.start = 0, this.size = 0, this.type = 4
        },
        dr = function(t) {
            this.vertices = new ArrayBuffer(t), this.float32View = new Float32Array(this.vertices), this.uint32View = new Uint32Array(this.vertices)
        };
    dr.prototype.destroy = function() {
        this.vertices = null, this.float32View = null, this.uint32View = null
    };
    var pr = "precision highp float;\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aColor;\nattribute float aTextureId;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform vec4 tint;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvarying float vTextureId;\n\nvoid main(void){\n    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = aTextureCoord;\n    vTextureId = aTextureId;\n    vColor = aColor * tint;\n}\n",
        fr = ["varying vec2 vTextureCoord;", "varying vec4 vColor;", "varying float vTextureId;", "uniform sampler2D uSamplers[%count%];", "void main(void){", "vec4 color;", "%forloop%", "gl_FragColor = color * vColor;", "}"].join("\n"),
        yr = {},
        xr = {};
    var mr = function(t) {
            function e(e) {
                t.call(this, e), this.vertSize = 6, this.vertByteSize = 4 * this.vertSize, this.size = 8e3, this.currentSize = 0, this.currentIndexSize = 0, this.attributeBuffers = {}, this.aBuffers = {}, this.iBuffers = {}, this.onlySprites = !1, this.shader = null, this.currentIndex = 0, this.groups = [];
                for (var n = 0; n < this.size / 4; n++) this.groups[n] = new lr;
                this.elements = [], this.vaos = [], this.vaoMax = 2, this.vertexCount = 0, this.renderer.on("prerender", this.onPrerender, this), this.state = Ln.for2d()
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.contextChange = function() {
                var t = this.renderer.gl;
                C.PREFER_ENV === B.WEBGL_LEGACY ? this.MAX_TEXTURES = 1 : (this.MAX_TEXTURES = Math.min(t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS), C.SPRITE_MAX_TEXTURES), this.MAX_TEXTURES = function(t, e) {
                    if (0 === t) throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");
                    for (var n = e.createShader(e.FRAGMENT_SHADER);;) {
                        var r = kn.replace(/%forloop%/gi, In(t));
                        if (e.shaderSource(n, r), e.compileShader(n), e.getShaderParameter(n, e.COMPILE_STATUS)) break;
                        t = t / 2 | 0
                    }
                    return t
                }(this.MAX_TEXTURES, t)), this.shader = function(t, e) {
                    if (!xr[e]) {
                        for (var n = new Int32Array(e), r = 0; r < e; r++) n[r] = r;
                        yr[e] = tn.from({
                            uSamplers: n
                        }, !0);
                        var i = fr;
                        i = (i = i.replace(/%count%/gi, e)).replace(/%forloop%/gi, function(t) {
                            var e = "";
                            e += "\n", e += "\n";
                            for (var n = 0; n < t; n++) n > 0 && (e += "\nelse "), n < t - 1 && (e += "if(vTextureId < " + n + ".5)"), e += "\n{", e += "\n\tcolor = texture2D(uSamplers[" + n + "], vTextureCoord);", e += "\n}";
                            return e += "\n", e += "\n"
                        }(e)), xr[e] = new Rn(pr, i)
                    }
                    var o = {
                        tint: new Float32Array([1, 1, 1, 1]),
                        translationMatrix: new Lt,
                        default: yr[e]
                    };
                    return new Mn(xr[e], o)
                }(0, this.MAX_TEXTURES);
                for (var e = 0; e < this.vaoMax; e++) this.vaos[e] = new ur
            }, e.prototype.onPrerender = function() {
                this.vertexCount = 0
            }, e.prototype.render = function(t) {
                t._texture.valid && (this.currentSize + t.vertexData.length / 2 > this.size && this.flush(), this.elements[this.currentIndex++] = t, this.currentSize += t.vertexData.length / 2, this.currentIndexSize += t.indices.length)
            }, e.prototype.getIndexBuffer = function(t) {
                var e = ut(Math.ceil(t / 12)),
                    n = dt(e),
                    r = 12 * e;
                this.iBuffers.length <= n && (this.iBuffers.length = n + 1);
                var i = this.iBuffers[n];
                return i || (this.iBuffers[n] = i = new Uint16Array(r)), i
            }, e.prototype.getAttributeBuffer = function(t) {
                var e = ut(Math.ceil(t / 8)),
                    n = dt(e),
                    r = 8 * e;
                this.aBuffers.length <= n && (this.iBuffers.length = n + 1);
                var i = this.aBuffers[r];
                return i || (this.aBuffers[r] = i = new dr(r * this.vertByteSize)), i
            }, e.prototype.flush = function() {
                if (0 !== this.currentSize) {
                    var t, e, n = this.renderer.gl,
                        r = this.MAX_TEXTURES,
                        i = this.getAttributeBuffer(this.currentSize),
                        o = this.getIndexBuffer(this.currentIndexSize),
                        a = this.elements,
                        s = this.groups,
                        A = i.float32View,
                        h = i.uint32View,
                        c = this.renderer.textureGC.count,
                        u = 0,
                        l = 0,
                        d = 0,
                        p = 0,
                        f = s[0],
                        y = -1;
                    f.textureCount = 0, f.start = 0, f.blend = y;
                    var x, m = ++Ce._globalBatch;
                    for (x = 0; x < this.currentIndex; ++x) {
                        var g = a[x];
                        a[x] = null, t = g._texture.baseTexture;
                        var w = et[t.premultiplyAlpha ? 1 : 0][g.blendMode];
                        y !== w && (y = w, e = null, p = r, m++), e !== t && (e = t, t._batchEnabled !== m && (p === r && (m++, p = 0, f.size = l - f.start, (f = s[d++]).textureCount = 0, f.blend = y, f.start = l), t.touched = c, t._batchEnabled = m, t._id = p, f.textures[f.textureCount++] = t, p++)), this.packGeometry(g, A, h, o, u, l), u += g.vertexData.length / 2 * this.vertSize, l += g.indices.length
                    }
                    Ce._globalBatch = m, f.size = l - f.start, C.CAN_UPLOAD_SAME_BUFFER ? (this.vaos[this.vertexCount]._buffer.update(i.vertices, 0), this.vaos[this.vertexCount]._indexBuffer.update(o, 0), this.renderer.geometry.updateBuffers()) : (this.vaoMax <= this.vertexCount && (this.vaoMax++, this.vaos[this.vertexCount] = new ur), this.vaos[this.vertexCount]._buffer.update(i.vertices, 0), this.vaos[this.vertexCount]._indexBuffer.update(o, 0), this.renderer.geometry.bind(this.vaos[this.vertexCount]), this.renderer.geometry.updateBuffers(), this.vertexCount++);
                    var v = this.renderer.texture,
                        b = this.renderer.state;
                    for (x = 0; x < d; x++) {
                        for (var _ = s[x], S = _.textureCount, E = 0; E < S; E++) v.bind(_.textures[E], E), _.textures[E] = null;
                        b.setBlendMode(_.blend), n.drawElements(_.type, _.size, n.UNSIGNED_SHORT, 2 * _.start)
                    }
                    this.currentIndex = 0, this.currentSize = 0, this.currentIndexSize = 0
                }
            }, e.prototype.packGeometry = function(t, e, n, r, i, o) {
                for (var a = i / this.vertSize, s = t.uvs, A = t.indices, h = t.vertexData, c = t._texture.baseTexture._id, u = Math.min(t.worldAlpha, 1), l = u < 1 && t._texture.baseTexture.premultiplyAlpha ? it(t._tintRGB, u) : t._tintRGB + (255 * u << 24), d = 0; d < h.length; d += 2) e[i++] = h[d], e[i++] = h[d + 1], e[i++] = s[d], e[i++] = s[d + 1], n[i++] = l, e[i++] = c;
                for (var p = 0; p < A.length; p++) r[o++] = a + A[p]
            }, e.prototype.start = function() {
                this.renderer.state.setState(this.state), this.renderer.shader.bind(this.shader), C.CAN_UPLOAD_SAME_BUFFER && this.renderer.geometry.bind(this.vaos[this.vertexCount])
            }, e.prototype.stop = function() {
                this.flush()
            }, e.prototype.destroy = function() {
                for (var e = 0; e < this.vaoMax; e++) this.vaos[e] && this.vaos[e].destroy();
                this.indexBuffer && this.indexBuffer.destroy(), this.renderer.off("prerender", this.onPrerender, this), this.shader && (this.shader.destroy(), this.shader = null), this.vaos = null, this.indexBuffer = null, this.indices = null, this.sprites = null, t.prototype.destroy.call(this)
            }, e
        }(rn),
        gr = new Kt,
        wr = function(t) {
            this.renderer = t, t.extract = this
        };
    /*!
     * @pixi/extract - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/extract is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    wr.prototype.image = function(t, e, n) {
        var r = new Image;
        return r.src = this.base64(t, e, n), r
    }, wr.prototype.base64 = function(t, e, n) {
        return this.canvas(t).toDataURL(e, n)
    }, wr.prototype.canvas = function(t) {
        var e, n, r, i = this.renderer,
            o = !1,
            a = !1;
        t && (t instanceof Ue ? r = t : (r = this.renderer.generateTexture(t), a = !0)), r ? (e = r.baseTexture.resolution, n = r.frame, o = !1, i.renderTexture.bind(r)) : (e = this.renderer.resolution, o = !0, (n = gr).width = this.renderer.width, n.height = this.renderer.height, i.renderTexture.bind(null));
        var s = n.width * e,
            A = n.height * e,
            h = new wt(s, A, 1),
            c = new Uint8Array(4 * s * A),
            u = i.gl;
        u.readPixels(n.x * e, n.y * e, s, A, u.RGBA, u.UNSIGNED_BYTE, c);
        var l = h.context.getImageData(0, 0, s, A);
        return l.data.set(c), h.context.putImageData(l, 0, 0), o && (h.context.scale(1, -1), h.context.drawImage(h.canvas, 0, -A)), a && r.destroy(!0), h.canvas
    }, wr.prototype.pixels = function(t) {
        var e, n, r, i = this.renderer,
            o = !1;
        t && (t instanceof Ue ? r = t : (r = this.renderer.generateTexture(t), o = !0)), r ? (e = r.baseTexture.resolution, n = r.frame, i.renderTexture.bind(r)) : (e = i.resolution, (n = gr).width = i.width, n.height = i.height, i.renderTexture.bind(null));
        var a = n.width * e,
            s = n.height * e,
            A = new Uint8Array(4 * a * s),
            h = i.gl;
        return h.readPixels(n.x * e, n.y * e, a, s, h.RGBA, h.UNSIGNED_BYTE, A), o && r.destroy(!0), A
    }, wr.prototype.destroy = function() {
        this.renderer.extract = null, this.renderer = null
    };
    /*!
     * @pixi/interaction - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/interaction is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var vr = function() {
            this.global = new It, this.target = null, this.originalEvent = null, this.identifier = null, this.isPrimary = !1, this.button = 0, this.buttons = 0, this.width = 0, this.height = 0, this.tiltX = 0, this.tiltY = 0, this.pointerType = null, this.pressure = 0, this.rotationAngle = 0, this.twist = 0, this.tangentialPressure = 0
        },
        br = {
            pointerId: {
                configurable: !0
            }
        };
    br.pointerId.get = function() {
        return this.identifier
    }, vr.prototype.getLocalPosition = function(t, e, n) {
        return t.worldTransform.applyInverse(n || this.global, e)
    }, vr.prototype.copyEvent = function(t) {
        t.isPrimary && (this.isPrimary = !0), this.button = t.button, this.buttons = Number.isInteger(t.buttons) ? t.buttons : t.which, this.width = t.width, this.height = t.height, this.tiltX = t.tiltX, this.tiltY = t.tiltY, this.pointerType = t.pointerType, this.pressure = t.pressure, this.rotationAngle = t.rotationAngle, this.twist = t.twist || 0, this.tangentialPressure = t.tangentialPressure || 0
    }, vr.prototype.reset = function() {
        this.isPrimary = !1
    }, Object.defineProperties(vr.prototype, br);
    var _r = function() {
        this.stopped = !1, this.target = null, this.currentTarget = null, this.type = null, this.data = null
    };
    _r.prototype.stopPropagation = function() {
        this.stopped = !0
    }, _r.prototype.reset = function() {
        this.stopped = !1, this.currentTarget = null, this.target = null
    };
    var Sr = function t(e) {
            this._pointerId = e, this._flags = t.FLAGS.NONE
        },
        Er = {
            pointerId: {
                configurable: !0
            },
            flags: {
                configurable: !0
            },
            none: {
                configurable: !0
            },
            over: {
                configurable: !0
            },
            rightDown: {
                configurable: !0
            },
            leftDown: {
                configurable: !0
            }
        };
    Sr.prototype._doSet = function(t, e) {
        this._flags = e ? this._flags | t : this._flags & ~t
    }, Er.pointerId.get = function() {
        return this._pointerId
    }, Er.flags.get = function() {
        return this._flags
    }, Er.flags.set = function(t) {
        this._flags = t
    }, Er.none.get = function() {
        return this._flags === this.constructor.FLAGS.NONE
    }, Er.over.get = function() {
        return 0 != (this._flags & this.constructor.FLAGS.OVER)
    }, Er.over.set = function(t) {
        this._doSet(this.constructor.FLAGS.OVER, t)
    }, Er.rightDown.get = function() {
        return 0 != (this._flags & this.constructor.FLAGS.RIGHT_DOWN)
    }, Er.rightDown.set = function(t) {
        this._doSet(this.constructor.FLAGS.RIGHT_DOWN, t)
    }, Er.leftDown.get = function() {
        return 0 != (this._flags & this.constructor.FLAGS.LEFT_DOWN)
    }, Er.leftDown.set = function(t) {
        this._doSet(this.constructor.FLAGS.LEFT_DOWN, t)
    }, Object.defineProperties(Sr.prototype, Er), Sr.FLAGS = Object.freeze({
        NONE: 0,
        OVER: 1,
        LEFT_DOWN: 2,
        RIGHT_DOWN: 4
    });
    var Cr = {
        interactive: !1,
        interactiveChildren: !0,
        hitArea: null,
        get buttonMode() {
            return "pointer" === this.cursor
        },
        set buttonMode(t) {
            t ? this.cursor = "pointer" : "pointer" === this.cursor && (this.cursor = null)
        },
        cursor: null,
        get trackedPointers() {
            return void 0 === this._trackedPointers && (this._trackedPointers = {}), this._trackedPointers
        },
        _trackedPointers: void 0
    };
    ne.mixin(Cr);
    var Tr = 1,
        kr = {
            target: null,
            data: {
                global: null
            }
        },
        Ir = function(t) {
            function e(e, n) {
                t.call(this), n = n || {}, this.renderer = e, this.autoPreventDefault = void 0 === n.autoPreventDefault || n.autoPreventDefault, this.interactionFrequency = n.interactionFrequency || 10, this.mouse = new vr, this.mouse.identifier = Tr, this.mouse.global.set(-999999), this.activeInteractionData = {}, this.activeInteractionData[Tr] = this.mouse, this.interactionDataPool = [], this.eventData = new _r, this.interactionDOMElement = null, this.moveWhenInside = !1, this.eventsAdded = !1, this.mouseOverRenderer = !1, this.supportsTouchEvents = "ontouchstart" in window, this.supportsPointerEvents = !!window.PointerEvent, this.onPointerUp = this.onPointerUp.bind(this), this.processPointerUp = this.processPointerUp.bind(this), this.onPointerCancel = this.onPointerCancel.bind(this), this.processPointerCancel = this.processPointerCancel.bind(this), this.onPointerDown = this.onPointerDown.bind(this), this.processPointerDown = this.processPointerDown.bind(this), this.onPointerMove = this.onPointerMove.bind(this), this.processPointerMove = this.processPointerMove.bind(this), this.onPointerOut = this.onPointerOut.bind(this), this.processPointerOverOut = this.processPointerOverOut.bind(this), this.onPointerOver = this.onPointerOver.bind(this), this.cursorStyles = {
                    default: "inherit",
                    pointer: "pointer"
                }, this.currentCursorMode = null, this.cursor = null, this._tempPoint = new It, this.resolution = 1, this.setTargetElement(this.renderer.view, this.renderer.resolution)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.hitTest = function(t, e) {
                return kr.target = null, kr.data.global = t, e || (e = this.renderer._lastObjectRendered), this.processInteractive(kr, e, null, !0), kr.target
            }, e.prototype.setTargetElement = function(t, e) {
                void 0 === e && (e = 1), this.removeEvents(), this.interactionDOMElement = t, this.resolution = e, this.addEvents()
            }, e.prototype.addEvents = function() {
                this.interactionDOMElement && (pe.system.add(this.update, this, Ae), window.navigator.msPointerEnabled ? (this.interactionDOMElement.style["-ms-content-zooming"] = "none", this.interactionDOMElement.style["-ms-touch-action"] = "none") : this.supportsPointerEvents && (this.interactionDOMElement.style["touch-action"] = "none"), this.supportsPointerEvents ? (window.document.addEventListener("pointermove", this.onPointerMove, !0), this.interactionDOMElement.addEventListener("pointerdown", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("pointerleave", this.onPointerOut, !0), this.interactionDOMElement.addEventListener("pointerover", this.onPointerOver, !0), window.addEventListener("pointercancel", this.onPointerCancel, !0), window.addEventListener("pointerup", this.onPointerUp, !0)) : (window.document.addEventListener("mousemove", this.onPointerMove, !0), this.interactionDOMElement.addEventListener("mousedown", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("mouseout", this.onPointerOut, !0), this.interactionDOMElement.addEventListener("mouseover", this.onPointerOver, !0), window.addEventListener("mouseup", this.onPointerUp, !0)), this.supportsTouchEvents && (this.interactionDOMElement.addEventListener("touchstart", this.onPointerDown, !0), this.interactionDOMElement.addEventListener("touchcancel", this.onPointerCancel, !0), this.interactionDOMElement.addEventListener("touchend", this.onPointerUp, !0), this.interactionDOMElement.addEventListener("touchmove", this.onPointerMove, !0)), this.eventsAdded = !0)
            }, e.prototype.removeEvents = function() {
                this.interactionDOMElement && (pe.system.remove(this.update, this), window.navigator.msPointerEnabled ? (this.interactionDOMElement.style["-ms-content-zooming"] = "", this.interactionDOMElement.style["-ms-touch-action"] = "") : this.supportsPointerEvents && (this.interactionDOMElement.style["touch-action"] = ""), this.supportsPointerEvents ? (window.document.removeEventListener("pointermove", this.onPointerMove, !0), this.interactionDOMElement.removeEventListener("pointerdown", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("pointerleave", this.onPointerOut, !0), this.interactionDOMElement.removeEventListener("pointerover", this.onPointerOver, !0), window.removeEventListener("pointercancel", this.onPointerCancel, !0), window.removeEventListener("pointerup", this.onPointerUp, !0)) : (window.document.removeEventListener("mousemove", this.onPointerMove, !0), this.interactionDOMElement.removeEventListener("mousedown", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("mouseout", this.onPointerOut, !0), this.interactionDOMElement.removeEventListener("mouseover", this.onPointerOver, !0), window.removeEventListener("mouseup", this.onPointerUp, !0)), this.supportsTouchEvents && (this.interactionDOMElement.removeEventListener("touchstart", this.onPointerDown, !0), this.interactionDOMElement.removeEventListener("touchcancel", this.onPointerCancel, !0), this.interactionDOMElement.removeEventListener("touchend", this.onPointerUp, !0), this.interactionDOMElement.removeEventListener("touchmove", this.onPointerMove, !0)), this.interactionDOMElement = null, this.eventsAdded = !1)
            }, e.prototype.update = function(t) {
                if (this._deltaTime += t, !(this._deltaTime < this.interactionFrequency) && (this._deltaTime = 0, this.interactionDOMElement))
                    if (this.didMove) this.didMove = !1;
                    else {
                        for (var e in this.cursor = null, this.activeInteractionData)
                            if (this.activeInteractionData.hasOwnProperty(e)) {
                                var n = this.activeInteractionData[e];
                                if (n.originalEvent && "touch" !== n.pointerType) {
                                    var r = this.configureInteractionEventForDOMEvent(this.eventData, n.originalEvent, n);
                                    this.processInteractive(r, this.renderer._lastObjectRendered, this.processPointerOverOut, !0)
                                }
                            } this.setCursorMode(this.cursor)
                    }
            }, e.prototype.setCursorMode = function(t) {
                if (t = t || "default", this.currentCursorMode !== t) {
                    this.currentCursorMode = t;
                    var e = this.cursorStyles[t];
                    if (e) switch (typeof e) {
                        case "string":
                            this.interactionDOMElement.style.cursor = e;
                            break;
                        case "function":
                            e(t);
                            break;
                        case "object":
                            Object.assign(this.interactionDOMElement.style, e)
                    } else "string" != typeof t || Object.prototype.hasOwnProperty.call(this.cursorStyles, t) || (this.interactionDOMElement.style.cursor = t)
                }
            }, e.prototype.dispatchEvent = function(t, e, n) {
                n.stopped || (n.currentTarget = t, n.type = e, t.emit(e, n), t[e] && t[e](n))
            }, e.prototype.mapPositionToPoint = function(t, e, n) {
                var r;
                r = this.interactionDOMElement.parentElement ? this.interactionDOMElement.getBoundingClientRect() : {
                    x: 0,
                    y: 0,
                    width: 0,
                    height: 0
                };
                var i = 1 / this.resolution;
                t.x = (e - r.left) * (this.interactionDOMElement.width / r.width) * i, t.y = (n - r.top) * (this.interactionDOMElement.height / r.height) * i
            }, e.prototype.processInteractive = function(t, e, n, r, i) {
                if (!e || !e.visible) return !1;
                var o = t.data.global,
                    a = !1,
                    s = i = e.interactive || i,
                    A = !0;
                if (e.hitArea ? (r && (e.worldTransform.applyInverse(o, this._tempPoint), e.hitArea.contains(this._tempPoint.x, this._tempPoint.y) ? a = !0 : (r = !1, A = !1)), s = !1) : e._mask && r && (e._mask.containsPoint && e._mask.containsPoint(o) || (r = !1)), A && e.interactiveChildren && e.children)
                    for (var h = e.children, c = h.length - 1; c >= 0; c--) {
                        var u = h[c],
                            l = this.processInteractive(t, u, n, r, s);
                        if (l) {
                            if (!u.parent) continue;
                            s = !1, l && (t.target && (r = !1), a = !0)
                        }
                    }
                return i && (r && !t.target && !e.hitArea && e.containsPoint && e.containsPoint(o) && (a = !0), e.interactive && (a && !t.target && (t.target = e), n && n(t, e, !!a))), a
            }, e.prototype.onPointerDown = function(t) {
                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                    var e = this.normalizeToPointerData(t);
                    if (this.autoPreventDefault && e[0].isNormalized)(t.cancelable || !("cancelable" in t)) && t.preventDefault();
                    for (var n = e.length, r = 0; r < n; r++) {
                        var i = e[r],
                            o = this.getInteractionDataForPointerId(i),
                            a = this.configureInteractionEventForDOMEvent(this.eventData, i, o);
                        if (a.data.originalEvent = t, this.processInteractive(a, this.renderer._lastObjectRendered, this.processPointerDown, !0), this.emit("pointerdown", a), "touch" === i.pointerType) this.emit("touchstart", a);
                        else if ("mouse" === i.pointerType || "pen" === i.pointerType) {
                            var s = 2 === i.button;
                            this.emit(s ? "rightdown" : "mousedown", this.eventData)
                        }
                    }
                }
            }, e.prototype.processPointerDown = function(t, e, n) {
                var r = t.data,
                    i = t.data.identifier;
                if (n)
                    if (e.trackedPointers[i] || (e.trackedPointers[i] = new Sr(i)), this.dispatchEvent(e, "pointerdown", t), "touch" === r.pointerType) this.dispatchEvent(e, "touchstart", t);
                    else if ("mouse" === r.pointerType || "pen" === r.pointerType) {
                    var o = 2 === r.button;
                    o ? e.trackedPointers[i].rightDown = !0 : e.trackedPointers[i].leftDown = !0, this.dispatchEvent(e, o ? "rightdown" : "mousedown", t)
                }
            }, e.prototype.onPointerComplete = function(t, e, n) {
                for (var r = this.normalizeToPointerData(t), i = r.length, o = t.target !== this.interactionDOMElement ? "outside" : "", a = 0; a < i; a++) {
                    var s = r[a],
                        A = this.getInteractionDataForPointerId(s),
                        h = this.configureInteractionEventForDOMEvent(this.eventData, s, A);
                    if (h.data.originalEvent = t, this.processInteractive(h, this.renderer._lastObjectRendered, n, e || !o), this.emit(e ? "pointercancel" : "pointerup" + o, h), "mouse" === s.pointerType || "pen" === s.pointerType) {
                        var c = 2 === s.button;
                        this.emit(c ? "rightup" + o : "mouseup" + o, h)
                    } else "touch" === s.pointerType && (this.emit(e ? "touchcancel" : "touchend" + o, h), this.releaseInteractionDataForPointerId(s.pointerId, A))
                }
            }, e.prototype.onPointerCancel = function(t) {
                this.supportsTouchEvents && "touch" === t.pointerType || this.onPointerComplete(t, !0, this.processPointerCancel)
            }, e.prototype.processPointerCancel = function(t, e) {
                var n = t.data,
                    r = t.data.identifier;
                void 0 !== e.trackedPointers[r] && (delete e.trackedPointers[r], this.dispatchEvent(e, "pointercancel", t), "touch" === n.pointerType && this.dispatchEvent(e, "touchcancel", t))
            }, e.prototype.onPointerUp = function(t) {
                this.supportsTouchEvents && "touch" === t.pointerType || this.onPointerComplete(t, !1, this.processPointerUp)
            }, e.prototype.processPointerUp = function(t, e, n) {
                var r = t.data,
                    i = t.data.identifier,
                    o = e.trackedPointers[i],
                    a = "touch" === r.pointerType,
                    s = "mouse" === r.pointerType || "pen" === r.pointerType,
                    A = !1;
                if (s) {
                    var h = 2 === r.button,
                        c = Sr.FLAGS,
                        u = h ? c.RIGHT_DOWN : c.LEFT_DOWN,
                        l = void 0 !== o && o.flags & u;
                    n ? (this.dispatchEvent(e, h ? "rightup" : "mouseup", t), l && (this.dispatchEvent(e, h ? "rightclick" : "click", t), A = !0)) : l && this.dispatchEvent(e, h ? "rightupoutside" : "mouseupoutside", t), o && (h ? o.rightDown = !1 : o.leftDown = !1)
                }
                n ? (this.dispatchEvent(e, "pointerup", t), a && this.dispatchEvent(e, "touchend", t), o && (s && !A || this.dispatchEvent(e, "pointertap", t), a && (this.dispatchEvent(e, "tap", t), o.over = !1))) : o && (this.dispatchEvent(e, "pointerupoutside", t), a && this.dispatchEvent(e, "touchendoutside", t)), o && o.none && delete e.trackedPointers[i]
            }, e.prototype.onPointerMove = function(t) {
                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                    var e = this.normalizeToPointerData(t);
                    "mouse" !== e[0].pointerType && "pen" !== e[0].pointerType || (this.didMove = !0, this.cursor = null);
                    for (var n = e.length, r = 0; r < n; r++) {
                        var i = e[r],
                            o = this.getInteractionDataForPointerId(i),
                            a = this.configureInteractionEventForDOMEvent(this.eventData, i, o);
                        a.data.originalEvent = t;
                        var s = "touch" !== i.pointerType || this.moveWhenInside;
                        this.processInteractive(a, this.renderer._lastObjectRendered, this.processPointerMove, s), this.emit("pointermove", a), "touch" === i.pointerType && this.emit("touchmove", a), "mouse" !== i.pointerType && "pen" !== i.pointerType || this.emit("mousemove", a)
                    }
                    "mouse" === e[0].pointerType && this.setCursorMode(this.cursor)
                }
            }, e.prototype.processPointerMove = function(t, e, n) {
                var r = t.data,
                    i = "touch" === r.pointerType,
                    o = "mouse" === r.pointerType || "pen" === r.pointerType;
                o && this.processPointerOverOut(t, e, n), this.moveWhenInside && !n || (this.dispatchEvent(e, "pointermove", t), i && this.dispatchEvent(e, "touchmove", t), o && this.dispatchEvent(e, "mousemove", t))
            }, e.prototype.onPointerOut = function(t) {
                if (!this.supportsTouchEvents || "touch" !== t.pointerType) {
                    var e = this.normalizeToPointerData(t)[0];
                    "mouse" === e.pointerType && (this.mouseOverRenderer = !1, this.setCursorMode(null));
                    var n = this.getInteractionDataForPointerId(e),
                        r = this.configureInteractionEventForDOMEvent(this.eventData, e, n);
                    r.data.originalEvent = e, this.processInteractive(r, this.renderer._lastObjectRendered, this.processPointerOverOut, !1), this.emit("pointerout", r), "mouse" === e.pointerType || "pen" === e.pointerType ? this.emit("mouseout", r) : this.releaseInteractionDataForPointerId(n.identifier)
                }
            }, e.prototype.processPointerOverOut = function(t, e, n) {
                var r = t.data,
                    i = t.data.identifier,
                    o = "mouse" === r.pointerType || "pen" === r.pointerType,
                    a = e.trackedPointers[i];
                n && !a && (a = e.trackedPointers[i] = new Sr(i)), void 0 !== a && (n && this.mouseOverRenderer ? (a.over || (a.over = !0, this.dispatchEvent(e, "pointerover", t), o && this.dispatchEvent(e, "mouseover", t)), o && null === this.cursor && (this.cursor = e.cursor)) : a.over && (a.over = !1, this.dispatchEvent(e, "pointerout", this.eventData), o && this.dispatchEvent(e, "mouseout", t), a.none && delete e.trackedPointers[i]))
            }, e.prototype.onPointerOver = function(t) {
                var e = this.normalizeToPointerData(t)[0],
                    n = this.getInteractionDataForPointerId(e),
                    r = this.configureInteractionEventForDOMEvent(this.eventData, e, n);
                r.data.originalEvent = e, "mouse" === e.pointerType && (this.mouseOverRenderer = !0), this.emit("pointerover", r), "mouse" !== e.pointerType && "pen" !== e.pointerType || this.emit("mouseover", r)
            }, e.prototype.getInteractionDataForPointerId = function(t) {
                var e, n = t.pointerId;
                return n === Tr || "mouse" === t.pointerType ? e = this.mouse : this.activeInteractionData[n] ? e = this.activeInteractionData[n] : ((e = this.interactionDataPool.pop() || new vr).identifier = n, this.activeInteractionData[n] = e), e.copyEvent(t), e
            }, e.prototype.releaseInteractionDataForPointerId = function(t) {
                var e = this.activeInteractionData[t];
                e && (delete this.activeInteractionData[t], e.reset(), this.interactionDataPool.push(e))
            }, e.prototype.configureInteractionEventForDOMEvent = function(t, e, n) {
                return t.data = n, this.mapPositionToPoint(n.global, e.clientX, e.clientY), "touch" === e.pointerType && (e.globalX = n.global.x, e.globalY = n.global.y), n.originalEvent = e, t.reset(), t
            }, e.prototype.normalizeToPointerData = function(t) {
                var e = [];
                if (this.supportsTouchEvents && t instanceof TouchEvent)
                    for (var n = 0, r = t.changedTouches.length; n < r; n++) {
                        var i = t.changedTouches[n];
                        void 0 === i.button && (i.button = t.touches.length ? 1 : 0), void 0 === i.buttons && (i.buttons = t.touches.length ? 1 : 0), void 0 === i.isPrimary && (i.isPrimary = 1 === t.touches.length && "touchstart" === t.type), void 0 === i.width && (i.width = i.radiusX || 1), void 0 === i.height && (i.height = i.radiusY || 1), void 0 === i.tiltX && (i.tiltX = 0), void 0 === i.tiltY && (i.tiltY = 0), void 0 === i.pointerType && (i.pointerType = "touch"), void 0 === i.pointerId && (i.pointerId = i.identifier || 0), void 0 === i.pressure && (i.pressure = i.force || .5), void 0 === i.twist && (i.twist = 0), void 0 === i.tangentialPressure && (i.tangentialPressure = 0), void 0 === i.layerX && (i.layerX = i.offsetX = i.clientX), void 0 === i.layerY && (i.layerY = i.offsetY = i.clientY), i.isNormalized = !0, e.push(i)
                    } else !(t instanceof MouseEvent) || this.supportsPointerEvents && t instanceof window.PointerEvent ? e.push(t) : (void 0 === t.isPrimary && (t.isPrimary = !0), void 0 === t.width && (t.width = 1), void 0 === t.height && (t.height = 1), void 0 === t.tiltX && (t.tiltX = 0), void 0 === t.tiltY && (t.tiltY = 0), void 0 === t.pointerType && (t.pointerType = "mouse"), void 0 === t.pointerId && (t.pointerId = Tr), void 0 === t.pressure && (t.pressure = .5), void 0 === t.twist && (t.twist = 0), void 0 === t.tangentialPressure && (t.tangentialPressure = 0), t.isNormalized = !0, e.push(t));
                return e
            }, e.prototype.destroy = function() {
                this.removeEvents(), this.removeAllListeners(), this.renderer = null, this.mouse = null, this.eventData = null, this.interactionDOMElement = null, this.onPointerDown = null, this.processPointerDown = null, this.onPointerUp = null, this.processPointerUp = null, this.onPointerCancel = null, this.processPointerCancel = null, this.onPointerMove = null, this.processPointerMove = null, this.onPointerOut = null, this.processPointerOverOut = null, this.onPointerOver = null, this._tempPoint = null
            }, e
        }(k.a),
        Dr = {
            adaptive: !0,
            maxLength: 10,
            minSegments: 8,
            maxSegments: 2048,
            _segmentsCount: function(t, e) {
                if (void 0 === e && (e = 20), !this.adaptive) return e;
                var n = Math.ceil(t / this.maxLength);
                return n < this.minSegments ? n = this.minSegments : n > this.maxSegments && (n = this.maxSegments), n
            }
        },
        Pr = function() {
            this.reset()
        };
    Pr.prototype.clone = function() {
        var t = new Pr;
        return t.color = this.color, t.alpha = this.alpha, t.texture = this.texture, t.matrix = this.matrix, t.visible = this.visible, t
    }, Pr.prototype.reset = function() {
        this.color = 16777215, this.alpha = 1, this.texture = Fe.WHITE, this.matrix = null, this.visible = !1
    }, Pr.prototype.destroy = function() {
        this.texture = null, this.matrix = null
    };
    var Rr = function(t, e, n, r) {
        void 0 === e && (e = null), void 0 === n && (n = null), void 0 === r && (r = null), this.shape = t, this.lineStyle = n, this.fillStyle = e, this.matrix = r, this.type = t.type, this.points = [], this.holes = []
    };
    Rr.prototype.clone = function() {
        return new Rr(this.shape, this.fillStyle, this.lineStyle, this.matrix)
    }, Rr.prototype.destroy = function() {
        this.shape = null, this.holes.length = 0, this.holes = null, this.points.length = 0, this.points = null, this.lineStyle = null, this.fillStyle = null
    };
    var Br = {
        build: function(t) {
            var e, n, r = t.shape,
                i = t.points,
                o = r.x,
                a = r.y;
            if (i.length = 0, t.type === Ot.CIRC ? (e = r.radius, n = r.radius) : (e = r.width, n = r.height), 0 !== e && 0 !== n) {
                var s = Math.floor(30 * Math.sqrt(r.radius)) || Math.floor(15 * Math.sqrt(r.width + r.height));
                s /= 2.3;
                for (var A = 2 * Math.PI / s, h = 0; h < s; h++) i.push(o + Math.sin(-A * h) * e, a + Math.cos(-A * h) * n);
                i.push(i[0], i[1])
            }
        },
        triangulate: function(t, e) {
            var n = t.points,
                r = e.points,
                i = e.indices,
                o = r.length / 2,
                a = o;
            r.push(t.shape.x, t.shape.y);
            for (var s = 0; s < n.length; s += 2) r.push(n[s], n[s + 1]), i.push(o++, a, o)
        }
    };

    function Mr(t, e) {
        t.lineStyle.native ? function(t, e) {
            var n = 0,
                r = t.points || t.shape.points;
            if (0 === r.length) return;
            var i = e.points,
                o = e.indices,
                a = r.length / 2,
                s = i.length / 2;
            for (n = 1; n < a; n++) {
                var A = r[2 * (n - 1)],
                    h = r[2 * (n - 1) + 1],
                    c = r[2 * n],
                    u = r[2 * n + 1];
                i.push(A, h), i.push(c, u), o.push(s++, s++)
            }
        }(t, e) : function(t, e) {
            var n = t.shape,
                r = t.points || n.points.slice();
            if (0 === r.length) return;
            var i = t.lineStyle,
                o = new It(r[0], r[1]),
                a = new It(r[r.length - 2], r[r.length - 1]),
                s = n.type !== Ot.POLY || n.closeStroke,
                A = o.x === a.x && o.y === a.y;
            if (s) {
                r = r.slice(), A && (r.pop(), r.pop(), a.set(r[r.length - 2], r[r.length - 1]));
                var h = a.x + .5 * (o.x - a.x),
                    c = a.y + .5 * (o.y - a.y);
                r.unshift(h, c), r.push(h, c)
            }
            var u = e.points,
                l = r.length / 2,
                d = r.length,
                p = u.length / 2,
                f = i.width / 2,
                y = r[0],
                x = r[1],
                m = r[2],
                g = r[3],
                w = 0,
                v = 0,
                b = -(x - g),
                _ = y - m,
                S = 0,
                E = 0,
                C = 0,
                T = 0,
                k = Math.sqrt(b * b + _ * _);
            b /= k, _ /= k, b *= f, _ *= f;
            var I = i.alignment,
                D = 2 * (1 - I),
                P = 2 * I;
            u.push(y - b * D, x - _ * D), u.push(y + b * P, x + _ * P);
            for (var R = 1; R < l - 1; ++R) {
                y = r[2 * (R - 1)], x = r[2 * (R - 1) + 1], m = r[2 * R], g = r[2 * R + 1], w = r[2 * (R + 1)], v = r[2 * (R + 1) + 1], b = -(x - g), _ = y - m, k = Math.sqrt(b * b + _ * _), b /= k, _ /= k, b *= f, _ *= f, S = -(g - v), E = m - w, k = Math.sqrt(S * S + E * E), S /= k, E /= k;
                var B = -_ + x - (-_ + g),
                    M = -b + m - (-b + y),
                    O = (-b + y) * (-_ + g) - (-b + m) * (-_ + x),
                    L = -(E *= f) + v - (-E + g),
                    H = -(S *= f) + m - (-S + w),
                    z = (-S + w) * (-E + g) - (-S + m) * (-E + v),
                    F = B * H - L * M;
                if (Math.abs(F) < .1) F += 10.1, u.push(m - b * D, g - _ * D), u.push(m + b * P, g + _ * P);
                else {
                    var N = (M * z - H * O) / F,
                        U = (L * O - B * z) / F,
                        Q = (N - m) * (N - m) + (U - g) * (U - g);
                    Q > 196 * f * f ? (C = b - S, T = _ - E, k = Math.sqrt(C * C + T * T), C /= k, T /= k, C *= f, T *= f, u.push(m - C * D, g - T * D), u.push(m + C * P, g + T * P), u.push(m - C * P * D, g - T * D), d++) : (u.push(m + (N - m) * D, g + (U - g) * D), u.push(m - (N - m) * P, g - (U - g) * P))
                }
            }
            y = r[2 * (l - 2)], x = r[2 * (l - 2) + 1], m = r[2 * (l - 1)], g = r[2 * (l - 1) + 1], b = -(x - g), _ = y - m, k = Math.sqrt(b * b + _ * _), b /= k, _ /= k, b *= f, _ *= f, u.push(m - b * D, g - _ * D), u.push(m + b * P, g + _ * P);
            for (var j = e.indices, X = 0; X < d - 2; ++X) j.push(p, p + 1, p + 2), p++
        }(t, e)
    }
    var Or = {
            build: function(t) {
                t.points = t.shape.points.slice()
            },
            triangulate: function(t, e) {
                var n = t.points,
                    r = t.holes,
                    i = e.points,
                    o = e.indices;
                if (n.length >= 6) {
                    for (var a = [], s = 0; s < r.length; s++) {
                        var A = r[s];
                        a.push(n.length / 2), n = n.concat(A.points)
                    }
                    var h = D()(n, a, 2);
                    if (!h) return;
                    for (var c = i.length / 2, u = 0; u < h.length; u += 3) o.push(h[u] + c), o.push(h[u + 1] + c), o.push(h[u + 2] + c);
                    for (var l = 0; l < n.length; l++) i.push(n[l])
                }
            }
        },
        Lr = {
            build: function(t) {
                var e = t.shape,
                    n = t.points,
                    r = e.x,
                    i = e.y,
                    o = e.width,
                    a = e.height,
                    s = e.radius;
                n.length = 0, zr(r, i + s, r, i, r + s, i, n), zr(r + o - s, i, r + o, i, r + o, i + s, n), zr(r + o, i + a - s, r + o, i + a, r + o - s, i + a, n), zr(r + s, i + a, r, i + a, r, i + a - s, n)
            },
            triangulate: function(t, e) {
                for (var n = t.points, r = e.points, i = e.indices, o = r.length / 2, a = D()(n, null, 2), s = 0, A = a.length; s < A; s += 3) i.push(a[s] + o), i.push(a[s + 1] + o), i.push(a[s + 2] + o);
                for (var h = 0, c = n.length; h < c; h++) r.push(n[h], n[++h])
            }
        };

    function Hr(t, e, n) {
        return t + (e - t) * n
    }

    function zr(t, e, n, r, i, o, a) {
        void 0 === a && (a = []);
        for (var s = a, A = 0, h = 0, c = 0, u = 0, l = 0, d = 0, p = 0, f = 0; p <= 20; ++p) A = Hr(t, n, f = p / 20), h = Hr(e, r, f), c = Hr(n, i, f), u = Hr(r, o, f), l = Hr(A, c, f), d = Hr(h, u, f), s.push(l, d);
        return s
    }
    var Fr = [],
        Nr = [],
        Ur = {};
    Ur[Ot.POLY] = Or, Ur[Ot.CIRC] = Br, Ur[Ot.ELIP] = Br, Ur[Ot.RECT] = {
        build: function(t) {
            var e = t.shape,
                n = e.x,
                r = e.y,
                i = e.width,
                o = e.height,
                a = t.points;
            a.length = 0, a.push(n, r, n + i, r, n + i, r + o, n, r + o)
        },
        triangulate: function(t, e) {
            var n = t.points,
                r = e.points,
                i = r.length / 2;
            r.push(n[0], n[1], n[2], n[3], n[6], n[7], n[4], n[5]), e.indices.push(i, i + 1, i + 2, i + 1, i + 2, i + 3)
        }
    }, Ur[Ot.RREC] = Lr;
    var Qr = function() {
            this.style = null, this.size = 0, this.start = 0, this.attribStart = 0, this.attribSize = 0
        },
        jr = function(t) {
            function e() {
                t.call(this), this.points = [], this.colors = [], this.uvs = [], this.indices = [], this.textureIds = [], this.graphicsData = [], this.dirty = 0, this.batchDirty = -1, this.cacheDirty = -1, this.clearDirty = 0, this.drawCalls = [], this.batches = [], this.shapeIndex = 0, this._bounds = new ee, this.boundsDirty = -1, this.boundsPadding = 0, this.batchable = !1, this.indicesUint16 = null, this.uvsFloat32 = null
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                bounds: {
                    configurable: !0
                }
            };
            return n.bounds.get = function() {
                return this.boundsDirty !== this.dirty && (this.boundsDirty = this.dirty, this.calculateBounds()), this._bounds
            }, e.prototype.clear = function() {
                if (this.graphicsData.length > 0) {
                    this.boundsDirty = -1, this.dirty++, this.clearDirty++, this.batchDirty++, this.graphicsData.length = 0, this.shapeIndex = 0, this.points.length = 0, this.colors.length = 0, this.uvs.length = 0, this.indices.length = 0, this.textureIds.length = 0;
                    for (var t = 0; t < this.drawCalls.length; t++) this.drawCalls[t].textures.length = 0, Nr.push(this.drawCalls[t]);
                    this.drawCalls.length = 0;
                    for (var e = 0; e < this.batches.length; e++) {
                        var n = this.batches[e];
                        n.start = 0, n.attribStart = 0, n.style = null, Fr.push(n)
                    }
                    this.batches.length = 0
                }
                return this
            }, e.prototype.drawShape = function(t, e, n, r) {
                var i = new Rr(t, e, n, r);
                return this.graphicsData.push(i), this.dirty++, this
            }, e.prototype.drawHole = function(t, e) {
                if (!this.graphicsData.length) return null;
                var n = new Rr(t, null, null, e),
                    r = this.graphicsData[this.graphicsData.length - 1];
                return n.lineStyle = r.lineStyle, r.holes.push(n), this.dirty++, n
            }, e.prototype.destroy = function(e) {
                t.prototype.destroy.call(this, e);
                for (var n = 0; n < this.graphicsData.length; ++n) this.graphicsData[n].destroy();
                this.points.length = 0, this.points = null, this.colors.length = 0, this.colors = null, this.uvs.length = 0, this.uvs = null, this.indices.length = 0, this.indices = null, this.indexBuffer.destroy(), this.indexBuffer = null, this.graphicsData.length = 0, this.graphicsData = null, this.drawCalls.length = 0, this.drawCalls = null, this.batches.length = 0, this.batches = null, this._bounds = null
            }, e.prototype.containsPoint = function(t) {
                for (var e = this.graphicsData, n = 0; n < e.length; ++n) {
                    var r = e[n];
                    if (r.fillStyle.visible && (r.shape && r.shape.contains(t.x, t.y))) {
                        if (r.holes)
                            for (var i = 0; i < r.holes.length; i++) {
                                if (r.holes[i].shape.contains(t.x, t.y)) return !1
                            }
                        return !0
                    }
                }
                return !1
            }, e.prototype.updateBatches = function() {
                if (this.dirty !== this.cacheDirty && 0 !== this.graphicsData.length) {
                    if (this.dirty !== this.cacheDirty)
                        for (var t = 0; t < this.graphicsData.length; t++) {
                            var e = this.graphicsData[t];
                            if (e.fillStyle && !e.fillStyle.texture.baseTexture.valid) return;
                            if (e.lineStyle && !e.lineStyle.texture.baseTexture.valid) return
                        }
                    this.cacheDirty = this.dirty;
                    var n = this.uvs,
                        r = this.batches.pop() || Fr.pop() || new Qr;
                    r.style = r.style || this.graphicsData[0].fillStyle || this.graphicsData[0].lineStyle;
                    var i = r.style.texture.baseTexture,
                        o = r.style.color + r.style.alpha;
                    this.batches.push(r);
                    for (var a = this.shapeIndex; a < this.graphicsData.length; a++) {
                        this.shapeIndex++;
                        var s = this.graphicsData[a],
                            A = Ur[s.type],
                            h = s.fillStyle,
                            c = s.lineStyle;
                        A.build(s), s.matrix && this.transformPoints(s.points, s.matrix);
                        for (var u = 0; u < 2; u++) {
                            var l = 0 === u ? h : c;
                            if (l.visible) {
                                var d = l.texture.baseTexture;
                                if (i !== d || l.color + l.alpha !== o) {
                                    d.wrapMode = 10497, i = d, o = l.color + l.alpha;
                                    var p = this.indices.length,
                                        f = this.points.length / 2;
                                    r.size = p - r.start, r.attribSize = f - r.attribStart, r.size > 0 && (r = Fr.pop() || new Qr, this.batches.push(r)), r.style = l, r.start = p, r.attribStart = f
                                }
                                var y = this.points.length / 2;
                                if (0 === u) s.holes.length ? (this.processHoles(s.holes), Or.triangulate(s, this)) : A.triangulate(s, this);
                                else {
                                    Mr(s, this);
                                    for (var x = 0; x < s.holes.length; x++) Mr(s.holes[x], this)
                                }
                                var m = this.points.length / 2 - y;
                                this.addUvs(this.points, n, l.texture, y, m, l.matrix)
                            }
                        }
                    }
                    var g = this.indices.length,
                        w = this.points.length / 2;
                    if (r.size = g - r.start, r.attribSize = w - r.attribStart, this.indicesUint16 = new Uint16Array(this.indices), this.batchable = this.isBatchable(), this.batchable) {
                        this.batchDirty++, this.uvsFloat32 = new Float32Array(this.uvs);
                        for (var v = 0; v < this.batches.length; v++)
                            for (var b = this.batches[v], _ = 0; _ < b.size; _++) {
                                var S = b.start + _;
                                this.indicesUint16[S] = this.indicesUint16[S] - b.attribStart
                            }
                    } else this.buildDrawCalls()
                }
            }, e.prototype.isBatchable = function() {
                for (var t = this.batches, n = 0; n < t.length; n++)
                    if (t[n].style.native) return !1;
                return this.points.length < 2 * e.BATCHABLE_SIZE
            }, e.prototype.buildDrawCalls = function() {
                for (var t = ++Ce._globalBatch, e = 0; e < this.drawCalls.length; e++) this.drawCalls[e].textures.length = 0, Nr.push(this.drawCalls[e]);
                this.drawCalls.length = 0;
                var n = this.uvs,
                    r = this.colors,
                    i = this.textureIds,
                    o = Nr.pop() || new lr;
                o.textureCount = 0, o.start = 0, o.size = 0, o.type = L.TRIANGLES;
                var a = 0,
                    s = null,
                    A = 0,
                    h = !1,
                    c = L.TRIANGLES,
                    u = 0;
                this.drawCalls.push(o);
                for (var l = 0; l < this.batches.length; l++) {
                    var d = this.batches[l],
                        p = d.style,
                        f = p.texture.baseTexture;
                    h !== p.native && (c = (h = p.native) ? L.LINES : L.TRIANGLES, s = null, a = 8, t++), s !== f && (s = f, f._batchEnabled !== t && (8 === a && (t++, a = 0, o.size > 0 && (o = Nr.pop() || new lr, this.drawCalls.push(o)), o.start = u, o.size = 0, o.textureCount = 0, o.type = c), f.touched = 1, f._batchEnabled = t, f._id = a, f.wrapMode = 10497, o.textures[o.textureCount++] = f, a++)), o.size += d.size, u += d.size, A = f._id, this.addColors(r, p.color, p.alpha, d.attribSize), this.addTextureIds(i, A, d.attribSize)
                }
                Ce._globalBatch = t;
                for (var y = this.points, x = new ArrayBuffer(3 * y.length * 4), m = new Float32Array(x), g = new Uint32Array(x), w = 0, v = 0; v < y.length / 2; v++) m[w++] = y[2 * v], m[w++] = y[2 * v + 1], m[w++] = n[2 * v], m[w++] = n[2 * v + 1], g[w++] = r[v], m[w++] = i[v];
                this._buffer.update(x), this._indexBuffer.update(this.indicesUint16)
            }, e.prototype.processHoles = function(t) {
                for (var e = 0; e < t.length; e++) {
                    var n = t[e];
                    Ur[n.type].build(n), n.matrix && this.transformPoints(n.points, n.matrix)
                }
            }, e.prototype.calculateBounds = function() {
                var t = 1 / 0,
                    e = -1 / 0,
                    n = 1 / 0,
                    r = -1 / 0;
                if (this.graphicsData.length)
                    for (var i = null, o = 0, a = 0, s = 0, A = 0, h = 0; h < this.graphicsData.length; h++) {
                        var c = this.graphicsData[h],
                            u = c.type,
                            l = c.lineStyle ? c.lineStyle.width : 0;
                        if (i = c.shape, u === Ot.RECT || u === Ot.RREC) o = i.x - l / 2, a = i.y - l / 2, t = o < t ? o : t, e = o + (s = i.width + l) > e ? o + s : e, n = a < n ? a : n, r = a + (A = i.height + l) > r ? a + A : r;
                        else if (u === Ot.CIRC) o = i.x, a = i.y, t = o - (s = i.radius + l / 2) < t ? o - s : t, e = o + s > e ? o + s : e, n = a - (A = i.radius + l / 2) < n ? a - A : n, r = a + A > r ? a + A : r;
                        else if (u === Ot.ELIP) o = i.x, a = i.y, t = o - (s = i.width + l / 2) < t ? o - s : t, e = o + s > e ? o + s : e, n = a - (A = i.height + l / 2) < n ? a - A : n, r = a + A > r ? a + A : r;
                        else
                            for (var d = i.points, p = 0, f = 0, y = 0, x = 0, m = 0, g = 0, w = 0, v = 0, b = 0; b + 2 < d.length; b += 2) o = d[b], a = d[b + 1], p = d[b + 2], f = d[b + 3], y = Math.abs(p - o), x = Math.abs(f - a), A = l, (s = Math.sqrt(y * y + x * x)) < 1e-9 || (t = (w = (p + o) / 2) - (m = (A / s * x + y) / 2) < t ? w - m : t, e = w + m > e ? w + m : e, n = (v = (f + a) / 2) - (g = (A / s * y + x) / 2) < n ? v - g : n, r = v + g > r ? v + g : r)
                    } else t = 0, e = 0, n = 0, r = 0;
                var _ = this.boundsPadding;
                this._bounds.minX = t - _, this._bounds.maxX = e + _, this._bounds.minY = n - _, this._bounds.maxY = r + _
            }, e.prototype.transformPoints = function(t, e) {
                for (var n = 0; n < t.length / 2; n++) {
                    var r = t[2 * n],
                        i = t[2 * n + 1];
                    t[2 * n] = e.a * r + e.c * i + e.tx, t[2 * n + 1] = e.b * r + e.d * i + e.ty
                }
            }, e.prototype.addColors = function(t, e, n, r) {
                for (var i = it((e >> 16) + (65280 & e) + ((255 & e) << 16), n); r-- > 0;) t.push(i)
            }, e.prototype.addTextureIds = function(t, e, n) {
                for (; n-- > 0;) t.push(e)
            }, e.prototype.addUvs = function(t, e, n, r, i, o) {
                for (var a = 0, s = e.length, A = n.frame; a < i;) {
                    var h = t[2 * (r + a)],
                        c = t[2 * (r + a) + 1];
                    if (o) {
                        var u = o.a * h + o.c * c + o.tx;
                        c = o.b * h + o.d * c + o.ty, h = u
                    }
                    a++, e.push(h / A.width, c / A.height)
                }
                var l = n.baseTexture;
                (A.width < l.width || A.height < l.height) && this.adjustUvs(e, n, s, i)
            }, e.prototype.adjustUvs = function(t, e, n, r) {
                for (var i = e.baseTexture, o = n + 2 * r, a = e.frame, s = a.width / i.width, A = a.height / i.height, h = a.x / a.width, c = a.y / a.height, u = Math.floor(t[n] + 1e-6), l = Math.floor(t[n + 1] + 1e-6), d = n + 2; d < o; d += 2) u = Math.min(u, Math.floor(t[d] + 1e-6)), l = Math.min(l, Math.floor(t[d + 1] + 1e-6));
                h -= u, c -= l;
                for (var p = n; p < o; p += 2) t[p] = (t[p] + h) * s, t[p + 1] = (t[p + 1] + c) * A
            }, Object.defineProperties(e.prototype, n), e
        }(ur);
    jr.BATCHABLE_SIZE = 100;
    var Xr = function(t) {
            function e() {
                t.apply(this, arguments)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.clone = function() {
                var t = new e;
                return t.color = this.color, t.alpha = this.alpha, t.texture = this.texture, t.matrix = this.matrix, t.visible = this.visible, t.width = this.width, t.alignment = this.alignment, t.native = this.native, t
            }, e.prototype.reset = function() {
                t.prototype.reset.call(this), this.color = 0, this.width = 0, this.alignment = .5, this.native = !1
            }, e
        }(Pr),
        Gr = function() {};
    Gr.curveLength = function(t, e, n, r, i, o, a, s) {
        for (var A = 0, h = 0, c = 0, u = 0, l = 0, d = 0, p = 0, f = 0, y = 0, x = 0, m = 0, g = t, w = e, v = 1; v <= 10; ++v) x = g - (f = (p = (d = (l = 1 - (h = v / 10)) * l) * l) * t + 3 * d * h * n + 3 * l * (c = h * h) * i + (u = c * h) * a), m = w - (y = p * e + 3 * d * h * r + 3 * l * c * o + u * s), g = f, w = y, A += Math.sqrt(x * x + m * m);
        return A
    }, Gr.curveTo = function(t, e, n, r, i, o, a) {
        var s = a[a.length - 2],
            A = a[a.length - 1];
        a.length -= 2;
        var h = Dr._segmentsCount(Gr.curveLength(s, A, t, e, n, r, i, o)),
            c = 0,
            u = 0,
            l = 0,
            d = 0,
            p = 0;
        a.push(s, A);
        for (var f = 1, y = 0; f <= h; ++f) l = (u = (c = 1 - (y = f / h)) * c) * c, p = (d = y * y) * y, a.push(l * s + 3 * u * y * t + 3 * c * d * n + p * i, l * A + 3 * u * y * e + 3 * c * d * r + p * o)
    };
    var Wr = function() {};
    Wr.curveLength = function(t, e, n, r, i, o) {
        var a = t - 2 * n + i,
            s = e - 2 * r + o,
            A = 2 * n - 2 * t,
            h = 2 * r - 2 * e,
            c = 4 * (a * a + s * s),
            u = 4 * (a * A + s * h),
            l = A * A + h * h,
            d = 2 * Math.sqrt(c + u + l),
            p = Math.sqrt(c),
            f = 2 * c * p,
            y = 2 * Math.sqrt(l),
            x = u / p;
        return (f * d + p * u * (d - y) + (4 * l * c - u * u) * Math.log((2 * p + x + d) / (x + y))) / (4 * f)
    }, Wr.curveTo = function(t, e, n, r, i) {
        for (var o = i[i.length - 2], a = i[i.length - 1], s = Dr._segmentsCount(Wr.curveLength(o, a, t, e, n, r)), A = 0, h = 0, c = 1; c <= s; ++c) {
            var u = c / s;
            A = o + (t - o) * u, h = a + (e - a) * u, i.push(A + (t + (n - t) * u - A) * u, h + (e + (r - e) * u - h) * u)
        }
    };
    var Yr = function() {};
    Yr.curveTo = function(t, e, n, r, i, o) {
        var a = o[o.length - 2],
            s = o[o.length - 1] - e,
            A = a - t,
            h = r - e,
            c = n - t,
            u = Math.abs(s * c - A * h);
        if (u < 1e-8 || 0 === i) return o[o.length - 2] === t && o[o.length - 1] === e || o.push(t, e), null;
        var l = s * s + A * A,
            d = h * h + c * c,
            p = s * h + A * c,
            f = i * Math.sqrt(l) / u,
            y = i * Math.sqrt(d) / u,
            x = f * p / l,
            m = y * p / d,
            g = f * c + y * A,
            w = f * h + y * s,
            v = A * (y + x),
            b = s * (y + x),
            _ = c * (f + m),
            S = h * (f + m);
        return {
            cx: g + t,
            cy: w + e,
            radius: i,
            startAngle: Math.atan2(b - w, v - g),
            endAngle: Math.atan2(S - w, _ - g),
            anticlockwise: A * h > c * s
        }
    }, Yr.arc = function(t, e, n, r, i, o, a, s, A) {
        for (var h = a - o, c = Dr._segmentsCount(Math.abs(h) * i, 40 * Math.ceil(Math.abs(h) / Rt)), u = h / (2 * c), l = 2 * u, d = Math.cos(u), p = Math.sin(u), f = c - 1, y = f % 1 / f, x = 0; x <= f; ++x) {
            var m = u + o + l * (x + y * x),
                g = Math.cos(m),
                w = -Math.sin(m);
            A.push((d * g + p * w) * i + n, (d * -w + p * g) * i + r)
        }
    };
    var Kr = function(t) {
            function e(e, n, r, i, o, a) {
                o = o || i / 2;
                for (var s = -1 * Math.PI / 2 + a, A = 2 * r, h = Rt / A, c = [], u = 0; u < A; u++) {
                    var l = u % 2 ? o : i,
                        d = u * h + s;
                    c.push(e + l * Math.cos(d), n + l * Math.sin(d))
                }
                t.call(this, c)
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e
        }($t),
        Vr = new Float32Array(3),
        qr = null,
        Jr = function(t) {
            function e(e) {
                void 0 === e && (e = null), t.call(this), this.geometry = e || new jr, this.geometry.refCount++, this.shader = null, this.state = Ln.for2d(), this._fillStyle = new Pr, this._lineStyle = new Xr, this._matrix = null, this._holeMode = !1, this.currentPath = null, this.batches = [], this.batchTint = -1, this.vertexData = null, this._transformID = -1, this.batchDirty = -1, this.tint = 16777215, this.blendMode = O.NORMAL
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                blendMode: {
                    configurable: !0
                },
                tint: {
                    configurable: !0
                },
                fill: {
                    configurable: !0
                },
                line: {
                    configurable: !0
                }
            };
            return e.prototype.clone = function() {
                return this.finishPoly(), new e(this.geometry)
            }, n.blendMode.set = function(t) {
                this.state.blendMode = t
            }, n.blendMode.get = function() {
                return this.state.blendMode
            }, n.tint.get = function() {
                return this._tint
            }, n.tint.set = function(t) {
                this._tint = t
            }, n.fill.get = function() {
                return this._fillStyle
            }, n.line.get = function() {
                return this._lineStyle
            }, e.prototype.lineStyle = function(t, e, n, r, i) {
                return void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 1), void 0 === r && (r = .5), void 0 === i && (i = !1), this.lineTextureStyle(t, Fe.WHITE, e, n, null, r, i), this
            }, e.prototype.lineTextureStyle = function(t, e, n, r, i, o, a) {
                void 0 === t && (t = 0), void 0 === e && (e = Fe.WHITE), void 0 === n && (n = 16777215), void 0 === r && (r = 1), void 0 === i && (i = null), void 0 === o && (o = .5), void 0 === a && (a = !1), this.currentPath && this.startPoly();
                var s = t > 0 && r > 0;
                return s ? (i && (i = i.clone()).invert(), Object.assign(this._lineStyle, {
                    color: n,
                    width: t,
                    alpha: r,
                    matrix: i,
                    texture: e,
                    alignment: o,
                    native: a,
                    visible: s
                })) : this._lineStyle.reset(), this
            }, e.prototype.startPoly = function() {
                if (this.currentPath) {
                    var t = this.currentPath.points,
                        e = this.currentPath.points.length;
                    e > 2 && (this.drawShape(this.currentPath), this.currentPath = new $t, this.currentPath.closeStroke = !1, this.currentPath.points.push(t[e - 2], t[e - 1]))
                } else this.currentPath = new $t, this.currentPath.closeStroke = !1
            }, e.prototype.finishPoly = function() {
                this.currentPath && (this.currentPath.points.length > 2 ? (this.drawShape(this.currentPath), this.currentPath = null) : this.currentPath.points.length = 0)
            }, e.prototype.moveTo = function(t, e) {
                return this.startPoly(), this.currentPath.points[0] = t, this.currentPath.points[1] = e, this
            }, e.prototype.lineTo = function(t, e) {
                this.currentPath || this.moveTo(0, 0);
                var n = this.currentPath.points,
                    r = n[n.length - 2],
                    i = n[n.length - 1];
                return r === t && i === e || n.push(t, e), this
            }, e.prototype._initCurve = function(t, e) {
                void 0 === t && (t = 0), void 0 === e && (e = 0), this.currentPath ? 0 === this.currentPath.points.length && (this.currentPath.points = [t, e]) : this.moveTo(t, e)
            }, e.prototype.quadraticCurveTo = function(t, e, n, r) {
                this._initCurve();
                var i = this.currentPath.points;
                return 0 === i.length && this.moveTo(0, 0), Wr.curveTo(t, e, n, r, i), this
            }, e.prototype.bezierCurveTo = function(t, e, n, r, i, o) {
                return this._initCurve(), Gr.curveTo(t, e, n, r, i, o, this.currentPath.points), this
            }, e.prototype.arcTo = function(t, e, n, r, i) {
                this._initCurve(t, e);
                var o = this.currentPath.points,
                    a = Yr.curveTo(t, e, n, r, i, o);
                if (a) {
                    var s = a.cx,
                        A = a.cy,
                        h = a.radius,
                        c = a.startAngle,
                        u = a.endAngle,
                        l = a.anticlockwise;
                    this.arc(s, A, h, c, u, l)
                }
                return this
            }, e.prototype.arc = function(t, e, n, r, i, o) {
                if (void 0 === o && (o = !1), r === i) return this;
                if (!o && i <= r ? i += Rt : o && r <= i && (r += Rt), 0 === i - r) return this;
                var a = t + Math.cos(r) * n,
                    s = e + Math.sin(r) * n,
                    A = this.currentPath ? this.currentPath.points : null;
                if (A) {
                    var h = Math.abs(A[A.length - 2] - a),
                        c = Math.abs(A[A.length - 1] - s);
                    h < .001 && c < .001 || A.push(a, s)
                } else this.moveTo(a, s), A = this.currentPath.points;
                return Yr.arc(a, s, t, e, n, r, i, o, A), this
            }, e.prototype.beginFill = function(t, e) {
                return void 0 === t && (t = 0), void 0 === e && (e = 1), this.beginTextureFill(Fe.WHITE, t, e)
            }, e.prototype.beginTextureFill = function(t, e, n, r) {
                void 0 === t && (t = Fe.WHITE), void 0 === e && (e = 16777215), void 0 === n && (n = 1), void 0 === r && (r = null), this.currentPath && this.startPoly();
                var i = n > 0;
                return i ? (r && (r = r.clone()).invert(), Object.assign(this._fillStyle, {
                    color: e,
                    alpha: n,
                    texture: t,
                    matrix: r,
                    visible: i
                })) : this._fillStyle.reset(), this
            }, e.prototype.endFill = function() {
                return this.finishPoly(), this._fillStyle.reset(), this
            }, e.prototype.drawRect = function(t, e, n, r) {
                return this.drawShape(new Kt(t, e, n, r))
            }, e.prototype.drawRoundedRect = function(t, e, n, r, i) {
                return this.drawShape(new te(t, e, n, r, i))
            }, e.prototype.drawCircle = function(t, e, n) {
                return this.drawShape(new Jt(t, e, n))
            }, e.prototype.drawEllipse = function(t, e, n, r) {
                return this.drawShape(new Zt(t, e, n, r))
            }, e.prototype.drawPolygon = function(t) {
                var e = arguments,
                    n = t,
                    r = !0;
                if (n.points && (r = n.closeStroke, n = n.points), !Array.isArray(n)) {
                    n = new Array(arguments.length);
                    for (var i = 0; i < n.length; ++i) n[i] = e[i]
                }
                var o = new $t(n);
                return o.closeStroke = r, this.drawShape(o), this
            }, e.prototype.drawShape = function(t) {
                return this._holeMode ? this.geometry.drawHole(t, this._matrix) : this.geometry.drawShape(t, this._fillStyle.clone(), this._lineStyle.clone(), this._matrix), this
            }, e.prototype.drawStar = function(t, e, n, r, i, o) {
                return void 0 === o && (o = 0), this.drawPolygon(new Kr(t, e, n, r, i, o))
            }, e.prototype.clear = function() {
                return this.geometry.clear(), this._matrix = null, this._holeMode = !1, this.currentPath = null, this._spriteRect = null, this
            }, e.prototype.isFastRect = function() {
                return !1
            }, e.prototype._render = function(t) {
                this.finishPoly();
                var e = this.geometry;
                if (e.updateBatches(), e.batchable) {
                    if (this.batchDirty !== e.batchDirty) {
                        this.batches = [], this.batchTint = -1, this._transformID = -1, this.batchDirty = e.batchDirty, this.vertexData = new Float32Array(e.points);
                        for (var n = this.blendMode, r = 0; r < e.batches.length; r++) {
                            var i = e.batches[r],
                                o = i.style.color,
                                a = new Float32Array(this.vertexData.buffer, 4 * i.attribStart * 2, 2 * i.attribSize),
                                s = new Float32Array(e.uvsFloat32.buffer, 4 * i.attribStart * 2, 2 * i.attribSize),
                                A = {
                                    vertexData: a,
                                    blendMode: n,
                                    indices: new Uint16Array(e.indicesUint16.buffer, 2 * i.start, i.size),
                                    uvs: s,
                                    _batchRGB: J(o),
                                    _tintRGB: o,
                                    _texture: i.style.texture,
                                    alpha: i.style.alpha,
                                    worldAlpha: 1
                                };
                            this.batches[r] = A
                        }
                    }
                    if (t.batch.setObjectRenderer(t.plugins.batch), this.batches.length) {
                        this.calculateVertices(), this.calculateTints();
                        for (var h = 0; h < this.batches.length; h++) {
                            var c = this.batches[h];
                            c.worldAlpha = this.worldAlpha * c.alpha, t.plugins.batch.render(c)
                        }
                    }
                } else {
                    if (t.batch.flush(), !this.shader) {
                        if (!qr) {
                            for (var u = new Int32Array(16), l = 0; l < 16; l++) u[l] = l;
                            var d = {
                                    tint: new Float32Array([1, 1, 1, 1]),
                                    translationMatrix: new Lt,
                                    default: tn.from({
                                        uSamplers: u
                                    }, !0)
                                },
                                p = t.plugins.batch.shader.program;
                            qr = new Mn(p, d)
                        }
                        this.shader = qr
                    }
                    var f = this.shader.uniforms;
                    f.translationMatrix = this.transform.worldTransform;
                    var y = this.tint,
                        x = this.worldAlpha;
                    f.tint[0] = (y >> 16 & 255) / 255 * x, f.tint[1] = (y >> 8 & 255) / 255 * x, f.tint[2] = (255 & y) / 255 * x, f.tint[3] = x, t.shader.bind(this.shader), t.geometry.bind(e, this.shader), t.state.setState(this.state);
                    for (var m = 0; m < e.drawCalls.length; m++) {
                        for (var g = e.drawCalls[m], w = g.textureCount, v = 0; v < w; v++) t.texture.bind(g.textures[v], v);
                        t.geometry.draw(g.type, g.size, g.start)
                    }
                }
            }, e.prototype._calculateBounds = function() {
                this.finishPoly();
                var t = this.geometry.bounds;
                this._bounds.addFrame(this.transform, t.minX, t.minY, t.maxX, t.maxY)
            }, e.prototype.containsPoint = function(t) {
                return this.worldTransform.applyInverse(t, e._TEMP_POINT), this.geometry.containsPoint(e._TEMP_POINT)
            }, e.prototype.calculateTints = function() {
                if (this.batchTint !== this.tint) {
                    this.batchTint = this.tint;
                    for (var t = J(this.tint, Vr), e = 0; e < this.batches.length; e++) {
                        var n = this.batches[e],
                            r = n._batchRGB,
                            i = (t[0] * r[0] * 255 << 16) + (t[1] * r[1] * 255 << 8) + (0 | t[2] * r[2] * 255);
                        n._tintRGB = (i >> 16) + (65280 & i) + ((255 & i) << 16)
                    }
                }
            }, e.prototype.calculateVertices = function() {
                if (this._transformID !== this.transform._worldID) {
                    this._transformID = this.transform._worldID;
                    for (var t = this.transform.worldTransform, e = t.a, n = t.b, r = t.c, i = t.d, o = t.tx, a = t.ty, s = this.geometry.points, A = this.vertexData, h = 0, c = 0; c < s.length; c += 2) {
                        var u = s[c],
                            l = s[c + 1];
                        A[h++] = e * u + r * l + o, A[h++] = i * l + n * u + a
                    }
                }
            }, e.prototype.closePath = function() {
                var t = this.currentPath;
                return t && (t.closeStroke = !0), this
            }, e.prototype.setMatrix = function(t) {
                return this._matrix = t, this
            }, e.prototype.beginHole = function() {
                return this.finishPoly(), this._holeMode = !0, this
            }, e.prototype.endHole = function() {
                return this.finishPoly(), this._holeMode = !1, this
            }, e.prototype.destroy = function(e) {
                t.prototype.destroy.call(this, e), this.geometry.refCount--, 0 === this.geometry.refCount && this.geometry.dispose(), this._matrix = null, this.currentPath = null, this._lineStyle.destroy(), this._lineStyle = null, this._fillStyle.destroy(), this._fillStyle = null, this.geometry = null, this.shader = null, this.vertexData = null, this.batches.length = 0, this.batches = null, t.prototype.destroy.call(this, e)
            }, Object.defineProperties(e.prototype, n), e
        }(ie);
    Jr._TEMP_POINT = new It;
    /*!
     * @pixi/sprite - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/sprite is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var Zr = new It,
        $r = new Uint16Array([0, 1, 2, 0, 2, 3]),
        ti = function(t) {
            function e(e) {
                t.call(this), this._anchor = new Dt(this._onAnchorUpdate, this, e ? e.defaultAnchor.x : 0, e ? e.defaultAnchor.y : 0), this._texture = null, this._width = 0, this._height = 0, this._tint = null, this._tintRGB = null, this.tint = 16777215, this.blendMode = O.NORMAL, this.shader = null, this._cachedTint = 16777215, this.uvs = null, this.texture = e || Fe.EMPTY, this.vertexData = new Float32Array(8), this.vertexTrimmedData = null, this._transformID = -1, this._textureID = -1, this._transformTrimmedID = -1, this._textureTrimmedID = -1, this.indices = $r, this.size = 4, this.start = 0, this.pluginName = "batch", this.isSprite = !0, this._roundPixels = C.ROUND_PIXELS
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                roundPixels: {
                    configurable: !0
                },
                width: {
                    configurable: !0
                },
                height: {
                    configurable: !0
                },
                anchor: {
                    configurable: !0
                },
                tint: {
                    configurable: !0
                },
                texture: {
                    configurable: !0
                }
            };
            return e.prototype._onTextureUpdate = function() {
                this._textureID = -1, this._textureTrimmedID = -1, this._cachedTint = 16777215, this.uvs = this._texture._uvs.uvsFloat32, this._width && (this.scale.x = ct(this.scale.x) * this._width / this._texture.orig.width), this._height && (this.scale.y = ct(this.scale.y) * this._height / this._texture.orig.height)
            }, e.prototype._onAnchorUpdate = function() {
                this._transformID = -1, this._transformTrimmedID = -1
            }, e.prototype.calculateVertices = function() {
                var t = this._texture;
                if (this._transformID !== this.transform._worldID || this._textureID !== t._updateID) {
                    this._transformID = this.transform._worldID, this._textureID = t._updateID;
                    var e = this.transform.worldTransform,
                        n = e.a,
                        r = e.b,
                        i = e.c,
                        o = e.d,
                        a = e.tx,
                        s = e.ty,
                        A = this.vertexData,
                        h = t.trim,
                        c = t.orig,
                        u = this._anchor,
                        l = 0,
                        d = 0,
                        p = 0,
                        f = 0;
                    if (h ? (l = (d = h.x - u._x * c.width) + h.width, p = (f = h.y - u._y * c.height) + h.height) : (l = (d = -u._x * c.width) + c.width, p = (f = -u._y * c.height) + c.height), A[0] = n * d + i * f + a, A[1] = o * f + r * d + s, A[2] = n * l + i * f + a, A[3] = o * f + r * l + s, A[4] = n * l + i * p + a, A[5] = o * p + r * l + s, A[6] = n * d + i * p + a, A[7] = o * p + r * d + s, this._roundPixels)
                        for (var y = 0; y < 8; y++) A[y] = Math.round(A[y])
                }
            }, e.prototype.calculateTrimmedVertices = function() {
                if (this.vertexTrimmedData) {
                    if (this._transformTrimmedID === this.transform._worldID && this._textureTrimmedID === this._texture._updateID) return
                } else this.vertexTrimmedData = new Float32Array(8);
                this._transformTrimmedID = this.transform._worldID, this._textureTrimmedID = this._texture._updateID;
                var t = this._texture,
                    e = this.vertexTrimmedData,
                    n = t.orig,
                    r = this._anchor,
                    i = this.transform.worldTransform,
                    o = i.a,
                    a = i.b,
                    s = i.c,
                    A = i.d,
                    h = i.tx,
                    c = i.ty,
                    u = -r._x * n.width,
                    l = u + n.width,
                    d = -r._y * n.height,
                    p = d + n.height;
                e[0] = o * u + s * d + h, e[1] = A * d + a * u + c, e[2] = o * l + s * d + h, e[3] = A * d + a * l + c, e[4] = o * l + s * p + h, e[5] = A * p + a * l + c, e[6] = o * u + s * p + h, e[7] = A * p + a * u + c
            }, e.prototype._render = function(t) {
                this.calculateVertices(), t.batch.setObjectRenderer(t.plugins[this.pluginName]), t.plugins[this.pluginName].render(this)
            }, e.prototype._calculateBounds = function() {
                var t = this._texture.trim,
                    e = this._texture.orig;
                !t || t.width === e.width && t.height === e.height ? (this.calculateVertices(), this._bounds.addQuad(this.vertexData)) : (this.calculateTrimmedVertices(), this._bounds.addQuad(this.vertexTrimmedData))
            }, e.prototype.getLocalBounds = function(e) {
                return 0 === this.children.length ? (this._bounds.minX = this._texture.orig.width * -this._anchor._x, this._bounds.minY = this._texture.orig.height * -this._anchor._y, this._bounds.maxX = this._texture.orig.width * (1 - this._anchor._x), this._bounds.maxY = this._texture.orig.height * (1 - this._anchor._y), e || (this._localBoundsRect || (this._localBoundsRect = new Kt), e = this._localBoundsRect), this._bounds.getRectangle(e)) : t.prototype.getLocalBounds.call(this, e)
            }, e.prototype.containsPoint = function(t) {
                this.worldTransform.applyInverse(t, Zr);
                var e = this._texture.orig.width,
                    n = this._texture.orig.height,
                    r = -e * this.anchor.x,
                    i = 0;
                return Zr.x >= r && Zr.x < r + e && (i = -n * this.anchor.y, Zr.y >= i && Zr.y < i + n)
            }, e.prototype.destroy = function(e) {
                if (t.prototype.destroy.call(this, e), this._texture.off("update", this._onTextureUpdate, this), this._anchor = null, "boolean" == typeof e ? e : e && e.texture) {
                    var n = "boolean" == typeof e ? e : e && e.baseTexture;
                    this._texture.destroy(!!n)
                }
                this._texture = null, this.shader = null
            }, e.from = function(t, n) {
                return new e(t instanceof Fe ? t : Fe.from(t, n))
            }, n.roundPixels.set = function(t) {
                this._roundPixels !== t && (this._transformID = -1), this._roundPixels = t
            }, n.roundPixels.get = function() {
                return this._roundPixels
            }, n.width.get = function() {
                return Math.abs(this.scale.x) * this._texture.orig.width
            }, n.width.set = function(t) {
                var e = ct(this.scale.x) || 1;
                this.scale.x = e * t / this._texture.orig.width, this._width = t
            }, n.height.get = function() {
                return Math.abs(this.scale.y) * this._texture.orig.height
            }, n.height.set = function(t) {
                var e = ct(this.scale.y) || 1;
                this.scale.y = e * t / this._texture.orig.height, this._height = t
            }, n.anchor.get = function() {
                return this._anchor
            }, n.anchor.set = function(t) {
                this._anchor.copyFrom(t)
            }, n.tint.get = function() {
                return this._tint
            }, n.tint.set = function(t) {
                this._tint = t, this._tintRGB = (t >> 16) + (65280 & t) + ((255 & t) << 16)
            }, n.texture.get = function() {
                return this._texture
            }, n.texture.set = function(t) {
                this._texture !== t && (this._texture = t || Fe.EMPTY, this._cachedTint = 16777215, this._textureID = -1, this._textureTrimmedID = -1, t && (t.baseTexture.valid ? this._onTextureUpdate() : t.once("update", this._onTextureUpdate, this)))
            }, Object.defineProperties(e.prototype, n), e
        }(ie),
        ei = 0,
        ni = {
            align: "left",
            breakWords: !1,
            dropShadow: !1,
            dropShadowAlpha: 1,
            dropShadowAngle: Math.PI / 6,
            dropShadowBlur: 0,
            dropShadowColor: "black",
            dropShadowDistance: 5,
            fill: "black",
            fillGradientType: ei,
            fillGradientStops: [],
            fontFamily: "Arial",
            fontSize: 26,
            fontStyle: "normal",
            fontVariant: "normal",
            fontWeight: "normal",
            letterSpacing: 0,
            lineHeight: 0,
            lineJoin: "miter",
            miterLimit: 10,
            padding: 0,
            stroke: "black",
            strokeThickness: 0,
            textBaseline: "alphabetic",
            trim: !1,
            whiteSpace: "pre",
            wordWrap: !1,
            wordWrapWidth: 100,
            leading: 0
        },
        ri = ["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui"],
        ii = function(t) {
            this.styleID = 0, this.reset(), Ai(this, t, t)
        },
        oi = {
            align: {
                configurable: !0
            },
            breakWords: {
                configurable: !0
            },
            dropShadow: {
                configurable: !0
            },
            dropShadowAlpha: {
                configurable: !0
            },
            dropShadowAngle: {
                configurable: !0
            },
            dropShadowBlur: {
                configurable: !0
            },
            dropShadowColor: {
                configurable: !0
            },
            dropShadowDistance: {
                configurable: !0
            },
            fill: {
                configurable: !0
            },
            fillGradientType: {
                configurable: !0
            },
            fillGradientStops: {
                configurable: !0
            },
            fontFamily: {
                configurable: !0
            },
            fontSize: {
                configurable: !0
            },
            fontStyle: {
                configurable: !0
            },
            fontVariant: {
                configurable: !0
            },
            fontWeight: {
                configurable: !0
            },
            letterSpacing: {
                configurable: !0
            },
            lineHeight: {
                configurable: !0
            },
            leading: {
                configurable: !0
            },
            lineJoin: {
                configurable: !0
            },
            miterLimit: {
                configurable: !0
            },
            padding: {
                configurable: !0
            },
            stroke: {
                configurable: !0
            },
            strokeThickness: {
                configurable: !0
            },
            textBaseline: {
                configurable: !0
            },
            trim: {
                configurable: !0
            },
            whiteSpace: {
                configurable: !0
            },
            wordWrap: {
                configurable: !0
            },
            wordWrapWidth: {
                configurable: !0
            }
        };

    function ai(t) {
        return "number" == typeof t ? Z(t) : ("string" == typeof t && 0 === t.indexOf("0x") && (t = t.replace("0x", "#")), t)
    }

    function si(t) {
        if (Array.isArray(t)) {
            for (var e = 0; e < t.length; ++e) t[e] = ai(t[e]);
            return t
        }
        return ai(t)
    }

    function Ai(t, e, n) {
        for (var r in n) Array.isArray(e[r]) ? t[r] = e[r].slice() : t[r] = e[r]
    }
    ii.prototype.clone = function() {
        var t = {};
        return Ai(t, this, ni), new ii(t)
    }, ii.prototype.reset = function() {
        Ai(this, ni, ni)
    }, oi.align.get = function() {
        return this._align
    }, oi.align.set = function(t) {
        this._align !== t && (this._align = t, this.styleID++)
    }, oi.breakWords.get = function() {
        return this._breakWords
    }, oi.breakWords.set = function(t) {
        this._breakWords !== t && (this._breakWords = t, this.styleID++)
    }, oi.dropShadow.get = function() {
        return this._dropShadow
    }, oi.dropShadow.set = function(t) {
        this._dropShadow !== t && (this._dropShadow = t, this.styleID++)
    }, oi.dropShadowAlpha.get = function() {
        return this._dropShadowAlpha
    }, oi.dropShadowAlpha.set = function(t) {
        this._dropShadowAlpha !== t && (this._dropShadowAlpha = t, this.styleID++)
    }, oi.dropShadowAngle.get = function() {
        return this._dropShadowAngle
    }, oi.dropShadowAngle.set = function(t) {
        this._dropShadowAngle !== t && (this._dropShadowAngle = t, this.styleID++)
    }, oi.dropShadowBlur.get = function() {
        return this._dropShadowBlur
    }, oi.dropShadowBlur.set = function(t) {
        this._dropShadowBlur !== t && (this._dropShadowBlur = t, this.styleID++)
    }, oi.dropShadowColor.get = function() {
        return this._dropShadowColor
    }, oi.dropShadowColor.set = function(t) {
        var e = si(t);
        this._dropShadowColor !== e && (this._dropShadowColor = e, this.styleID++)
    }, oi.dropShadowDistance.get = function() {
        return this._dropShadowDistance
    }, oi.dropShadowDistance.set = function(t) {
        this._dropShadowDistance !== t && (this._dropShadowDistance = t, this.styleID++)
    }, oi.fill.get = function() {
        return this._fill
    }, oi.fill.set = function(t) {
        var e = si(t);
        this._fill !== e && (this._fill = e, this.styleID++)
    }, oi.fillGradientType.get = function() {
        return this._fillGradientType
    }, oi.fillGradientType.set = function(t) {
        this._fillGradientType !== t && (this._fillGradientType = t, this.styleID++)
    }, oi.fillGradientStops.get = function() {
        return this._fillGradientStops
    }, oi.fillGradientStops.set = function(t) {
        (function(t, e) {
            if (!Array.isArray(t) || !Array.isArray(e)) return !1;
            if (t.length !== e.length) return !1;
            for (var n = 0; n < t.length; ++n)
                if (t[n] !== e[n]) return !1;
            return !0
        })(this._fillGradientStops, t) || (this._fillGradientStops = t, this.styleID++)
    }, oi.fontFamily.get = function() {
        return this._fontFamily
    }, oi.fontFamily.set = function(t) {
        this.fontFamily !== t && (this._fontFamily = t, this.styleID++)
    }, oi.fontSize.get = function() {
        return this._fontSize
    }, oi.fontSize.set = function(t) {
        this._fontSize !== t && (this._fontSize = t, this.styleID++)
    }, oi.fontStyle.get = function() {
        return this._fontStyle
    }, oi.fontStyle.set = function(t) {
        this._fontStyle !== t && (this._fontStyle = t, this.styleID++)
    }, oi.fontVariant.get = function() {
        return this._fontVariant
    }, oi.fontVariant.set = function(t) {
        this._fontVariant !== t && (this._fontVariant = t, this.styleID++)
    }, oi.fontWeight.get = function() {
        return this._fontWeight
    }, oi.fontWeight.set = function(t) {
        this._fontWeight !== t && (this._fontWeight = t, this.styleID++)
    }, oi.letterSpacing.get = function() {
        return this._letterSpacing
    }, oi.letterSpacing.set = function(t) {
        this._letterSpacing !== t && (this._letterSpacing = t, this.styleID++)
    }, oi.lineHeight.get = function() {
        return this._lineHeight
    }, oi.lineHeight.set = function(t) {
        this._lineHeight !== t && (this._lineHeight = t, this.styleID++)
    }, oi.leading.get = function() {
        return this._leading
    }, oi.leading.set = function(t) {
        this._leading !== t && (this._leading = t, this.styleID++)
    }, oi.lineJoin.get = function() {
        return this._lineJoin
    }, oi.lineJoin.set = function(t) {
        this._lineJoin !== t && (this._lineJoin = t, this.styleID++)
    }, oi.miterLimit.get = function() {
        return this._miterLimit
    }, oi.miterLimit.set = function(t) {
        this._miterLimit !== t && (this._miterLimit = t, this.styleID++)
    }, oi.padding.get = function() {
        return this._padding
    }, oi.padding.set = function(t) {
        this._padding !== t && (this._padding = t, this.styleID++)
    }, oi.stroke.get = function() {
        return this._stroke
    }, oi.stroke.set = function(t) {
        var e = si(t);
        this._stroke !== e && (this._stroke = e, this.styleID++)
    }, oi.strokeThickness.get = function() {
        return this._strokeThickness
    }, oi.strokeThickness.set = function(t) {
        this._strokeThickness !== t && (this._strokeThickness = t, this.styleID++)
    }, oi.textBaseline.get = function() {
        return this._textBaseline
    }, oi.textBaseline.set = function(t) {
        this._textBaseline !== t && (this._textBaseline = t, this.styleID++)
    }, oi.trim.get = function() {
        return this._trim
    }, oi.trim.set = function(t) {
        this._trim !== t && (this._trim = t, this.styleID++)
    }, oi.whiteSpace.get = function() {
        return this._whiteSpace
    }, oi.whiteSpace.set = function(t) {
        this._whiteSpace !== t && (this._whiteSpace = t, this.styleID++)
    }, oi.wordWrap.get = function() {
        return this._wordWrap
    }, oi.wordWrap.set = function(t) {
        this._wordWrap !== t && (this._wordWrap = t, this.styleID++)
    }, oi.wordWrapWidth.get = function() {
        return this._wordWrapWidth
    }, oi.wordWrapWidth.set = function(t) {
        this._wordWrapWidth !== t && (this._wordWrapWidth = t, this.styleID++)
    }, ii.prototype.toFontString = function() {
        var t = "number" == typeof this.fontSize ? this.fontSize + "px" : this.fontSize,
            e = this.fontFamily;
        Array.isArray(this.fontFamily) || (e = this.fontFamily.split(","));
        for (var n = e.length - 1; n >= 0; n--) {
            var r = e[n].trim();
            !/([\"\'])[^\'\"]+\1/.test(r) && ri.indexOf(r) < 0 && (r = '"' + r + '"'), e[n] = r
        }
        return this.fontStyle + " " + this.fontVariant + " " + this.fontWeight + " " + t + " " + e.join(",")
    }, Object.defineProperties(ii.prototype, oi);
    var hi = function(t, e, n, r, i, o, a, s, A) {
        this.text = t, this.style = e, this.width = n, this.height = r, this.lines = i, this.lineWidths = o, this.lineHeight = a, this.maxLineWidth = s, this.fontProperties = A
    };
    hi.measureText = function(t, e, n, r) {
        void 0 === r && (r = hi._canvas), n = null == n ? e.wordWrap : n;
        var i = e.toFontString(),
            o = hi.measureFont(i);
        0 === o.fontSize && (o.fontSize = e.fontSize, o.ascent = e.fontSize);
        var a = r.getContext("2d");
        a.font = i;
        for (var s = (n ? hi.wordWrap(t, e, r) : t).split(/(?:\r\n|\r|\n)/), A = new Array(s.length), h = 0, c = 0; c < s.length; c++) {
            var u = a.measureText(s[c]).width + (s[c].length - 1) * e.letterSpacing;
            A[c] = u, h = Math.max(h, u)
        }
        var l = h + e.strokeThickness;
        e.dropShadow && (l += e.dropShadowDistance);
        var d = e.lineHeight || o.fontSize + e.strokeThickness,
            p = Math.max(d, o.fontSize + e.strokeThickness) + (s.length - 1) * (d + e.leading);
        return e.dropShadow && (p += e.dropShadowDistance), new hi(t, e, l, p, s, A, d + e.leading, h, o)
    }, hi.wordWrap = function(t, e, n) {
        void 0 === n && (n = hi._canvas);
        for (var r = n.getContext("2d"), i = 0, o = "", a = "", s = {}, A = e.letterSpacing, h = e.whiteSpace, c = hi.collapseSpaces(h), u = hi.collapseNewlines(h), l = !c, d = e.wordWrapWidth + A, p = hi.tokenize(t), f = 0; f < p.length; f++) {
            var y = p[f];
            if (hi.isNewline(y)) {
                if (!u) {
                    a += hi.addLine(o), l = !c, o = "", i = 0;
                    continue
                }
                y = " "
            }
            if (c) {
                var x = hi.isBreakingSpace(y),
                    m = hi.isBreakingSpace(o[o.length - 1]);
                if (x && m) continue
            }
            var g = hi.getFromCache(y, A, s, r);
            if (g > d)
                if ("" !== o && (a += hi.addLine(o), o = "", i = 0), hi.canBreakWords(y, e.breakWords))
                    for (var w = y.split(""), v = 0; v < w.length; v++) {
                        for (var b = w[v], _ = 1; w[v + _];) {
                            var S = w[v + _],
                                E = b[b.length - 1];
                            if (hi.canBreakChars(E, S, y, v, e.breakWords)) break;
                            b += S, _++
                        }
                        v += b.length - 1;
                        var C = hi.getFromCache(b, A, s, r);
                        C + i > d && (a += hi.addLine(o), l = !1, o = "", i = 0), o += b, i += C
                    } else {
                        o.length > 0 && (a += hi.addLine(o), o = "", i = 0);
                        var T = f === p.length - 1;
                        a += hi.addLine(y, !T), l = !1, o = "", i = 0
                    } else g + i > d && (l = !1, a += hi.addLine(o), o = "", i = 0), (o.length > 0 || !hi.isBreakingSpace(y) || l) && (o += y, i += g)
        }
        return a += hi.addLine(o, !1)
    }, hi.addLine = function(t, e) {
        return void 0 === e && (e = !0), t = hi.trimRight(t), t = e ? t + "\n" : t
    }, hi.getFromCache = function(t, e, n, r) {
        var i = n[t];
        if (void 0 === i) {
            var o = t.length * e;
            i = r.measureText(t).width + o, n[t] = i
        }
        return i
    }, hi.collapseSpaces = function(t) {
        return "normal" === t || "pre-line" === t
    }, hi.collapseNewlines = function(t) {
        return "normal" === t
    }, hi.trimRight = function(t) {
        if ("string" != typeof t) return "";
        for (var e = t.length - 1; e >= 0; e--) {
            var n = t[e];
            if (!hi.isBreakingSpace(n)) break;
            t = t.slice(0, -1)
        }
        return t
    }, hi.isNewline = function(t) {
        return "string" == typeof t && hi._newlines.indexOf(t.charCodeAt(0)) >= 0
    }, hi.isBreakingSpace = function(t) {
        return "string" == typeof t && hi._breakingSpaces.indexOf(t.charCodeAt(0)) >= 0
    }, hi.tokenize = function(t) {
        var e = [],
            n = "";
        if ("string" != typeof t) return e;
        for (var r = 0; r < t.length; r++) {
            var i = t[r];
            hi.isBreakingSpace(i) || hi.isNewline(i) ? ("" !== n && (e.push(n), n = ""), e.push(i)) : n += i
        }
        return "" !== n && e.push(n), e
    }, hi.canBreakWords = function(t, e) {
        return e
    }, hi.canBreakChars = function(t, e, n, r, i) {
        return !0
    }, hi.measureFont = function(t) {
        if (hi._fonts[t]) return hi._fonts[t];
        var e = {},
            n = hi._canvas,
            r = hi._context;
        r.font = t;
        var i = hi.METRICS_STRING + hi.BASELINE_SYMBOL,
            o = Math.ceil(r.measureText(i).width),
            a = Math.ceil(r.measureText(hi.BASELINE_SYMBOL).width),
            s = 2 * a;
        a = a * hi.BASELINE_MULTIPLIER | 0, n.width = o, n.height = s, r.fillStyle = "#f00", r.fillRect(0, 0, o, s), r.font = t, r.textBaseline = "alphabetic", r.fillStyle = "#000", r.fillText(i, 0, a);
        var A = r.getImageData(0, 0, o, s).data,
            h = A.length,
            c = 4 * o,
            u = 0,
            l = 0,
            d = !1;
        for (u = 0; u < a; ++u) {
            for (var p = 0; p < c; p += 4)
                if (255 !== A[l + p]) {
                    d = !0;
                    break
                } if (d) break;
            l += c
        }
        for (e.ascent = a - u, l = h - c, d = !1, u = s; u > a; --u) {
            for (var f = 0; f < c; f += 4)
                if (255 !== A[l + f]) {
                    d = !0;
                    break
                } if (d) break;
            l -= c
        }
        return e.descent = u - a, e.fontSize = e.ascent + e.descent, hi._fonts[t] = e, e
    }, hi.clearMetrics = function(t) {
        void 0 === t && (t = ""), t ? delete hi._fonts[t] : hi._fonts = {}
    };
    var ci = document.createElement("canvas");
    ci.width = ci.height = 10, hi._canvas = ci, hi._context = ci.getContext("2d"), hi._fonts = {}, hi.METRICS_STRING = "|ÉqÅ", hi.BASELINE_SYMBOL = "M", hi.BASELINE_MULTIPLIER = 1.4, hi._newlines = [10, 13], hi._breakingSpaces = [9, 32, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8200, 8201, 8202, 8287, 12288];
    var ui = {
            texture: !0,
            children: !1,
            baseTexture: !0
        },
        li = function(t) {
            function e(e, n, r) {
                (r = r || document.createElement("canvas")).width = 3, r.height = 3;
                var i = Fe.from(r);
                i.orig = new Kt, i.trim = new Kt, t.call(this, i), this.canvas = r, this.context = this.canvas.getContext("2d"), this._resolution = C.RESOLUTION, this._autoResolution = !0, this._text = null, this._style = null, this._styleListener = null, this._font = "", this.text = e, this.style = n, this.localStyleID = -1
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                width: {
                    configurable: !0
                },
                height: {
                    configurable: !0
                },
                style: {
                    configurable: !0
                },
                text: {
                    configurable: !0
                },
                resolution: {
                    configurable: !0
                }
            };
            return e.prototype.updateText = function(t) {
                var e = this._style;
                if (this.localStyleID !== e.styleID && (this.dirty = !0, this.localStyleID = e.styleID), this.dirty || !t) {
                    this._font = this._style.toFontString();
                    var n, r, i = this.context,
                        o = hi.measureText(this._text || " ", this._style, this._style.wordWrap, this.canvas),
                        a = o.width,
                        s = o.height,
                        A = o.lines,
                        h = o.lineHeight,
                        c = o.lineWidths,
                        u = o.maxLineWidth,
                        l = o.fontProperties;
                    if (this.canvas.width = Math.ceil((Math.max(1, a) + 2 * e.padding) * this._resolution), this.canvas.height = Math.ceil((Math.max(1, s) + 2 * e.padding) * this._resolution), i.scale(this._resolution, this._resolution), i.clearRect(0, 0, this.canvas.width, this.canvas.height), i.font = this._font, i.strokeStyle = e.stroke, i.lineWidth = e.strokeThickness, i.textBaseline = e.textBaseline, i.lineJoin = e.lineJoin, i.miterLimit = e.miterLimit, e.dropShadow) {
                        var d = e.dropShadowColor,
                            p = J("number" == typeof d ? d : $(d));
                        i.shadowColor = "rgba(" + 255 * p[0] + "," + 255 * p[1] + "," + 255 * p[2] + "," + e.dropShadowAlpha + ")", i.shadowBlur = e.dropShadowBlur, i.shadowOffsetX = Math.cos(e.dropShadowAngle) * e.dropShadowDistance, i.shadowOffsetY = Math.sin(e.dropShadowAngle) * e.dropShadowDistance
                    } else i.shadowColor = 0, i.shadowBlur = 0, i.shadowOffsetX = 0, i.shadowOffsetY = 0;
                    i.fillStyle = this._generateFillStyle(e, A);
                    for (var f = 0; f < A.length; f++) n = e.strokeThickness / 2, r = e.strokeThickness / 2 + f * h + l.ascent, "right" === e.align ? n += u - c[f] : "center" === e.align && (n += (u - c[f]) / 2), e.stroke && e.strokeThickness && this.drawLetterSpacing(A[f], n + e.padding, r + e.padding, !0), e.fill && this.drawLetterSpacing(A[f], n + e.padding, r + e.padding);
                    this.updateTexture()
                }
            }, e.prototype.drawLetterSpacing = function(t, e, n, r) {
                void 0 === r && (r = !1);
                var i = this._style.letterSpacing;
                if (0 !== i)
                    for (var o = e, a = Array.from ? Array.from(t) : t.split(""), s = 0; s < a.length; ++s) {
                        var A = a[s];
                        r ? this.context.strokeText(A, o, n) : this.context.fillText(A, o, n), o += this.context.measureText(A).width + i
                    } else r ? this.context.strokeText(t, e, n) : this.context.fillText(t, e, n)
            }, e.prototype.updateTexture = function() {
                var t = this.canvas;
                if (this._style.trim) {
                    var e = gt(t);
                    e.data && (t.width = e.width, t.height = e.height, this.context.putImageData(e.data, 0, 0))
                }
                var n = this._texture,
                    r = this._style,
                    i = r.trim ? 0 : r.padding,
                    o = n.baseTexture;
                n.trim.width = n._frame.width = t.width / this._resolution, n.trim.height = n._frame.height = t.height / this._resolution, n.trim.x = -i, n.trim.y = -i, n.orig.width = n._frame.width - 2 * i, n.orig.height = n._frame.height - 2 * i, this._onTextureUpdate(), o.setRealSize(t.width, t.height, this._resolution), this.dirty = !1
            }, e.prototype.render = function(e) {
                this._autoResolution && this._resolution !== e.resolution && (this._resolution = e.resolution, this.dirty = !0), this.updateText(!0), t.prototype.render.call(this, e)
            }, e.prototype._renderCanvas = function(e) {
                this._autoResolution && this._resolution !== e.resolution && (this._resolution = e.resolution, this.dirty = !0), this.updateText(!0), t.prototype._renderCanvas.call(this, e)
            }, e.prototype.getLocalBounds = function(e) {
                return this.updateText(!0), t.prototype.getLocalBounds.call(this, e)
            }, e.prototype._calculateBounds = function() {
                this.updateText(!0), this.calculateVertices(), this._bounds.addQuad(this.vertexData)
            }, e.prototype._onStyleChange = function() {
                this.dirty = !0
            }, e.prototype._generateFillStyle = function(t, e) {
                if (!Array.isArray(t.fill)) return t.fill;
                var n, r, i, o, a = this.canvas.width / this._resolution,
                    s = this.canvas.height / this._resolution,
                    A = t.fill.slice(),
                    h = t.fillGradientStops.slice();
                if (!h.length)
                    for (var c = A.length + 1, u = 1; u < c; ++u) h.push(u / c);
                if (A.unshift(t.fill[0]), h.unshift(0), A.push(t.fill[t.fill.length - 1]), h.push(1), t.fillGradientType === ei) {
                    n = this.context.createLinearGradient(a / 2, 0, a / 2, s), r = (A.length + 1) * e.length, i = 0;
                    for (var l = 0; l < e.length; l++) {
                        i += 1;
                        for (var d = 0; d < A.length; d++) o = "number" == typeof h[d] ? h[d] / e.length + l / e.length : i / r, n.addColorStop(o, A[d]), i++
                    }
                } else {
                    n = this.context.createLinearGradient(0, s / 2, a, s / 2), r = A.length + 1, i = 1;
                    for (var p = 0; p < A.length; p++) o = "number" == typeof h[p] ? h[p] : i / r, n.addColorStop(o, A[p]), i++
                }
                return n
            }, e.prototype.destroy = function(e) {
                "boolean" == typeof e && (e = {
                    children: e
                }), e = Object.assign({}, ui, e), t.prototype.destroy.call(this, e), this.context = null, this.canvas = null, this._style = null
            }, n.width.get = function() {
                return this.updateText(!0), Math.abs(this.scale.x) * this._texture.orig.width
            }, n.width.set = function(t) {
                this.updateText(!0);
                var e = ct(this.scale.x) || 1;
                this.scale.x = e * t / this._texture.orig.width, this._width = t
            }, n.height.get = function() {
                return this.updateText(!0), Math.abs(this.scale.y) * this._texture.orig.height
            }, n.height.set = function(t) {
                this.updateText(!0);
                var e = ct(this.scale.y) || 1;
                this.scale.y = e * t / this._texture.orig.height, this._height = t
            }, n.style.get = function() {
                return this._style
            }, n.style.set = function(t) {
                t = t || {}, this._style = t instanceof ii ? t : new ii(t), this.localStyleID = -1, this.dirty = !0
            }, n.text.get = function() {
                return this._text
            }, n.text.set = function(t) {
                t = String(null == t ? "" : t), this._text !== t && (this._text = t, this.dirty = !0)
            }, n.resolution.get = function() {
                return this._resolution
            }, n.resolution.set = function(t) {
                this._autoResolution = !1, this._resolution !== t && (this._resolution = t, this.dirty = !0)
            }, Object.defineProperties(e.prototype, n), e
        }(ti);
    /*!
     * @pixi/prepare - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/prepare is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    C.UPLOADS_PER_FRAME = 4;
    var di = function(t) {
        this.maxItemsPerFrame = t, this.itemsLeft = 0
    };
    di.prototype.beginFrame = function() {
        this.itemsLeft = this.maxItemsPerFrame
    }, di.prototype.allowedToUpload = function() {
        return this.itemsLeft-- > 0
    };
    var pi = function(t) {
        var e = this;
        this.limiter = new di(C.UPLOADS_PER_FRAME), this.renderer = t, this.uploadHookHelper = null, this.queue = [], this.addHooks = [], this.uploadHooks = [], this.completes = [], this.ticking = !1, this.delayedTick = function() {
            e.queue && e.prepareItems()
        }, this.registerFindHook(wi), this.registerFindHook(vi), this.registerFindHook(fi), this.registerFindHook(yi), this.registerFindHook(xi), this.registerUploadHook(mi), this.registerUploadHook(gi)
    };

    function fi(t, e) {
        var n = !1;
        if (t && t._textures && t._textures.length)
            for (var r = 0; r < t._textures.length; r++)
                if (t._textures[r] instanceof Fe) {
                    var i = t._textures[r].baseTexture; - 1 === e.indexOf(i) && (e.push(i), n = !0)
                } return n
    }

    function yi(t, e) {
        return t instanceof Ce && (-1 === e.indexOf(t) && e.push(t), !0)
    }

    function xi(t, e) {
        if (t._texture && t._texture instanceof Fe) {
            var n = t._texture.baseTexture;
            return -1 === e.indexOf(n) && e.push(n), !0
        }
        return !1
    }

    function mi(t, e) {
        return e instanceof li && (e.updateText(!0), !0)
    }

    function gi(t, e) {
        if (e instanceof ii) {
            var n = e.toFontString();
            return hi.measureFont(n), !0
        }
        return !1
    }

    function wi(t, e) {
        if (t instanceof li) {
            -1 === e.indexOf(t.style) && e.push(t.style), -1 === e.indexOf(t) && e.push(t);
            var n = t._texture.baseTexture;
            return -1 === e.indexOf(n) && e.push(n), !0
        }
        return !1
    }

    function vi(t, e) {
        return t instanceof ii && (-1 === e.indexOf(t) && e.push(t), !0)
    }
    pi.prototype.upload = function(t, e) {
        "function" == typeof t && (e = t, t = null), t && this.add(t), this.queue.length ? (e && this.completes.push(e), this.ticking || (this.ticking = !0, pe.system.addOnce(this.tick, this, le))) : e && e()
    }, pi.prototype.tick = function() {
        setTimeout(this.delayedTick, 0)
    }, pi.prototype.prepareItems = function() {
        for (this.limiter.beginFrame(); this.queue.length && this.limiter.allowedToUpload();) {
            var t = this.queue[0],
                e = !1;
            if (t && !t._destroyed)
                for (var n = 0, r = this.uploadHooks.length; n < r; n++)
                    if (this.uploadHooks[n](this.uploadHookHelper, t)) {
                        this.queue.shift(), e = !0;
                        break
                    } e || this.queue.shift()
        }
        if (this.queue.length) pe.system.addOnce(this.tick, this, le);
        else {
            this.ticking = !1;
            var i = this.completes.slice(0);
            this.completes.length = 0;
            for (var o = 0, a = i.length; o < a; o++) i[o]()
        }
    }, pi.prototype.registerFindHook = function(t) {
        return t && this.addHooks.push(t), this
    }, pi.prototype.registerUploadHook = function(t) {
        return t && this.uploadHooks.push(t), this
    }, pi.prototype.add = function(t) {
        for (var e = 0, n = this.addHooks.length; e < n && !this.addHooks[e](t, this.queue); e++);
        if (t instanceof ie)
            for (var r = t.children.length - 1; r >= 0; r--) this.add(t.children[r]);
        return this
    }, pi.prototype.destroy = function() {
        this.ticking && pe.system.remove(this.tick, this), this.ticking = !1, this.addHooks = null, this.uploadHooks = null, this.renderer = null, this.completes = null, this.queue = null, this.limiter = null, this.uploadHookHelper = null
    };
    var bi = function(t) {
        function e(e) {
            t.call(this, e), this.uploadHookHelper = this.renderer, this.registerFindHook(Ei), this.registerUploadHook(_i), this.registerUploadHook(Si)
        }
        return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e
    }(pi);

    function _i(t, e) {
        return e instanceof Ce && (e._glTextures[t.CONTEXT_UID] || t.textureManager.updateTexture(e), !0)
    }

    function Si(t, e) {
        return e instanceof Jr && ((e.dirty || e.clearDirty || !e._webGL[t.plugins.graphics.CONTEXT_UID]) && t.plugins.graphics.updateGraphics(e), !0)
    }

    function Ei(t, e) {
        return t instanceof Jr && (e.push(t), !0)
    }
    var Ci = function(t) {
        this.maxMilliseconds = t, this.frameStart = 0
    };
    Ci.prototype.beginFrame = function() {
        this.frameStart = Date.now()
    }, Ci.prototype.allowedToUpload = function() {
        return Date.now() - this.frameStart < this.maxMilliseconds
    };
    /*!
     * @pixi/app - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/app is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var Ti = function t(e) {
            var n = this;
            e = Object.assign({
                forceCanvas: !1
            }, e), this.renderer = function(t) {
                return hr.create(t)
            }(e), this.stage = new ie, t._plugins.forEach(function(t) {
                t.init.call(n, e)
            })
        },
        ki = {
            view: {
                configurable: !0
            },
            screen: {
                configurable: !0
            }
        };
    Ti.registerPlugin = function(t) {
        Ti._plugins.push(t)
    }, Ti.prototype.render = function() {
        this.renderer.render(this.stage)
    }, ki.view.get = function() {
        return this.renderer.view
    }, ki.screen.get = function() {
        return this.renderer.screen
    }, Ti.prototype.destroy = function(t) {
        var e = this,
            n = Ti._plugins.slice(0);
        n.reverse(), n.forEach(function(t) {
            t.destroy.call(e)
        }), this.stage.destroy(), this.stage = null, this.renderer.destroy(t), this.renderer = null, this._options = null
    }, Object.defineProperties(Ti.prototype, ki), Ti._plugins = [];
    var Ii = function() {};
    Ii.init = function(t) {
        var e = this;
        Object.defineProperty(this, "resizeTo", {
            set: function(t) {
                window.removeEventListener("resize", this.resize), this._resizeTo = t, t && (window.addEventListener("resize", this.resize), this.resize())
            },
            get: function() {
                return this._resizeTo
            }
        }), this.resize = function() {
            e._resizeTo && (e._resizeTo === window ? e.renderer.resize(window.innerWidth, window.innerHeight) : e.renderer.resize(e._resizeTo.clientWidth, e._resizeTo.clientHeight))
        }, this._resizeTo = null, this.resizeTo = t.resizeTo || null
    }, Ii.destroy = function() {
        this.resizeTo = null, this.resize = null
    }, Ti.registerPlugin(Ii);
    var Di = n(16),
        Pi = n.n(Di);
    /*!
     * @pixi/loaders - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/loaders is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    function Ri(t) {
        return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t
    }

    function Bi(t, e) {
        return t(e = {
            exports: {}
        }, e.exports), e.exports
    }
    var Mi = function(t, e) {
            e = e || {};
            for (var n = {
                    key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
                    q: {
                        name: "queryKey",
                        parser: /(?:^|&)([^&=]*)=?([^&]*)/g
                    },
                    parser: {
                        strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
                        loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
                    }
                }, r = n.parser[e.strictMode ? "strict" : "loose"].exec(t), i = {}, o = 14; o--;) i[n.key[o]] = r[o] || "";
            return i[n.q.name] = {}, i[n.key[12]].replace(n.q.parser, function(t, e, r) {
                e && (i[n.q.name][e] = r)
            }), i
        },
        Oi = Bi(function(t, e) {
            Object.defineProperty(e, "__esModule", {
                value: !0
            });
            var n = function() {
                function t(t, e) {
                    for (var n = 0; n < e.length; n++) {
                        var r = e[n];
                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                    }
                }
                return function(e, n, r) {
                    return n && t(e.prototype, n), r && t(e, r), e
                }
            }();

            function r(t, e) {
                if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
            }
            var i = function() {
                function t(e, n, i) {
                    void 0 === n && (n = !1), r(this, t), this._fn = e, this._once = n, this._thisArg = i, this._next = this._prev = this._owner = null
                }
                return n(t, [{
                    key: "detach",
                    value: function() {
                        return null !== this._owner && (this._owner.detach(this), !0)
                    }
                }]), t
            }();

            function o(t, e) {
                return t._head ? (t._tail._next = e, e._prev = t._tail, t._tail = e) : (t._head = e, t._tail = e), e._owner = t, e
            }
            var a = function() {
                function t() {
                    r(this, t), this._head = this._tail = void 0
                }
                return n(t, [{
                    key: "handlers",
                    value: function() {
                        var t = !(arguments.length <= 0 || void 0 === arguments[0]) && arguments[0],
                            e = this._head;
                        if (t) return !!e;
                        for (var n = []; e;) n.push(e), e = e._next;
                        return n
                    }
                }, {
                    key: "has",
                    value: function(t) {
                        if (!(t instanceof i)) throw new Error("MiniSignal#has(): First arg must be a MiniSignalBinding object.");
                        return t._owner === this
                    }
                }, {
                    key: "dispatch",
                    value: function() {
                        var t = arguments,
                            e = this._head;
                        if (!e) return !1;
                        for (; e;) e._once && this.detach(e), e._fn.apply(e._thisArg, t), e = e._next;
                        return !0
                    }
                }, {
                    key: "add",
                    value: function(t) {
                        var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                        if ("function" != typeof t) throw new Error("MiniSignal#add(): First arg must be a Function.");
                        return o(this, new i(t, !1, e))
                    }
                }, {
                    key: "once",
                    value: function(t) {
                        var e = arguments.length <= 1 || void 0 === arguments[1] ? null : arguments[1];
                        if ("function" != typeof t) throw new Error("MiniSignal#once(): First arg must be a Function.");
                        return o(this, new i(t, !0, e))
                    }
                }, {
                    key: "detach",
                    value: function(t) {
                        if (!(t instanceof i)) throw new Error("MiniSignal#detach(): First arg must be a MiniSignalBinding object.");
                        return t._owner !== this ? this : (t._prev && (t._prev._next = t._next), t._next && (t._next._prev = t._prev), t === this._head ? (this._head = t._next, null === t._next && (this._tail = null)) : t === this._tail && (this._tail = t._prev, this._tail._next = null), t._owner = null, this)
                    }
                }, {
                    key: "detachAll",
                    value: function() {
                        var t = this._head;
                        if (!t) return this;
                        for (this._head = this._tail = null; t;) t._owner = null, t = t._next;
                        return this
                    }
                }]), t
            }();
            a.MiniSignalBinding = i, e.default = a, t.exports = e.default
        });
    Ri(Oi);
    var Li = Bi(function(t, e) {
        e.__esModule = !0, e.Resource = void 0;
        var n = function() {
                function t(t, e) {
                    for (var n = 0; n < e.length; n++) {
                        var r = e[n];
                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
                    }
                }
                return function(e, n, r) {
                    return n && t(e.prototype, n), r && t(e, r), e
                }
            }(),
            r = o(Mi),
            i = o(Oi);

        function o(t) {
            return t && t.__esModule ? t : {
                default: t
            }
        }
        var a = !(!window.XDomainRequest || "withCredentials" in new XMLHttpRequest),
            s = null;

        function A() {}
        var h = e.Resource = function() {
            function t(e, n, r) {
                if (function(t, e) {
                        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), "string" != typeof e || "string" != typeof n) throw new Error("Both name and url are required for constructing a resource.");
                r = r || {}, this._flags = 0, this._setFlag(t.STATUS_FLAGS.DATA_URL, 0 === n.indexOf("data:")), this.name = e, this.url = n, this.extension = this._getExtension(), this.data = null, this.crossOrigin = !0 === r.crossOrigin ? "anonymous" : r.crossOrigin, this.timeout = r.timeout || 0, this.loadType = r.loadType || this._determineLoadType(), this.xhrType = r.xhrType, this.metadata = r.metadata || {}, this.error = null, this.xhr = null, this.children = [], this.type = t.TYPE.UNKNOWN, this.progressChunk = 0, this._dequeue = A, this._onLoadBinding = null, this._elementTimer = 0, this._boundComplete = this.complete.bind(this), this._boundOnError = this._onError.bind(this), this._boundOnProgress = this._onProgress.bind(this), this._boundOnTimeout = this._onTimeout.bind(this), this._boundXhrOnError = this._xhrOnError.bind(this), this._boundXhrOnTimeout = this._xhrOnTimeout.bind(this), this._boundXhrOnAbort = this._xhrOnAbort.bind(this), this._boundXhrOnLoad = this._xhrOnLoad.bind(this), this.onStart = new i.default, this.onProgress = new i.default, this.onComplete = new i.default, this.onAfterMiddleware = new i.default
            }
            return t.setExtensionLoadType = function(e, n) {
                c(t._loadTypeMap, e, n)
            }, t.setExtensionXhrType = function(e, n) {
                c(t._xhrTypeMap, e, n)
            }, t.prototype.complete = function() {
                this._clearEvents(), this._finish()
            }, t.prototype.abort = function(e) {
                if (!this.error) {
                    if (this.error = new Error(e), this._clearEvents(), this.xhr) this.xhr.abort();
                    else if (this.xdr) this.xdr.abort();
                    else if (this.data)
                        if (this.data.src) this.data.src = t.EMPTY_GIF;
                        else
                            for (; this.data.firstChild;) this.data.removeChild(this.data.firstChild);
                    this._finish()
                }
            }, t.prototype.load = function(e) {
                var n = this;
                if (!this.isLoading)
                    if (this.isComplete) e && setTimeout(function() {
                        return e(n)
                    }, 1);
                    else switch (e && this.onComplete.once(e), this._setFlag(t.STATUS_FLAGS.LOADING, !0), this.onStart.dispatch(this), !1 !== this.crossOrigin && "string" == typeof this.crossOrigin || (this.crossOrigin = this._determineCrossOrigin(this.url)), this.loadType) {
                        case t.LOAD_TYPE.IMAGE:
                            this.type = t.TYPE.IMAGE, this._loadElement("image");
                            break;
                        case t.LOAD_TYPE.AUDIO:
                            this.type = t.TYPE.AUDIO, this._loadSourceElement("audio");
                            break;
                        case t.LOAD_TYPE.VIDEO:
                            this.type = t.TYPE.VIDEO, this._loadSourceElement("video");
                            break;
                        case t.LOAD_TYPE.XHR:
                        default:
                            a && this.crossOrigin ? this._loadXdr() : this._loadXhr()
                    }
            }, t.prototype._hasFlag = function(t) {
                return 0 != (this._flags & t)
            }, t.prototype._setFlag = function(t, e) {
                this._flags = e ? this._flags | t : this._flags & ~t
            }, t.prototype._clearEvents = function() {
                clearTimeout(this._elementTimer), this.data && this.data.removeEventListener && (this.data.removeEventListener("error", this._boundOnError, !1), this.data.removeEventListener("load", this._boundComplete, !1), this.data.removeEventListener("progress", this._boundOnProgress, !1), this.data.removeEventListener("canplaythrough", this._boundComplete, !1)), this.xhr && (this.xhr.removeEventListener ? (this.xhr.removeEventListener("error", this._boundXhrOnError, !1), this.xhr.removeEventListener("timeout", this._boundXhrOnTimeout, !1), this.xhr.removeEventListener("abort", this._boundXhrOnAbort, !1), this.xhr.removeEventListener("progress", this._boundOnProgress, !1), this.xhr.removeEventListener("load", this._boundXhrOnLoad, !1)) : (this.xhr.onerror = null, this.xhr.ontimeout = null, this.xhr.onprogress = null, this.xhr.onload = null))
            }, t.prototype._finish = function() {
                if (this.isComplete) throw new Error("Complete called again for an already completed resource.");
                this._setFlag(t.STATUS_FLAGS.COMPLETE, !0), this._setFlag(t.STATUS_FLAGS.LOADING, !1), this.onComplete.dispatch(this)
            }, t.prototype._loadElement = function(t) {
                this.metadata.loadElement ? this.data = this.metadata.loadElement : "image" === t && void 0 !== window.Image ? this.data = new Image : this.data = document.createElement(t), this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), this.metadata.skipSource || (this.data.src = this.url), this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
            }, t.prototype._loadSourceElement = function(t) {
                if (this.metadata.loadElement ? this.data = this.metadata.loadElement : "audio" === t && void 0 !== window.Audio ? this.data = new Audio : this.data = document.createElement(t), null !== this.data) {
                    if (this.crossOrigin && (this.data.crossOrigin = this.crossOrigin), !this.metadata.skipSource)
                        if (navigator.isCocoonJS) this.data.src = Array.isArray(this.url) ? this.url[0] : this.url;
                        else if (Array.isArray(this.url))
                        for (var e = this.metadata.mimeType, n = 0; n < this.url.length; ++n) this.data.appendChild(this._createSource(t, this.url[n], Array.isArray(e) ? e[n] : e));
                    else {
                        var r = this.metadata.mimeType;
                        this.data.appendChild(this._createSource(t, this.url, Array.isArray(r) ? r[0] : r))
                    }
                    this.data.addEventListener("error", this._boundOnError, !1), this.data.addEventListener("load", this._boundComplete, !1), this.data.addEventListener("progress", this._boundOnProgress, !1), this.data.addEventListener("canplaythrough", this._boundComplete, !1), this.data.load(), this.timeout && (this._elementTimer = setTimeout(this._boundOnTimeout, this.timeout))
                } else this.abort("Unsupported element: " + t)
            }, t.prototype._loadXhr = function() {
                "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
                var e = this.xhr = new XMLHttpRequest;
                e.open("GET", this.url, !0), e.timeout = this.timeout, this.xhrType === t.XHR_RESPONSE_TYPE.JSON || this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT ? e.responseType = t.XHR_RESPONSE_TYPE.TEXT : e.responseType = this.xhrType, e.addEventListener("error", this._boundXhrOnError, !1), e.addEventListener("timeout", this._boundXhrOnTimeout, !1), e.addEventListener("abort", this._boundXhrOnAbort, !1), e.addEventListener("progress", this._boundOnProgress, !1), e.addEventListener("load", this._boundXhrOnLoad, !1), e.send()
            }, t.prototype._loadXdr = function() {
                "string" != typeof this.xhrType && (this.xhrType = this._determineXhrType());
                var t = this.xhr = new XDomainRequest;
                t.timeout = this.timeout || 5e3, t.onerror = this._boundXhrOnError, t.ontimeout = this._boundXhrOnTimeout, t.onprogress = this._boundOnProgress, t.onload = this._boundXhrOnLoad, t.open("GET", this.url, !0), setTimeout(function() {
                    return t.send()
                }, 1)
            }, t.prototype._createSource = function(t, e, n) {
                n || (n = t + "/" + this._getExtension(e));
                var r = document.createElement("source");
                return r.src = e, r.type = n, r
            }, t.prototype._onError = function(t) {
                this.abort("Failed to load element using: " + t.target.nodeName)
            }, t.prototype._onProgress = function(t) {
                t && t.lengthComputable && this.onProgress.dispatch(this, t.loaded / t.total)
            }, t.prototype._onTimeout = function() {
                this.abort("Load timed out.")
            }, t.prototype._xhrOnError = function() {
                var t = this.xhr;
                this.abort(u(t) + " Request failed. Status: " + t.status + ', text: "' + t.statusText + '"')
            }, t.prototype._xhrOnTimeout = function() {
                var t = this.xhr;
                this.abort(u(t) + " Request timed out.")
            }, t.prototype._xhrOnAbort = function() {
                var t = this.xhr;
                this.abort(u(t) + " Request was aborted by the user.")
            }, t.prototype._xhrOnLoad = function() {
                var e = this.xhr,
                    n = "",
                    r = void 0 === e.status ? 200 : e.status;
                if ("" !== e.responseType && "text" !== e.responseType && void 0 !== e.responseType || (n = e.responseText), 0 === r && (n.length > 0 || e.responseType === t.XHR_RESPONSE_TYPE.BUFFER) ? r = 200 : 1223 === r && (r = 204), 2 === (r / 100 | 0)) {
                    if (this.xhrType === t.XHR_RESPONSE_TYPE.TEXT) this.data = n, this.type = t.TYPE.TEXT;
                    else if (this.xhrType === t.XHR_RESPONSE_TYPE.JSON) try {
                        this.data = JSON.parse(n), this.type = t.TYPE.JSON
                    } catch (t) {
                        return void this.abort("Error trying to parse loaded json: " + t)
                    } else if (this.xhrType === t.XHR_RESPONSE_TYPE.DOCUMENT) try {
                        if (window.DOMParser) {
                            var i = new DOMParser;
                            this.data = i.parseFromString(n, "text/xml")
                        } else {
                            var o = document.createElement("div");
                            o.innerHTML = n, this.data = o
                        }
                        this.type = t.TYPE.XML
                    } catch (t) {
                        return void this.abort("Error trying to parse loaded xml: " + t)
                    } else this.data = e.response || n;
                    this.complete()
                } else this.abort("[" + e.status + "] " + e.statusText + ": " + e.responseURL)
            }, t.prototype._determineCrossOrigin = function(t, e) {
                if (0 === t.indexOf("data:")) return "";
                if (window.origin !== window.location.origin) return "anonymous";
                e = e || window.location, s || (s = document.createElement("a")), s.href = t;
                var n = !(t = (0, r.default)(s.href, {
                        strictMode: !0
                    })).port && "" === e.port || t.port === e.port,
                    i = t.protocol ? t.protocol + ":" : "";
                return t.host === e.hostname && n && i === e.protocol ? "" : "anonymous"
            }, t.prototype._determineXhrType = function() {
                return t._xhrTypeMap[this.extension] || t.XHR_RESPONSE_TYPE.TEXT
            }, t.prototype._determineLoadType = function() {
                return t._loadTypeMap[this.extension] || t.LOAD_TYPE.XHR
            }, t.prototype._getExtension = function() {
                var t = this.url,
                    e = "";
                if (this.isDataUrl) {
                    var n = t.indexOf("/");
                    e = t.substring(n + 1, t.indexOf(";", n))
                } else {
                    var r = t.indexOf("?"),
                        i = t.indexOf("#"),
                        o = Math.min(r > -1 ? r : t.length, i > -1 ? i : t.length);
                    e = (t = t.substring(0, o)).substring(t.lastIndexOf(".") + 1)
                }
                return e.toLowerCase()
            }, t.prototype._getMimeFromXhrType = function(e) {
                switch (e) {
                    case t.XHR_RESPONSE_TYPE.BUFFER:
                        return "application/octet-binary";
                    case t.XHR_RESPONSE_TYPE.BLOB:
                        return "application/blob";
                    case t.XHR_RESPONSE_TYPE.DOCUMENT:
                        return "application/xml";
                    case t.XHR_RESPONSE_TYPE.JSON:
                        return "application/json";
                    case t.XHR_RESPONSE_TYPE.DEFAULT:
                    case t.XHR_RESPONSE_TYPE.TEXT:
                    default:
                        return "text/plain"
                }
            }, n(t, [{
                key: "isDataUrl",
                get: function() {
                    return this._hasFlag(t.STATUS_FLAGS.DATA_URL)
                }
            }, {
                key: "isComplete",
                get: function() {
                    return this._hasFlag(t.STATUS_FLAGS.COMPLETE)
                }
            }, {
                key: "isLoading",
                get: function() {
                    return this._hasFlag(t.STATUS_FLAGS.LOADING)
                }
            }]), t
        }();

        function c(t, e, n) {
            e && 0 === e.indexOf(".") && (e = e.substring(1)), e && (t[e] = n)
        }

        function u(t) {
            return t.toString().replace("object ", "")
        }
        h.STATUS_FLAGS = {
            NONE: 0,
            DATA_URL: 1,
            COMPLETE: 2,
            LOADING: 4
        }, h.TYPE = {
            UNKNOWN: 0,
            JSON: 1,
            XML: 2,
            IMAGE: 3,
            AUDIO: 4,
            VIDEO: 5,
            TEXT: 6
        }, h.LOAD_TYPE = {
            XHR: 1,
            IMAGE: 2,
            AUDIO: 3,
            VIDEO: 4
        }, h.XHR_RESPONSE_TYPE = {
            DEFAULT: "text",
            BUFFER: "arraybuffer",
            BLOB: "blob",
            DOCUMENT: "document",
            JSON: "json",
            TEXT: "text"
        }, h._loadTypeMap = {
            gif: h.LOAD_TYPE.IMAGE,
            png: h.LOAD_TYPE.IMAGE,
            bmp: h.LOAD_TYPE.IMAGE,
            jpg: h.LOAD_TYPE.IMAGE,
            jpeg: h.LOAD_TYPE.IMAGE,
            tif: h.LOAD_TYPE.IMAGE,
            tiff: h.LOAD_TYPE.IMAGE,
            webp: h.LOAD_TYPE.IMAGE,
            tga: h.LOAD_TYPE.IMAGE,
            svg: h.LOAD_TYPE.IMAGE,
            "svg+xml": h.LOAD_TYPE.IMAGE,
            mp3: h.LOAD_TYPE.AUDIO,
            ogg: h.LOAD_TYPE.AUDIO,
            wav: h.LOAD_TYPE.AUDIO,
            mp4: h.LOAD_TYPE.VIDEO,
            webm: h.LOAD_TYPE.VIDEO
        }, h._xhrTypeMap = {
            xhtml: h.XHR_RESPONSE_TYPE.DOCUMENT,
            html: h.XHR_RESPONSE_TYPE.DOCUMENT,
            htm: h.XHR_RESPONSE_TYPE.DOCUMENT,
            xml: h.XHR_RESPONSE_TYPE.DOCUMENT,
            tmx: h.XHR_RESPONSE_TYPE.DOCUMENT,
            svg: h.XHR_RESPONSE_TYPE.DOCUMENT,
            tsx: h.XHR_RESPONSE_TYPE.DOCUMENT,
            gif: h.XHR_RESPONSE_TYPE.BLOB,
            png: h.XHR_RESPONSE_TYPE.BLOB,
            bmp: h.XHR_RESPONSE_TYPE.BLOB,
            jpg: h.XHR_RESPONSE_TYPE.BLOB,
            jpeg: h.XHR_RESPONSE_TYPE.BLOB,
            tif: h.XHR_RESPONSE_TYPE.BLOB,
            tiff: h.XHR_RESPONSE_TYPE.BLOB,
            webp: h.XHR_RESPONSE_TYPE.BLOB,
            tga: h.XHR_RESPONSE_TYPE.BLOB,
            json: h.XHR_RESPONSE_TYPE.JSON,
            text: h.XHR_RESPONSE_TYPE.TEXT,
            txt: h.XHR_RESPONSE_TYPE.TEXT,
            ttf: h.XHR_RESPONSE_TYPE.BUFFER,
            otf: h.XHR_RESPONSE_TYPE.BUFFER
        }, h.EMPTY_GIF = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", t.exports.default = h
    });
    Ri(Li);
    Li.Resource;
    var Hi = Bi(function(t, e) {
        e.__esModule = !0, e.encodeBinary = r;
        var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

        function r(t) {
            for (var e = "", r = 0; r < t.length;) {
                for (var i = [0, 0, 0], o = [0, 0, 0, 0], a = 0; a < i.length; ++a) r < t.length ? i[a] = 255 & t.charCodeAt(r++) : i[a] = 0;
                switch (o[0] = i[0] >> 2, o[1] = (3 & i[0]) << 4 | i[1] >> 4, o[2] = (15 & i[1]) << 2 | i[2] >> 6, o[3] = 63 & i[2], r - (t.length - 1)) {
                    case 2:
                        o[3] = 64, o[2] = 64;
                        break;
                    case 1:
                        o[3] = 64
                }
                for (var s = 0; s < o.length; ++s) e += n.charAt(o[s])
            }
            return e
        }
        t.exports.default = r
    });
    Ri(Hi);
    Hi.encodeBinary;
    var zi = Bi(function(t, e) {
        e.__esModule = !0, e.blobMiddlewareFactory = function() {
            return function(t, e) {
                if (t.data) {
                    if (t.xhr && t.xhrType === Li.Resource.XHR_RESPONSE_TYPE.BLOB)
                        if (window.Blob && "string" != typeof t.data) {
                            if (0 === t.data.type.indexOf("image")) {
                                var r = n.createObjectURL(t.data);
                                return t.blob = t.data, t.data = new Image, t.data.src = r, t.type = Li.Resource.TYPE.IMAGE, void(t.data.onload = function() {
                                    n.revokeObjectURL(r), t.data.onload = null, e()
                                })
                            }
                        } else {
                            var i = t.xhr.getResponseHeader("content-type");
                            if (i && 0 === i.indexOf("image")) return t.data = new Image, t.data.src = "data:" + i + ";base64," + (0, Hi.encodeBinary)(t.xhr.responseText), t.type = Li.Resource.TYPE.IMAGE, void(t.data.onload = function() {
                                t.data.onload = null, e()
                            })
                        } e()
                } else e()
            }
        };
        var n = window.URL || window.webkitURL
    });
    Ri(zi);
    var Fi = zi.blobMiddlewareFactory,
        Ni = function() {};
    Ni.use = function(t, e) {
        t.data && t.type === Di.Resource.TYPE.IMAGE && (t.texture = Fe.fromLoader(t.data, t.url, t.name)), e()
    };
    var Ui = function(t) {
        function e(n, r) {
            var i = this;
            t.call(this, n, r), k.a.call(this);
            for (var o = 0; o < e._plugins.length; ++o) {
                var a = e._plugins[o],
                    s = a.pre,
                    A = a.use;
                s && this.pre(s), A && this.use(A)
            }
            this.onStart.add(function(t) {
                return i.emit("start", t)
            }), this.onProgress.add(function(t, e) {
                return i.emit("progress", t, e)
            }), this.onError.add(function(t, e, n) {
                return i.emit("error", t, e, n)
            }), this.onLoad.add(function(t, e) {
                return i.emit("load", t, e)
            }), this.onComplete.add(function(t, e) {
                return i.emit("complete", t, e)
            }), this._protected = !1
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
            shared: {
                configurable: !0
            }
        };
        return e.prototype.destroy = function() {
            this._protected || (this.removeAllListeners(), this.reset())
        }, n.shared.get = function() {
            var t = e._shared;
            return t || ((t = new e)._protected = !0, e._shared = t), t
        }, Object.defineProperties(e, n), e
    }(Pi.a);
    Object.assign(Ui.prototype, k.a.prototype), Ui._plugins = [], Ui.registerPlugin = function(t) {
        return Ui._plugins.push(t), t.add && t.add(), Ui
    }, Ui.registerPlugin({
        use: Fi()
    }), Ui.registerPlugin(Ni);
    var Qi = function() {};
    Qi.init = function(t) {
        t = Object.assign({
            sharedLoader: !1
        }, t), this.loader = t.sharedLoader ? Ui.shared : new Ui
    }, Qi.destroy = function() {
        this.loader && (this.loader.destroy(), this.loader = null)
    };
    var ji = Di.Resource,
        Xi = function(t, e, n) {
            this.geometry = new qe, this.indexBuffer = null, this.size = n, this.dynamicProperties = [], this.staticProperties = [];
            for (var r = 0; r < t.length; ++r) {
                var i = t[r];
                i = {
                    attributeName: i.attributeName,
                    size: i.size,
                    uploadFunction: i.uploadFunction,
                    type: i.type || F.FLOAT,
                    offset: i.offset
                }, e[r] ? this.dynamicProperties.push(i) : this.staticProperties.push(i)
            }
            this.staticStride = 0, this.staticBuffer = null, this.staticData = null, this.staticDataUint32 = null, this.dynamicStride = 0, this.dynamicBuffer = null, this.dynamicData = null, this.dynamicDataUint32 = null, this._updateID = 0, this.initBuffers()
        };
    /*!
     * @pixi/particles - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/particles is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    Xi.prototype.initBuffers = function() {
        var t = this.geometry,
            e = 0;
        this.indexBuffer = new Xe(at(this.size), !0, !0), t.addIndex(this.indexBuffer), this.dynamicStride = 0;
        for (var n = 0; n < this.dynamicProperties.length; ++n) {
            var r = this.dynamicProperties[n];
            r.offset = e, e += r.size, this.dynamicStride += r.size
        }
        var i = new ArrayBuffer(this.size * this.dynamicStride * 4 * 4);
        this.dynamicData = new Float32Array(i), this.dynamicDataUint32 = new Uint32Array(i), this.dynamicBuffer = new Xe(this.dynamicData, !1, !1);
        var o = 0;
        this.staticStride = 0;
        for (var a = 0; a < this.staticProperties.length; ++a) {
            var s = this.staticProperties[a];
            s.offset = o, o += s.size, this.staticStride += s.size
        }
        var A = new ArrayBuffer(this.size * this.staticStride * 4 * 4);
        this.staticData = new Float32Array(A), this.staticDataUint32 = new Uint32Array(A), this.staticBuffer = new Xe(this.staticData, !0, !1);
        for (var h = 0; h < this.dynamicProperties.length; ++h) {
            var c = this.dynamicProperties[h];
            t.addAttribute(c.attributeName, this.dynamicBuffer, 0, c.type === F.UNSIGNED_BYTE, c.type, 4 * this.dynamicStride, 4 * c.offset)
        }
        for (var u = 0; u < this.staticProperties.length; ++u) {
            var l = this.staticProperties[u];
            t.addAttribute(l.attributeName, this.staticBuffer, 0, l.type === F.UNSIGNED_BYTE, l.type, 4 * this.staticStride, 4 * l.offset)
        }
    }, Xi.prototype.uploadDynamic = function(t, e, n) {
        for (var r = 0; r < this.dynamicProperties.length; r++) {
            var i = this.dynamicProperties[r];
            i.uploadFunction(t, e, n, i.type === F.UNSIGNED_BYTE ? this.dynamicDataUint32 : this.dynamicData, this.dynamicStride, i.offset)
        }
        this.dynamicBuffer._updateID++
    }, Xi.prototype.uploadStatic = function(t, e, n) {
        for (var r = 0; r < this.staticProperties.length; r++) {
            var i = this.staticProperties[r];
            i.uploadFunction(t, e, n, i.type === F.UNSIGNED_BYTE ? this.staticDataUint32 : this.staticData, this.staticStride, i.offset)
        }
        this.staticBuffer._updateID++
    }, Xi.prototype.destroy = function() {
        this.indexBuffer = null, this.dynamicProperties = null, this.dynamicBuffer = null, this.dynamicData = null, this.dynamicDataUint32 = null, this.staticProperties = null, this.staticBuffer = null, this.staticData = null, this.staticDataUint32 = null, this.geometry.destroy()
    };
    var Gi = "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aColor;\n\nattribute vec2 aPositionCoord;\nattribute float aRotation;\n\nuniform mat3 translationMatrix;\nuniform vec4 uColor;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nvoid main(void){\n    float x = (aVertexPosition.x) * cos(aRotation) - (aVertexPosition.y) * sin(aRotation);\n    float y = (aVertexPosition.x) * sin(aRotation) + (aVertexPosition.y) * cos(aRotation);\n\n    vec2 v = vec2(x, y);\n    v = v + aPositionCoord;\n\n    gl_Position = vec4((translationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = aTextureCoord;\n    vColor = aColor * uColor;\n}\n",
        Wi = "varying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform sampler2D uSampler;\n\nvoid main(void){\n    vec4 color = texture2D(uSampler, vTextureCoord) * vColor;\n    gl_FragColor = color;\n}",
        Yi = function(t) {
            function e(e) {
                t.call(this, e), this.shader = null, this.properties = null, this.tempMatrix = new Lt, this.properties = [{
                    attributeName: "aVertexPosition",
                    size: 2,
                    uploadFunction: this.uploadVertices,
                    offset: 0
                }, {
                    attributeName: "aPositionCoord",
                    size: 2,
                    uploadFunction: this.uploadPosition,
                    offset: 0
                }, {
                    attributeName: "aRotation",
                    size: 1,
                    uploadFunction: this.uploadRotation,
                    offset: 0
                }, {
                    attributeName: "aTextureCoord",
                    size: 2,
                    uploadFunction: this.uploadUvs,
                    offset: 0
                }, {
                    attributeName: "aColor",
                    size: 1,
                    type: F.UNSIGNED_BYTE,
                    uploadFunction: this.uploadTint,
                    offset: 0
                }], this.shader = Mn.from(Gi, Wi, {})
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.render = function(t) {
                var e = t.children,
                    n = t._maxSize,
                    r = t._batchSize,
                    i = this.renderer,
                    o = e.length;
                if (0 !== o) {
                    o > n && !t.autoResize && (o = n);
                    var a = t._buffers;
                    a || (a = t._buffers = this.generateBuffers(t));
                    var s = e[0]._texture.baseTexture;
                    this.renderer.state.setBlendMode(nt(t.blendMode, s.premultiplyAlpha));
                    var A = i.gl,
                        h = t.worldTransform.copyTo(this.tempMatrix);
                    h.prepend(i.globalUniforms.uniforms.projectionMatrix), this.shader.uniforms.translationMatrix = h.toArray(!0), this.shader.uniforms.uColor = rt(t.tintRgb, t.worldAlpha, this.shader.uniforms.uColor, s.premultiplyAlpha), this.shader.uniforms.uSampler = s, this.renderer.shader.bind(this.shader);
                    for (var c = !1, u = 0, l = 0; u < o; u += r, l += 1) {
                        var d = o - u;
                        d > r && (d = r), l >= a.length && a.push(this._generateOneMoreBuffer(t));
                        var p = a[l];
                        p.uploadDynamic(e, u, d);
                        var f = t._bufferUpdateIDs[l] || 0;
                        (c = c || p._updateID < f) && (p._updateID = t._updateID, p.uploadStatic(e, u, d)), i.geometry.bind(p.geometry), A.drawElements(A.TRIANGLES, 6 * d, A.UNSIGNED_SHORT, 0)
                    }
                }
            }, e.prototype.generateBuffers = function(t) {
                for (var e = [], n = t._maxSize, r = t._batchSize, i = t._properties, o = 0; o < n; o += r) e.push(new Xi(this.properties, i, r));
                return e
            }, e.prototype._generateOneMoreBuffer = function(t) {
                var e = t._batchSize,
                    n = t._properties;
                return new Xi(this.properties, n, e)
            }, e.prototype.uploadVertices = function(t, e, n, r, i, o) {
                for (var a = 0, s = 0, A = 0, h = 0, c = 0; c < n; ++c) {
                    var u = t[e + c],
                        l = u._texture,
                        d = u.scale.x,
                        p = u.scale.y,
                        f = l.trim,
                        y = l.orig;
                    f ? (a = (s = f.x - u.anchor.x * y.width) + f.width, A = (h = f.y - u.anchor.y * y.height) + f.height) : (a = y.width * (1 - u.anchor.x), s = y.width * -u.anchor.x, A = y.height * (1 - u.anchor.y), h = y.height * -u.anchor.y), r[o] = s * d, r[o + 1] = h * p, r[o + i] = a * d, r[o + i + 1] = h * p, r[o + 2 * i] = a * d, r[o + 2 * i + 1] = A * p, r[o + 3 * i] = s * d, r[o + 3 * i + 1] = A * p, o += 4 * i
                }
            }, e.prototype.uploadPosition = function(t, e, n, r, i, o) {
                for (var a = 0; a < n; a++) {
                    var s = t[e + a].position;
                    r[o] = s.x, r[o + 1] = s.y, r[o + i] = s.x, r[o + i + 1] = s.y, r[o + 2 * i] = s.x, r[o + 2 * i + 1] = s.y, r[o + 3 * i] = s.x, r[o + 3 * i + 1] = s.y, o += 4 * i
                }
            }, e.prototype.uploadRotation = function(t, e, n, r, i, o) {
                for (var a = 0; a < n; a++) {
                    var s = t[e + a].rotation;
                    r[o] = s, r[o + i] = s, r[o + 2 * i] = s, r[o + 3 * i] = s, o += 4 * i
                }
            }, e.prototype.uploadUvs = function(t, e, n, r, i, o) {
                for (var a = 0; a < n; ++a) {
                    var s = t[e + a]._texture._uvs;
                    s ? (r[o] = s.x0, r[o + 1] = s.y0, r[o + i] = s.x1, r[o + i + 1] = s.y1, r[o + 2 * i] = s.x2, r[o + 2 * i + 1] = s.y2, r[o + 3 * i] = s.x3, r[o + 3 * i + 1] = s.y3, o += 4 * i) : (r[o] = 0, r[o + 1] = 0, r[o + i] = 0, r[o + i + 1] = 0, r[o + 2 * i] = 0, r[o + 2 * i + 1] = 0, r[o + 3 * i] = 0, r[o + 3 * i + 1] = 0, o += 4 * i)
                }
            }, e.prototype.uploadTint = function(t, e, n, r, i, o) {
                for (var a = 0; a < n; ++a) {
                    var s = t[e + a],
                        A = s._texture.baseTexture.premultiplyAlpha,
                        h = s.alpha,
                        c = h < 1 && A ? it(s._tintRGB, h) : s._tintRGB + (255 * h << 24);
                    r[o] = c, r[o + i] = c, r[o + 2 * i] = c, r[o + 3 * i] = c, o += 4 * i
                }
            }, e.prototype.destroy = function() {
                t.prototype.destroy.call(this), this.shader && (this.shader.destroy(), this.shader = null), this.tempMatrix = null
            }, e
        }(rn),
        Ki = function(t, e, n) {
            void 0 === n && (n = null), this.baseTexture = t, this.textures = {}, this.animations = {}, this.data = e, this.resolution = this._updateResolution(n || (this.baseTexture.resource ? this.baseTexture.resource.url : null)), this._frames = this.data.frames, this._frameKeys = Object.keys(this._frames), this._batchIndex = 0, this._callback = null
        },
        Vi = {
            BATCH_SIZE: {
                configurable: !0
            }
        };
    Vi.BATCH_SIZE.get = function() {
        return 1e3
    }, Ki.prototype._updateResolution = function(t) {
        var e = this.data.meta.scale,
            n = Ct(t, null);
        return null === n && (n = void 0 !== e ? parseFloat(e) : 1), 1 !== n && this.baseTexture.setResolution(n), n
    }, Ki.prototype.parse = function(t) {
        this._batchIndex = 0, this._callback = t, this._frameKeys.length <= Ki.BATCH_SIZE ? (this._processFrames(0), this._processAnimations(), this._parseComplete()) : this._nextBatch()
    }, Ki.prototype._processFrames = function(t) {
        for (var e = t, n = Ki.BATCH_SIZE; e - t < n && e < this._frameKeys.length;) {
            var r = this._frameKeys[e],
                i = this._frames[r],
                o = i.frame;
            if (o) {
                var a = null,
                    s = null,
                    A = !1 !== i.trimmed && i.sourceSize ? i.sourceSize : i.frame,
                    h = new Kt(0, 0, Math.floor(A.w) / this.resolution, Math.floor(A.h) / this.resolution);
                a = i.rotated ? new Kt(Math.floor(o.x) / this.resolution, Math.floor(o.y) / this.resolution, Math.floor(o.h) / this.resolution, Math.floor(o.w) / this.resolution) : new Kt(Math.floor(o.x) / this.resolution, Math.floor(o.y) / this.resolution, Math.floor(o.w) / this.resolution, Math.floor(o.h) / this.resolution), !1 !== i.trimmed && i.spriteSourceSize && (s = new Kt(Math.floor(i.spriteSourceSize.x) / this.resolution, Math.floor(i.spriteSourceSize.y) / this.resolution, Math.floor(o.w) / this.resolution, Math.floor(o.h) / this.resolution)), this.textures[r] = new Fe(this.baseTexture, a, h, s, i.rotated ? 2 : 0, i.anchor), Fe.addToCache(this.textures[r], r)
            }
            e++
        }
    }, Ki.prototype._processAnimations = function() {
        var t = this.data.animations || {};
        for (var e in t) {
            this.animations[e] = [];
            for (var n = 0; n < t[e].length; n++) {
                var r = t[e][n];
                this.animations[e].push(this.textures[r])
            }
        }
    }, Ki.prototype._parseComplete = function() {
        var t = this._callback;
        this._callback = null, this._batchIndex = 0, t.call(this, this.textures)
    }, Ki.prototype._nextBatch = function() {
        var t = this;
        this._processFrames(this._batchIndex * Ki.BATCH_SIZE), this._batchIndex++, setTimeout(function() {
            t._batchIndex * Ki.BATCH_SIZE < t._frameKeys.length ? t._nextBatch() : (t._processAnimations(), t._parseComplete())
        }, 0)
    }, Ki.prototype.destroy = function(t) {
        for (var e in void 0 === t && (t = !1), this.textures) this.textures[e].destroy();
        this._frames = null, this._frameKeys = null, this.data = null, this.textures = null, t && this.baseTexture.destroy(), this.baseTexture = null
    }, Object.defineProperties(Ki, Vi);
    var qi = function() {};
    qi.use = function(t, e) {
        var n = t.name + "_image";
        if (t.data && t.type === ji.TYPE.JSON && t.data.frames && !this.resources[n]) {
            var r = {
                    crossOrigin: t.crossOrigin,
                    metadata: t.metadata.imageMetadata,
                    parentResource: t
                },
                i = qi.getResourcePath(t, this.baseUrl);
            this.add(n, i, r, function(n) {
                if (n.error) e(n.error);
                else {
                    var r = new Ki(n.texture.baseTexture, t.data, t.url);
                    r.parse(function() {
                        t.spritesheet = r, t.textures = r.textures, e()
                    })
                }
            })
        } else e()
    }, qi.getResourcePath = function(t, e) {
        return t.isDataUrl ? t.data.meta.image : R.a.resolve(t.url.replace(e, ""), t.data.meta.image)
    };
    /*!
     * @pixi/sprite-tiling - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/sprite-tiling is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var Ji = new It,
        Zi = function(t) {
            function e(e, n, r) {
                void 0 === n && (n = 100), void 0 === r && (r = 100), t.call(this, e), this.tileTransform = new Wt, this._width = n, this._height = r, this._canvasPattern = null, this.uvMatrix = e.uvMatrix || new Qn(e), this.pluginName = "tilingSprite", this.uvRespectAnchor = !1
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                clampMargin: {
                    configurable: !0
                },
                tileScale: {
                    configurable: !0
                },
                tilePosition: {
                    configurable: !0
                },
                width: {
                    configurable: !0
                },
                height: {
                    configurable: !0
                }
            };
            return n.clampMargin.get = function() {
                return this.uvMatrix.clampMargin
            }, n.clampMargin.set = function(t) {
                this.uvMatrix.clampMargin = t, this.uvMatrix.update(!0)
            }, n.tileScale.get = function() {
                return this.tileTransform.scale
            }, n.tileScale.set = function(t) {
                this.tileTransform.scale.copyFrom(t)
            }, n.tilePosition.get = function() {
                return this.tileTransform.position
            }, n.tilePosition.set = function(t) {
                this.tileTransform.position.copyFrom(t)
            }, e.prototype._onTextureUpdate = function() {
                this.uvMatrix && (this.uvMatrix.texture = this._texture), this._cachedTint = 16777215
            }, e.prototype._render = function(t) {
                var e = this._texture;
                e && e.valid && (this.tileTransform.updateLocalTransform(), this.uvMatrix.update(), t.batch.setObjectRenderer(t.plugins[this.pluginName]), t.plugins[this.pluginName].render(this))
            }, e.prototype._calculateBounds = function() {
                var t = this._width * -this._anchor._x,
                    e = this._height * -this._anchor._y,
                    n = this._width * (1 - this._anchor._x),
                    r = this._height * (1 - this._anchor._y);
                this._bounds.addFrame(this.transform, t, e, n, r)
            }, e.prototype.getLocalBounds = function(e) {
                return 0 === this.children.length ? (this._bounds.minX = this._width * -this._anchor._x, this._bounds.minY = this._height * -this._anchor._y, this._bounds.maxX = this._width * (1 - this._anchor._x), this._bounds.maxY = this._height * (1 - this._anchor._y), e || (this._localBoundsRect || (this._localBoundsRect = new Kt), e = this._localBoundsRect), this._bounds.getRectangle(e)) : t.prototype.getLocalBounds.call(this, e)
            }, e.prototype.containsPoint = function(t) {
                this.worldTransform.applyInverse(t, Ji);
                var e = this._width,
                    n = this._height,
                    r = -e * this.anchor._x;
                if (Ji.x >= r && Ji.x < r + e) {
                    var i = -n * this.anchor._y;
                    if (Ji.y >= i && Ji.y < i + n) return !0
                }
                return !1
            }, e.prototype.destroy = function(e) {
                t.prototype.destroy.call(this, e), this.tileTransform = null, this.uvMatrix = null
            }, e.from = function(t, n, r) {
                return new e(Fe.from(t), n, r)
            }, e.fromFrame = function(t, n, r) {
                var i = ft[t];
                if (!i) throw new Error('The frameId "' + t + '" does not exist in the texture cache ' + this);
                return new e(i, n, r)
            }, e.fromImage = function(t, n, r, i) {
                return i && "object" != typeof i && (i = {
                    scaleMode: arguments[4],
                    resourceOptions: {
                        crossorigin: arguments[3]
                    }
                }), new e(Fe.from(t, i), n, r)
            }, n.width.get = function() {
                return this._width
            }, n.width.set = function(t) {
                this._width = t
            }, n.height.get = function() {
                return this._height
            }, n.height.set = function(t) {
                this._height = t
            }, Object.defineProperties(e.prototype, n), e
        }(ti),
        $i = "attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mat3 uTransform;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n\n    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;\n}\n",
        to = "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\nuniform mat3 uMapCoord;\nuniform vec4 uClampFrame;\nuniform vec2 uClampOffset;\n\nvoid main(void)\n{\n    vec2 coord = mod(vTextureCoord - uClampOffset, vec2(1.0, 1.0)) + uClampOffset;\n    coord = (uMapCoord * vec3(coord, 1.0)).xy;\n    coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);\n\n    vec4 sample = texture2D(uSampler, coord);\n    gl_FragColor = sample * uColor;\n}\n",
        eo = "varying vec2 vTextureCoord;\n\nuniform sampler2D uSampler;\nuniform vec4 uColor;\n\nvoid main(void)\n{\n    vec4 sample = texture2D(uSampler, vTextureCoord);\n    gl_FragColor = sample * uColor;\n}\n",
        no = new Lt,
        ro = function(t) {
            function e(e) {
                t.call(this, e);
                var n = {
                    globals: this.renderer.globalUniforms
                };
                this.shader = Mn.from($i, to, n), this.simpleShader = Mn.from($i, eo, n), this.quad = new Ze
            }
            return t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e, e.prototype.render = function(t) {
                var e = this.renderer,
                    n = this.quad,
                    r = n.vertices;
                r[0] = r[6] = t._width * -t.anchor.x, r[1] = r[3] = t._height * -t.anchor.y, r[2] = r[4] = t._width * (1 - t.anchor.x), r[5] = r[7] = t._height * (1 - t.anchor.y), t.uvRespectAnchor && ((r = n.uvs)[0] = r[6] = -t.anchor.x, r[1] = r[3] = -t.anchor.y, r[2] = r[4] = 1 - t.anchor.x, r[5] = r[7] = 1 - t.anchor.y), n.invalidate();
                var i = t._texture,
                    o = i.baseTexture,
                    a = t.tileTransform.localTransform,
                    s = t.uvMatrix,
                    A = o.isPowerOfTwo && i.frame.width === o.width && i.frame.height === o.height;
                A && (o._glTextures[e.CONTEXT_UID] ? A = o.wrapMode !== N : o.wrapMode === N && (o.wrapMode = U));
                var h = A ? this.simpleShader : this.shader,
                    c = i.width,
                    u = i.height,
                    l = t._width,
                    d = t._height;
                no.set(a.a * c / l, a.b * c / d, a.c * u / l, a.d * u / d, a.tx / l, a.ty / d), no.invert(), A ? no.prepend(s.mapCoord) : (h.uniforms.uMapCoord = s.mapCoord.toArray(!0), h.uniforms.uClampFrame = s.uClampFrame, h.uniforms.uClampOffset = s.uClampOffset), h.uniforms.uTransform = no.toArray(!0), h.uniforms.uColor = ot(t.tint, t.worldAlpha, h.uniforms.uColor, o.premultiplyAlpha), h.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0), h.uniforms.uSampler = i, e.shader.bind(h), e.geometry.bind(n), e.state.setBlendMode(nt(t.blendMode, o.premultiplyAlpha)), e.geometry.draw(this.renderer.gl.TRIANGLES, 6, 0)
            }, e
        }(rn),
        io = function(t) {
            function e(e, n) {
                var r = this;
                void 0 === n && (n = {}), t.call(this), this._textWidth = 0, this._textHeight = 0, this._glyphs = [], this._font = {
                    tint: void 0 !== n.tint ? n.tint : 16777215,
                    align: n.align || "left",
                    name: null,
                    size: 0
                }, this.font = n.font, this._text = e, this._maxWidth = 0, this._maxLineHeight = 0, this._letterSpacing = 0, this._anchor = new Dt(function() {
                    r.dirty = !0
                }, this, 0, 0), this.dirty = !1, this.roundPixels = C.ROUND_PIXELS, this.updateText()
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                tint: {
                    configurable: !0
                },
                align: {
                    configurable: !0
                },
                anchor: {
                    configurable: !0
                },
                font: {
                    configurable: !0
                },
                text: {
                    configurable: !0
                },
                maxWidth: {
                    configurable: !0
                },
                maxLineHeight: {
                    configurable: !0
                },
                textWidth: {
                    configurable: !0
                },
                letterSpacing: {
                    configurable: !0
                },
                textHeight: {
                    configurable: !0
                }
            };
            return e.prototype.updateText = function() {
                for (var t = e.fonts[this._font.name], n = this._font.size / t.size, r = new It, i = [], o = [], a = this._text.replace(/(?:\r\n|\r)/g, "\n") || " ", s = a.length, A = this._maxWidth * t.size / this._font.size, h = null, c = 0, u = 0, l = 0, d = -1, p = 0, f = 0, y = 0, x = 0; x < s; x++) {
                    var m = a.charCodeAt(x),
                        g = a.charAt(x);
                    if (/(?:\s)/.test(g) && (d = x, p = c), "\r" !== g && "\n" !== g) {
                        var w = t.chars[m];
                        w && (h && w.kerning[h] && (r.x += w.kerning[h]), i.push({
                            texture: w.texture,
                            line: l,
                            charCode: m,
                            position: new It(r.x + w.xOffset + this._letterSpacing / 2, r.y + w.yOffset)
                        }), r.x += w.xAdvance + this._letterSpacing, c = r.x, y = Math.max(y, w.yOffset + w.texture.height), h = m, -1 !== d && A > 0 && r.x > A && (st(i, 1 + d - ++f, 1 + x - d), x = d, d = -1, o.push(p), u = Math.max(u, p), l++, r.x = 0, r.y += t.lineHeight, h = null))
                    } else o.push(c), u = Math.max(u, c), ++l, ++f, r.x = 0, r.y += t.lineHeight, h = null
                }
                var v = a.charAt(a.length - 1);
                "\r" !== v && "\n" !== v && (/(?:\s)/.test(v) && (c = p), o.push(c), u = Math.max(u, c));
                for (var b = [], _ = 0; _ <= l; _++) {
                    var S = 0;
                    "right" === this._font.align ? S = u - o[_] : "center" === this._font.align && (S = (u - o[_]) / 2), b.push(S)
                }
                for (var E = i.length, C = this.tint, T = 0; T < E; T++) {
                    var k = this._glyphs[T];
                    k ? k.texture = i[T].texture : ((k = new ti(i[T].texture)).roundPixels = this.roundPixels, this._glyphs.push(k)), k.position.x = (i[T].position.x + b[i[T].line]) * n, k.position.y = i[T].position.y * n, k.scale.x = k.scale.y = n, k.tint = C, k.parent || this.addChild(k)
                }
                for (var I = E; I < this._glyphs.length; ++I) this.removeChild(this._glyphs[I]);
                if (this._textWidth = u * n, this._textHeight = (r.y + t.lineHeight) * n, 0 !== this.anchor.x || 0 !== this.anchor.y)
                    for (var D = 0; D < E; D++) this._glyphs[D].x -= this._textWidth * this.anchor.x, this._glyphs[D].y -= this._textHeight * this.anchor.y;
                this._maxLineHeight = y * n
            }, e.prototype.updateTransform = function() {
                this.validate(), this.containerUpdateTransform()
            }, e.prototype.getLocalBounds = function() {
                return this.validate(), t.prototype.getLocalBounds.call(this)
            }, e.prototype.validate = function() {
                this.dirty && (this.updateText(), this.dirty = !1)
            }, n.tint.get = function() {
                return this._font.tint
            }, n.tint.set = function(t) {
                this._font.tint = "number" == typeof t && t >= 0 ? t : 16777215, this.dirty = !0
            }, n.align.get = function() {
                return this._font.align
            }, n.align.set = function(t) {
                this._font.align = t || "left", this.dirty = !0
            }, n.anchor.get = function() {
                return this._anchor
            }, n.anchor.set = function(t) {
                "number" == typeof t ? this._anchor.set(t) : this._anchor.copyFrom(t)
            }, n.font.get = function() {
                return this._font
            }, n.font.set = function(t) {
                t && ("string" == typeof t ? (t = t.split(" "), this._font.name = 1 === t.length ? t[0] : t.slice(1).join(" "), this._font.size = t.length >= 2 ? parseInt(t[0], 10) : e.fonts[this._font.name].size) : (this._font.name = t.name, this._font.size = "number" == typeof t.size ? t.size : parseInt(t.size, 10)), this.dirty = !0)
            }, n.text.get = function() {
                return this._text
            }, n.text.set = function(t) {
                t = String(null == t ? "" : t), this._text !== t && (this._text = t, this.dirty = !0)
            }, n.maxWidth.get = function() {
                return this._maxWidth
            }, n.maxWidth.set = function(t) {
                this._maxWidth !== t && (this._maxWidth = t, this.dirty = !0)
            }, n.maxLineHeight.get = function() {
                return this.validate(), this._maxLineHeight
            }, n.textWidth.get = function() {
                return this.validate(), this._textWidth
            }, n.letterSpacing.get = function() {
                return this._letterSpacing
            }, n.letterSpacing.set = function(t) {
                this._letterSpacing !== t && (this._letterSpacing = t, this.dirty = !0)
            }, n.textHeight.get = function() {
                return this.validate(), this._textHeight
            }, e.registerFont = function(t, n) {
                var r = {},
                    i = t.getElementsByTagName("info")[0],
                    o = t.getElementsByTagName("common")[0],
                    a = t.getElementsByTagName("page"),
                    s = Ct(a[0].getAttribute("file"), C.RESOLUTION),
                    A = {};
                r.font = i.getAttribute("face"), r.size = parseInt(i.getAttribute("size"), 10), r.lineHeight = parseInt(o.getAttribute("lineHeight"), 10) / s, r.chars = {}, n instanceof Fe && (n = [n]);
                for (var h = 0; h < a.length; h++) {
                    var c = a[h].getAttribute("id"),
                        u = a[h].getAttribute("file");
                    A[c] = n instanceof Array ? n[h] : n[u]
                }
                for (var l = t.getElementsByTagName("char"), d = 0; d < l.length; d++) {
                    var p = l[d],
                        f = parseInt(p.getAttribute("id"), 10),
                        y = p.getAttribute("page") || 0,
                        x = new Kt(parseInt(p.getAttribute("x"), 10) / s + A[y].frame.x / s, parseInt(p.getAttribute("y"), 10) / s + A[y].frame.y / s, parseInt(p.getAttribute("width"), 10) / s, parseInt(p.getAttribute("height"), 10) / s);
                    r.chars[f] = {
                        xOffset: parseInt(p.getAttribute("xoffset"), 10) / s,
                        yOffset: parseInt(p.getAttribute("yoffset"), 10) / s,
                        xAdvance: parseInt(p.getAttribute("xadvance"), 10) / s,
                        kerning: {},
                        texture: new Fe(A[y].baseTexture, x),
                        page: y
                    }
                }
                for (var m = t.getElementsByTagName("kerning"), g = 0; g < m.length; g++) {
                    var w = m[g],
                        v = parseInt(w.getAttribute("first"), 10) / s,
                        b = parseInt(w.getAttribute("second"), 10) / s,
                        _ = parseInt(w.getAttribute("amount"), 10) / s;
                    r.chars[b] && (r.chars[b].kerning[v] = _)
                }
                return e.fonts[r.font] = r, r
            }, Object.defineProperties(e.prototype, n), e
        }(ie);
    io.fonts = {};
    var oo = function() {};
    oo.parse = function(t, e) {
        t.bitmapFont = io.registerFont(t.data, e)
    }, oo.add = function() {
        ji.setExtensionXhrType("fnt", ji.XHR_RESPONSE_TYPE.DOCUMENT)
    }, oo.dirname = function(t) {
        var e = t.replace(/\/$/, "").replace(/\/[^\/]*$/, "");
        return e === t ? "." : "" === e ? "/" : e
    }, oo.use = function(t, e) {
        if (t.data && t.type === ji.TYPE.XML)
            if (0 !== t.data.getElementsByTagName("page").length && 0 !== t.data.getElementsByTagName("info").length && null !== t.data.getElementsByTagName("info")[0].getAttribute("face")) {
                var n = t.isDataUrl ? "" : oo.dirname(t.url);
                t.isDataUrl && ("." === n && (n = ""), this.baseUrl && n && "/" === this.baseUrl.charAt(this.baseUrl.length - 1) && (n += "/")), (n = n.replace(this.baseUrl, "")) && "/" !== n.charAt(n.length - 1) && (n += "/");
                for (var r = t.data.getElementsByTagName("page"), i = {}, o = function(n) {
                        i[n.metadata.pageFile] = n.texture, Object.keys(i).length === r.length && (oo.parse(t, i), e())
                    }, a = 0; a < r.length; ++a) {
                    var s = r[a].getAttribute("file"),
                        A = n + s,
                        h = !1;
                    for (var c in this.resources) {
                        var u = this.resources[c];
                        if (u.url === A) {
                            u.metadata.pageFile = s, u.texture ? o(u) : u.onAfterMiddleware.add(o), h = !0;
                            break
                        }
                    }
                    if (!h) {
                        var l = {
                            crossOrigin: t.crossOrigin,
                            loadType: ji.LOAD_TYPE.IMAGE,
                            metadata: Object.assign({
                                pageFile: s
                            }, t.metadata.imageMetadata),
                            parentResource: t
                        };
                        this.add(A, l, o)
                    }
                }
            } else e();
        else e()
    };
    ["varying vec2 vBlurTexCoords[%size%];", "uniform sampler2D uSampler;", "void main(void)", "{", "    gl_FragColor = vec4(0.0);", "    %blur%", "}"].join("\n");
    var ao = "varying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float m[20];\nuniform float uAlpha;\n\nvoid main(void)\n{\n    vec4 c = texture2D(uSampler, vTextureCoord);\n\n    if (uAlpha == 0.0) {\n        gl_FragColor = c;\n        return;\n    }\n\n    // Un-premultiply alpha before applying the color matrix. See issue #3539.\n    if (c.a > 0.0) {\n      c.rgb /= c.a;\n    }\n\n    vec4 result;\n\n    result.r = (m[0] * c.r);\n        result.r += (m[1] * c.g);\n        result.r += (m[2] * c.b);\n        result.r += (m[3] * c.a);\n        result.r += m[4];\n\n    result.g = (m[5] * c.r);\n        result.g += (m[6] * c.g);\n        result.g += (m[7] * c.b);\n        result.g += (m[8] * c.a);\n        result.g += m[9];\n\n    result.b = (m[10] * c.r);\n       result.b += (m[11] * c.g);\n       result.b += (m[12] * c.b);\n       result.b += (m[13] * c.a);\n       result.b += m[14];\n\n    result.a = (m[15] * c.r);\n       result.a += (m[16] * c.g);\n       result.a += (m[17] * c.b);\n       result.a += (m[18] * c.a);\n       result.a += m[19];\n\n    vec3 rgb = mix(c.rgb, result.rgb, uAlpha);\n\n    // Premultiply alpha again.\n    rgb *= result.a;\n\n    gl_FragColor = vec4(rgb, result.a);\n}\n",
        so = function(t) {
            function e() {
                var e = {
                    m: new Float32Array([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]),
                    uAlpha: 1
                };
                t.call(this, cr, ao, e), this.alpha = 1
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                matrix: {
                    configurable: !0
                },
                alpha: {
                    configurable: !0
                }
            };
            return e.prototype._loadMatrix = function(t, e) {
                void 0 === e && (e = !1);
                var n = t;
                e && (this._multiply(n, this.uniforms.m, t), n = this._colorMatrix(n)), this.uniforms.m = n
            }, e.prototype._multiply = function(t, e, n) {
                return t[0] = e[0] * n[0] + e[1] * n[5] + e[2] * n[10] + e[3] * n[15], t[1] = e[0] * n[1] + e[1] * n[6] + e[2] * n[11] + e[3] * n[16], t[2] = e[0] * n[2] + e[1] * n[7] + e[2] * n[12] + e[3] * n[17], t[3] = e[0] * n[3] + e[1] * n[8] + e[2] * n[13] + e[3] * n[18], t[4] = e[0] * n[4] + e[1] * n[9] + e[2] * n[14] + e[3] * n[19] + e[4], t[5] = e[5] * n[0] + e[6] * n[5] + e[7] * n[10] + e[8] * n[15], t[6] = e[5] * n[1] + e[6] * n[6] + e[7] * n[11] + e[8] * n[16], t[7] = e[5] * n[2] + e[6] * n[7] + e[7] * n[12] + e[8] * n[17], t[8] = e[5] * n[3] + e[6] * n[8] + e[7] * n[13] + e[8] * n[18], t[9] = e[5] * n[4] + e[6] * n[9] + e[7] * n[14] + e[8] * n[19] + e[9], t[10] = e[10] * n[0] + e[11] * n[5] + e[12] * n[10] + e[13] * n[15], t[11] = e[10] * n[1] + e[11] * n[6] + e[12] * n[11] + e[13] * n[16], t[12] = e[10] * n[2] + e[11] * n[7] + e[12] * n[12] + e[13] * n[17], t[13] = e[10] * n[3] + e[11] * n[8] + e[12] * n[13] + e[13] * n[18], t[14] = e[10] * n[4] + e[11] * n[9] + e[12] * n[14] + e[13] * n[19] + e[14], t[15] = e[15] * n[0] + e[16] * n[5] + e[17] * n[10] + e[18] * n[15], t[16] = e[15] * n[1] + e[16] * n[6] + e[17] * n[11] + e[18] * n[16], t[17] = e[15] * n[2] + e[16] * n[7] + e[17] * n[12] + e[18] * n[17], t[18] = e[15] * n[3] + e[16] * n[8] + e[17] * n[13] + e[18] * n[18], t[19] = e[15] * n[4] + e[16] * n[9] + e[17] * n[14] + e[18] * n[19] + e[19], t
            }, e.prototype._colorMatrix = function(t) {
                var e = new Float32Array(t);
                return e[4] /= 255, e[9] /= 255, e[14] /= 255, e[19] /= 255, e
            }, e.prototype.brightness = function(t, e) {
                var n = [t, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, t, 0, 0, 0, 0, 0, 1, 0];
                this._loadMatrix(n, e)
            }, e.prototype.greyscale = function(t, e) {
                var n = [t, t, t, 0, 0, t, t, t, 0, 0, t, t, t, 0, 0, 0, 0, 0, 1, 0];
                this._loadMatrix(n, e)
            }, e.prototype.blackAndWhite = function(t) {
                this._loadMatrix([.3, .6, .1, 0, 0, .3, .6, .1, 0, 0, .3, .6, .1, 0, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.hue = function(t, e) {
                t = (t || 0) / 180 * Math.PI;
                var n = Math.cos(t),
                    r = Math.sin(t),
                    i = 1 / 3,
                    o = (0, Math.sqrt)(i),
                    a = [n + (1 - n) * i, i * (1 - n) - o * r, i * (1 - n) + o * r, 0, 0, i * (1 - n) + o * r, n + i * (1 - n), i * (1 - n) - o * r, 0, 0, i * (1 - n) - o * r, i * (1 - n) + o * r, n + i * (1 - n), 0, 0, 0, 0, 0, 1, 0];
                this._loadMatrix(a, e)
            }, e.prototype.contrast = function(t, e) {
                var n = (t || 0) + 1,
                    r = -.5 * (n - 1),
                    i = [n, 0, 0, 0, r, 0, n, 0, 0, r, 0, 0, n, 0, r, 0, 0, 0, 1, 0];
                this._loadMatrix(i, e)
            }, e.prototype.saturate = function(t, e) {
                void 0 === t && (t = 0);
                var n = 2 * t / 3 + 1,
                    r = -.5 * (n - 1),
                    i = [n, r, r, 0, 0, r, n, r, 0, 0, r, r, n, 0, 0, 0, 0, 0, 1, 0];
                this._loadMatrix(i, e)
            }, e.prototype.desaturate = function() {
                this.saturate(-1)
            }, e.prototype.negative = function(t) {
                this._loadMatrix([-1, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.sepia = function(t) {
                this._loadMatrix([.393, .7689999, .18899999, 0, 0, .349, .6859999, .16799999, 0, 0, .272, .5339999, .13099999, 0, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.technicolor = function(t) {
                this._loadMatrix([1.9125277891456083, -.8545344976951645, -.09155508482755585, 0, 11.793603434377337, -.3087833385928097, 1.7658908555458428, -.10601743074722245, 0, -70.35205161461398, -.231103377548616, -.7501899197440212, 1.847597816108189, 0, 30.950940869491138, 0, 0, 0, 1, 0], t)
            }, e.prototype.polaroid = function(t) {
                this._loadMatrix([1.438, -.062, -.062, 0, 0, -.122, 1.378, -.122, 0, 0, -.016, -.016, 1.483, 0, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.toBGR = function(t) {
                this._loadMatrix([0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.kodachrome = function(t) {
                this._loadMatrix([1.1285582396593525, -.3967382283601348, -.03992559172921793, 0, 63.72958762196502, -.16404339962244616, 1.0835251566291304, -.05498805115633132, 0, 24.732407896706203, -.16786010706155763, -.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, 0, 0, 0, 1, 0], t)
            }, e.prototype.browni = function(t) {
                this._loadMatrix([.5997023498159715, .34553243048391263, -.2708298674538042, 0, 47.43192855600873, -.037703249837783157, .8609577587992641, .15059552388459913, 0, -36.96841498319127, .24113635128153335, -.07441037908422492, .44972182064877153, 0, -7.562075277591283, 0, 0, 0, 1, 0], t)
            }, e.prototype.vintage = function(t) {
                this._loadMatrix([.6279345635605994, .3202183420819367, -.03965408211312453, 0, 9.651285835294123, .02578397704808868, .6441188644374771, .03259127616149294, 0, 7.462829176470591, .0466055556782719, -.0851232987247891, .5241648018700465, 0, 5.159190588235296, 0, 0, 0, 1, 0], t)
            }, e.prototype.colorTone = function(t, e, n, r, i) {
                var o = ((n = n || 16770432) >> 16 & 255) / 255,
                    a = (n >> 8 & 255) / 255,
                    s = (255 & n) / 255,
                    A = ((r = r || 3375104) >> 16 & 255) / 255,
                    h = (r >> 8 & 255) / 255,
                    c = (255 & r) / 255,
                    u = [.3, .59, .11, 0, 0, o, a, s, t = t || .2, 0, A, h, c, e = e || .15, 0, o - A, a - h, s - c, 0, 0];
                this._loadMatrix(u, i)
            }, e.prototype.night = function(t, e) {
                var n = [-2 * (t = t || .1), -t, 0, 0, 0, -t, 0, t, 0, 0, 0, t, 2 * t, 0, 0, 0, 0, 0, 1, 0];
                this._loadMatrix(n, e)
            }, e.prototype.predator = function(t, e) {
                var n = [11.224130630493164 * t, -4.794486999511719 * t, -2.8746118545532227 * t, 0 * t, .40342438220977783 * t, -3.6330697536468506 * t, 9.193157196044922 * t, -2.951810836791992 * t, 0 * t, -1.316135048866272 * t, -3.2184197902679443 * t, -4.2375030517578125 * t, 7.476448059082031 * t, 0 * t, .8044459223747253 * t, 0, 0, 0, 1, 0];
                this._loadMatrix(n, e)
            }, e.prototype.lsd = function(t) {
                this._loadMatrix([2, -.4, .5, 0, 0, -.5, 2, -.4, 0, 0, -.4, -.5, 3, 0, 0, 0, 0, 0, 1, 0], t)
            }, e.prototype.reset = function() {
                this._loadMatrix([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], !1)
            }, n.matrix.get = function() {
                return this.uniforms.m
            }, n.matrix.set = function(t) {
                this.uniforms.m = t
            }, n.alpha.get = function() {
                return this.uniforms.uAlpha
            }, n.alpha.set = function(t) {
                this.uniforms.uAlpha = t
            }, Object.defineProperties(e.prototype, n), e
        }(zn);
    so.prototype.grayscale = so.prototype.greyscale;
    /*!
     * @pixi/filter-displacement - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/filter-displacement is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var Ao = new Lt;
    ne.prototype._cacheAsBitmap = !1, ne.prototype._cacheData = !1;
    var ho = function() {
        this.textureCacheId = null, this.originalRender = null, this.originalRenderCanvas = null, this.originalCalculateBounds = null, this.originalGetLocalBounds = null, this.originalUpdateTransform = null, this.originalHitTest = null, this.originalDestroy = null, this.originalMask = null, this.originalFilterArea = null, this.sprite = null
    };
    Object.defineProperties(ne.prototype, {
            cacheAsBitmap: {
                get: function() {
                    return this._cacheAsBitmap
                },
                set: function(t) {
                    var e;
                    this._cacheAsBitmap !== t && (this._cacheAsBitmap = t, t ? (this._cacheData || (this._cacheData = new ho), (e = this._cacheData).originalRender = this.render, e.originalRenderCanvas = this.renderCanvas, e.originalUpdateTransform = this.updateTransform, e.originalCalculateBounds = this.calculateBounds, e.originalGetLocalBounds = this.getLocalBounds, e.originalDestroy = this.destroy, e.originalContainsPoint = this.containsPoint, e.originalMask = this._mask, e.originalFilterArea = this.filterArea, this.render = this._renderCached, this.renderCanvas = this._renderCachedCanvas, this.destroy = this._cacheAsBitmapDestroy) : ((e = this._cacheData).sprite && this._destroyCachedDisplayObject(), this.render = e.originalRender, this.renderCanvas = e.originalRenderCanvas, this.calculateBounds = e.originalCalculateBounds, this.getLocalBounds = e.originalGetLocalBounds, this.destroy = e.originalDestroy, this.updateTransform = e.originalUpdateTransform, this.containsPoint = e.originalContainsPoint, this._mask = e.originalMask, this.filterArea = e.originalFilterArea))
                }
            }
        }), ne.prototype._renderCached = function(t) {
            !this.visible || this.worldAlpha <= 0 || !this.renderable || (this._initCachedDisplayObject(t), this._cacheData.sprite.transform._worldID = this.transform._worldID, this._cacheData.sprite.worldAlpha = this.worldAlpha, this._cacheData.sprite._render(t))
        }, ne.prototype._initCachedDisplayObject = function(t) {
            if (!this._cacheData || !this._cacheData.sprite) {
                var e = this.alpha;
                this.alpha = 1, t.batch.flush();
                var n = this.getLocalBounds().clone();
                if (this.filters) {
                    var r = this.filters[0].padding;
                    n.pad(r)
                }
                n.ceil(C.RESOLUTION);
                var i = t._activeRenderTarget,
                    o = Ue.create(n.width, n.height),
                    a = "cacheAsBitmap_" + ht();
                this._cacheData.textureCacheId = a, Ce.addToCache(o.baseTexture, a), Fe.addToCache(o, a);
                var s = Ao;
                s.tx = -n.x, s.ty = -n.y, this.transform.worldTransform.identity(), this.render = this._cacheData.originalRender, t.render(this, o, !0, s, !0), t.renderTexture.bind(i), this.render = this._renderCached, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null;
                var A = new ti(o);
                A.transform.worldTransform = this.transform.worldTransform, A.anchor.x = -n.x / n.width, A.anchor.y = -n.y / n.height, A.alpha = e, A._bounds = this._bounds, this._cacheData.sprite = A, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.parent = t._tempDisplayObjectParent, this.updateTransform(), this.parent = null), this.containsPoint = A.containsPoint.bind(A)
            }
        }, ne.prototype._renderCachedCanvas = function(t) {
            !this.visible || this.worldAlpha <= 0 || !this.renderable || (this._initCachedDisplayObjectCanvas(t), this._cacheData.sprite.worldAlpha = this.worldAlpha, this._cacheData.sprite._renderCanvas(t))
        }, ne.prototype._initCachedDisplayObjectCanvas = function(t) {
            if (!this._cacheData || !this._cacheData.sprite) {
                var e = this.getLocalBounds(),
                    n = this.alpha;
                this.alpha = 1;
                var r = t.context;
                e.ceil(C.RESOLUTION);
                var i = Ue.create(e.width, e.height),
                    o = "cacheAsBitmap_" + ht();
                this._cacheData.textureCacheId = o, Ce.addToCache(i.baseTexture, o), Fe.addToCache(i, o);
                var a = Ao;
                this.transform.localTransform.copyTo(a), a.invert(), a.tx -= e.x, a.ty -= e.y, this.renderCanvas = this._cacheData.originalRenderCanvas, t.render(this, i, !0, a, !1), t.context = r, this.renderCanvas = this._renderCachedCanvas, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null;
                var s = new ti(i);
                s.transform.worldTransform = this.transform.worldTransform, s.anchor.x = -e.x / e.width, s.anchor.y = -e.y / e.height, s.alpha = n, s._bounds = this._bounds, this._cacheData.sprite = s, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.parent = t._tempDisplayObjectParent, this.updateTransform(), this.parent = null), this.containsPoint = s.containsPoint.bind(s)
            }
        }, ne.prototype._calculateCachedBounds = function() {
            this._bounds.clear(), this._cacheData.sprite.transform._worldID = this.transform._worldID, this._cacheData.sprite._calculateBounds(), this._lastBoundsID = this._boundsID
        }, ne.prototype._getCachedLocalBounds = function() {
            return this._cacheData.sprite.getLocalBounds()
        }, ne.prototype._destroyCachedDisplayObject = function() {
            this._cacheData.sprite._texture.destroy(!0), this._cacheData.sprite = null, Ce.removeFromCache(this._cacheData.textureCacheId), Fe.removeFromCache(this._cacheData.textureCacheId), this._cacheData.textureCacheId = null
        }, ne.prototype._cacheAsBitmapDestroy = function(t) {
            this.cacheAsBitmap = !1, this.destroy(t)
        },
        /*!
         * @pixi/mixin-get-child-by-name - v5.0.4
         * Compiled Fri, 07 Jun 2019 17:17:49 UTC
         *
         * @pixi/mixin-get-child-by-name is licensed under the MIT License.
         * http://www.opensource.org/licenses/mit-license
         */
        ne.prototype.name = null, ie.prototype.getChildByName = function(t) {
            for (var e = 0; e < this.children.length; e++)
                if (this.children[e].name === t) return this.children[e];
            return null
        },
        /*!
         * @pixi/mixin-get-global-position - v5.0.4
         * Compiled Fri, 07 Jun 2019 17:17:49 UTC
         *
         * @pixi/mixin-get-global-position is licensed under the MIT License.
         * http://www.opensource.org/licenses/mit-license
         */
        ne.prototype.getGlobalPosition = function(t, e) {
            return void 0 === t && (t = new It), void 0 === e && (e = !1), this.parent ? this.parent.toGlobal(this.position, t, e) : (t.x = this.position.x, t.y = this.position.y), t
        };
    /*!
     * @pixi/mesh - v5.0.4
     * Compiled Fri, 07 Jun 2019 17:17:49 UTC
     *
     * @pixi/mesh is licensed under the MIT License.
     * http://www.opensource.org/licenses/mit-license
     */
    var co = function(t, e) {
        this.uvBuffer = t, this.uvMatrix = e, this.data = null, this._bufferUpdateId = -1, this._textureUpdateId = -1, this._updateID = 0
    };
    co.prototype.update = function(t) {
        if (t || this._bufferUpdateId !== this.uvBuffer._updateID || this._textureUpdateId !== this.uvMatrix._updateID) {
            this._bufferUpdateId = this.uvBuffer._updateID, this._textureUpdateId = this.uvMatrix._updateID;
            var e = this.uvBuffer.data;
            this.data && this.data.length === e.length || (this.data = new Float32Array(e.length)), this.uvMatrix.multiplyUvs(e, this.data), this._updateID++
        }
    };
    var uo = new It,
        lo = new $t,
        po = function(t) {
            function e(e, n, r, i) {
                void 0 === i && (i = L.TRIANGLES), t.call(this), this.geometry = e, e.refCount++, this.shader = n, this.state = r || Ln.for2d(), this.drawMode = i, this.start = 0, this.size = 0, this.uvs = null, this.indices = null, this.vertexData = new Float32Array(1), this.vertexDirty = 0, this._transformID = -1, this.tint = 16777215, this.blendMode = O.NORMAL, this._roundPixels = C.ROUND_PIXELS, this.batchUvs = null
            }
            t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
            var n = {
                uvBuffer: {
                    configurable: !0
                },
                verticesBuffer: {
                    configurable: !0
                },
                material: {
                    configurable: !0
                },
                blendMode: {
                    configurable: !0
                },
                roundPixels: {
                    configurable: !0
                },
                tint: {
                    configurable: !0
                },
                texture: {
                    configurable: !0
                }
            };
            return n.uvBuffer.get = function() {
                return this.geometry.buffers[1]
            }, n.verticesBuffer.get = function() {
                return this.geometry.buffers[0]
            }, n.material.set = function(t) {
                this.shader = t
            }, n.material.get = function() {
                return this.shader
            }, n.blendMode.set = function(t) {
                this.state.blendMode = t
            }, n.blendMode.get = function() {
                return this.state.blendMode
            }, n.roundPixels.set = function(t) {
                this._roundPixels !== t && (this._transformID = -1), this._roundPixels = t
            }, n.roundPixels.get = function() {
                return this._roundPixels
            }, n.tint.get = function() {
                return this.shader.tint
            }, n.tint.set = function(t) {
                this.shader.tint = t
            }, n.texture.get = function() {
                return this.shader.texture
            }, n.texture.set = function(t) {
                this.shader.texture = t
            }, e.prototype._render = function(t) {
                var n = this.geometry.buffers[0].data;
                this.shader.batchable && this.drawMode === L.TRIANGLES && n.length < 2 * e.BATCHABLE_SIZE ? this._renderToBatch(t) : this._renderDefault(t)
            }, e.prototype._renderDefault = function(t) {
                var e = this.shader;
                e.alpha = this.worldAlpha, e.update && e.update(), t.batch.flush(), e.program.uniformData.translationMatrix && (e.uniforms.translationMatrix = this.transform.worldTransform.toArray(!0)), t.shader.bind(e), t.state.setState(this.state), t.geometry.bind(this.geometry, e), t.geometry.draw(this.drawMode, this.size, this.start, this.geometry.instanceCount)
            }, e.prototype._renderToBatch = function(t) {
                var e = this.geometry;
                this.shader.uvMatrix && (this.shader.uvMatrix.update(), this.calculateUvs()), this.calculateVertices(), this.indices = e.indexBuffer.data, this._tintRGB = this.shader._tintRGB, this._texture = this.shader.texture;
                var n = this.material.pluginName;
                t.batch.setObjectRenderer(t.plugins[n]), t.plugins[n].render(this)
            }, e.prototype.calculateVertices = function() {
                var t = this.geometry,
                    e = t.buffers[0].data;
                if (t.vertexDirtyId !== this.vertexDirty || this._transformID !== this.transform._worldID) {
                    this._transformID = this.transform._worldID, this.vertexData.length !== e.length && (this.vertexData = new Float32Array(e.length));
                    for (var n = this.transform.worldTransform, r = n.a, i = n.b, o = n.c, a = n.d, s = n.tx, A = n.ty, h = this.vertexData, c = 0; c < h.length / 2; c++) {
                        var u = e[2 * c],
                            l = e[2 * c + 1];
                        h[2 * c] = r * u + o * l + s, h[2 * c + 1] = i * u + a * l + A
                    }
                    if (this._roundPixels)
                        for (var d = 0; d < h.length; d++) h[d] = Math.round(h[d]);
                    this.vertexDirty = t.vertexDirtyId
                }
            }, e.prototype.calculateUvs = function() {
                var t = this.geometry.buffers[1];
                this.shader.uvMatrix.isSimple ? this.uvs = t.data : (this.batchUvs || (this.batchUvs = new co(t, this.shader.uvMatrix)), this.batchUvs.update(), this.uvs = this.batchUvs.data)
            }, e.prototype._calculateBounds = function() {
                this.calculateVertices(), this._bounds.addVertexData(this.vertexData, 0, this.vertexData.length)
            }, e.prototype.containsPoint = function(t) {
                if (!this.getBounds().contains(t.x, t.y)) return !1;
                this.worldTransform.applyInverse(t, uo);
                for (var e = this.geometry.getBuffer("aVertexPosition").data, n = lo.points, r = this.geometry.getIndex().data, i = r.length, o = 4 === this.drawMode ? 3 : 1, a = 0; a + 2 < i; a += o) {
                    var s = 2 * r[a],
                        A = 2 * r[a + 1],
                        h = 2 * r[a + 2];
                    if (n[0] = e[s], n[1] = e[s + 1], n[2] = e[A], n[3] = e[A + 1], n[4] = e[h], n[5] = e[h + 1], lo.contains(uo.x, uo.y)) return !0
                }
                return !1
            }, e.prototype.destroy = function(e) {
                t.prototype.destroy.call(this, e), this.geometry.refCount--, 0 === this.geometry.refCount && this.geometry.dispose(), this.geometry = null, this.shader = null, this.state = null, this.uvs = null, this.indices = null, this.vertexData = null
            }, Object.defineProperties(e.prototype, n), e
        }(ie);
    po.BATCHABLE_SIZE = 100;
    var fo = function(t) {
        function e(e, n) {
            t.call(this, e[0] instanceof Fe ? e[0] : e[0].texture), this._textures = null, this._durations = null, this.textures = e, this._autoUpdate = !1 !== n, this.animationSpeed = 1, this.loop = !0, this.updateAnchor = !1, this.onComplete = null, this.onFrameChange = null, this.onLoop = null, this._currentTime = 0, this.playing = !1
        }
        t && (e.__proto__ = t), e.prototype = Object.create(t && t.prototype), e.prototype.constructor = e;
        var n = {
            totalFrames: {
                configurable: !0
            },
            textures: {
                configurable: !0
            },
            currentFrame: {
                configurable: !0
            }
        };
        return e.prototype.stop = function() {
            this.playing && (this.playing = !1, this._autoUpdate && pe.shared.remove(this.update, this))
        }, e.prototype.play = function() {
            this.playing || (this.playing = !0, this._autoUpdate && pe.shared.add(this.update, this, he))
        }, e.prototype.gotoAndStop = function(t) {
            this.stop();
            var e = this.currentFrame;
            this._currentTime = t, e !== this.currentFrame && this.updateTexture()
        }, e.prototype.gotoAndPlay = function(t) {
            var e = this.currentFrame;
            this._currentTime = t, e !== this.currentFrame && this.updateTexture(), this.play()
        }, e.prototype.update = function(t) {
            var e = this.animationSpeed * t,
                n = this.currentFrame;
            if (null !== this._durations) {
                var r = this._currentTime % 1 * this._durations[this.currentFrame];
                for (r += e / 60 * 1e3; r < 0;) this._currentTime--, r += this._durations[this.currentFrame];
                var i = Math.sign(this.animationSpeed * t);
                for (this._currentTime = Math.floor(this._currentTime); r >= this._durations[this.currentFrame];) r -= this._durations[this.currentFrame] * i, this._currentTime += i;
                this._currentTime += r / this._durations[this.currentFrame]
            } else this._currentTime += e;
            this._currentTime < 0 && !this.loop ? (this.gotoAndStop(0), this.onComplete && this.onComplete()) : this._currentTime >= this._textures.length && !this.loop ? (this.gotoAndStop(this._textures.length - 1), this.onComplete && this.onComplete()) : n !== this.currentFrame && (this.loop && this.onLoop && (this.animationSpeed > 0 && this.currentFrame < n ? this.onLoop() : this.animationSpeed < 0 && this.currentFrame > n && this.onLoop()), this.updateTexture())
        }, e.prototype.updateTexture = function() {
            this._texture = this._textures[this.currentFrame], this._textureID = -1, this._textureTrimmedID = -1, this._cachedTint = 16777215, this.uvs = this._texture._uvs.uvsFloat32, this.updateAnchor && this._anchor.copy(this._texture.defaultAnchor), this.onFrameChange && this.onFrameChange(this.currentFrame)
        }, e.prototype.destroy = function(e) {
            this.stop(), t.prototype.destroy.call(this, e), this.onComplete = null, this.onFrameChange = null, this.onLoop = null
        }, e.fromFrames = function(t) {
            for (var n = [], r = 0; r < t.length; ++r) n.push(Fe.from(t[r]));
            return new e(n)
        }, e.fromImages = function(t) {
            for (var n = [], r = 0; r < t.length; ++r) n.push(Fe.from(t[r]));
            return new e(n)
        }, n.totalFrames.get = function() {
            return this._textures.length
        }, n.textures.get = function() {
            return this._textures
        }, n.textures.set = function(t) {
            if (t[0] instanceof Fe) this._textures = t, this._durations = null;
            else {
                this._textures = [], this._durations = [];
                for (var e = 0; e < t.length; e++) this._textures.push(t[e].texture), this._durations.push(t[e].time)
            }
            this.gotoAndStop(0), this.updateTexture()
        }, n.currentFrame.get = function() {
            var t = Math.floor(this._currentTime) % this._textures.length;
            return t < 0 && (t += this._textures.length), t
        }, Object.defineProperties(e.prototype, n), e
    }(ti);
    hr.registerPlugin("accessibility", oe), hr.registerPlugin("extract", wr), hr.registerPlugin("interaction", Ir), hr.registerPlugin("particle", Yi), hr.registerPlugin("prepare", bi), hr.registerPlugin("batch", mr), hr.registerPlugin("tilingSprite", ro), Ui.registerPlugin(oo), Ui.registerPlugin(qi), Ti.registerPlugin(xe), Ti.registerPlugin(Qi);
    var yo = function() {},
        xo = {},
        mo = [],
        go = [];

    function wo(t, e) {
        var n, r, i, o, a = go;
        for (o = arguments.length; o-- > 2;) mo.push(arguments[o]);
        for (e && null != e.children && (mo.length || mo.push(e.children), delete e.children); mo.length;)
            if ((r = mo.pop()) && void 0 !== r.pop)
                for (o = r.length; o--;) mo.push(r[o]);
            else "boolean" == typeof r && (r = null), (i = "function" != typeof t) && (null == r ? r = "" : "number" == typeof r ? r = String(r) : "string" != typeof r && (i = !1)), i && n ? a[a.length - 1] += r : a === go ? a = [r] : a.push(r), n = i;
        var s = new yo;
        return s.nodeName = t, s.children = a, s.attributes = null == e ? void 0 : e, s.key = null == e ? void 0 : e.key, void 0 !== xo.vnode && xo.vnode(s), s
    }

    function vo(t, e) {
        for (var n in e) t[n] = e[n];
        return t
    }

    function bo(t, e) {
        null != t && ("function" == typeof t ? t(e) : t.current = e)
    }
    var _o = "function" == typeof Promise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;
    var So = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,
        Eo = [];

    function Co(t) {
        !t._dirty && (t._dirty = !0) && 1 == Eo.push(t) && (xo.debounceRendering || _o)(To)
    }

    function To() {
        for (var t; t = Eo.pop();) t._dirty && Yo(t)
    }

    function ko(t, e, n) {
        return "string" == typeof e || "number" == typeof e ? void 0 !== t.splitText : "string" == typeof e.nodeName ? !t._componentConstructor && Io(t, e.nodeName) : n || t._componentConstructor === e.nodeName
    }

    function Io(t, e) {
        return t.normalizedNodeName === e || t.nodeName.toLowerCase() === e.toLowerCase()
    }

    function Do(t) {
        var e = vo({}, t.attributes);
        e.children = t.children;
        var n = t.nodeName.defaultProps;
        if (void 0 !== n)
            for (var r in n) void 0 === e[r] && (e[r] = n[r]);
        return e
    }

    function Po(t) {
        var e = t.parentNode;
        e && e.removeChild(t)
    }

    function Ro(t, e, n, r, i) {
        if ("className" === e && (e = "class"), "key" === e);
        else if ("ref" === e) bo(n, null), bo(r, t);
        else if ("class" !== e || i)
            if ("style" === e) {
                if (r && "string" != typeof r && "string" != typeof n || (t.style.cssText = r || ""), r && "object" == typeof r) {
                    if ("string" != typeof n)
                        for (var o in n) o in r || (t.style[o] = "");
                    for (var o in r) t.style[o] = "number" == typeof r[o] && !1 === So.test(o) ? r[o] + "px" : r[o]
                }
            } else if ("dangerouslySetInnerHTML" === e) r && (t.innerHTML = r.__html || "");
        else if ("o" == e[0] && "n" == e[1]) {
            var a = e !== (e = e.replace(/Capture$/, ""));
            e = e.toLowerCase().substring(2), r ? n || t.addEventListener(e, Bo, a) : t.removeEventListener(e, Bo, a), (t._listeners || (t._listeners = {}))[e] = r
        } else if ("list" !== e && "type" !== e && !i && e in t) {
            try {
                t[e] = null == r ? "" : r
            } catch (t) {}
            null != r && !1 !== r || "spellcheck" == e || t.removeAttribute(e)
        } else {
            var s = i && e !== (e = e.replace(/^xlink:?/, ""));
            null == r || !1 === r ? s ? t.removeAttributeNS("http://www.w3.org/1999/xlink", e.toLowerCase()) : t.removeAttribute(e) : "function" != typeof r && (s ? t.setAttributeNS("http://www.w3.org/1999/xlink", e.toLowerCase(), r) : t.setAttribute(e, r))
        } else t.className = r || ""
    }

    function Bo(t) {
        return this._listeners[t.type](xo.event && xo.event(t) || t)
    }
    var Mo = [],
        Oo = 0,
        Lo = !1,
        Ho = !1;

    function zo() {
        for (var t; t = Mo.shift();) xo.afterMount && xo.afterMount(t), t.componentDidMount && t.componentDidMount()
    }

    function Fo(t, e, n, r, i, o) {
        Oo++ || (Lo = null != i && void 0 !== i.ownerSVGElement, Ho = null != t && !("__preactattr_" in t));
        var a = No(t, e, n, r, o);
        return i && a.parentNode !== i && i.appendChild(a), --Oo || (Ho = !1, o || zo()), a
    }

    function No(t, e, n, r, i) {
        var o = t,
            a = Lo;
        if (null != e && "boolean" != typeof e || (e = ""), "string" == typeof e || "number" == typeof e) return t && void 0 !== t.splitText && t.parentNode && (!t._component || i) ? t.nodeValue != e && (t.nodeValue = e) : (o = document.createTextNode(e), t && (t.parentNode && t.parentNode.replaceChild(o, t), Uo(t, !0))), o.__preactattr_ = !0, o;
        var s, A, h = e.nodeName;
        if ("function" == typeof h) return function(t, e, n, r) {
            var i = t && t._component,
                o = i,
                a = t,
                s = i && t._componentConstructor === e.nodeName,
                A = s,
                h = Do(e);
            for (; i && !A && (i = i._parentComponent);) A = i.constructor === e.nodeName;
            i && A && (!r || i._component) ? (Wo(i, h, 3, n, r), t = i.base) : (o && !s && (Ko(o), t = a = null), i = Xo(e.nodeName, h, n), t && !i.nextBase && (i.nextBase = t, a = null), Wo(i, h, 1, n, r), t = i.base, a && t !== a && (a._component = null, Uo(a, !1)));
            return t
        }(t, e, n, r);
        if (Lo = "svg" === h || "foreignObject" !== h && Lo, h = String(h), (!t || !Io(t, h)) && (s = h, (A = Lo ? document.createElementNS("http://www.w3.org/2000/svg", s) : document.createElement(s)).normalizedNodeName = s, o = A, t)) {
            for (; t.firstChild;) o.appendChild(t.firstChild);
            t.parentNode && t.parentNode.replaceChild(o, t), Uo(t, !0)
        }
        var c = o.firstChild,
            u = o.__preactattr_,
            l = e.children;
        if (null == u) {
            u = o.__preactattr_ = {};
            for (var d = o.attributes, p = d.length; p--;) u[d[p].name] = d[p].value
        }
        return !Ho && l && 1 === l.length && "string" == typeof l[0] && null != c && void 0 !== c.splitText && null == c.nextSibling ? c.nodeValue != l[0] && (c.nodeValue = l[0]) : (l && l.length || null != c) && function(t, e, n, r, i) {
                var o, a, s, A, h, c = t.childNodes,
                    u = [],
                    l = {},
                    d = 0,
                    p = 0,
                    f = c.length,
                    y = 0,
                    x = e ? e.length : 0;
                if (0 !== f)
                    for (var m = 0; m < f; m++) {
                        var g = c[m],
                            w = g.__preactattr_,
                            v = x && w ? g._component ? g._component.__key : w.key : null;
                        null != v ? (d++, l[v] = g) : (w || (void 0 !== g.splitText ? !i || g.nodeValue.trim() : i)) && (u[y++] = g)
                    }
                if (0 !== x)
                    for (var m = 0; m < x; m++) {
                        A = e[m], h = null;
                        var v = A.key;
                        if (null != v) d && void 0 !== l[v] && (h = l[v], l[v] = void 0, d--);
                        else if (p < y)
                            for (o = p; o < y; o++)
                                if (void 0 !== u[o] && ko(a = u[o], A, i)) {
                                    h = a, u[o] = void 0, o === y - 1 && y--, o === p && p++;
                                    break
                                } h = No(h, A, n, r), s = c[m], h && h !== t && h !== s && (null == s ? t.appendChild(h) : h === s.nextSibling ? Po(s) : t.insertBefore(h, s))
                    }
                if (d)
                    for (var m in l) void 0 !== l[m] && Uo(l[m], !1);
                for (; p <= y;) void 0 !== (h = u[y--]) && Uo(h, !1)
            }(o, l, n, r, Ho || null != u.dangerouslySetInnerHTML),
            function(t, e, n) {
                var r;
                for (r in n) e && null != e[r] || null == n[r] || Ro(t, r, n[r], n[r] = void 0, Lo);
                for (r in e) "children" === r || "innerHTML" === r || r in n && e[r] === ("value" === r || "checked" === r ? t[r] : n[r]) || Ro(t, r, n[r], n[r] = e[r], Lo)
            }(o, e.attributes, u), Lo = a, o
    }

    function Uo(t, e) {
        var n = t._component;
        n ? Ko(n) : (null != t.__preactattr_ && bo(t.__preactattr_.ref, null), !1 !== e && null != t.__preactattr_ || Po(t), Qo(t))
    }

    function Qo(t) {
        for (t = t.lastChild; t;) {
            var e = t.previousSibling;
            Uo(t, !0), t = e
        }
    }
    var jo = [];

    function Xo(t, e, n) {
        var r, i = jo.length;
        for (t.prototype && t.prototype.render ? (r = new t(e, n), Vo.call(r, e, n)) : ((r = new Vo(e, n)).constructor = t, r.render = Go); i--;)
            if (jo[i].constructor === t) return r.nextBase = jo[i].nextBase, jo.splice(i, 1), r;
        return r
    }

    function Go(t, e, n) {
        return this.constructor(t, n)
    }

    function Wo(t, e, n, r, i) {
        t._disable || (t._disable = !0, t.__ref = e.ref, t.__key = e.key, delete e.ref, delete e.key, void 0 === t.constructor.getDerivedStateFromProps && (!t.base || i ? t.componentWillMount && t.componentWillMount() : t.componentWillReceiveProps && t.componentWillReceiveProps(e, r)), r && r !== t.context && (t.prevContext || (t.prevContext = t.context), t.context = r), t.prevProps || (t.prevProps = t.props), t.props = e, t._disable = !1, 0 !== n && (1 !== n && !1 === xo.syncComponentUpdates && t.base ? Co(t) : Yo(t, 1, i)), bo(t.__ref, t))
    }

    function Yo(t, e, n, r) {
        if (!t._disable) {
            var i, o, a, s = t.props,
                A = t.state,
                h = t.context,
                c = t.prevProps || s,
                u = t.prevState || A,
                l = t.prevContext || h,
                d = t.base,
                p = t.nextBase,
                f = d || p,
                y = t._component,
                x = !1,
                m = l;
            if (t.constructor.getDerivedStateFromProps && (A = vo(vo({}, A), t.constructor.getDerivedStateFromProps(s, A)), t.state = A), d && (t.props = c, t.state = u, t.context = l, 2 !== e && t.shouldComponentUpdate && !1 === t.shouldComponentUpdate(s, A, h) ? x = !0 : t.componentWillUpdate && t.componentWillUpdate(s, A, h), t.props = s, t.state = A, t.context = h), t.prevProps = t.prevState = t.prevContext = t.nextBase = null, t._dirty = !1, !x) {
                i = t.render(s, A, h), t.getChildContext && (h = vo(vo({}, h), t.getChildContext())), d && t.getSnapshotBeforeUpdate && (m = t.getSnapshotBeforeUpdate(c, u));
                var g, w, v = i && i.nodeName;
                if ("function" == typeof v) {
                    var b = Do(i);
                    (o = y) && o.constructor === v && b.key == o.__key ? Wo(o, b, 1, h, !1) : (g = o, t._component = o = Xo(v, b, h), o.nextBase = o.nextBase || p, o._parentComponent = t, Wo(o, b, 0, h, !1), Yo(o, 1, n, !0)), w = o.base
                } else a = f, (g = y) && (a = t._component = null), (f || 1 === e) && (a && (a._component = null), w = Fo(a, i, h, n || !d, f && f.parentNode, !0));
                if (f && w !== f && o !== y) {
                    var _ = f.parentNode;
                    _ && w !== _ && (_.replaceChild(w, f), g || (f._component = null, Uo(f, !1)))
                }
                if (g && Ko(g), t.base = w, w && !r) {
                    for (var S = t, E = t; E = E._parentComponent;)(S = E).base = w;
                    w._component = S, w._componentConstructor = S.constructor
                }
            }
            for (!d || n ? Mo.push(t) : x || (t.componentDidUpdate && t.componentDidUpdate(c, u, m), xo.afterUpdate && xo.afterUpdate(t)); t._renderCallbacks.length;) t._renderCallbacks.pop().call(t);
            Oo || r || zo()
        }
    }

    function Ko(t) {
        xo.beforeUnmount && xo.beforeUnmount(t);
        var e = t.base;
        t._disable = !0, t.componentWillUnmount && t.componentWillUnmount(), t.base = null;
        var n = t._component;
        n ? Ko(n) : e && (null != e.__preactattr_ && bo(e.__preactattr_.ref, null), t.nextBase = e, Po(e), jo.push(t), Qo(e)), bo(t.__ref, null)
    }

    function Vo(t, e) {
        this._dirty = !0, this.context = e, this.props = t, this.state = this.state || {}, this._renderCallbacks = []
    }
    vo(Vo.prototype, {
        setState: function(t, e) {
            this.prevState || (this.prevState = this.state), this.state = vo(vo({}, this.state), "function" == typeof t ? t(this.state, this.props) : t), e && this._renderCallbacks.push(e), Co(this)
        },
        forceUpdate: function(t) {
            t && this._renderCallbacks.push(t), Yo(this, 2)
        },
        render: function() {}
    });
    var qo = {
            h: wo,
            createElement: wo,
            cloneElement: function(t, e) {
                return wo(t.nodeName, vo(vo({}, t.attributes), e), arguments.length > 2 ? [].slice.call(arguments, 2) : t.children)
            },
            createRef: function() {
                return {}
            },
            Component: Vo,
            render: function(t, e, n) {
                return Fo(n, t, {}, !1, e, !1)
            },
            rerender: To,
            options: xo
        },
        Jo = n(5),
        Zo = n.n(Jo);

    function $o(t, e) {
        this.x = t || 0, this.y = e || 0
    }
    Object.defineProperties($o.prototype, {
        width: {
            get: function() {
                return this.x
            },
            set: function(t) {
                this.x = t
            }
        },
        height: {
            get: function() {
                return this.y
            },
            set: function(t) {
                this.y = t
            }
        }
    }), Object.assign($o.prototype, {
        isVector2: !0,
        set: function(t, e) {
            return this.x = t, this.y = e, this
        },
        setScalar: function(t) {
            return this.x = t, this.y = t, this
        },
        setX: function(t) {
            return this.x = t, this
        },
        setY: function(t) {
            return this.y = t, this
        },
        setComponent: function(t, e) {
            switch (t) {
                case 0:
                    this.x = e;
                    break;
                case 1:
                    this.y = e;
                    break;
                default:
                    throw new Error("index is out of range: " + t)
            }
            return this
        },
        getComponent: function(t) {
            switch (t) {
                case 0:
                    return this.x;
                case 1:
                    return this.y;
                default:
                    throw new Error("index is out of range: " + t)
            }
        },
        clone: function() {
            return new this.constructor(this.x, this.y)
        },
        copy: function(t) {
            return this.x = t.x, this.y = t.y, this
        },
        add: function(t, e) {
            return void 0 !== e ? (console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."), this.addVectors(t, e)) : (this.x += t.x, this.y += t.y, this)
        },
        addScalar: function(t) {
            return this.x += t, this.y += t, this
        },
        addVectors: function(t, e) {
            return this.x = t.x + e.x, this.y = t.y + e.y, this
        },
        addScaledVector: function(t, e) {
            return this.x += t.x * e, this.y += t.y * e, this
        },
        sub: function(t, e) {
            return void 0 !== e ? (console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), this.subVectors(t, e)) : (this.x -= t.x, this.y -= t.y, this)
        },
        subScalar: function(t) {
            return this.x -= t, this.y -= t, this
        },
        subVectors: function(t, e) {
            return this.x = t.x - e.x, this.y = t.y - e.y, this
        },
        multiply: function(t) {
            return this.x *= t.x, this.y *= t.y, this
        },
        multiplyScalar: function(t) {
            return this.x *= t, this.y *= t, this
        },
        divide: function(t) {
            return this.x /= t.x, this.y /= t.y, this
        },
        divideScalar: function(t) {
            return this.multiplyScalar(1 / t)
        },
        applyMatrix3: function(t) {
            var e = this.x,
                n = this.y,
                r = t.elements;
            return this.x = r[0] * e + r[3] * n + r[6], this.y = r[1] * e + r[4] * n + r[7], this
        },
        min: function(t) {
            return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this
        },
        max: function(t) {
            return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this
        },
        clamp: function(t, e) {
            return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this
        },
        clampScalar: function(t, e) {
            return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this
        },
        clampLength: function(t, e) {
            var n = this.length();
            return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n)))
        },
        floor: function() {
            return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this
        },
        ceil: function() {
            return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this
        },
        round: function() {
            return this.x = Math.round(this.x), this.y = Math.round(this.y), this
        },
        roundToZero: function() {
            return this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x), this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y), this
        },
        negate: function() {
            return this.x = -this.x, this.y = -this.y, this
        },
        dot: function(t) {
            return this.x * t.x + this.y * t.y
        },
        cross: function(t) {
            return this.x * t.y - this.y * t.x
        },
        lengthSq: function() {
            return this.x * this.x + this.y * this.y
        },
        length: function() {
            return Math.sqrt(this.x * this.x + this.y * this.y)
        },
        manhattanLength: function() {
            return Math.abs(this.x) + Math.abs(this.y)
        },
        normalize: function() {
            return this.divideScalar(this.length() || 1)
        },
        angle: function() {
            var t = Math.atan2(this.y, this.x);
            return t < 0 && (t += 2 * Math.PI), t
        },
        distanceTo: function(t) {
            return Math.sqrt(this.distanceToSquared(t))
        },
        distanceToSquared: function(t) {
            var e = this.x - t.x,
                n = this.y - t.y;
            return e * e + n * n
        },
        manhattanDistanceTo: function(t) {
            return Math.abs(this.x - t.x) + Math.abs(this.y - t.y)
        },
        setLength: function(t) {
            return this.normalize().multiplyScalar(t)
        },
        lerp: function(t, e) {
            return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this
        },
        lerpVectors: function(t, e, n) {
            return this.subVectors(e, t).multiplyScalar(n).add(t)
        },
        equals: function(t) {
            return t.x === this.x && t.y === this.y
        },
        fromArray: function(t, e) {
            return void 0 === e && (e = 0), this.x = t[e], this.y = t[e + 1], this
        },
        toArray: function(t, e) {
            return void 0 === t && (t = []), void 0 === e && (e = 0), t[e] = this.x, t[e + 1] = this.y, t
        },
        fromBufferAttribute: function(t, e, n) {
            return void 0 !== n && console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."), this.x = t.getX(e), this.y = t.getY(e), this
        },
        rotateAround: function(t, e) {
            var n = Math.cos(e),
                r = Math.sin(e),
                i = this.x - t.x,
                o = this.y - t.y;
            return this.x = i * n - o * r + t.x, this.y = i * r + o * n + t.y, this
        },
        normal: function() {
            var t = new $o(this.x, this.y);
            return t.rotateAround({
                x: 0,
                y: 0
            }, 90 * Math.PI / 180), t.normalize()
        }
    });
    var ta = $o,
        ea = function(t) {
            function e(t) {
                var n, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 65535;
                return d()(this, e), (n = x()(this, g()(e).call(this))).target = null, n.color = 0, n.lastPositions = [], n.maxLength = 20, n.target = t, n.color = r, n
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function(t) {
                    var n = this;
                    this.lastPositions.push({
                        x: this.target.position.x,
                        y: this.target.position.y
                    }), this.clear(), this.lineStyle(Sc.SCALE, this.color, 1), this.moveTo(this.lastPositions[0].x, this.lastPositions[0].y), this.lastPositions.forEach(function(t, e) {
                        n.lineStyle(20 * Sc.SCALE * (e / n.maxLength), n.color, e / n.maxLength), n.lineTo(t.x, t.y)
                    }), this.lastPositions.length > this.maxLength && this.lastPositions.shift(), Zo()(g()(e.prototype), "render", this).call(this, t)
                }
            }, {
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.target = null
                }
            }]), e
        }(Jr),
        na = function(t) {
            function e(t, n, r, i, o) {
                var a;
                return d()(this, e), (a = x()(this, g()(e).call(this, t))).target = n, a.container = r, a.px = i, a.py = o, a.anchor = n.anchor, a.scale = n.scale, a.tint = 0, a.alpha = .5, a
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function(t) {
                    this.texture !== this.target.texture && (this.texture = this.target.texture), this.scale = this.target.scale, this.target !== this.container && (this.x = this.px * Math.cos(this.container.rotation) + this.py * Math.sin(this.container.rotation), this.y = this.px * Math.sin(this.container.rotation) + this.py * Math.cos(this.container.rotation)), Zo()(g()(e.prototype), "render", this).call(this, t)
                }
            }]), e
        }(ti);

    function ra(t, e, n, r) {
        return new na(t.texture, t, e, n, r)
    }
    var ia = 1.075,
        oa = 1.2,
        aa = {};

    function sa(t) {
        var e = t.id;
        return aa[e] ? aa[e] : (aa[e] = new Ki(Sc.instance.resources[t.texture].texture.baseTexture, Sc.instance.resources[t.atlas]), aa[e].parse(function() {}), aa[e])
    }
    var Aa = function(t) {
            function e(t) {
                var n;
                return d()(this, e), (n = x()(this, g()(e).call(this))).radius = .017, n.r = 0, n.theta = 0, n.vtheta = 0, n.speed = new ta(0, 0), n.acceleration = new ta(0, 0), n.hook = null, n.rope = null, n.hookPullRemaining = 0, n.applyGravity = !0, n.trail = null, n.sprite = null, n.shadow = null, n.skin = null, n.angularVelocity = 0, n.step = function(t) {
                    if (n.hook) {
                        n.hookPullRemaining > 0 && (n.r -= .3 * Math.min(t, n.hookPullRemaining), n.r < .05 && (n.r = .05, n.hookPullRemaining = 0), n.hookPullRemaining -= t);
                        var e = -Sc.instance.gravity.y * Math.sin(n.theta) / n.r;
                        n.vtheta += e * t, n.theta += n.vtheta * t, n.position.set(n.r * Math.sin(n.theta) + n.hook.position.x, n.r * Math.cos(n.theta) + n.hook.position.y), n.rotation = -n.theta, n.rope.rotation = -n.theta + Math.PI / 2, n.rope.position.set(n.hook.position.x, n.hook.position.y), n.rope.visible = !0, n.rope.scale.x = n.r, n.vtheta > 0 ? n.scale.x = n.scale.y : (n.scale.x = -n.scale.y, n.shadow.x *= -1), Math.abs(n.vtheta) < .5 ? n.gotoFrame("hooked0") : n.theta < 0 && n.vtheta < 0 || n.theta > 0 && n.vtheta > 0 ? n.gotoFrame("hooked1") : n.gotoFrame("hooked2"), n.speed.set(n.r * n.vtheta * Math.cos(n.theta), -n.r * n.vtheta * Math.sin(n.theta), 0)
                    } else {
                        n.acceleration = n.speed.clone().multiplyScalar(-Sc.AIR_FRICTION), n.applyGravity && n.acceleration.add(Sc.instance.gravity), n.speed.add(n.acceleration.clone().multiplyScalar(t));
                        var r = n.speed.clone().multiplyScalar(t);
                        n.position.set(n.position.x + r.x, n.position.y + r.y), n.rotation += n.angularVelocity * t
                    }
                }, n.hookTo = function(t) {
                    var e = {
                        x: -1 * (t.position.x - n.position.x),
                        y: 1 * (t.position.y - n.position.y)
                    };
                    n.theta = Math.atan2(e.x, -e.y), n.r = Math.sqrt(e.x * e.x + e.y * e.y), n.vtheta = -(Math.cos(n.theta) * -n.speed.x + Math.sin(n.theta) * n.speed.y) / n.r, n.vtheta *= ia, n.hook = t, n.hookPullRemaining = .2, n.parent.addChildAt(n.rope, 1), n.gotoFrame("hooked2")
                }, n.unhook = function() {
                    n.hook && (n.speed.multiplyScalar(oa), n.angularVelocity = 20 * n.speed.x, n.parent.removeChild(n.rope), n.hook = null, n.hookPullRemaining = 0, n.gotoFrame("ball"), n.scale.x = n.scale.y)
                }, n.onHit = function(t) {
                    n.hookPullRemaining = 0, n.hook || (n.gotoFrame("ball"), n.angularVelocity = 20 * n.speed.x)
                }, n.skin = t, n.sprite = new fo(sa(n.skin).animations[t.id]), n.sprite.anchor.set(.5, .5), n.rope = new Jr, n.rope.lineStyle(.002, 16777215).moveTo(0, 0).lineTo(1, 0), n.on("added", function(t) {
                    n.trail = new ea(v()(n));
                    var e = n.parent.getChildIndex(v()(n));
                    n.parent.addChildAt(n.trail, e)
                }), n.scale.set(.5 * Sc.SCALE), n.gotoFrame("spawn"), n.shadow = ra(n.sprite, v()(n), 0, 20), n.addChild(n.shadow), n.addChild(n.sprite), n
            }
            return _()(e, t), f()(e, [{
                key: "gotoFrame",
                value: function(t) {
                    this.sprite.gotoAndStop(this.skin.frames[t])
                }
            }, {
                key: "dance",
                value: function() {
                    this.sprite.textures = sa(this.skin).animations.dance, this.sprite.loop = !0, this.sprite.animationSpeed = .125, this.sprite.play()
                }
            }, {
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.trail && (this.trail.destroy(), this.trail = null), this.shadow && (this.shadow.destroy(), this.shadow = null)
                }
            }]), e
        }(ie),
        ha = n(29),
        ca = n.n(ha),
        ua = n(13),
        la = n.n(ua),
        da = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.text,
                        n = t.onClick,
                        r = t.image,
                        i = t.selected,
                        o = t.locked,
                        a = t.type,
                        s = t.loading,
                        A = t.disabled;
                    return qo.h("button", {
                        class: "shop-button button ".concat(i ? "selected" : "", " ").concat(o ? "locked" : "unlocked", " ").concat(s ? "loading" : "", " type-").concat(a, " ").concat(A ? "disabled" : ""),
                        onClick: n
                    }, r ? qo.h("img", {
                        class: "image",
                        src: r
                    }) : null, qo.h("span", {
                        class: "text"
                    }, e), o ? qo.h("img", {
                        class: "lock",
                        src: ca.a
                    }) : null, s ? qo.h("img", {
                        class: "load-icon",
                        src: la.a
                    }) : null)
                }
            }]), e
        }(qo.Component),
        pa = n(30),
        fa = n.n(pa),
        ya = n(31),
        xa = n.n(ya),
        ma = n(32),
        ga = n.n(ma),
        wa = n(33),
        va = n.n(wa),
        ba = n(34),
        _a = n.n(ba),
        Sa = n(35),
        Ea = n.n(Sa),
        Ca = n(36),
        Ta = n.n(Ca),
        ka = n(37),
        Ia = n.n(ka),
        Da = n(38),
        Pa = n.n(Da),
        Ra = n(39),
        Ba = n.n(Ra),
        Ma = n(40),
        Oa = n.n(Ma),
        La = n(41),
        Ha = n.n(La),
        za = n(42),
        Fa = n.n(za),
        Na = n(43),
        Ua = n.n(Na),
        Qa = n(44),
        ja = n.n(Qa),
        Xa = n(45),
        Ga = n.n(Xa),
        Wa = n(46),
        Ya = n.n(Wa),
        Ka = n(47),
        Va = n.n(Ka),
        qa = n(48),
        Ja = n.n(qa),
        Za = n(49),
        $a = n.n(Za),
        ts = n(50),
        es = n.n(ts),
        ns = n(51),
        rs = n.n(ns),
        is = n(52),
        os = n.n(is);

    function as(t) {
        return !t.condition || (t.condition.level <= Sc.instance.level + 1 || !(!t.condition.ad && !t.condition.shortcut) && (Sc.instance.playerInfos && Sc.instance.playerInfos.unlockedSkins && Sc.instance.playerInfos.unlockedSkins.includes(t.id)))
    }

    function ss() {
        return As.reduce(function(t, e) {
            var n = as(e);
            return t.unlocked += n ? 1 : 0, t.total += !e.hidden || n ? 1 : 0, t
        }, {
            unlocked: 0,
            total: 0
        })
    }
    var As = [{
            id: "CHAR_Classic",
            name: "Classic",
            type: "level",
            thumbnail: fa.a,
            texture: "stickman_classic_texture",
            atlas: "stickman_classic_json",
            description: "The Original",
            frames: {
                spawn: 6,
                hooked0: 5,
                hooked1: 1,
                hooked2: 0,
                ball: 13,
                victory: 8
            }
        }, {
            id: "CHAR_Dragon",
            name: "Dragon",
            type: "rewarded",
            thumbnail: Ja.a,
            texture: "stickman_dragon_texture",
            atlas: "stickman_dragon_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_StickPlant",
            name: "Plant",
            type: "level",
            thumbnail: xa.a,
            texture: "stickman_plant_texture",
            atlas: "stickman_plant_json",
            condition: {
                level: 5
            },
            description: "Finish Level 5",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Momie",
            name: "Mummy",
            type: "level",
            thumbnail: ga.a,
            texture: "stickman_momie_texture",
            atlas: "stickman_momie_json",
            condition: {
                level: 10
            },
            description: "Finish Level 10",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_AngelStick",
            name: "Angel",
            type: "level",
            thumbnail: Ea.a,
            texture: "stickman_angel_texture",
            atlas: "stickman_angel_json",
            condition: {
                level: 20
            },
            description: "Finish Level 20",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_EvilStick",
            name: "Evil",
            type: "level",
            thumbnail: Pa.a,
            texture: "stickman_evil_texture",
            atlas: "stickman_evil_json",
            condition: {
                level: 30
            },
            description: "Finish Level 30",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_RainbowStick",
            name: "Rainbow",
            type: "level",
            thumbnail: Ba.a,
            texture: "stickman_rainbow_texture",
            atlas: "stickman_rainbow_json",
            condition: {
                level: 50
            },
            description: "Finish Level 50",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_StickOuech",
            name: "Thug",
            type: "level",
            thumbnail: Oa.a,
            texture: "stickman_wesh_texture",
            atlas: "stickman_wesh_json",
            condition: {
                level: 75
            },
            description: "Finish Level 75",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_KingStick",
            name: "King",
            type: "level",
            thumbnail: Ha.a,
            texture: "stickman_king_texture",
            atlas: "stickman_king_json",
            condition: {
                level: 100
            },
            description: "Finish Level 100",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_SuperStick",
            name: "SuperStick",
            type: "level",
            thumbnail: Ya.a,
            texture: "stickman_super_texture",
            atlas: "stickman_super_json",
            condition: {
                level: 150
            },
            description: "Finish Level 150",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Burger",
            name: "Burger",
            type: "rewarded",
            thumbnail: va.a,
            texture: "stickman_burger_texture",
            atlas: "stickman_burger_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Cactus",
            name: "Cactus",
            type: "rewarded",
            thumbnail: _a.a,
            texture: "stickman_cactus_texture",
            atlas: "stickman_cactus_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 2,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 3
            }
        }, {
            id: "CHAR_Corgi",
            name: "Corgi",
            type: "rewarded",
            thumbnail: Ta.a,
            texture: "stickman_corgi_texture",
            atlas: "stickman_corgi_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Unicorn",
            name: "Unicorn",
            type: "rewarded",
            thumbnail: Ia.a,
            texture: "stickman_unicorn_texture",
            atlas: "stickman_unicorn_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 0,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Banana",
            name: "Banana",
            type: "rewarded",
            thumbnail: Fa.a,
            texture: "stickman_banana_texture",
            atlas: "stickman_banana_json",
            description: "Watch 1 video",
            frames: {
                spawn: 2,
                hooked0: 4,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 3
            }
        }, {
            id: "CHAR_Ninja",
            name: "Ninja",
            type: "rewarded",
            thumbnail: Ua.a,
            texture: "stickman_ninja_texture",
            atlas: "stickman_ninja_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "AN_Sheep",
            name: "Sheep",
            type: "rewarded",
            thumbnail: ja.a,
            texture: "stickman_sheep_texture",
            atlas: "stickman_sheep_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "v03_CHAR_Panda",
            name: "Panda",
            type: "rewarded",
            thumbnail: Ga.a,
            texture: "stickman_panda_texture",
            atlas: "stickman_panda_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_RobotMan",
            name: "Robot",
            type: "rewarded",
            thumbnail: Va.a,
            texture: "stickman_robot_texture",
            atlas: "stickman_robot_json",
            description: "Watch 1 video",
            frames: {
                spawn: 3,
                hooked0: 2,
                hooked1: 0,
                hooked2: 5,
                ball: 4,
                victory: 1
            }
        }, {
            id: "CHAR_TikiMan",
            name: "Tiki",
            type: "rewarded",
            thumbnail: $a.a,
            texture: "stickman_tikiman_texture",
            atlas: "stickman_tikiman_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_HotDog",
            name: "Tiki",
            type: "rewarded",
            thumbnail: es.a,
            texture: "stickman_hotdog_texture",
            atlas: "stickman_hotdog_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_LemonMan",
            name: "LemonMan",
            type: "rewarded",
            thumbnail: rs.a,
            texture: "stickman_lemonman_texture",
            atlas: "stickman_lemonman_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }, {
            id: "CHAR_Plant",
            name: "PlantMonster",
            type: "rewarded",
            thumbnail: os.a,
            texture: "stickman_plantmonster_texture",
            atlas: "stickman_plantmonster_json",
            description: "Watch 1 video",
            frames: {
                spawn: 4,
                hooked0: 3,
                hooked1: 1,
                hooked2: 0,
                ball: 5,
                victory: 2
            }
        }],
        hs = As,
        cs = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    skinIndex: 0
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    var t = this;
                    this.interval = setInterval(function() {
                        t.setState({
                            skinIndex: (t.state.skinIndex + 1) % hs.length
                        })
                    }, 500)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    clearInterval(this.interval)
                }
            }, {
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.text,
                        n = t.onClick,
                        r = hs[this.state.skinIndex].thumbnail;
                    return qo.h(da, {
                        text: e,
                        onClick: n,
                        image: r
                    })
                }
            }]), e
        }(qo.Component),
        us = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.onClick,
                        n = t.children;
                    return qo.h("button", {
                        class: "share-button button",
                        onClick: e
                    }, n && n.length ? n : "SHARE")
                }
            }]), e
        }(qo.Component),
        ls = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {}, r.createShortcutAsync = null, r.onKeyPress = function(t) {
                    32 === t.keyCode && Sc.instance.gotoNextLevel()
                }, r.onCanCreateShortcut = function(t) {
                    var e = t.canCreateShortcut,
                        n = t.createShortcutAsync;
                    r.createShortcutAsync = n, r.setState({
                        canCreateShortcut: e
                    })
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    Sc.instance.eventEmitter.addListener("canCreateShortcut", this.onCanCreateShortcut), document.addEventListener("keypress", this.onKeyPress)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    Sc.instance.eventEmitter.removeListener("canCreateShortcut", this.onCanCreateShortcut), this.createShortcutAsync = null, document.removeEventListener("keypress", this.onKeyPress)
                }
            }, {
                key: "render",
                value: function() {
                    var t = this,
                        e = ss(),
                        n = e.unlocked,
                        r = e.total;
                    return qo.h("div", {
                        class: "title-buttons"
                    }, this.state.canCreateShortcut ? qo.h("div", {
                        class: "row present-row clickable",
                        onClick: function() {
                            t.createShortcutAsync().then(function() {
                                t.setState({
                                    canCreateShortcut: !1
                                })
                            }).catch(function() {
                                t.setState({
                                    canCreateShortcut: !1
                                })
                            })
                        }
                    }, qo.h("button", {
                        class: "present-button button"
                    }), qo.h("span", null, "Add to homescreen"), qo.h("button", {
                        class: "add-button button"
                    })) : null, qo.h("div", {
                        class: "row"
                    }, qo.h("button", {
                        class: "play-button button",
                        onClick: function() {
                            return Sc.instance.gotoNextLevel()
                        }
                    }, "PLAY", qo.h("br", null), Sc.instance.level + 1, " / ", Sc.instance.fakeMaxLevel), qo.h(cs, {
                        onClick: function() {
                            return Sc.instance.gotoShop()
                        },
                        text: "".concat(n, "/").concat(r)
                    })), qo.h("div", {
                        class: "row"
                    }, Sc.instance.features.share ? qo.h(us, {
                        onClick: function() {
                            return Sc.instance.eventEmitter.emit("playWith", null)
                        }
                    }, "Challenge", qo.h("br", null), "a friend") : null, Sc.instance.features.leaderboard ? qo.h("button", {
                        class: "leaderboard-button button",
                        onClick: function() {
                            return Sc.instance.gotoLeaderboard()
                        }
                    }, "Leaderboard") : null))
                }
            }]), e
        }(qo.Component),
        ds = function(t) {
            function e() {
                var t;
                return d()(this, e), (t = x()(this, g()(e).call(this))).uiComponent = ls, t.sceneName = "title", t.onResize = function() {
                    t.bg.width = 100, t.bg.height = 1, t.title.scale.set(1.75 * Sc.SCALE), t.title.x = Sc.instance.width / Sc.instance.height / 2, t.title.y = t.title.height / 2.5, t.shadow.x = t.title.x, t.shadow.y = t.title.y + .008, t.hook.position.x = t.title.x + t.title.width / 13, t.hook.position.y = t.title.y + t.title.height / 6, t.stickman.scale.set(1 * Sc.SCALE)
                }, t.step = function(e) {
                    t.stickman.step(e)
                }, t.bg = new ti(Sc.instance.resources.background_1.texture), t.title = new ti(Sc.instance.resources.title.texture), t.title.anchor.set(.5, .5), t.shadow = ra(t.title, t.title, 0, 0), t.stickman = new Aa(Sc.instance.playerSkin), t.addChild(t.bg), t.addChild(t.shadow), t.addChild(t.title), t.addChild(t.stickman), t.hook = {
                    position: {
                        x: 0,
                        y: 0
                    }
                }, t.onResize(), t.stickman.position.set(Sc.instance.width / Sc.instance.height * .4, t.hook.position.y + .2), t.stickman.hookTo(t.hook), t
            }
            return _()(e, t), f()(e, [{
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.stickman = null, this.title = null, this.shadow = null, this.bg = null
                }
            }]), e
        }(ie),
        ps = null;
    var fs = 1.2,
        ys = function(t) {
            function e(t, n, r, i, o) {
                var a;
                return d()(this, e), (a = x()(this, g()(e).call(this))).onHit = function(t) {
                    a.sprite.playing || a.sprite.gotoAndPlay(0)
                }, a.position.set(t.x, t.y), a.rotation = n, a.w = r, a.h = i, a.bounciness = o && o.bounce || fs, a.maxSpeed = 3, a.minSpeed = .1, a.bounceForce = o ? o.force : void 0, a.bounceAngle = o ? o.angle : void 0, a.scale.set(Sc.SCALE), a.sprite = new fo((ps || ((ps = new Ki(Sc.instance.resources.bumper_texture.texture.baseTexture, Sc.instance.resources.bumper_json)).parse(function() {}), ps)).animations.AN_Grap1_BumperLarge), a.sprite.anchor.set(.49, .635), a.addChild(a.sprite), a.radius = Math.sqrt(a.w * a.w, a.h * a.h), a.sprite.animationSpeed = .5, a.sprite.loop = !1, a.sprite.gotoAndStop(4), a.shadow = ra(a.sprite, v()(a), 0, 20), a.addChildAt(a.shadow, 0), a
            }
            return _()(e, t), f()(e, [{
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.sprite.destroy(), this.shadow.destroy(), this.sprite = null, this.shadow = null
                }
            }]), e
        }(ie),
        xs = function(t) {
            function e(t) {
                var n;
                return d()(this, e), (n = x()(this, g()(e).call(this))).sprite = null, n.nearSprite = null, n.activeSprite = null, n.step = function(t) {
                    n.nearSprite.visible && n.nearSprite.scale.set(Math.min(n.nearSprite.scale.x + 5 * t, 1))
                }, n.position.set(t.x, t.y), n.scale.set(Sc.SCALE), n.sprite = new ti(Sc.instance.resources.hook.texture), n.sprite.anchor.set(.5, .5), n.addChild(n.sprite), n.nearSprite = new ti(Sc.instance.resources.hook_near.texture), n.nearSprite.anchor.set(.5), n.addChild(n.nearSprite), n.isNear(!1), n.activeSprite = new ti(Sc.instance.resources.hook_active.texture), n.activeSprite.anchor.set(.5), n.addChild(n.activeSprite), n.isActive(!1), n
            }
            return _()(e, t), f()(e, [{
                key: "isNear",
                value: function(t) {
                    this.nearSprite.visible = t, this.nearSprite.scale.set(.4)
                }
            }, {
                key: "isActive",
                value: function(t) {
                    this.activeSprite.visible = t
                }
            }]), e
        }(ie);
    var ms = function(t, e, n) {
            if (0 === n) return !1;
            var r = e.x - t.x,
                i = e.y - t.y;
            return r * r + i * i <= n * n
        },
        gs = {
            x: 0,
            y: 0
        };
    var ws = function(t, e, n, r) {
        if (ms(t, n, r)) return t;
        if (ms(e, n, r)) return e;
        var i = t.x,
            o = t.y,
            a = e.x,
            s = e.y,
            A = n.x,
            c = n.y,
            u = a - i,
            l = s - o,
            d = u * u + l * l,
            p = u,
            f = l;
        if (d > 0) {
            var y = ((A - i) * u + (c - o) * l) / d;
            p *= y, f *= y
        }
        var x = gs;
        x.x = i + p, x.y = o + f;
        var m = p * p + f * f;
        return !!(ms(x, n, r) && m <= d && p * u + f * l >= 0) && h()({}, x)
    };

    function vs(t, e) {
        var n = function(t, e) {
            if (!e.w) return !1;
            var n = {
                    width: e.w,
                    height: e.h
                },
                r = {
                    x: t.position.x - e.position.x,
                    y: t.position.y - e.position.y
                },
                i = r.x * r.x + r.y * r.y,
                o = t.radius + e.radius;
            if (i > o * o) return !1;
            var a = e.rotation,
                s = bs(r, a);
            return !(Math.abs(s.x) > n.width / 2 + t.radius || Math.abs(s.y) > n.height / 2 + t.radius) && s
        }(t, e);
        if (n) {
            t.onHit && t.onHit(e), e.onHit && e.onHit(t);
            var r = e.bounciness || fs;
            if (t.hook) {
                if (t.ignoreNextCollision) return;
                return t.ignoreNextCollision = !0, t.theta -= t.vtheta / 60, void(e.bounceForce ? t.vtheta = e.bounceForce * (t.vtheta > 0 ? -1 : 1) / t.r : (t.vtheta *= -r, t.vtheta * t.r > 3 && (t.vtheta = 3 / t.r)))
            }
            var i, o = e.rotation,
                a = bs(t.speed, o),
                s = bs(t.position, o),
                A = bs(e.position, o),
                h = e.w,
                c = e.h,
                u = Math.abs(n.y) - c / 2 > Math.abs(n.x) - h / 2,
                l = u ? "y" : "x";
            i = u ? n.y > 0 ? A.y + c / 2 + t.radius : A.y - c / 2 - t.radius : n.x > 0 ? A.x + h / 2 + t.radius : A.x - h / 2 - t.radius, e.bounceForce ? a[l] = e.bounceForce * (a[l] > 0 ? -1 : 1) : a[l] *= -1 * r;
            var d = a[l] > 0 ? 1 : -1;
            e.minSpeed && (a[l] = Math.max(Math.abs(a[l]), e.minSpeed) * d), e.maxSpeed && (a[l] = Math.min(Math.abs(a[l]), e.maxSpeed) * d), s[l] = 2 * i - s[l], t.speed.copy(bs(a, -o)), void 0 !== e.bounceAngle && t.speed.rotateAround({
                x: 0,
                y: 0
            }, -t.speed.angle() + e.bounceAngle);
            var p = bs(s, -o);
            t.position.x = p.x, t.position.y = p.y
        }
    }

    function bs(t, e) {
        var n = new ta;
        return n.set(t.x * Math.cos(e) + t.y * Math.sin(e), -t.x * Math.sin(e) + t.y * Math.cos(e), t.z), n
    }
    var _s = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    percent: 0
                }, r.onProgress = function(t) {
                    r.setState({
                        percent: t
                    })
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    Sc.instance.eventEmitter.addListener("levelProgress", this.onProgress)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    Sc.instance.eventEmitter.removeListener("levelProgress", this.onProgress)
                }
            }, {
                key: "render",
                value: function() {
                    return qo.h("div", {
                        class: "level-progressbar",
                        style: {
                            width: "".concat(this.state.percent, "%")
                        }
                    })
                }
            }]), e
        }(qo.Component),
        Ss = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    return qo.h("span", {
                        class: "level-progressbar-container"
                    }, qo.h(_s, null))
                }
            }]), e
        }(qo.Component),
        Es = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    complete: !1
                }, r.onComplete = function() {
                    r.state.complete || r.setState({
                        complete: !0
                    })
                }, r.onPause = function() {
                    setTimeout(function() {
                        document.addEventListener("click", r.onClickOutside), document.addEventListener("touchend", r.onClickOutside)
                    }, 0), r.forceUpdate()
                }, r.onResume = function() {
                    document.removeEventListener("click", r.onClickOutside), document.removeEventListener("touchend", r.onClickOutside), r.forceUpdate()
                }, r.onClickOutside = function(t) {
                    t.target && t.target.className && t.target.className.includes("button") || Sc.instance.resume()
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    Sc.instance.eventEmitter.addListener("levelComplete", this.onComplete), Sc.instance.eventEmitter.addListener("pause", this.onPause), Sc.instance.eventEmitter.addListener("resume", this.onResume)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    Sc.instance.eventEmitter.removeListener("levelComplete", this.onComplete), Sc.instance.eventEmitter.removeListener("pause", this.onPause), Sc.instance.eventEmitter.removeListener("resume", this.onResume), document.removeEventListener("click", this.onClickOutside), document.removeEventListener("touchend", this.onClickOutside)
                }
            }, {
                key: "render",
                value: function() {
                    var t = this.state.complete,
                        e = Sc.instance.paused;
                    return qo.h("div", null, t ? null : qo.h("button", {
                        class: "button ".concat(e ? "back-button" : "pause-button"),
                        onClick: function(t) {
                            e ? (Sc.instance.eventEmitter.emit("levelAbandon", {
                                level: Sc.instance.level
                            }), Sc.instance.gotoTitle(), Sc.instance.resume()) : Sc.instance.pause()
                        }
                    }), qo.h("div", {
                        class: "level-progress"
                    }, qo.h("span", {
                        class: "lvl current"
                    }, Sc.instance.level + 1), qo.h(Ss, null), qo.h("span", {
                        class: "lvl next"
                    }, Sc.instance.level + 2), t ? qo.h("p", {
                        class: "level-cleared"
                    }, "Level cleared!") : null))
                }
            }]), e
        }(qo.Component);

    function Cs(t, e, n, r, i) {
        return r * ((e = e / i - 1) * e * e + 1) + n
    }
    var Ts = null;
    var ks = function(t) {
            function e(t) {
                var n;
                return d()(this, e), (n = x()(this, g()(e).call(this, (Ts || ((Ts = new Ki(Sc.instance.resources.fxspawn_texture.texture.baseTexture, Sc.instance.resources.fxspawn_json)).parse(function() {}), Ts)).animations.FX_Spawn))).position.set(t.x, t.y), n.scale.set(Sc.SCALE), n.anchor.set(.5, .5), n.loop = !1, n.animationSpeed = .5, n.play(), n.onComplete = n.destroy, n
            }
            return _()(e, t), e
        }(fo),
        Is = new ta,
        Ds = function(t) {
            function e(t, n, r) {
                var i;
                return d()(this, e), (i = x()(this, g()(e).call(this, Sc.instance.resources[t].texture))).name = t, i.rawShapes = Sc.instance.resources.obstacles_physics[t], i.scale.set(Sc.SCALE), i.anchor.set(.5, .5), i.position.x = n.x, i.position.y = n.y, i.rotation = r, i.invalidateShapes(), i
            }
            return _()(e, t), f()(e, [{
                key: "invalidateShapes",
                value: function() {
                    var t = this.texture.width / 2,
                        e = this.texture.height / 2;
                    this.shapes = [], this.radius = 0;
                    for (var n = 0; n < this.rawShapes.length; n++) {
                        for (var r = [], i = this.rawShapes[n].shape, o = 0; o < i.length; o += 2) {
                            Is.x = i[o] - t, Is.y = i[o + 1] - e, Is.rotateAround({
                                x: 0,
                                y: 0
                            }, this.rotation || 0), Is.x *= this.scale.x, Is.y *= this.scale.y;
                            var a = Math.sqrt(Is.x * Is.x + Is.y * Is.y);
                            a > this.radius && (this.radius = a), Is.x += this.position.x, Is.y += this.position.y, r.push({
                                x: Is.x,
                                y: Is.y
                            })
                        }
                        this.shapes.push(r)
                    }
                    return this.shapes
                }
            }]), e
        }(ti),
        Ps = .2,
        Rs = 4,
        Bs = "classic",
        Ms = function(t) {
            function e(t, n) {
                var r;
                if (d()(this, e), (r = x()(this, g()(e).call(this))).uiComponent = Es, r.sceneName = "level", r.id = 0, r.ld = null, r._zoom = 1, r.ratio = 1, r.stickman = null, r.spawnPoint = null, r.bumpers = [], r.hooks = [], r.obstacles = [], r.container = null, r.closestHook = null, r.finishLine = null, r.completed = !1, r.confettis = [], r.progress = 0, r.cameraXOffset = 0, r.attempts = 0, r.spawnTime = 0, r.pausable = !0, r.onResize = function() {}, r.substep = function(t) {
                        r.stickman && r.stickman.step(t), r.bumpers.forEach(function(t) {
                            vs(r.stickman, t)
                        }), r.obstacles.forEach(function(t) {
                            return function(t, e) {
                                var n = t.position.x - e.position.x,
                                    r = t.position.y - e.position.y,
                                    i = n * n + r * r,
                                    o = t.radius + e.radius;
                                if (!(i > o * o)) {
                                    var a = e.shapes,
                                        s = null,
                                        A = null;
                                    if (a.some(function(e) {
                                            for (var n = 0; n < e.length; n++) {
                                                var r = e[n],
                                                    i = e[n < e.length - 1 ? n + 1 : 0];
                                                if (A = ws(r, i, t.position, t.radius)) return s = A === r || A === i ? new ta(-A.x + t.position.x, -A.y + t.position.y).normal() : new ta(i.x - r.x, i.y - r.y), A
                                            }
                                        })) {
                                        var h = !!t.hookPullRemaining;
                                        if (t.onHit(e), t.hook) t.ignoreNextCollision = !0, t.theta -= t.vtheta / 60, h ? t.r += .01 : t.vtheta *= -.1;
                                        else {
                                            var c = s.clone().normal().setLength(t.radius + 1e-4);
                                            t.position.x = A.x - c.x, t.position.y = A.y - c.y;
                                            var u = s.angle(),
                                                l = bs(t.speed, u),
                                                d = bs(s.normal(), u);
                                            l[Math.abs(d.y) > Math.abs(d.x) ? "y" : "x"] *= -.1, t.speed = bs(l, -u), t.angularVelocity = 20 * t.speed.x
                                        }
                                    }
                                }
                            }(r.stickman, t)
                        })
                    }, r.step = function(t) {
                        var e = r.completed ? t * Ps : t;
                        r.stickman.ignoreNextCollision = !1;
                        for (var n = 0; n < Rs; n++) r.substep(e / Rs);
                        var i = r.findClosestHook();
                        i !== r.closestHook && (i.isNear(!0), r.closestHook && r.closestHook.isNear(!1), r.closestHook = i), r.closestHook.step(e), !r.completed && r.stickman.x > r.finishLine.x && r.onComplete(), !r.completed && (r.stickman.y > 1.15 || r.stickman.x < 0) && !r.stickman.hook && r.stickman.speed.y > 0 && r.onDead(), r.updateCamera(t), r.confettis.forEach(function(t) {
                            t.x += t.vx * e, t.y += t.vy * e
                        });
                        var o = (r.stickman.x - r.ld.spawnPoint.x) / (r.finishLine.x - r.ld.spawnPoint.x);
                        o > r.progress && (r.progress = Math.min(1, o), Sc.instance.eventEmitter.emit("levelProgress", 100 * r.progress))
                    }, r.onMouseDown = function() {
                        Sc.instance.paused || r.completed || r.stickman.hook || !r.closestHook || (r.stickman.hookTo(r.closestHook), r.closestHook.isActive(!0))
                    }, r.onMouseUp = function() {
                        Sc.instance.paused || r.completed || !r.stickman.hook || (r.stickman.hook.isActive(!1), r.stickman.unhook())
                    }, r.onKeyDown = function(t) {
                        32 === t.keyCode && r.onMouseDown(), 82 === t.keyCode && (Sc.instance.paused || r.completed || (r.stickman.hook && r.onMouseUp(), r.onDead()))
                    }, r.onKeyUp = function(t) {
                        32 === t.keyCode ? r.onMouseUp() : 27 === t.keyCode && (Sc.instance.paused ? Sc.instance.resume() : Sc.instance.pause())
                    }, r.onDead = function() {
                        r.closestHook = null, Sc.instance.eventEmitter.emit("levelFailed", {
                            mode: Bs,
                            score: r.progress,
                            status: "FAILED",
                            level: r.id + 1,
                            attempt: r.attempts,
                            time: Date.now() - r.spawnTime,
                            completion: r.progress
                        }), r.spawn()
                    }, r.onComplete = function() {
                        r.completed = !0, r.pausable = !1, r.stickman.hook && r.stickman.unhook(), r.gotoVictoryTimeout = setTimeout(function() {
                            Sc.instance.gotoVictory(r.ld.background)
                        }, 2e3);
                        var t = new ie;
                        t.position.x = r.ld.finishLine, t.position.y = r.stickman.position.y, t.scale.set(Sc.SCALE);
                        for (var e = 0; e < 50; e++) {
                            var n = new ti(Sc.instance.resources.confetti.texture);
                            n.anchor.set(.5, .5);
                            var i = 50 * (50 - e);
                            n.vx = (r.stickman.speed.x + .3 * (Math.random() - .5)) * i, n.vy = (r.stickman.speed.y + .3 * (Math.random() - .5)) * i, n.scale.set(.2 * Math.random(), .2 * Math.random()), n.rotation = Math.random(), n.tint = 8947848 * Math.random() + 7829367, n.skew.set(Math.random() - .5, Math.random() - .5), t.addChild(n), r.confettis.push(n)
                        }
                        r.container.addChildAt(t, 1), r.finishLine.y = r.stickman.y - 1, r.stickman.trail.maxLength *= 3, r.stickman.applyGravity = !1, r.stickman.angularVelocity = 0, r.stickman.gotoFrame("victory"), r.stickman.rotation = r.stickman.speed.angle() + Math.PI / 2, Sc.instance.eventEmitter.emit("levelComplete", {
                            mode: Bs,
                            score: 1,
                            status: "COMPLETED",
                            level: r.id + 1,
                            attempt: r.attempts,
                            time: Date.now() - r.spawnTime,
                            completion: 1
                        })
                    }, r.id = t, r.ld = n, r.spawnPoint = r.ld.spawnPoint, r.bg = new ti(Sc.instance.resources[r.ld.background].texture), r.bg.width = 100, r.bg.height = 1, r.addChild(r.bg), r.container = new ie, r.addChild(r.container), r.finishLine = new Zi(Sc.instance.resources.finish_line.texture, 32, Sc.instance.height / Sc.SCALE), r.finishLine.scale.set(2 * Sc.SCALE), r.finishLine.x = r.ld.finishLine, r.container.addChild(r.finishLine), r.ld.bumpers.forEach(function(t) {
                        return r.addBumper(t.x, t.y, t.w, t.h, t.rotation, t.bounce)
                    }), r.ld.hooks.forEach(function(t) {
                        return r.addHook(t.x, t.y)
                    }), r.ld.obstacles && r.ld.obstacles.forEach(function(t) {
                        return r.addObstacle(t.name, t.x, t.y, t.rotation)
                    }), r.ld.arrow) {
                    var i = new ti(Sc.instance.resources.arrow_right.texture);
                    i.anchor.set(.5, .5), i.scale.set(2 * Sc.SCALE), i.position.set(r.ld.arrow.x, r.ld.arrow.y), i.rotation = r.ld.arrow.rotation || 0, r.container.addChild(i)
                }
                return r.onResize(), r.spawn(), r.interactive = !0, r.on("pointerdown", r.onMouseDown), r.on("pointerup", r.onMouseUp), document.addEventListener("keydown", r.onKeyDown), document.addEventListener("keyup", r.onKeyUp), r.ratio = Sc.instance.width / Sc.instance.height, r
            }
            return _()(e, t), f()(e, [{
                key: "spawn",
                value: function() {
                    this.stickman && this.stickman.destroy(), this.stickman = new Aa(Sc.instance.playerSkin), this.stickman.position.set(this.spawnPoint.x, this.spawnPoint.y), this.container.addChild(this.stickman), this.progress = 0, this.attempts++, this.spawnTime = Date.now(), Sc.instance.eventEmitter.emit("levelProgress", 0), Sc.instance.eventEmitter.emit("levelStarted", {
                        mode: Bs,
                        level: this.id + 1,
                        skin: Sc.instance.playerSkin.name,
                        attempt: this.attempts,
                        retry: 0
                    });
                    var t = new ks(this.stickman.position);
                    this.container.addChild(t)
                }
            }, {
                key: "addBumper",
                value: function(t, e) {
                    var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : .15,
                        r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : .04,
                        i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0,
                        o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null,
                        a = new ys({
                            x: t,
                            y: e
                        }, i, n, r, o);
                    return this.bumpers.push(a), this.container.addChild(a), a
                }
            }, {
                key: "addHook",
                value: function(t, e) {
                    var n = new xs({
                        x: t,
                        y: e
                    });
                    return this.hooks.push(n), this.container.addChild(n), n
                }
            }, {
                key: "addObstacle",
                value: function(t, e, n) {
                    var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
                        i = new Ds(t, {
                            x: e,
                            y: n
                        }, r);
                    return this.obstacles.push(i), this.container.addChild(i), i
                }
            }, {
                key: "updateCamera",
                value: function(t) {
                    if (this.completed) {
                        if (this.completeTime = (this.completeTime || 0) + t, this.completeTime < .6) {
                            this.zoom = Cs(this._zoom, this.completeTime, 1, 3, .6);
                            var e = -this._zoom / 2 + .5;
                            this.container.y = Cs(this.container.y, this.completeTime, e, -this.stickman.y * this._zoom + .5 - e, .6)
                        } else this.container.y = -this.stickman.y * this._zoom + .5;
                        this.container.x = Math.min(0, (-this.stickman.x - .05 / this._zoom) * this._zoom + this.ratio / 2)
                    } else {
                        var n = this.stickman.speed,
                            r = n.x > .1 ? .2 : n.x < -.1 ? -.2 : 0;
                        this.cameraXOffset = Math.min(.1, Math.max(-.1, this.cameraXOffset + r * t)), this.container.x = Math.min(0, (-this.stickman.x - this.cameraXOffset / this._zoom) * this._zoom + this.ratio / 2)
                    }
                }
            }, {
                key: "findClosestHook",
                value: function() {
                    var t = this,
                        e = 1 / 0,
                        n = null;
                    return this.hooks.forEach(function(r) {
                        var i = r.x - t.stickman.position.x,
                            o = r.y - t.stickman.position.y,
                            a = i * i + o * o;
                        a < e && (e = a, n = r)
                    }), n
                }
            }, {
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.off("pointerdown", this.onMouseDown), this.off("pointerup", this.onMouseUp), document.removeEventListener("keydown", this.onKeyDown), document.removeEventListener("keyup", this.onKeyUp), this.gotoVictoryTimeout && clearTimeout(this.gotoVictoryTimeout)
                }
            }, {
                key: "zoom",
                set: function(t) {
                    this._zoom = t, this.container.scale.set(this._zoom)
                },
                get: function() {
                    return this._zoom
                }
            }]), e
        }(ie),
        Os = n(53),
        Ls = n.n(Os),
        Hs = n(54),
        zs = n.n(Hs),
        Fs = n(18),
        Ns = n.n(Fs),
        Us = n(55),
        Qs = n.n(Us),
        js = n(56),
        Xs = n(57),
        Gs = n.n(Xs),
        Ws = n(58),
        Ys = n.n(Ws),
        Ks = n(59),
        Vs = n.n(Ks),
        qs = n(60),
        Js = n.n(qs),
        Zs = n(61),
        $s = n.n(Zs),
        tA = n(62),
        eA = n.n(tA),
        nA = n(19),
        rA = n.n(nA),
        iA = n(63),
        oA = n.n(iA),
        aA = n(64),
        sA = n.n(aA),
        AA = n(65),
        hA = n(66),
        cA = n.n(hA),
        uA = n(67),
        lA = n(68),
        dA = n.n(lA),
        pA = n(69),
        fA = n.n(pA),
        yA = n(70),
        xA = n.n(yA),
        mA = n(71),
        gA = n.n(mA),
        wA = n(72),
        vA = n.n(wA),
        bA = n(73),
        _A = n.n(bA),
        SA = n(74),
        EA = n.n(SA),
        CA = n(75),
        TA = n(76),
        kA = n.n(TA),
        IA = n(77),
        DA = n(78),
        PA = n.n(DA),
        RA = n(79),
        BA = n(80),
        MA = n.n(BA),
        OA = n(81),
        LA = n(82),
        HA = n.n(LA),
        zA = n(83),
        FA = n(84),
        NA = n.n(FA),
        UA = n(85),
        QA = n(86),
        jA = n.n(QA),
        XA = n(87),
        GA = n(88),
        WA = n.n(GA),
        YA = n(89),
        KA = n(90),
        VA = n.n(KA),
        qA = n(91),
        JA = n(92),
        ZA = n.n(JA),
        $A = n(93),
        th = n(94),
        eh = n.n(th),
        nh = n(95),
        rh = n(96),
        ih = n.n(rh),
        oh = n(97),
        ah = n(98),
        sh = n.n(ah),
        Ah = n(99),
        hh = n(100),
        ch = n.n(hh),
        uh = n(101),
        lh = n(102),
        dh = n.n(lh),
        ph = n(103),
        fh = n(104),
        yh = n.n(fh),
        xh = n(105),
        mh = n(106),
        gh = n.n(mh),
        wh = n(107),
        vh = n(108),
        bh = n.n(vh),
        _h = n(109),
        Sh = n(110),
        Eh = n.n(Sh),
        Ch = n(111),
        Th = n(112),
        kh = n.n(Th),
        Ih = n(113),
        Dh = n(114),
        Ph = n.n(Dh),
        Rh = n(115),
        Bh = n(116),
        Mh = n.n(Bh),
        Oh = n(117),
        Lh = n(118),
        Hh = n.n(Lh),
        zh = n(119),
        Fh = n(120),
        Nh = n.n(Fh),
        Uh = n(121),
        Qh = {
            title: Ls.a,
            background_0: zs.a,
            background_1: Ns.a,
            bumper_texture: Qs.a,
            bumper_json: js,
            hook: Gs.a,
            hook_near: Ys.a,
            hook_active: Vs.a,
            finish_line: Js.a,
            particles: $s.a,
            arrow_right: eA.a,
            shop_background: rA.a,
            confetti: oA.a,
            fxspawn_texture: sA.a,
            fxspawn_json: AA,
            finishplatform_texture: cA.a,
            finishplatform_json: uA,
            finishlight: dA.a,
            A_Wall45: fA.a,
            A_WallAngle: xA.a,
            A_WallCircleChelou: vA.a,
            A_WallCurve: gA.a,
            A_WallTransition: _A.a,
            C_Wall: EA.a,
            obstacles_physics: CA,
            stickman_classic_texture: kA.a,
            stickman_classic_json: IA,
            stickman_plant_texture: PA.a,
            stickman_plant_json: RA,
            stickman_momie_texture: MA.a,
            stickman_momie_json: OA,
            stickman_burger_texture: HA.a,
            stickman_burger_json: zA,
            stickman_cactus_texture: NA.a,
            stickman_cactus_json: UA,
            stickman_angel_texture: jA.a,
            stickman_angel_json: XA,
            stickman_corgi_texture: WA.a,
            stickman_corgi_json: YA,
            stickman_unicorn_texture: VA.a,
            stickman_unicorn_json: qA,
            stickman_evil_texture: ZA.a,
            stickman_evil_json: $A,
            stickman_rainbow_texture: eh.a,
            stickman_rainbow_json: nh,
            stickman_wesh_texture: ih.a,
            stickman_wesh_json: oh,
            stickman_king_texture: sh.a,
            stickman_king_json: Ah,
            stickman_banana_texture: ch.a,
            stickman_banana_json: uh,
            stickman_ninja_texture: dh.a,
            stickman_ninja_json: ph,
            stickman_sheep_texture: yh.a,
            stickman_sheep_json: xh,
            stickman_panda_texture: gh.a,
            stickman_panda_json: wh,
            stickman_super_texture: bh.a,
            stickman_super_json: _h,
            stickman_robot_texture: Eh.a,
            stickman_robot_json: Ch,
            stickman_dragon_texture: kh.a,
            stickman_dragon_json: Ih,
            stickman_tikiman_texture: Ph.a,
            stickman_tikiman_json: Rh,
            stickman_hotdog_texture: Mh.a,
            stickman_hotdog_json: Oh,
            stickman_lemonman_texture: Hh.a,
            stickman_lemonman_json: zh,
            stickman_plantmonster_texture: Nh.a,
            stickman_plantmonster_json: Uh
        },
        jh = n(14),
        Xh = n.n(jh),
        Gh = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.skin,
                        n = t.onClose,
                        r = t.onEquip;
                    return qo.h("div", {
                        class: "popup-container clickable",
                        onClick: n
                    }, qo.h("div", null, qo.h("div", {
                        class: "skin-unlocked-popup clickable",
                        onClick: function(t) {
                            return t.stopImmediatePropagation()
                        }
                    }, qo.h("p", null, "NEW SKIN UNLOCKED!"), qo.h("img", {
                        src: e.thumbnail
                    }), qo.h("button", {
                        class: "equip-skin-button button",
                        onClick: r
                    }, "EQUIP NOW"))))
                }
            }]), e
        }(qo.Component),
        Wh = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    unlockedSkin: hs.find(function(t) {
                        return t.condition && t.condition.level === Sc.instance.level + 1
                    })
                }, r.onKeyPress = function(t) {
                    32 === t.keyCode ? Sc.instance.gotoNextLevel() : 27 === t.keyCode && Sc.instance.gotoTitle()
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    this.state.unlockedSkin && Sc.instance.eventEmitter.emit("skinUnlocked", this.state.unlockedSkin), document.addEventListener("keyup", this.onKeyPress)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    document.removeEventListener("keyup", this.onKeyPress)
                }
            }, {
                key: "render",
                value: function() {
                    var t = this,
                        e = ss(),
                        n = e.unlocked,
                        r = e.total,
                        i = this.state.unlockedSkin;
                    return qo.h("div", {
                        class: "victory"
                    }, qo.h("button", {
                        class: "back-button button",
                        onClick: function(t) {
                            return Sc.instance.gotoTitle()
                        }
                    }), qo.h("img", {
                        class: "title",
                        src: Xh.a,
                        alt: "Stickman Hook"
                    }), qo.h("p", {
                        class: "level-cleared"
                    }, "Level ", Sc.instance.level, " / ", Sc.instance.fakeMaxLevel), Sc.instance.features.share ? qo.h(us, {
                        onClick: function() {
                            return Sc.instance.eventEmitter.emit("playWith", null)
                        }
                    }, "Challenge", qo.h("br", null), "a friend") : null, Sc.instance.features.leaderboard ? qo.h("button", {
                        class: "leaderboard-button button",
                        onClick: function() {
                            return Sc.instance.gotoLeaderboard()
                        }
                    }, "Leaderboard") : null, qo.h("button", {
                        class: "continue-button button",
                        onClick: function() {
                            return Sc.instance.gotoNextLevel()
                        }
                    }), qo.h(cs, {
                        onClick: function() {
                            return Sc.instance.gotoShop()
                        },
                        text: "".concat(n, "/").concat(r)
                    }), i ? qo.h(Gh, {
                        skin: i,
                        onClose: function() {
                            return t.setState({
                                unlockedSkin: null
                            })
                        },
                        onEquip: function() {
                            Sc.instance.playerSkin = i, Sc.instance.gotoShop(1)
                        }
                    }) : null)
                }
            }]), e
        }(qo.Component),
        Yh = null;
    var Kh = function(t) {
            function e() {
                var t;
                d()(this, e), (t = x()(this, g()(e).call(this))).scale.set(Sc.SCALE);
                var n = new ti(Sc.instance.resources.finishlight.texture);
                n.anchor.set(.5, .4), n.scale.set(1.5, 1.5), t.addChild(n);
                var r = new fo((Yh || ((Yh = new Ki(Sc.instance.resources.finishplatform_texture.texture.baseTexture, Sc.instance.resources.finishplatform_json)).parse(function() {}), Yh)).animations.AN_Grap1_FinishPlatform);
                return r.anchor.set(.5, -.2), r.loop = !0, r.animationSpeed = .5, r.play(), t.addChild(r), t
            }
            return _()(e, t), e
        }(ie),
        Vh = function(t) {
            function e() {
                var t, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "background_0";
                return d()(this, e), (t = x()(this, g()(e).call(this))).uiComponent = Wh, t.sceneName = "victory", t.onResize = function() {
                    t.bg.width = 100, t.bg.height = 1, Sc.instance.height < 420 ? t.stickman.position.y = .3 : t.stickman.position.y = .5, t.stickman.position.x = Sc.instance.width / Sc.instance.height / 2, t.stickman.scale.set(.5 * Sc.SCALE * 3), t.platform.position.x = t.stickman.position.x, t.platform.position.y = t.stickman.position.y
                }, t.bg = new ti(Sc.instance.resources[n].texture), t.addChild(t.bg), t.platform = new Kh, t.addChild(t.platform), t.stickman = new Aa(Sc.instance.playerSkin), t.stickman.dance(), t.addChild(t.stickman), t.onResize(), t
            }
            return _()(e, t), e
        }(ie),
        qh = (n(142), function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    var t = this;
                    Sc.instance.eventEmitter.addListener("sceneChange", function(e) {
                        var n = e.component,
                            r = e.initialState;
                        return t.setState({
                            component: n,
                            initialState: r
                        })
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var t = this.state.component,
                        e = this.state.initialState;
                    return qo.h("div", {
                        class: "ui"
                    }, t ? qo.h(t, e) : null)
                }
            }]), e
        }(qo.Component)),
        Jh = n(122),
        Zh = n.n(Jh),
        $h = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    return qo.h("p", {
                        class: "loading-text"
                    }, qo.h("img", {
                        class: "load-icon",
                        src: la.a
                    }), " Loading")
                }
            }]), e
        }(qo.Component),
        tc = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    step: "fadeIn"
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    var t = this;
                    setTimeout(function() {
                        return t.setState({
                            step: "fadeOut"
                        })
                    }, 1500), setTimeout(function() {
                        return t.setState({
                            step: "loading"
                        })
                    }, 2500)
                }
            }, {
                key: "render",
                value: function() {
                    var t = this.state.step;
                    return qo.h("div", {
                        class: "loading-ui"
                    }, "loading" === t ? qo.h("div", {
                        class: "loading-bg"
                    }, qo.h("img", {
                        class: "title",
                        src: Xh.a,
                        alt: "Stickman Hook"
                    }), qo.h($h, null)) : qo.h("img", {
                        src: Zh.a,
                        class: "fadeOut" === t ? "fade-out" : ""
                    }), qo.h("div", {
                        class: "odin-font-loader"
                    }, "abc"))
                }
            }]), e
        }(qo.Component),
        ec = n(6),
        nc = n.n(ec),
        rc = n(20);

    function ic(t) {
        return t.keys().map(function(e, n) {
            var r = t(e, n);
            return r.file = e, r
        })
    }
    var oc = ic(n(165)),
        ac = {
            start: ic(n(175)),
            middle: ic(n(207)),
            end: ic(n(251))
        };

    function sc(t, e, n) {
        var r = [],
            i = [],
            o = [];
        r.push.apply(r, nc()(t.hooks)), i.push.apply(i, nc()(t.bumpers)), o.push.apply(o, nc()(t.obstacles || []));
        var a = [t.file],
            s = t.finishLine;
        return r.push.apply(r, nc()(e.hooks.map(function(t) {
            return {
                x: t.x + s,
                y: t.y
            }
        }))), i.push.apply(i, nc()(e.bumpers.map(function(t) {
            return h()({}, t, {
                x: t.x + s,
                y: t.y
            })
        }))), o.push.apply(o, nc()((e.obstacles || []).map(function(t) {
            return h()({}, t, {
                x: t.x + s,
                y: t.y
            })
        }))), s += e.finishLine, a.push(e.file), r.push.apply(r, nc()(n.hooks.map(function(t) {
            return {
                x: t.x + s,
                y: t.y
            }
        }))), i.push.apply(i, nc()(n.bumpers.map(function(t) {
            return h()({}, t, {
                x: t.x + s,
                y: t.y
            })
        }))), o.push.apply(o, nc()((n.obstacles || []).map(function(t) {
            return h()({}, t, {
                x: t.x + s,
                y: t.y
            })
        }))), a.push(n.file), {
            spawnPoint: t.spawnPoint,
            finishLine: n.finishLine + s,
            background: Math.random() > .5 ? "background_1" : "background_0",
            hooks: r,
            bumpers: i,
            obstacles: o,
            files: a
        }
    }
    var Ac = function(t) {
        if (t < oc.length) return oc[t];
        if (t < oc.length + rc.length) {
            var e = rc[t - oc.length];
            return sc(ac.start.find(function(t) {
                return t.file.includes(e.start)
            }), ac.middle.find(function(t) {
                return t.file.includes(e.mid)
            }), ac.end.find(function(t) {
                return t.file.includes(e.end)
            }))
        }
        return function() {
            var t = Math.floor(Math.random() * ac.start.length),
                e = ac.start[t],
                n = Math.floor(Math.random() * ac.middle.length),
                r = ac.middle[n],
                i = Math.floor(Math.random() * ac.end.length),
                o = ac.end[i];
            return sc(e, r, o)
        }()
    };

    function hc(t) {
        return t.condition && t.condition.level ? "LVL ".concat(t.condition.level) : t.condition && t.condition.ad ? "Video" : t.condition && t.condition.shortcut ? "Add icon" : void 0
    }
    var cc = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.skins,
                        n = t.onSelectSkin,
                        r = t.width,
                        i = t.rewardedReady;
                    return qo.h("div", {
                        class: "skins-list",
                        style: {
                            width: r
                        }
                    }, e.map(function(t) {
                        var e = as(t);
                        return qo.h(da, {
                            key: t.id,
                            selected: t === Sc.instance.playerSkin,
                            onClick: function() {
                                return n(t)
                            },
                            text: e ? "SELECT" : hc(t),
                            image: t.thumbnail,
                            locked: !e,
                            type: t.type,
                            loading: !e && "rewarded" === t.type && !i && Sc.instance.features.rewarded,
                            disabled: !e && "rewarded" === t.type && !Sc.instance.features.rewarded
                        })
                    }))
                }
            }]), e
        }(qo.Component),
        uc = n(123),
        lc = n.n(uc),
        dc = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.orientation,
                        n = t.disabled,
                        r = t.onClick;
                    return qo.h("img", {
                        src: lc.a,
                        class: "clickable red-arrow orientation-".concat(e, " ").concat(n ? "disabled" : ""),
                        onClick: n ? null : r
                    })
                }
            }]), e
        }(qo.Component),
        pc = [{
            name: "Watch Videos",
            filter: function(t) {
                return "rewarded" === t.type
            }
        }, {
            name: "Finish Levels",
            filter: function(t) {
                return "level" === t.type || "shortcut" === t.type && as(t)
            }
        }],
        fc = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    clickedSkin: Sc.instance.playerSkin,
                    page: r.props.page || 0,
                    rewardedReady: Sc.instance.isRewardedReady
                }, r.onRewardedReady = function(t) {
                    r.setState({
                        rewardedReady: t
                    })
                }, r.onTouchStart = function(t) {
                    r.touch = t.touches[0]
                }, r.onTouchEnd = function(t) {
                    r.touch = null
                }, r.onTouchMove = function(t) {
                    var e = r.touch.clientX - t.touches[0].clientX;
                    if (Math.abs(e) > 100) {
                        r.touch = t.touches[0];
                        var n = r.state.page + (e > 0 ? 1 : -1);
                        n >= 0 && n < pc.length && r.setState({
                            page: n
                        })
                    }
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    Sc.instance.eventEmitter.addListener("rewardedReady", this.onRewardedReady)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    Sc.instance.eventEmitter.removeListener("rewardedReady", this.onRewardedReady)
                }
            }, {
                key: "onSelectSkin",
                value: function(t) {
                    var e = this;
                    as(t) ? Sc.instance.playerSkin === t ? Sc.instance.gotoNextLevel() : Sc.instance.playerSkin = t : t.condition && t.condition.ad && Sc.instance.eventEmitter.emit("requestRewarded", {
                        skin: t,
                        onComplete: function() {
                            Sc.instance.eventEmitter.emit("skinUnlocked", t), e.forceUpdate()
                        }
                    }), this.setState({
                        clickedSkin: t
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var t = this,
                        e = this.state,
                        n = e.clickedSkin,
                        r = e.page,
                        i = e.rewardedReady,
                        o = pc.length;
                    return qo.h("div", {
                        class: "shop clickable",
                        onTouchStart: this.onTouchStart,
                        onTouchEnd: this.onTouchEnd,
                        onTouchMove: this.onTouchMove
                    }, qo.h("button", {
                        class: "back-button button",
                        onClick: function(t) {
                            return Sc.instance.gotoTitle()
                        }
                    }), qo.h("span", {
                        class: "shop-progress"
                    }, "LEVEL ", Sc.instance.level + 1, " / ", Sc.instance.fakeMaxLevel), qo.h("div", {
                        class: "shop-content"
                    }, qo.h("div", {
                        class: "shop-category-name"
                    }, qo.h(dc, {
                        orientation: "left",
                        disabled: r <= 0,
                        onClick: function() {
                            return t.setState({
                                page: r - 1
                            })
                        }
                    }), " ", qo.h("span", null, pc[r].name), " ", qo.h(dc, {
                        orientation: "right",
                        disabled: r >= o - 1,
                        onClick: function() {
                            return t.setState({
                                page: r + 1
                            })
                        }
                    })), qo.h("div", {
                        class: "clicked-skin-info"
                    }, n.description), qo.h("div", {
                        class: "skins-lists-container",
                        style: {
                            left: "-".concat(100 * r, "%"),
                            width: "".concat(100 * o, "%")
                        }
                    }, pc.map(function(e) {
                        return qo.h(cc, {
                            width: "".concat(1 / o * 100, "%"),
                            skins: hs.filter(e.filter),
                            onSelectSkin: function(e) {
                                return t.onSelectSkin(e)
                            },
                            rewardedReady: i
                        })
                    }))))
                }
            }]), e
        }(qo.Component),
        yc = function(t) {
            function e() {
                var t, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                return d()(this, e), (t = x()(this, g()(e).call(this))).uiComponent = fc, t.sceneName = "shop", t.onResize = function() {
                    t.bg.width = 100, t.bg.height = 1, t.stickman.x = Sc.instance.width / Sc.instance.height / 2, t.stickman.y = .2, t.spinningBg.x = t.stickman.x, t.spinningBg.y = t.stickman.y
                }, t.onChangeSkin = function(e) {
                    t.stickman && t.stickman.destroy(), t.stickman = new Aa(Sc.instance.playerSkin), t.stickman.dance(), t.stickman.position.y = .5, t.stickman.position.x = Sc.instance.width / Sc.instance.height / 2, t.stickman.scale.set(3 * t.stickman.scale.x), t.addChild(t.stickman), t.onResize()
                }, t.step = function(e) {
                    t.spinningBg.rotation += e
                }, t.bg = new ti(Sc.instance.resources.background_1.texture), t.spinningBg = new ti(Sc.instance.resources.shop_background.texture), t.uiInitialState = {
                    page: n
                }, t.spinningBg.anchor.set(.5, .5), t.spinningBg.scale.set(2 * Sc.SCALE), t.addChild(t.bg), t.addChild(t.spinningBg), t.onChangeSkin(Sc.instance.playerSkin), Sc.instance.eventEmitter.addListener("changeSkin", t.onChangeSkin), t
            }
            return _()(e, t), f()(e, [{
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), Sc.instance.eventEmitter.removeListener("changeSkin", this.onChangeSkin), this.stickman = null
                }
            }]), e
        }(ie),
        xc = function(t) {
            function e(t, n) {
                var r;
                return d()(this, e), (r = x()(this, g()(e).call(this))).uiComponent = null, r.sceneName = "empty", r.onResize = function() {
                    r.bg.width = 100, r.bg.height = 1
                }, r.sceneName = t, r.uiComponent = n, r.bg = new ti(Sc.instance.resources.background_1.texture), r.addChild(r.bg), r.onResize(), r
            }
            return _()(e, t), f()(e, [{
                key: "destroy",
                value: function() {
                    Zo()(g()(e.prototype), "destroy", this).call(this), this.bg = null
                }
            }]), e
        }(ie),
        mc = n(124),
        gc = n.n(mc),
        wc = function(t) {
            function e() {
                return d()(this, e), x()(this, g()(e).apply(this, arguments))
            }
            return _()(e, t), f()(e, [{
                key: "render",
                value: function() {
                    var t = this.props,
                        e = t.id,
                        n = t.name,
                        r = t.photo,
                        i = t.rank,
                        o = t.score,
                        a = t.isFriend,
                        s = t.isMe;
                    return qo.h("div", {
                        class: "leaderboard-row ".concat(s ? "current" : "")
                    }, qo.h("div", {
                        class: "leaderboard-col rank"
                    }, "#", i), qo.h("div", {
                        class: "leaderboard-col photo"
                    }, qo.h("img", {
                        src: r
                    })), qo.h("div", {
                        class: "leaderboard-col name"
                    }, n), qo.h("div", {
                        class: "leaderboard-col score"
                    }, o), qo.h("div", {
                        class: "leaderboard-col share"
                    }, a ? qo.h(us, {
                        onClick: function() {
                            Sc.instance.eventEmitter.emit("playWith", e)
                        }
                    }, "Challenge") : null))
                }
            }]), e
        }(qo.Component),
        vc = 10,
        bc = function(t) {
            function e() {
                var t, n, r;
                d()(this, e);
                for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) o[a] = arguments[a];
                return x()(r, (n = r = x()(this, (t = g()(e)).call.apply(t, [this].concat(o))), r.state = {
                    type: "world",
                    leaderboard: null,
                    page: 0,
                    numPages: 0
                }, r.update = function(t) {
                    r.setState({
                        leaderboard: t,
                        page: Math.floor(t.offset / vc),
                        numPages: Math.ceil(t.total / vc)
                    })
                }, n))
            }
            return _()(e, t), f()(e, [{
                key: "componentDidMount",
                value: function() {
                    Sc.instance.eventEmitter.addListener("leaderboard", this.update), this.requestLeaderboard(this.state.type)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    Sc.instance.eventEmitter.removeListener("leaderboard", this.update)
                }
            }, {
                key: "requestLeaderboard",
                value: function(t) {
                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "auto",
                        n = "auto" === e;
                    Sc.instance.eventEmitter.emit("requestLeaderboard", {
                        count: vc,
                        offset: n ? "auto" : e * vc,
                        type: t
                    }), this.setState({
                        leaderboard: null,
                        type: t,
                        page: n ? 0 : e
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var t = this,
                        e = this.state,
                        n = e.leaderboard,
                        r = e.page,
                        i = e.numPages,
                        o = e.type;
                    return qo.h("div", {
                        class: "leaderboard"
                    }, qo.h("button", {
                        class: "back-button button",
                        onClick: function() {
                            return Sc.instance.gotoTitle()
                        }
                    }), qo.h("h2", null, "Leaderboard"), n ? qo.h("div", null, qo.h("div", {
                        class: "center"
                    }, qo.h("button", {
                        class: "leaderboard-button button",
                        onClick: function() {
                            return t.requestLeaderboard("world")
                        }
                    }, "World"), qo.h("button", {
                        class: "leaderboard-button button",
                        onClick: function() {
                            return t.requestLeaderboard("friends")
                        }
                    }, "Friends"), qo.h(us, {
                        onClick: function() {
                            return Sc.instance.eventEmitter.emit("share")
                        }
                    })), qo.h("h3", null, o), qo.h("div", {
                        class: "leaderboard-entries"
                    }, n.entries.map(function(t) {
                        return qo.h(wc, gc()({}, t, {
                            isMe: t.id === Sc.instance.playerInfos.id,
                            isFriend: Sc.instance.features.share && "friends" === o && t.id !== Sc.instance.playerInfos.id
                        }))
                    })), qo.h("div", {
                        class: "pagination"
                    }, qo.h(dc, {
                        orientation: "left",
                        disabled: r <= 0,
                        onClick: function() {
                            return t.requestLeaderboard(o, r - 1)
                        }
                    }), qo.h("span", {
                        class: "page-number"
                    }, r + 1, " / ", i), qo.h(dc, {
                        orientation: "right",
                        disabled: r >= i - 1,
                        onClick: function() {
                            return t.requestLeaderboard(o, r + 1)
                        }
                    }))) : qo.h($h, null))
                }
            }]), e
        }(qo.Component);

    function _c(t, e, n, r) {
        C.RESOLUTION = window.devicePixelRatio || 1;
        var i = new Sc(n ? function() {
            return i.setActiveScene(new ds)
        } : function() {
            return setTimeout(function() {
                return i.setActiveScene(new ds)
            }, 0)
        }, t, e, r);
        return i
    }
    var Sc = function(t) {
        function e(t, n, i, o) {
            var a;
            d()(this, e);
            var s = o && o.width || window.innerWidth,
                A = o && o.height || window.innerHeight;
            (a = x()(this, g()(e).call(this, {
                width: s,
                height: A,
                antialias: !0
            }))).level = 0, a.resources = null, a.scene = null, a.lastFrame = 0, a.gravity = new ta(0, 1), a.eventEmitter = new r.EventEmitter, a.paused = !1, a._playerSkin = hs[0], a.playerInfos = {}, a.features = {}, a.isRewardedReady = !1, a.interstitialReady = !1, a.lastInterstitialTime = 0, a.playedAtLeastOnce = !1, a.onResize = function() {
                var t = a._optionsResize ? a._optionsResize() : null,
                    e = t ? t.width : window.innerWidth,
                    n = t ? t.height : window.innerHeight;
                a.width = e, a.height = n, a.renderer.resize(e, n), a.scene && a.scene.onResize && (a.scene.scale.set(n), a.scene.onResize())
            }, a.setActiveScene = function(t) {
                a.scene && (a.stage.removeChild(a.scene), a.scene.destroy()), a.scene = t, a.scene.scale.set(a.height), a.stage.addChild(t), a.eventEmitter.emit("sceneChange", {
                    component: t.uiComponent,
                    name: t.sceneName,
                    initialState: t.uiInitialState
                })
            }, a.step = function() {
                var t = (new Date).getTime();
                a.scene && a.scene.step && a.scene.step(Math.min((t - a.lastFrame) / 1e3, .025)), a.lastFrame = t
            }, a.gotoLevel = function(t) {
                var e = Ac(t),
                    n = new Ms(t, e);
                a.setActiveScene(n)
            }, a.gotoVictory = function(t) {
                a.level++, a.playedAtLeastOnce = !0;
                var e = new Vh(t);
                a.setActiveScene(e)
            }, a.gotoTitle = function() {
                a.setActiveScene(new ds)
            }, a.gotoShop = function() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                a.setActiveScene(new yc(t))
            }, a.gotoLeaderboard = function() {
                a.setActiveScene(new xc("leaderboard", bc))
            }, a.pause = function() {
                a.paused || (a.ticker.stop(), a.paused = !0, a.eventEmitter.emit("pause"))
            }, a.resume = function() {
                a.paused && (a.ticker.start(), a.paused = !1, a.eventEmitter.emit("resume"))
            }, a.width = s, a.height = A, o && o.onResize && (a._optionsResize = o.onResize), n && (a.playerInfos = n, n.skin && (a._playerSkin = hs.find(function(t) {
                return t.id === n.skin
            }) || hs[0]), a.level = parseInt(a.playerInfos.level, 10) || 0), i && (a.features = i), e.instance = v()(a), window.addEventListener("resize", a.onResize);
            var c = {};
            return Object.keys(Qh).forEach(function(t) {
                "object" === u()(Qh[t]) ? c[t] = Qh[t] : a.loader.add(t, Qh[t])
            }), document.body.appendChild(a.view), qo.render(qo.h(qh, null), document.body), a.eventEmitter.emit("sceneChange", {
                component: tc,
                name: "loading"
            }), a.loader.load(function(e, n) {
                a.resources = h()({}, n, {}, c), a.lastFrame = (new Date).getTime(), a.ticker.add(a.step), t()
            }), a.eventEmitter.addListener("rewardedReady", function(t) {
                a.isRewardedReady = t
            }), a.eventEmitter.addListener("interstitialReady", function(t) {
                a.interstitialReady = t
            }), a
        }
        return _()(e, t), f()(e, [{
            key: "gotoNextLevel",
            value: function() {
                var t = this;
                if (this.interstitialReady && Date.now() - this.lastInterstitialTime > 0) return this.interstitialReady = !1, this.eventEmitter.emit("requestInterstitial"), void this.eventEmitter.once("intersitialWatched", function(e) {
                    t.lastInterstitialTime = Date.now(), t.gotoNextLevel()
                });
                this.gotoLevel(this.level)
            }
        }, {
            key: "fakeMaxLevel",
            get: function() {
                return 5 * Math.floor((this.level + 1) / 5 + 1)
            }
        }, {
            key: "playerSkin",
            get: function() {
                return this._playerSkin
            },
            set: function(t) {
                t !== this._playerSkin && (this._playerSkin = t, this.eventEmitter.emit("changeSkin", t))
            }
        }]), e
    }(Ti);

    function Ec(t, e, n) {
        window.FB && window.FB.AppEvents.logEvent(t, e, n)
    }

    function Cc(t) {
        var e = t.mode,
            n = t.score,
            r = t.status,
            i = t.level,
            o = t.completion,
            a = t.time,
            s = t.attempt;
        Ec("end game", 1, {
            mode: e,
            score: n,
            status: r,
            level: i,
            completion: o,
            time: a / 1e3
        }), Ec("game attempt", s, {
            mode: e,
            level: i
        }), Ec("game reached", 1, {
            mode: e,
            level: i
        }), Ec("game time", a / 1e3, {
            mode: e,
            level: i
        })
    }
    Sc.instance = null, Sc.SCALE = 5e-4, Sc.AIR_FRICTION = 0;
    var Tc = null;

    function kc(t) {
        var e = t.ad_type,
            n = t.success,
            r = t.location;
        Ec("shown ".concat(e), 1, {
            success: n,
            location: r
        })
    }

    function Ic(t) {
        var e = t.ad_type,
            n = t.error;
        Ec("failed displaying ".concat(e), 1, {
            error: n
        })
    }

    function Dc(t) {
        try {
            return JSON.parse(localStorage.getItem(t))
        } catch (t) {
            return console.error(t), null
        }
    }

    function Pc(t, e) {
        localStorage.setItem(t, JSON.stringify(e))
    }

    function Rc() {
        var t = {};
        if (t.level = Dc("STICKMANHOOK_currentLevel"), t.skin = Dc("STICKMANHOOK_currentSkin"), t.unlockedSkins = Dc("STICKMANHOOK_unlockedSkins"), !t.level) {
            var e = Dc("Stickman_Hook_NormalCurrentLevel");
            e && e.data && e.data.length && (t.level = e.data[0].value)
        }
        if (!t.unlockedSkins) {
            var n = {
                burger: "CHAR_Burger",
                cactus: "CHAR_Cactus",
                unicorn: "CHAR_Unicorn",
                ninja: "CHAR_Ninja",
                robot: "CHAR_RobotMan",
                dragon: "CHAR_Dragon",
                hotdog: "CHAR_HotDog",
                lemon: "CHAR_LemonMan",
                tiki: "CHAR_TikiMan",
                plant: "CHAR_Plant"
            };
            t.unlockedSkins = Object.keys(n).map(function(t) {
                var e = Dc("Stickman_Hook_ACHIEVEMENTS_".concat(t));
                if (e && e.data && e.data.length && e.data[0].user_value) return n[t]
            }).filter(function(t) {
                return t
            })
        }
        return t
    }

    function Bc(t) {
        Pc("STICKMANHOOK_currentLevel", t)
    }

    function Mc(t) {
        Pc("STICKMANHOOK_currentSkin", t)
    }
    var Oc = {
        mobile: {
            w: 320,
            h: 50
        },
        desktop: {
            w: 728,
            h: 90
        }
    };
    s()(o.a.mark(function t() {
        var e, n, r, i, a, A, h, c, u;
        return o.a.wrap(function(t) {
            for (;;) switch (t.prev = t.next) {
                case 0:
                    return e = !1, PokiSDK.setDebug("localhost" === window.location.hostname), t.prev = 2, t.next = 5, PokiSDK.init();
                case 5:
                    t.next = 11;
                    break;
                case 7:
                    t.next = 11;
                    break;
                case 11:
                    PokiSDK.gameLoadingStart(), n = !1, r = function(t) {
                        n && (t.preventDefault(), t.stopImmediatePropagation())
                    }, document.addEventListener("keydown", r), document.addEventListener("keyup", r), i = {
                        rewarded: !e,
                        interstitial: !e,
                        share: !1,
                        leaderboard: !1
                    }, a = Rc(), A = {
                        level: a.level || 0,
                        skin: a.skin || null,
                        unlockedSkins: Array.isArray(a.unlockedSkins) ? a.unlockedSkins : []
                    }, PokiSDK.gameLoadingFinished(), h = _c(A, i, !1), c = null, (u = document.createElement("div")).style.position = "absolute", u.style.bottom = 0, u.style.left = 0, u.style.right = 0, document.body.appendChild(u), h.eventEmitter.addListener("sceneChange", function(t) {
                        var e;
                        e = t.name, Tc && Ec("close menu", 1, {
                            name: Tc.name,
                            time: (Date.now() - Tc.openTime) / 1e3
                        }), Tc = {
                            name: e,
                            openTime: Date.now()
                        }, Ec("open menu", 1, {
                            name: e
                        }), "victory" !== t.name && c && (PokiSDK.destroyAd(c), c.remove(), c = null, document.getElementsByClassName("ui")[0].style.bottom = "0px")
                    }), h.eventEmitter.addListener("levelStarted", function(t) {
                        var e, n, r, i, o, a;
                        n = (e = t).mode, r = e.level, i = e.skin, o = e.attempt, a = e.retry, Ec("start game", 1, {
                            mode: n,
                            level: r,
                            attempt: o,
                            "skin name": i.name,
                            retry: a
                        }), PokiSDK.gameplayStart()
                    }), h.eventEmitter.addListener("levelFailed", function(t) {
                        Cc(t), PokiSDK.gameplayStop()
                    }), h.eventEmitter.addListener("levelComplete", function() {
                        var t = s()(o.a.mark(function t(e) {
                            var n;
                            return o.a.wrap(function(t) {
                                for (;;) switch (t.prev = t.next) {
                                    case 0:
                                        Cc(e), PokiSDK.gameplayStop(), PokiSDK.happyTime(.5), Bc(e.level), n = window.innerWidth < 768 ? Oc.mobile : Oc.desktop, (c = document.createElement("div")).style.width = "".concat(n.w, "px"), c.style.height = "".concat(n.h, "px"), c.style.margin = "auto", u.appendChild(c), PokiSDK.displayAd(c, "".concat(n.w, "x").concat(n.h)), document.getElementsByClassName("ui")[0].style.bottom = "".concat(n.h, "px");
                                    case 13:
                                    case "end":
                                        return t.stop()
                                }
                            }, t)
                        }));
                        return function(e) {
                            return t.apply(this, arguments)
                        }
                    }()), h.eventEmitter.addListener("levelAbandon", function(t) {
                        PokiSDK.gameplayStop()
                    }), i.rewarded && Sc.instance.eventEmitter.emit("rewardedReady", !0), i.interstitial && Sc.instance.eventEmitter.emit("interstitialReady", !0), h.eventEmitter.addListener("requestRewarded", function(t) {
                        var e, r, o, a = t.skin,
                            s = t.onComplete;
                        i.rewarded && (r = (e = {
                            ad_type: "REWARDED",
                            location: "shop"
                        }).ad_type, o = e.location, Ec("print ".concat(r), 1, {
                            location: o
                        }), n = !0, PokiSDK.rewardedBreak().then(function(t) {
                            t && (Sc.instance.playerSkin = a, A.unlockedSkins.push(a.id), Pc("STICKMANHOOK_unlockedSkins", A.unlockedSkins)), s && s(), kc({
                                ad_type: "REWARDED",
                                location: "shop",
                                success: !1
                            }), n = !1
                        }).catch(function(t) {
                            console.error("error watching rewarded:", t), Ic({
                                ad_type: "REWARDED",
                                error: t.code
                            }), n = !1
                        }))
                    }), h.eventEmitter.addListener("requestInterstitial", function() {
                        i.interstitial && (n = !0, PokiSDK.commercialBreak().then(function() {
                            kc({
                                ad_type: "INTERSTITIAL",
                                location: "menu",
                                success: !1
                            }), n = !1, h.eventEmitter.emit("intersitialWatched", !0), h.eventEmitter.emit("interstitialReady", !0)
                        }).catch(function(t) {
                            console.error("error watching interstitial:", t), Ic({
                                ad_type: "INTERSTITIAL",
                                error: t.code
                            }), n = !1, h.eventEmitter.emit("intersitialWatched", !1), h.eventEmitter.emit("interstitialReady", !0)
                        }))
                    }), h.eventEmitter.addListener("changeSkin", function(t) {
                        Mc(t.id)
                    }), h.eventEmitter.addListener("skinUnlocked", function() {
                        var t = s()(o.a.mark(function t(e) {
                            return o.a.wrap(function(t) {
                                for (;;) switch (t.prev = t.next) {
                                    case 0:
                                        PokiSDK.happyTime(1);
                                    case 1:
                                    case "end":
                                        return t.stop()
                                }
                            }, t)
                        }));
                        return function(e) {
                            return t.apply(this, arguments)
                        }
                    }());
                case 39:
                case "end":
                    return t.stop()
            }
        }, t, null, [
            [2, 7]
        ])
    }))().catch(function(t) {
        return console.error(t)
    })
}]);