(window.webpackJsonp = window.webpackJsonp || []).push([
    [3], {
        109: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return l
                }));
                var o = n(1),
                    i = n(10),
                    r = n(11),
                    a = function(t, e) {
                        var n = "function" == typeof Symbol && t[Symbol.iterator];
                        if (!n) return t;
                        var o, i, r = n.call(t),
                            a = [];
                        try {
                            for (;
                                (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                        } catch (t) {
                            i = {
                                error: t
                            }
                        } finally {
                            try {
                                o && !o.done && (n = r.return) && n.call(r)
                            } finally {
                                if (i) throw i.error
                            }
                        }
                        return a
                    },
                    s = function() {
                        for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(a(arguments[e]));
                        return t
                    },
                    l = function() {
                        function e(t) {
                            this._shortEnd = 5, this._lineWidth = 7, this._strokeWidth = 2, this._boxRadius = 6, this._reelSetComponent = t, this._reelSetMask = this._reelSetComponent.container.getChildByName("reelSetMask"), this._reelSetContainer = this._reelSetComponent.container.getChildByName("reelSetContainer"), this._geometaryContainer = this.getWinlineContainer(), this._lineGraphic = this.getWinlineGraphic(), this._mask = this.getMaskGraphic(), this._lineGraphic.mask = this._mask, this._boxGraphic = this.getWinBoxGraphic(), this._systemProps = o.l, null === this._geometaryContainer.getChildByName("winlineGraphic") && this._geometaryContainer.addChild(this._boxGraphic, this._lineGraphic, this._mask), this._winlineDefinitions = this.parseWinlineDefinitions(this._reelSetComponent._parent.props.paytable.patternInfo), this.loaderService = o.f, this._lineStyleConfig = this.loaderService._resources["winConfig.json"].WinlineConfig, this.addOrientationListener()
                        }
                        return e.prototype.addOrientationListener = function() {
                            var t = this;
                            i.a.getInstance().addReaction("WinlineCanvas_orientationChanged", (function() {
                                return t._systemProps.orientation
                            }), (function() {
                                t.onOrientationChanged()
                            }))
                        }, e.prototype.onOrientationChanged = function() {
                            this._geometaryContainer && (this._geometaryContainer.x = this._reelSetMask.x + this._reelSetComponent.container.x, this._geometaryContainer.y = this._reelSetMask.y + this._reelSetComponent.container.y), this.updateScale()
                        }, e.prototype.updateScale = function() {
                            var t = this._reelSetContainer.scale.x,
                                e = this._reelSetContainer.scale.y;
                            this._geometaryContainer.scale.set(t, e)
                        }, e.prototype.getWinlineContainer = function() {
                            var e;
                            return null !== this._reelSetComponent.container.parent.getChildByName("winLineContainer") ? e = this._reelSetComponent.container.parent.getChildByName("winLineContainer") : ((e = new t.Container).name = "winLineContainer", this._reelSetComponent.container.parent.addChild(e)), e.x = this._reelSetMask.x + this._reelSetComponent.container.x, e.y = this._reelSetMask.y + this._reelSetComponent.container.y, e
                        }, e.prototype.getWinlineGraphic = function() {
                            var e;
                            return null !== this._geometaryContainer.getChildByName("winlineGraphic") ? e = this._geometaryContainer.getChildByName("winlineGraphic") : (e = new t.Graphics).name = "winlineGraphic", e
                        }, e.prototype.getWinBoxGraphic = function() {
                            var e;
                            return null !== this._geometaryContainer.getChildByName("winboxGraphic") ? e = this._geometaryContainer.getChildByName("winboxGraphic") : (e = new t.Graphics).name = "winboxGraphic", e
                        }, e.prototype.getMaskGraphic = function() {
                            var e;
                            return null !== this._geometaryContainer.getChildByName("winlineMask") ? e = this._geometaryContainer.getChildByName("winlineMask") : (e = new t.Graphics).name = "winlineMask", e
                        }, e.prototype.getWinlineColourByName = function(t) {
                            var e = this._lineStyleConfig[t];
                            return void 0 !== e ? Array.from(e.colour) : ["0x000000", "0xFFFFFF"]
                        }, e.prototype.getWinlineColourDefination = function() {
                            var t = "desktop";
                            return "desktop" !== this._systemProps.gameConfig.assetPack && (t = this._systemProps.orientation === r.a.LANDSCAPE ? "landscape" : "portrait"), this._lineStyleConfig[t]
                        }, e.prototype.getWinlineOffsetByName = function(t) {
                            var e = this._lineStyleConfig[t];
                            return void 0 !== e ? {
                                x0: 1 * e.offset.x0,
                                y0: 1 * e.offset.y0,
                                "x-1": 1 * e.offset["x-1"],
                                "y-1": 1 * e.offset["y-1"]
                            } : {
                                x0: 0,
                                y0: 0,
                                "x-1": 0,
                                "y-1": 0
                            }
                        }, e.prototype.getReelAtIndex = function(t) {
                            return this._reelSetComponent.reelComponents[t]
                        }, e.prototype.getCellAt = function(t, e) {
                            var n = this.getReelAtIndex(t).props.topPadding;
                            return this.getReelAtIndex(t).reelCellComponents[n + e]
                        }, e.prototype.getReelByCellName = function(t) {
                            var e = Number(t[3]);
                            return this.getReelAtIndex(e)
                        }, e.prototype.getCellByName = function(t) {
                            var e = Number(t[3]),
                                n = Number(t[5]);
                            return this.getCellAt(e, n)
                        }, e.prototype.clearWinline = function() {
                            this._lineGraphic.visible = !1, this._lineGraphic.clear(), this._boxGraphic.visible = !1, this._boxGraphic.clear(), this._mask.clear()
                        }, e.prototype.resetMask = function() {
                            this._mask.beginFill(255), this._mask.lineStyle(0, 255), this._mask.drawRect(-e.MASK_EXTENSION_TILL_PIP, 0, this._reelSetMask.width / this._reelSetMask.scale.x + 2 * e.MASK_EXTENSION_TILL_PIP, this._reelSetMask.height / this._reelSetMask.scale.y), this._mask.endFill()
                        }, e.prototype.drawWinboxes = function(t, e) {
                            void 0 === e && (e = !1);
                            var n = t.data,
                                o = t.name;
                            if (this.clearWinline(), n) {
                                var i = this.getSymbolCellStyles(s(n.animationCells.keys()));
                                if (i && 0 !== i.length) {
                                    this.resetMask();
                                    for (var r = this.getWinlineColourByName(o), a = 1; a >= 0; a--) {
                                        var l = r[a];
                                        this._boxGraphic.lineStyle(1 === a ? this._lineWidth + 2 * this._strokeWidth : this._lineWidth, Number(l));
                                        for (var c = 0; c < i.length; c++) {
                                            var u = i[c],
                                                p = this._lineWidth + 2 * this._strokeWidth,
                                                h = u.x + p / 2,
                                                m = u.y + p / 2,
                                                d = u.width - p,
                                                f = u.height - p;
                                            0 === a && (this._mask.beginHole(), this._mask.lineStyle(this._lineWidth, Number(0)), this._mask.drawRoundedRect(h - this._lineWidth / 2, m - this._lineWidth / 2, d + this._lineWidth, f + this._lineWidth, this._boxRadius), this._mask.endHole()), this._boxGraphic.drawRoundedRect(h, m, d, f, this._boxRadius)
                                        }
                                        "Scatter" !== o && (1 === a ? e ? this.drawSingleWinlineWithOffsetBackground(o) : this.drawSingleWinlineBackground(o) : e ? this.drawSingleWinlineWithOffsetForeground(o) : this.drawSingleWinlineForeground(o))
                                    }
                                }
                                this._boxGraphic.visible = !0, this._lineGraphic.visible = !0, this.updateScale()
                            }
                        }, e.prototype.drawAllSpaghetti = function(t) {
                            var e = this;
                            void 0 === t && (t = "base"), this.clearWinline(), this.resetMask(), this._winlineDefinitions[t].forEach((function(t) {
                                e.drawSingleWinlineWithOffset(t)
                            })), this.updateScale(), this._lineGraphic.visible = !0
                        }, e.prototype.drawWinningSpaghetti = function(t, e) {
                            var n = this;
                            this.clearWinline(), this.resetMask(), t && 0 !== t.length && (t.forEach((function(t) {
                                "Scatter" !== t ? n.drawSingleWinlineWithOffset(t) : e && n.drawScatterBoxes(e)
                            })), this.updateScale()), this._lineGraphic.visible = !0
                        }, e.prototype.drawScatterBoxes = function(t) {
                            var e = [];
                            if (t.forEach((function(t) {
                                    "Scatter" === t.name && t.cells.forEach((function(t) {
                                        e.push(t.name)
                                    }))
                                })), e && 0 !== e.length) {
                                var n = this.getSymbolCellStyles(e);
                                this.resetMask();
                                for (var o = this.getWinlineColourByName("Scatter"), i = 1; i >= 0; i--) this.renderBoxes(n, o, i, "Scatter")
                            }
                        }, e.prototype.renderBoxes = function(t, e, n, o) {
                            var i = e[n];
                            this._boxGraphic.lineStyle(1 === n ? this._lineWidth + 2 * this._strokeWidth : this._lineWidth, Number(i));
                            for (var r = 0; r < t.length; r++) {
                                var a = t[r],
                                    s = this._lineWidth + 2 * this._strokeWidth,
                                    l = a.x + s / 2,
                                    c = a.y + s / 2,
                                    u = a.width - s,
                                    p = a.height - s;
                                0 === n && (this._mask.beginHole(), this._mask.lineStyle(this._lineWidth, Number(0)), this._mask.drawRoundedRect(l - this._lineWidth / 2, c - this._lineWidth / 2, u + this._lineWidth, p + this._lineWidth, this._boxRadius), this._mask.endHole()), this._boxGraphic.drawRoundedRect(l, c, u, p, this._boxRadius)
                            }
                            this._boxGraphic.visible = !0, this.updateScale()
                        }, e.prototype.drawSingleWinlineBackground = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length) {
                                var n = this.getWinlineColourByName(t)[1];
                                this._lineGraphic.lineStyle(this._lineWidth + 2 * this._strokeWidth, Number(n));
                                for (var o = 0; o < e.length; o++) {
                                    var i = e[o];
                                    0 === o && this._lineGraphic.moveTo(i.x, i.y + .5 * i.height), this._lineGraphic.lineTo(i.x + .5 * i.width, i.y + .5 * i.height), o === e.length - 1 && (this._lineGraphic.lineTo(i.x + i.width - this._shortEnd, i.y + .5 * i.height), this._lineGraphic.lineStyle((this._lineWidth + 2 * this._strokeWidth) / 2, Number(n)), this._lineGraphic.drawCircle(i.x + i.width - this._shortEnd, i.y + .5 * i.height, 1))
                                }
                            }
                        }, e.prototype.drawSingleWinlineForeground = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length) {
                                var n = this.getWinlineColourByName(t)[0];
                                this._lineGraphic.lineStyle(this._lineWidth, Number(n));
                                for (var o = 0; o < e.length; o++) {
                                    var i = e[o];
                                    0 === o && this._lineGraphic.moveTo(i.x, i.y + .5 * i.height), this._lineGraphic.lineTo(i.x + .5 * i.width, i.y + .5 * i.height), o === e.length - 1 && (this._lineGraphic.lineTo(i.x + i.width - this._shortEnd, i.y + .5 * i.height), this._lineGraphic.lineStyle(this._lineWidth / 2, Number(n)), this._lineGraphic.drawCircle(i.x + i.width - this._shortEnd, i.y + .5 * i.height, 1))
                                }
                            }
                        }, e.prototype.drawSingleWinline = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length)
                                for (var n = this.getWinlineColourByName(t), o = n.length - 1; o >= 0; o--) {
                                    var i = n[o];
                                    this._lineGraphic.lineStyle(0 === o ? this._lineWidth : this._lineWidth + 2 * this._strokeWidth, Number(i));
                                    for (var r = 0; r < e.length; r++) {
                                        var a = e[r];
                                        0 === r && this._lineGraphic.moveTo(a.x, a.y + .5 * a.height), this._lineGraphic.lineTo(a.x + .5 * a.width, a.y + .5 * a.height), r === e.length - 1 && this._lineGraphic.lineTo(a.x + a.width, a.y + .5 * a.height)
                                    }
                                }
                        }, e.prototype.drawSingleWinlineWithOffset = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length)
                                for (var n = this.getWinlineColourByName(t), o = this.getWinlineOffsetByName(t), i = n.length - 1; i >= 0; i--) {
                                    var r = n[i];
                                    this._lineGraphic.lineStyle(0 === i ? this._lineWidth : this._lineWidth + 2 * this._strokeWidth, Number(r));
                                    for (var a = 0; a < e.length; a++) {
                                        var s = e[a];
                                        0 === a && this._lineGraphic.moveTo(s.x + o.x0, s.y + .5 * s.height + o.y0), this._lineGraphic.lineTo(s.x + .5 * s.width, s.y + .5 * s.height + o.y0), a === e.length - 1 && this._lineGraphic.lineTo(s.x + s.width + o["x-1"], s.y + .5 * s.height + o["y-1"])
                                    }
                                }
                        }, e.prototype.drawSingleWinlineWithOffsetBackground = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length) {
                                var n = this.getWinlineColourByName(t),
                                    o = this.getWinlineOffsetByName(t),
                                    i = n[1];
                                this._lineGraphic.lineStyle(this._lineWidth + 2 * this._strokeWidth, Number(i));
                                for (var r = 0; r < e.length; r++) {
                                    var a = e[r];
                                    0 === r && this._lineGraphic.moveTo(a.x + o.x0, a.y + .5 * a.height + o.y0), this._lineGraphic.lineTo(a.x + .5 * a.width, a.y + .5 * a.height + o.y0), r === e.length - 1 && this._lineGraphic.lineTo(a.x + a.width + o["x-1"], a.y + .5 * a.height + o["y-1"])
                                }
                            }
                        }, e.prototype.drawSingleWinlineWithOffsetForeground = function(t) {
                            var e = this.getSymbolCellStyles(this.getWinlineSymbolsByName(t, this._winlineDefinitions));
                            if (e && 0 !== e.length) {
                                var n = this.getWinlineColourByName(t),
                                    o = this.getWinlineOffsetByName(t),
                                    i = n[0];
                                this._lineGraphic.lineStyle(this._lineWidth, Number(i));
                                for (var r = 0; r < e.length; r++) {
                                    var a = e[r];
                                    0 === r && this._lineGraphic.moveTo(a.x + o.x0, a.y + .5 * a.height + o.y0), this._lineGraphic.lineTo(a.x + .5 * a.width, a.y + .5 * a.height + o.y0), r === e.length - 1 && this._lineGraphic.lineTo(a.x + a.width + o["x-1"], a.y + .5 * a.height + o["y-1"])
                                }
                            }
                        }, e.prototype.parseWinlineDefinitions = function(t, e) {
                            var n = e || {
                                base: [],
                                bonus: []
                            };
                            if (t instanceof Array)
                                for (var o = 0; o < t.length; o++) this.parseWinlineDefinitions(t[o], n);
                            else
                                for (o = 0; o < t.Pattern.length; o++) {
                                    var i = t.Pattern[o];
                                    n.base.push(i["@name"]), n.bonus.push(i["@name"]), n[i["@name"]] || (n[i["@name"]] = i.Cell.map((function(t) {
                                        return t["@name"]
                                    })))
                                }
                            return n
                        }, e.prototype.getWinlineSymbolsByName = function(t, e) {
                            return e[t]
                        }, e.prototype.getSymbolCellStyles = function(t) {
                            for (var e = [], n = 0; n < t.length; n++) {
                                var o = this.getCellByName(t[n]),
                                    i = {
                                        x: o.container.x,
                                        y: o.container.y,
                                        width: o.container.width,
                                        height: o.container.height
                                    };
                                e.push(i)
                            }
                            return e
                        }, e.MASK_EXTENSION_TILL_PIP = 50, e
                    }()
            }).call(this, n(3))
        },
        134: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return K
            }));
            var o, i = n(10),
                r = n(47),
                a = n(2),
                s = n(39),
                l = n(15),
                c = n(46),
                u = (o = function(t, e) {
                    return (o = Object.setPrototypeOf || {
                            __proto__: []
                        }
                        instanceof Array && function(t, e) {
                            t.__proto__ = e
                        } || function(t, e) {
                            for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                        })(t, e)
                }, function(t, e) {
                    function n() {
                        this.constructor = t
                    }
                    o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                }),
                p = function(t) {
                    function e(e) {
                        var n = t.call(this) || this;
                        return n._reactionName = "", n._skipReaction = "", n.skip = function() {
                            c.slotGameActions.gameActions.setWinCycleState(l.a.PRESHOW_END), a.a.gameActions.setSkipped(!0)
                        }, n._skipButton = e.uiControls.getControl(s.a.BTN_SKIP), n
                    }
                    return u(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), a.a.gameActions.setSkipped(!1), c.slotGameProps.winCycleState === l.a.PRESHOW_BEGIN ? (this._skipButton.interactive = !0, this._skipButton.on("pointerup", this.skip), this._skipReaction = i.a.getInstance().addWhen("SkipWinCycleCommand_onSkip", (function() {
                            return a.b.skipped
                        }), (function() {
                            n._skipButton.enabled = !1, n.skip(), n._skipReaction = ""
                        })), this._reactionName = i.a.getInstance().addWhen(e.COMMAND_NAME + "_onComplete", (function() {
                            return c.slotGameProps.winCycleState === l.a.PRESHOW_END
                        }), (function() {
                            n.cancel()
                        }))) : this.resolveCompleted()
                    }, e.prototype.cancel = function() {
                        this._state !== r.b.IDLE && ("" !== this._reactionName && (i.a.getInstance().disposeReaction(this._reactionName), this._reactionName = ""), this._skipButton.interactive = !1, this._skipButton.off("pointerup", this.skip)), t.prototype.cancel.call(this)
                    }, e.COMMAND_NAME = "winCycleSkipCommand", e
                }(r.a),
                h = n(22),
                m = n(59),
                d = n(34),
                f = n(38),
                _ = n(28),
                y = n(6),
                C = n(83),
                g = n(25),
                b = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                S = function(t) {
                    function e(e, n, o) {
                        void 0 === n && (n = !1), void 0 === o && (o = !0);
                        var i = t.call(this, e) || this;
                        return i.removePrizeValue = function(t, e) {
                            var n = t.children.find((function(t) {
                                return t.name === e + "_text"
                            }));
                            void 0 !== n && (n.destroy({
                                texture: !0,
                                baseTexture: !0
                            }), t.removeChild(n))
                        }, i._winPresentation = e.winPresentation, i._reelSetComponent = e.reelSetComponent, i._isRemoveValueOnly = n, i._useCurrentStage = o, i
                    }
                    return b(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), c.slotGameActions.gameActions.setWinCycleState(l.a.WINCYCLE_ABORT), !1 === this._isRemoveValueOnly && this._reelSetComponent.reelComponents.forEach((function(t, e) {
                            t.reelCellComponents.forEach((function(o, i) {
                                var r = i - t.props.topPadding;
                                o.container.visible = !0, o.container.alpha = 1, n.removeSymbol(o, e, r)
                            }))
                        }));
                        var o = this._reelSetComponent.container.getChildByName(g.a.WIN_CONTAINER);
                        if (o) {
                            var i = o.children.find((function(t) {
                                return t.name === C.a.WIN_CONTAINER_BOUNDS
                            }));
                            o.removeChildren(), void 0 !== i && o.addChild(i)
                        }
                        var r = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        if (null !== r) {
                            var a = this._reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER);
                            r.forEach((function(t) {
                                t.forEach((function(t) {
                                    !1 === n._isRemoveValueOnly && t.cells.forEach((function(t) {
                                        var e = t.name,
                                            o = Number(e[3]),
                                            i = Number(e[5]),
                                            r = n._reelSetComponent.reelComponents[o],
                                            a = r.props.topPadding,
                                            s = r.reelCellComponents[a + i];
                                        n.removeSymbol(s, o, i)
                                    })), void 0 !== a && n.removePrizeValue(a, t.name)
                                }))
                            }))
                        }
                        c.slotGameActions.gameActions.setWinCycleState(l.a.IDLE), !0 === this._isRemoveValueOnly ? y.f.delayedCall(e.RESOLVE_DELAY / 1e3, (function() {
                            n.resolveCompleted()
                        })) : this.resolveCompleted()
                    }, e.prototype.removeSymbol = function(t, e, n) {
                        var o = this;
                        if (t.props.name === f.a.REEL_PREFIX + e + "_" + _.a.CELL_PREFIX + n && void 0 !== this._winPresentation.animations) {
                            var i = this._winPresentation.animations.get(t.props.name);
                            void 0 !== i && i.forEach((function(t) {
                                (t instanceof h.a || t instanceof m.a) && o._reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER).removeChild(t)
                            }))
                        }
                    }, e.COMMAND_NAME = "hideAnimWinCommand", e.RESOLVE_DELAY = 0, e
                }(r.a),
                w = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                v = function(t) {
                    function e(e, n, o) {
                        void 0 === o && (o = !0);
                        var i = t.call(this, [e, n]) || this;
                        return i._winPresentation = e.winPresentation, i._reelSetComponent = e.reelSetComponent, i._labelName = n, i._useCurrentStage = o, i
                    }
                    return w(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this);
                        var e = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        if (null !== e && e.size > 0) {
                            new g.a(this._reelSetComponent, this._winPresentation, this._labelName, this._useCurrentStage);
                            c.slotGameActions.gameActions.setWinCycleState(l.a.WINCYCLE_BEGIN)
                        }
                        this.resolveCompleted()
                    }, e.COMMAND_NAME = "showAnimWinCommand", e
                }(r.a),
                A = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                T = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this;
                        return o._reactionName = "", o._whenName = "", o._spinWhenName = "", o.view = n, o
                    }
                    return A(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), this._reactionName = i.a.getInstance().addWhen(e.COMMAND_NAME + "_onFirstCycle", (function() {
                            return n.view.firstCycleComplete
                        }), (function() {
                            n._reactionName = "", n.cancel()
                        })), this._whenName = i.a.getInstance().addWhen(e.COMMAND_NAME + "_onSkip", (function() {
                            return a.b.skipped
                        }), (function() {
                            n._whenName = "", n.cancel()
                        })), this._spinWhenName = i.a.getInstance().addWhen(e.COMMAND_NAME + "_onAutoSpinStop", (function() {
                            return 0 === a.b.spins && "onBeginNewGame" === a.b.ixfState
                        }), (function() {
                            n._spinWhenName = "", n.cancel()
                        }))
                    }, e.prototype.cancel = function() {
                        this._state !== r.b.IDLE && this.disposeReaction(), t.prototype.cancel.call(this)
                    }, e.prototype.disposeReaction = function() {
                        "" !== this._reactionName && (i.a.getInstance().disposeReaction(this._reactionName), this._reactionName = ""), "" !== this._whenName && (i.a.getInstance().disposeReaction(this._whenName), this._whenName = ""), "" !== this._spinWhenName && (i.a.getInstance().disposeReaction(this._spinWhenName), this._spinWhenName = "")
                    }, e.COMMAND_NAME = "firstCycleDelayCommand", e
                }(r.a),
                P = n(3),
                N = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                O = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e]) || this;
                        return o._winPresentation = e.winPresentation, o._reelSetComponent = e.reelSetComponent, o._useCurrentStage = n, o._winContainer = o._reelSetComponent.container.getChildByName(g.a.WIN_CONTAINER), null === o._winContainer && (o._winContainer = new P.Container, o._winContainer.name = g.a.WIN_CONTAINER, o._reelSetComponent.container.addChild(o._winContainer)), o
                    }
                    return N(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._winPresentation.setSymbolAnims(this._useCurrentStage), this.resolveCompleted()
                    }, e.COMMAND_NAME = "setSymbolAnimations", e
                }(r.a),
                E = n(36),
                B = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                I = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, [e, n]) || this;
                        return i._winPresentation = e.winPresentation, i._reelSetComponent = e.reelSetComponent, i._labelName = n, i._symbolName = o, i
                    }
                    return B(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this);
                        var n = new Map;
                        this._reelSetComponent.reelComponents.forEach((function(t, o) {
                            t.reelCellComponents.forEach((function(i, r) {
                                if (void 0 !== i.cellDef && i.cellDef.text === e._symbolName) {
                                    var a = e.getSymbolAnim(i, o, r - t.props.topPadding);
                                    if (void 0 !== a && a instanceof h.a && void 0 !== i.cellDef) {
                                        var s = a.getCurrent(0);
                                        null !== s && n.set(s.animation.name + "_" + (n.size + 1), a)
                                    }
                                }
                            }))
                        }));
                        var o = this._reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER);
                        n.forEach((function(t, e) {
                            if (t instanceof(h.a || m.a) && o.addChild(t), t instanceof h.a && void 0 !== e) {
                                null !== t.parent && t.updateTransform();
                                var n = e.split("_");
                                n.pop();
                                var i = n.join("_");
                                t.setAnimation(i, 0, !0), t.animationSpeed = 1
                            }
                            t.play()
                        })), this.resolveCompleted()
                    }, e.prototype.getSymbolAnim = function(t, e, n) {
                        var o = this;
                        if (t.props.name === f.a.REEL_PREFIX + e + "_" + _.a.CELL_PREFIX + n) {
                            if (void 0 === this._winPresentation.animations) throw new Error("WinPresentationSystem -- Animation is undefined");
                            if (void 0 === t.cellDef) throw new Error("WinPresentationSystem -- Cell Def is undefined");
                            this._reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER);
                            var i = this._winPresentation.animations.get(t.props.name);
                            if (void 0 !== i) {
                                var r, a = t.cellDef.text;
                                return i.forEach((function(e, n) {
                                    var i = n.split("_");
                                    if (i.find((function(t) {
                                            return t === a
                                        })) && i[i.length - 1] === g.a.STANDARD_ANIM_SUFFIX && void 0 !== (r = E.a.getInstance().getSpineAnim(e, a + "_" + o._winPresentation.getLabelName(i[i.length - 2] + "_" + i[i.length - 1], o._labelName, !0)))) {
                                        var s = t.container,
                                            l = s.getChildByName("bounds");
                                        r.position.set(s.x + l.width / 2, s.y + l.height / 2)
                                    }
                                })), r
                            }
                        }
                    }, e.COMMAND_NAME = "animateSymbolCommand", e
                }(r.a),
                R = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                x = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this,
                            o = e.reelSetComponent.container.getChildByName(g.a.WIN_CONTAINER);
                        return null === o && ((o = new P.Container).name = g.a.WIN_CONTAINER), e.reelSetComponent.container.addChild(o), n
                    }
                    return R(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this.resolveCompleted()
                    }, e.COMMAND_NAME = "InitCommand", e
                }(r.a),
                W = n(66),
                D = n(73),
                L = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                M = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this;
                        return n._reelSet = e.reelSetComponent, n._winContainer = n._reelSet.container.getChildByName(g.a.WIN_CONTAINER), n
                    }
                    return L(e, t), e.prototype.execute = function() {
                        if (t.prototype.execute.call(this), void 0 !== this._reelSet.layout) {
                            var e = W.a.getInstance().drawRectGraphic(16711935, 0, 0, this._reelSet.layout.width, this._reelSet.layout.height);
                            e.alpha = .01, e.name = C.a.WIN_CONTAINER_BOUNDS, this._winContainer.addChild(e)
                        }
                        D.a.getInstance().updateScale(this._winContainer, this._reelSet.layoutId), this.resolveCompleted()
                    }, e.COMMAND_NAME = "SetScaleCommand", e
                }(r.a),
                k = n(49),
                G = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                j = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e) || this;
                        return i._minimumBigWinValue = 500, i._reset = n, i._winPresentation = e.winPresentation, i._rollupComponent = e.rollupComponent, i._isBonusWin = o, i
                    }
                    return G(e, t), e.prototype.execute = function() {
                        if (t.prototype.execute.call(this), this._reset || a.b.skipped) this._reset ? (this._winPresentation.setBigWinStatus(!1), this.resolveCompleted()) : this.resolveCompleted();
                        else {
                            var n = 0;
                            if (this._isBonusWin) {
                                var o = a.b.response.prizeOutcomes.get(e.GAME_TOTAL);
                                void 0 !== o && (n = o.totalPay)
                            } else {
                                var i = a.b.response.outcomeDetail.stage;
                                e.PRIZES.forEach((function(t) {
                                    var e = a.b.response.prizeOutcomes.get(i + t);
                                    void 0 !== e && (n += e.totalPay)
                                }))
                            }
                            var r = this._rollupComponent.props.rollupConfigData;
                            if (null !== r) {
                                var s = r.get(k.a.BIG_WIN_ROLLUP_CONFIG);
                                void 0 !== s && this.isBigWin(n, s) && this._winPresentation.setBigWinStatus(!0), this.resolveCompleted()
                            }
                        }
                    }, e.prototype.isBigWin = function(t, e) {
                        return t >= this._rollupComponent.props.bet * e.thresholdConfig[0].threshold && t >= this._minimumBigWinValue
                    }, e.COMMAND_NAME = "ParseBigWinCommand", e.GAME_TOTAL = "Game.Total", e.PRIZES = [".Lines", ".Scatter"], e
                }(r.a),
                F = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                U = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return F(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), c.slotGameActions.gameActions.setWinCycleState(l.a.PRESHOW_END), this.resolveCompleted()
                    }, e.COMMAND_NAME = "SetPreShowStateCommand", e
                }(r.a),
                z = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                H = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this,
                            o = e.reelSetComponent.container.getChildByName(g.a.WIN_CONTAINER);
                        return null === o && ((o = new P.Container).name = g.a.WIN_CONTAINER), e.reelSetComponent.container.addChild(o), n.win = e.winPresentation, n
                    }
                    return z(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this.win && this.win.displayAllWinline(), this.resolveCompleted()
                    }, e.COMMAND_NAME = "ShowLines", e
                }(r.a),
                K = function(t, e, n, o) {
                    var i = {
                        rollupComponent: t,
                        reelSetComponent: n,
                        winPresentation: e,
                        uiControls: o
                    };
                    this.setNoPreShowCommand = function() {
                        return new U(i)
                    }, this.parseBigWinCommand = function() {
                        return new j(i, !1, !1)
                    }, this.parseBonusBigWinCommand = function() {
                        return new j(i, !1, !0)
                    }, this.resetBigWinCommand = function() {
                        return new j(i, !0, !1)
                    }, this.showAnimWinCommand = function(t) {
                        return new v(i, t)
                    }, this.showAnimBonusWinCommand = function(t) {
                        return new v(i, t, !1)
                    }, this.hideAnimWinCommand = function(t) {
                        return new S(i, t)
                    }, this.hideAnimBonusWinCommand = function(t) {
                        return new S(i, t, !1)
                    }, this.animateSymbolCommand = function(t, e) {
                        return new I(i, t, e)
                    }, this.skipWinCycleCommand = function() {
                        return new p(i)
                    }, this.firstCycleDelayCommand = function(t) {
                        return new T(t, e.props)
                    }, this.setSymbolAnimations = function(t) {
                        return void 0 === t && (t = !0), new O(i, t)
                    }, this.initCommand = function() {
                        return new x(i)
                    }, this.setScaleCommand = function() {
                        return new M(i)
                    }, this.showLines = function() {
                        return new H(i)
                    }
                }
        },
        15: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return o
            })), n.d(e, "b", (function() {
                return s
            }));
            var o, i = n(0),
                r = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                a = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                };
            ! function(t) {
                t[t.IDLE = 0] = "IDLE", t[t.SHOW_SPAGHETTI = 1] = "SHOW_SPAGHETTI", t[t.PRESHOW_BEGIN = 2] = "PRESHOW_BEGIN", t[t.PRESHOW_END = 3] = "PRESHOW_END", t[t.WINCYCLE_BEGIN = 4] = "WINCYCLE_BEGIN", t[t.WINCYCLE_ABORT = 5] = "WINCYCLE_ABORT", t[t.BONUS_TRIGGER_START = 6] = "BONUS_TRIGGER_START", t[t.BONUS_TRIGGER_END = 7] = "BONUS_TRIGGER_END"
            }(o || (o = {}));
            var s = function() {
                function t() {
                    this.winConfigData = null, this.winCycleState = o.IDLE
                }
                return r([i.f, a("design:type", Object)], t.prototype, "winConfigData", void 0), r([i.f, a("design:type", Number)], t.prototype, "winCycleState", void 0), t
            }()
        },
        156: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return f
                }));
                var o, i = n(20),
                    r = n(40),
                    a = n(1),
                    s = n(11),
                    l = n(10),
                    c = n(75),
                    u = n(3),
                    p = n(61),
                    h = (o = function(t, e) {
                        return (o = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(t, e)
                    }, function(t, e) {
                        function n() {
                            this.constructor = t
                        }
                        o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                    }),
                    m = function(t, e, n, o) {
                        return new(n || (n = Promise))((function(i, r) {
                            function a(t) {
                                try {
                                    l(o.next(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function s(t) {
                                try {
                                    l(o.throw(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function l(t) {
                                var e;
                                t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                    t(e)
                                }))).then(a, s)
                            }
                            l((o = o.apply(t, e || [])).next())
                        }))
                    },
                    d = function(t, e) {
                        var n, o, i, r, a = {
                            label: 0,
                            sent: function() {
                                if (1 & i[0]) throw i[1];
                                return i[1]
                            },
                            trys: [],
                            ops: []
                        };
                        return r = {
                            next: s(0),
                            throw: s(1),
                            return: s(2)
                        }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                            return this
                        }), r;

                        function s(r) {
                            return function(s) {
                                return function(r) {
                                    if (n) throw new TypeError("Generator is already executing.");
                                    for (; a;) try {
                                        if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                        switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                            case 0:
                                            case 1:
                                                i = r;
                                                break;
                                            case 4:
                                                return a.label++, {
                                                    value: r[1],
                                                    done: !1
                                                };
                                            case 5:
                                                a.label++, o = r[1], r = [0];
                                                continue;
                                            case 7:
                                                r = a.ops.pop(), a.trys.pop();
                                                continue;
                                            default:
                                                if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                    a = 0;
                                                    continue
                                                }
                                                if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                    a.label = r[1];
                                                    break
                                                }
                                                if (6 === r[0] && a.label < i[1]) {
                                                    a.label = i[1], i = r;
                                                    break
                                                }
                                                if (i && a.label < i[2]) {
                                                    a.label = i[2], a.ops.push(r);
                                                    break
                                                }
                                                i[2] && a.ops.pop(), a.trys.pop();
                                                continue
                                        }
                                        r = e.call(t, a)
                                    } catch (t) {
                                        r = [6, t], o = 0
                                    } finally {
                                        n = i = 0
                                    }
                                    if (5 & r[0]) throw r[1];
                                    return {
                                        value: r[0] ? r[1] : void 0,
                                        done: !0
                                    }
                                }([r, s])
                            }
                        }
                    },
                    f = function(e) {
                        function n(t, n, o) {
                            var r = this,
                                a = new i.a(n, null);
                            return (r = e.call(this, a, {}, void 0, [], t) || this)._baseGameFrame = null, r._baseCatRight = null, r._baseCatLeft = null, r._bonusFrame = null, r._renderer = null, r._baseGameBG = null, r._bonusBG = null, r.backgroundList = null, r.slotProps = o, r
                        }
                        return h(n, e), n.prototype.init = function() {
                            return m(this, void 0, void 0, (function() {
                                var t, e, n, o = this;
                                return d(this, (function(i) {
                                    switch (i.label) {
                                        case 0:
                                            if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                            return r.a.build(this.layout, new Map, this.container), this._renderer = a.j.get(0).renderer, this.container.removeChild(this.container.getChildByName("symbolsFreeSpin")), t = a.j.get(0).container.getChildByName("game"), e = a.j.get(0).background.getChildByName("background"), this._baseGameBG = e.getChildByName("backgroundBaseGame"), this._bonusBG = e.getChildByName("backgroundBonus"), this.backgroundList = [this._baseGameBG, this._bonusBG], n = t.getChildByName("base"), t.getChildByName("anticipation").renderable = !1, this._baseGameFrame = n.getChildByName("baseReelFrame"), this._baseCatRight = n.getChildByName("baseReelCatRight"), this._baseCatLeft = n.getChildByName("baseReelCatLeft"), this._bonusFrame = this.container.getChildByName("bonusReelFrame"), [4, this.setBackgrounds().then((function() {
                                                o.bindTensionAnimTextures(), o.registerOrientationChange(), o.showBackgrounds(o._parent.props.orientation)
                                            }))];
                                        case 1:
                                            return i.sent(), this.container.renderable = !1, this._bonusFrame.renderable = !1, this._bonusBG.renderable = !1, [2]
                                    }
                                }))
                            }))
                        }, n.prototype.bindTensionAnimTextures = function() {
                            var t = this,
                                e = a.e.props.layouts.get(s.a.LANDSCAPE);
                            if (void 0 === e) throw new Error("Preloader -- Layout Node is undefined.");
                            var n = e.get("tensionAnim");
                            Object.values(a.f.fromCache(this.baseName(n.mcdata.data))).forEach((function(e) {
                                t._renderer && t._renderer.plugins.prepare.upload(e)
                            }))
                        }, n.prototype._loadImage = function(e, n, o) {
                            return m(this, void 0, void 0, (function() {
                                var i, r, s, l, c, u, p = this;
                                return d(this, (function(h) {
                                    switch (h.label) {
                                        case 0:
                                            return i = a.f.props.manifest.images[e], [4, fetch(i)];
                                        case 1:
                                            return r = h.sent(), s = new Image, l = s, u = (c = URL).createObjectURL, [4, r.blob()];
                                        case 2:
                                            return l.src = u.apply(c, [h.sent()]), [2, new Promise((function(i, r) {
                                                s.onload = function() {
                                                    var r = t.Texture.from(s);
                                                    if (!p._renderer) throw new Error("Backgrounds : renderer not defined");
                                                    p._renderer.plugins.prepare.upload(r, (function() {
                                                        t.Texture.addToCache(r, e), p.makeSpriteAndAddToStage(n, o, r), i(r)
                                                    }))
                                                }
                                            }))]
                                    }
                                }))
                            }))
                        }, n.prototype.makeSpriteAndAddToStage = function(e, n, o) {
                            for (var i = Math.ceil(n / o.width), r = 0; r < i; r++) {
                                var a = new t.Sprite(o);
                                a.position.set(r * o.width, 0), e.addChild(a)
                            }
                        }, n.prototype.setBackgrounds = function() {
                            return m(this, void 0, void 0, (function() {
                                var t, e, n, o;
                                return d(this, (function(i) {
                                    switch (i.label) {
                                        case 0:
                                            return this._baseGameBG && this._bonusBG ? (t = this._baseGameBG.getChildByName("BGtile"), [4, this._loadImage("kitty_BGtile.jpg", t, p.a[3])]) : [3, 5];
                                        case 1:
                                            return i.sent(), e = this._bonusBG.getChildByName("BGtile_FS"), [4, this._loadImage("kitty_BGtile_FS.jpg", e, p.a[3])];
                                        case 2:
                                            return i.sent(), this.slotProps.assetPack.includes("desktop") ? [3, 5] : (n = this._baseGameBG.getChildByName("BGtile_prt"), [4, this._loadImage("kitty_BGtile_port.jpg", n, p.b[3])]);
                                        case 3:
                                            return i.sent(), o = this._bonusBG.getChildByName("BGtile_FS_prt"), [4, this._loadImage("kitty_BGtile_FS_port.jpg", o, p.b[3])];
                                        case 4:
                                            i.sent(), i.label = 5;
                                        case 5:
                                            return [2]
                                    }
                                }))
                            }))
                        }, n.prototype.baseName = function(t) {
                            return t.substr(t.lastIndexOf("/") + 1)
                        }, n.prototype.switchToBonus = function(t) {
                            this.container.renderable = t, this._baseGameFrame && this._bonusFrame && this._baseCatLeft && this._baseCatRight && this._baseGameBG && this._bonusBG && (this._baseGameFrame.renderable = !t, this._baseCatRight.renderable = !t, this._baseCatLeft.renderable = !t, this._baseGameBG.renderable = !t, this._baseGameBG.visible = !t, this._bonusBG.renderable = t, this._bonusFrame.renderable = t)
                        }, n.prototype.switchBackgrounds = function(t, e) {
                            t.children.forEach((function(t) {
                                (t.name.startsWith("BGtile") || t instanceof u.Sprite) && (t.name.endsWith("_prt") ? t.visible = e === s.a.PORTRAIT : t.visible = e === s.a.LANDSCAPE)
                            }))
                        }, n.prototype.showBackgrounds = function(t) {
                            this._baseGameBG && this._bonusBG && (this.switchBackgrounds(this._baseGameBG, t), this.switchBackgrounds(this._bonusBG, t))
                        }, n.prototype.registerOrientationChange = function() {
                            var t = this;
                            l.a.getInstance().addReaction("Backgrounds_orientationChanged", (function() {
                                return a.l.orientation
                            }), (function(e) {
                                return t.showBackgrounds(e)
                            }))
                        }, n.prototype.setCommands = function(t) {
                            this._commands = t
                        }, n
                    }(c.a)
            }).call(this, n(3))
        },
        157: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return I
                }));
                var o, i, r = n(20),
                    a = n(40),
                    s = n(1),
                    l = n(10),
                    c = n(22),
                    u = n(11),
                    p = n(75),
                    h = n(38),
                    m = n(28),
                    d = n(24),
                    f = n(16),
                    _ = n(0),
                    y = n(3),
                    C = n(29),
                    g = n(6),
                    b = n(158),
                    S = n(30),
                    w = n(159),
                    v = n(164),
                    A = n(36),
                    T = n(25),
                    P = (o = function(t, e) {
                        return (o = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(t, e)
                    }, function(t, e) {
                        function n() {
                            this.constructor = t
                        }
                        o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                    }),
                    N = function(t, e, n, o) {
                        var i, r = arguments.length,
                            a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                        if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                        else
                            for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                        return r > 3 && a && Object.defineProperty(e, n, a), a
                    },
                    O = function(t, e) {
                        if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                    },
                    E = function(t, e, n, o) {
                        return new(n || (n = Promise))((function(i, r) {
                            function a(t) {
                                try {
                                    l(o.next(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function s(t) {
                                try {
                                    l(o.throw(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function l(t) {
                                var e;
                                t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                    t(e)
                                }))).then(a, s)
                            }
                            l((o = o.apply(t, e || [])).next())
                        }))
                    },
                    B = function(t, e) {
                        var n, o, i, r, a = {
                            label: 0,
                            sent: function() {
                                if (1 & i[0]) throw i[1];
                                return i[1]
                            },
                            trys: [],
                            ops: []
                        };
                        return r = {
                            next: s(0),
                            throw: s(1),
                            return: s(2)
                        }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                            return this
                        }), r;

                        function s(r) {
                            return function(s) {
                                return function(r) {
                                    if (n) throw new TypeError("Generator is already executing.");
                                    for (; a;) try {
                                        if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                        switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                            case 0:
                                            case 1:
                                                i = r;
                                                break;
                                            case 4:
                                                return a.label++, {
                                                    value: r[1],
                                                    done: !1
                                                };
                                            case 5:
                                                a.label++, o = r[1], r = [0];
                                                continue;
                                            case 7:
                                                r = a.ops.pop(), a.trys.pop();
                                                continue;
                                            default:
                                                if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                    a = 0;
                                                    continue
                                                }
                                                if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                    a.label = r[1];
                                                    break
                                                }
                                                if (6 === r[0] && a.label < i[1]) {
                                                    a.label = i[1], i = r;
                                                    break
                                                }
                                                if (i && a.label < i[2]) {
                                                    a.label = i[2], a.ops.push(r);
                                                    break
                                                }
                                                i[2] && a.ops.pop(), a.trys.pop();
                                                continue
                                        }
                                        r = e.call(t, a)
                                    } catch (t) {
                                        r = [6, t], o = 0
                                    } finally {
                                        n = i = 0
                                    }
                                    if (5 & r[0]) throw r[1];
                                    return {
                                        value: r[0] ? r[1] : void 0,
                                        done: !0
                                    }
                                }([r, s])
                            }
                        }
                    };
                ! function(t) {
                    t[t.IDLE = 0] = "IDLE", t[t.MOVING = 1] = "MOVING"
                }(i || (i = {}));
                var I = function(e) {
                    function n(t, n, o, a, s, l) {
                        void 0 === s && (s = new S.c), void 0 === l && (l = []);
                        var c = e.call(this, new r.a(a, null), new b.a(s), void 0, ["diamondTrail.json", "starTrail.json"], t) || this;
                        return c._parentContainer = new y.Container, c._skipped = !1, c._diamondAnimState = i.IDLE, c._parentProps = a, c._reels = n, c._animations = o.animations, c._parentContainer = new y.Container, c._particleContainer = new y.Container, c._starParticleContainer = new y.Container, c._diamondTrailContainer = null, c._diamondTrailAnimation = null, c._targetDiamondCellCode = null, c._targetCatPosition = null, c._targetDiamond = null, c._targetCat = null, c._triggerSymbolPosition = null, c._cats = new Map, c._diamondCatMap = new Map, c._collectedDiamonds = [], c._centerSymbolPosition = null, c.actions = new w.a(s), c.meterIsComplete = !1, c._emitterConfig = null, c.emitter = null, c._starEmitterConfig = null, c.starEmitter = null, c._collectionTimleLine = null, c._diamondTransformAnim = void 0, c
                    }
                    return P(n, e), n.prototype.init = function() {
                        return E(this, void 0, void 0, (function() {
                            var t, e, n;
                            return B(this, (function(o) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return a.a.build(this.layout, new Map, this.container), t = s.j.get(0).container.getChildByName("game"), this._diamondTrailContainer = t.getChildByName("diamondSpin"), this._diamondTrailAnimation = this._diamondTrailContainer.getChildByName("diamondSpin_anim"), this._diamondTrailAnimation.renderable = !1, this._diamondTrailContainer.renderable = !1, this._particleContainer = t.getChildByName("trailDiamondContainer"), this._starParticleContainer = t.getChildByName("trailStarContainer"), null === this._emitterConfig && (this._emitterConfig = this.assets.get(this.assetIds[0])), null === this._starEmitterConfig && (this._starEmitterConfig = this.assets.get(this.assetIds[1])), this._emitterTarget = new y.Point(0, 0), e = "trailDiamond", this._parent.props.assetPack.includes("desktop") && (e = "trailDiamond"), n = s.f.props.manifest.images["freespins_star.jpg"], this.emitter = new C.b(this._particleContainer, ["" + e], this._emitterConfig), this.emitter.particleConstructor = C.c, this.emitter.emit = !1, this.emitter.autoUpdate = !0, this.starEmitter = new C.b(this._starParticleContainer, ["" + n], this._starEmitterConfig), this.starEmitter.particleConstructor = C.c, this.starEmitter.emit = !1, this.starEmitter.autoUpdate = !0, this.setup(), this._addRotateReaction(), [2]
                            }))
                        }))
                    }, n.prototype.show = function(t) {
                        this.container.renderable = t, this.container.visible = t, t || this._reset()
                    }, n.prototype._reset = function() {
                        this.meterIsComplete = !1, this._triggerSymbolPosition = null, this.resetAnimations(), this._cats.forEach((function(t) {
                            t.reset()
                        })), this._collectedDiamonds.length = 0
                    }, n.prototype._addRotateReaction = function() {
                        var t = this;
                        l.a.getInstance().addReaction("DiamondMeter_orientationChanged", (function() {
                            return s.l.orientation
                        }), (function() {
                            t._diamondAnimState === i.MOVING && t.skip()
                        }))
                    }, n.prototype.setup = function() {
                        for (var t = this, e = ["S11", "S12", "S13", "S14"], o = [4, 3, 2, 1], i = function(i) {
                                var a = n.CAT_DIAMOND_CODES["" + e[i - 1]],
                                    s = new v.a(r._parentProps, o[i - 1], e[i - 1], a, r.container, r.actions);
                                a.forEach((function(e) {
                                    t._diamondCatMap.set(e, s)
                                })), r._cats.set("" + e[i - 1], s)
                            }, r = this, a = e.length; a > 0; a--) i(a)
                    }, n.prototype.trackDiamonds = function() {
                        this._targetDiamondCellCode && this._collectedDiamonds.push(this._targetDiamondCellCode)
                    }, n.prototype.startDiamondCollection = function() {
                        var t, e = this;
                        this._skipped = !1, this._diamondAnimState = i.IDLE;
                        var n = this._parentProps.response.highlightOutcomes.get("FreeSpin.TrailTrigger");
                        if (n && n.highlights && n.highlights.length && n.highlights[0].cells && (t = n.highlights[0].cells[0].name), t && !this.meterIsComplete) {
                            var o = this._parentProps.response.highlightOutcomes.get("FreeSpin.Trail");
                            if (o && o.highlights && (this._targetDiamondCellCode = o.highlights[0].cells[o.highlights[0].cells.length - 1].name, this.trackDiamonds()), !this._targetDiamondCellCode) throw new Error("No Target Gem");
                            this.setTargetDiamondPosition(this._targetDiamondCellCode), this._parentContainer = this._reels.container.getChildByName(T.a.WIN_CONTAINER);
                            var r = Number(t[3]),
                                a = Number(t[5]),
                                l = h.a.REEL_PREFIX + r + "_" + m.a.CELL_PREFIX + a,
                                u = this._reels.reelComponents[r],
                                p = u.props.topPadding,
                                d = u.reelCellComponents[p + a],
                                f = this._animations.get(l);
                            if (!f) throw new Error("No Animation for that symbol location");
                            if (this._diamondTransformAnim = A.a.getInstance().getSpineAnim(f.get(l + "_symbolsAnims_anim"), "w02_anim"), this._diamondTransformAnim instanceof c.a) {
                                var _ = d.container,
                                    y = _.getChildByName("bounds");
                                this._diamondTransformAnim.position.set(_.x + y.width / 2, _.y + y.height / 2), this._parentContainer.addChildAt(this._diamondTransformAnim, this._parentContainer.children.length > 0 ? this._parentContainer.children.length - 1 : 0), this._diamondTransformAnim.once(c.a.EVENT_COMPLETE, (function() {
                                    if (e._diamondTrailAnimation) {
                                        var t = s.j.get(0).container.getChildByName("game"),
                                            n = e._reels.reelComponents[2],
                                            o = n.props.topPadding,
                                            i = n.reelCellComponents[o + 1].container;
                                        if (e._centerSymbolPosition = A.a.getInstance().getGlobalToLocal(i, t, y), e._triggerSymbolPosition = A.a.getInstance().getGlobalToLocal(_, t, y), !e._targetDiamondCellCode) throw new Error("No Target Gem");
                                        e.setTargetDiamondPosition(e._targetDiamondCellCode), e.sendDiamondToMeter(), e._diamondTransformAnim && (e._diamondTransformAnim.renderable = !1)
                                    }
                                })), s.i.execute("onBonusDiamondTrail"), A.a.getInstance().playSpineAnim(this._diamondTransformAnim, 1.3, !1)
                            }
                        } else this.setCollectState(S.b.NO_TRIGGER);
                        return !0
                    }, n.prototype.getCellCodesToTransform = function() {
                        var t, e = this._parentProps.response.populationOutcomes.get("FreeSpin.Trail"),
                            n = this._parentProps.response.populationOutcomes.get("FreeSpin.Reels");
                        return n && e && n.entry.forEach((function(n, o) {
                            n.cells.forEach((function(n, i) {
                                var r = e.entry.get(o);
                                r && r.cells[i].text !== n.text && (void 0 === t && (t = new Map), t.set(n.name, r.cells[i]))
                            }))
                        })), t
                    }, n.prototype.checkCatIsTurningWild = function() {
                        return !!this._targetCat && this._targetCat.isWild
                    }, n.prototype.processCatWild = function() {
                        var t = !1;
                        this._targetCat && (t = !0, this._targetCat.turnCatWild(), this.transformReelSymbols(), this._collectedDiamonds.length === n.MAX_DIAMONDS && (this.meterIsComplete = !0)), t || this.resetAnimations()
                    }, n.prototype.transformReelSymbols = function() {
                        var t = this,
                            e = this.getCellCodesToTransform();
                        e && e.forEach((function(e) {
                            var n = Number(e.name[3]),
                                o = Number(e.name[5]),
                                i = t._reels.reelComponents[n].reelCellComponents[o + 2],
                                r = t._reels.symbolSetComponent.symbols.get(e.text);
                            void 0 !== r && (r.swapName = e.text, t.swapCellSymbol(i, r, t._reels));
                            var a = t.getTransformAnim(e);
                            a && (null !== a.parent && a.updateTransform(), a.setAnimation(e.text + "_transform", 0, !1), a.renderable = !0, a.animationSpeed = 1, a.play())
                        })), s.i.execute("onBonusSymbolTransform")
                    }, n.prototype.swapCellSymbol = function(t, e, n) {
                        var o;
                        if (void 0 !== (o = null !== e.symbolsConfigDef && e.symbolsConfigDef.suffix.length > 0 ? e.getPooledObject(e.name + e.symbolsConfigDef.suffix + d.a.STATIC_SUFFIX) : e.getPooledObject(e.name + d.a.STATIC_SUFFIX))) {
                            var i = o.object,
                                r = n.templateContainers.find((function(t) {
                                    return void 0 !== e && null !== e.symbolsConfigDef && t.name === e.symbolsConfigDef.symbolBounds
                                }));
                            t.container.removeChildAt(t.container.children.length - 1), void 0 !== r && f.a.getInstance().createCellBounds(t, r);
                            var a = t.container;
                            null !== e.symbolsConfigDef && (a.zIndex = e.symbolsConfigDef.layer), a.addChild(i), t.setPoolObjectName(o.name + "_" + o.id)
                        }
                    }, n.prototype.getTransformAnim = function(t) {
                        var e = Number(t.name[3]),
                            n = Number(t.name[5]),
                            o = this._reels.reelComponents[e],
                            i = o.props.topPadding,
                            r = o.reelCellComponents[i + n].container,
                            a = h.a.REEL_PREFIX + e + "_" + m.a.CELL_PREFIX + n,
                            s = this._animations.get(a);
                        if (s) {
                            var l = A.a.getInstance().getSpineAnim(s.get(a + "_symbolsAnims_anim"), t.text + "_transform");
                            if (l instanceof c.a) {
                                if (l.renderable = !1, null === this._parentContainer.getChildByName(l.name)) {
                                    this._parentContainer.addChildAt(l, this._parentContainer.children.length - 1);
                                    var u = r.getChildByName("bounds");
                                    l.position.set(r.x + u.width / 2, r.y + u.height / 2)
                                }
                                return l
                            }
                        }
                    }, n.prototype.resetAnimations = function() {
                        this._targetDiamondCellCode = null, this._targetCatPosition = null, this._collectionTimleLine = null, this._diamondTransformAnim = void 0, this._diamondTrailContainer && this._diamondTrailAnimation && (this._diamondTrailAnimation.stop(), this._diamondTrailAnimation.clearTracks(), this._diamondTrailAnimation.setToSetupPose(), this._diamondTrailAnimation.scale.x = 1, this._diamondTrailAnimation.scale.y = 1, this._diamondTrailContainer.renderable = !1, this._diamondTrailAnimation.renderable = !1)
                    }, n.prototype.sendDiamondToMeter = function() {
                        var t = this;
                        if (this._diamondTrailContainer && this._diamondTrailAnimation) {
                            if (this._triggerSymbolPosition && (this._diamondTrailAnimation.position.x = this._triggerSymbolPosition.x, this._diamondTrailAnimation.position.y = this._triggerSymbolPosition.y - 10), this._diamondTrailContainer.renderable = !0, this._diamondTrailAnimation.scale.x = 1, this._diamondTrailAnimation.scale.y = 1, this._diamondTrailAnimation.renderable = !0, this._diamondTrailAnimation.animationSpeed = 1, this._diamondTrailAnimation.setAnimation("diamondSpin", 0, !0), this._diamondTrailAnimation.play(), !(this._targetCatPosition && this._triggerSymbolPosition && this._centerSymbolPosition)) throw new Error("No Target cat is set");
                            var e = 160;
                            s.l.orientation === u.a.PORTRAIT && (e = 120);
                            var n = g.f.to(this._diamondTrailAnimation, 1.1, {
                                    x: this._centerSymbolPosition.x,
                                    y: this._centerSymbolPosition.y,
                                    bezier: {
                                        type: "thru",
                                        curviness: 1,
                                        values: [{
                                            x: (this._centerSymbolPosition.x + this._triggerSymbolPosition.x) / 2,
                                            y: (this._centerSymbolPosition.y + this._triggerSymbolPosition.y) / 2 - e
                                        }, {
                                            x: this._centerSymbolPosition.x,
                                            y: this._centerSymbolPosition.y
                                        }]
                                    },
                                    onStart: function() {
                                        t._diamondTrailAnimation && t.emitter && (t._diamondAnimState = i.MOVING, g.f.to(t._diamondTrailAnimation.scale, .8, {
                                            x: 1.6,
                                            y: 1.6
                                        }))
                                    },
                                    onComplete: function() {
                                        t.emitter && t.starEmitter && (t.emitter.emit = !1, t.starEmitter.emit = !1)
                                    },
                                    onStartScope: this,
                                    ease: g.c.easeOut,
                                    onUpdate: this.positionEmitter,
                                    onUpdateScope: this
                                }),
                                o = g.f.to(this._diamondTrailAnimation, .4, {
                                    x: this._targetCatPosition.x,
                                    y: this._targetCatPosition.y,
                                    onStart: function() {
                                        g.f.delayedCall(.2, (function() {
                                            t.emitter && t.starEmitter && !t._skipped && (t.emitter.emit = !0, t.starEmitter.emit = !0)
                                        })), t._diamondTrailAnimation && t.emitter && g.f.to(t._diamondTrailAnimation.scale, .2, {
                                            x: .3,
                                            y: .3,
                                            delay: .25
                                        })
                                    },
                                    onStartScope: this,
                                    ease: g.a.easeIn.config(1.2),
                                    onUpdate: this.positionEmitter,
                                    onUpdateScope: this
                                });
                            this._collectionTimleLine = new g.d({
                                paused: !0,
                                onStart: function() {
                                    t._diamondTrailAnimation && t.emitter && t.starEmitter && (t._particleContainer.visible = !0, t._starParticleContainer.visible = !0, t.emitter.emit = !0, t.starEmitter.emit = !0)
                                },
                                onStartScope: this,
                                onComplete: this.setDiamonds,
                                onCompleteParams: [!0],
                                onCompleteScope: this
                            }), this._collectionTimleLine.add(n, 0), this._collectionTimleLine.add(o, 1.3), this._collectionTimleLine.play()
                        }
                    }, n.prototype.positionEmitter = function() {
                        this._diamondTrailAnimation && this._emitterTarget && this.emitter && this.starEmitter && (this.emitter.spawnPos.x = this._diamondTrailAnimation.x, this.emitter.spawnPos.y = this._diamondTrailAnimation.y, this.emitter.startScale = new C.d(.8 * this._diamondTrailAnimation.scale.x, 0), this.starEmitter.spawnPos.x = this._diamondTrailAnimation.x, this.starEmitter.spawnPos.y = this._diamondTrailAnimation.y)
                    }, n.prototype.setDiamonds = function(t) {
                        this._skipped = !0, this._diamondAnimState = i.IDLE, this._diamondTrailContainer && this._diamondTrailAnimation && this.emitter && this.starEmitter && (this.emitter.emit = !1, this.starEmitter.emit = !1, this._diamondTrailContainer.renderable = !1, this._diamondTrailAnimation.renderable = !1), this._targetCat && (t && this._targetCat.playLandAnim(), this._targetCat.collectDiamond(), s.i.execute("onBonusDiamondLand"))
                    }, n.prototype.setTargetDiamondPosition = function(e) {
                        if (this._targetCat = this._diamondCatMap.get(e), this._targetCat && (this._targetDiamond = this._targetCat.diamonds.get(e), this._targetDiamond)) {
                            var n = new t.Point(0, 0),
                                o = s.j.get(0).container.getChildByName("game"),
                                i = this._targetCat.container.toGlobal(n),
                                r = o.toLocal(i);
                            this._targetCatPosition = new y.Point(r.x + this._targetCat.container.width / 2, r.y + this._targetCat.container.height / 2)
                        }
                    }, n.prototype.setGameInProgressReels = function() {
                        var t = this,
                            e = this._parentProps.response.highlightOutcomes.get("FreeSpin.Trail");
                        e && e.highlights && e.highlights.length > 0 && (e.highlights[0].cells.forEach((function(e) {
                            t._collectedDiamonds.push(e.name)
                        })), this._collectedDiamonds.length === n.MAX_DIAMONDS && (this.meterIsComplete = !0));
                        var o = this.getCellCodesToTransform();
                        o && o.forEach((function(e) {
                            var n = Number(e.name[3]),
                                o = Number(e.name[5]),
                                i = t._reels.reelComponents[n].reelCellComponents[o + 2],
                                r = t._reels.symbolSetComponent.symbols.get(e.text);
                            void 0 !== r && (r.swapName = e.text, t.swapCellSymbol(i, r, t._reels))
                        }))
                    }, n.prototype.skip = function() {
                        this._skipped || (this._skipped = !0, this._diamondTransformAnim && (this._diamondTransformAnim.removeAllListeners(), this._diamondTransformAnim.stop(), this._diamondTransformAnim.renderable = !1), this._collectionTimleLine && this._collectionTimleLine.isActive && this._collectionTimleLine.kill(), s.i.execute("onDiamondCollectSkip"), this.setDiamonds(!1))
                    }, n.prototype.setCollectState = function(t) {
                        this.actions.setCollectState(t)
                    }, n.prototype.setCommands = function(t) {
                        this._commands = t
                    }, n.CAT_DIAMOND_CODES = {
                        S11: ["L0C0R0", "L0C1R0", "L0C2R0"],
                        S12: ["L0C3R0", "L0C4R0", "L0C5R0"],
                        S13: ["L0C6R0", "L0C7R0", "L0C8R0"],
                        S14: ["L0C9R0", "L0C10R0", "L0C11R0"]
                    }, n.MAX_DIAMONDS = 12, N([_.b.bound, O("design:type", Function), O("design:paramtypes", [Number]), O("design:returntype", void 0)], n.prototype, "setCollectState", null), n
                }(p.a)
            }).call(this, n(3))
        },
        158: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return s
            }));
            var o = n(0),
                i = n(30),
                r = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                a = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                s = function() {
                    function t(t) {
                        this._data = t
                    }
                    return Object.defineProperty(t.prototype, "data", {
                        get: function() {
                            return this._data
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "collectState", {
                        get: function() {
                            return this._data.collectState
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "catCollectedState", {
                        get: function() {
                            return this._data.catCollectState
                        },
                        enumerable: !0,
                        configurable: !0
                    }), r([o.d, a("design:type", i.c), a("design:paramtypes", [])], t.prototype, "data", null), r([o.d, a("design:type", Number), a("design:paramtypes", [])], t.prototype, "collectState", null), r([o.d, a("design:type", Number), a("design:paramtypes", [])], t.prototype, "catCollectedState", null), t
                }()
        },
        159: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return c
            }));
            var o, i = n(0),
                r = n(17),
                a = (o = function(t, e) {
                    return (o = Object.setPrototypeOf || {
                            __proto__: []
                        }
                        instanceof Array && function(t, e) {
                            t.__proto__ = e
                        } || function(t, e) {
                            for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                        })(t, e)
                }, function(t, e) {
                    function n() {
                        this.constructor = t
                    }
                    o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                }),
                s = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                l = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                c = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return a(e, t), e.prototype.setCollectState = function(t) {
                        this._data.collectState = t
                    }, e.prototype.setCatCollectedState = function(t) {
                        this._data.catCollectState = t
                    }, s([i.b.bound, l("design:type", Function), l("design:paramtypes", [Number]), l("design:returntype", void 0)], e.prototype, "setCollectState", null), s([i.b.bound, l("design:type", Function), l("design:paramtypes", [Number]), l("design:returntype", void 0)], e.prototype, "setCatCollectedState", null), e
                }(r.a)
        },
        160: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return o
            }));
            var o = "onSymbolWin"
        },
        164: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return y
            }));
            var o = n(0),
                i = n(1),
                r = n(22),
                a = n(11),
                s = n(10),
                l = n(6),
                c = n(73),
                u = n(30),
                p = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                h = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                m = function() {
                    function t(t, e, n, o, i, r) {
                        this._parentProps = e, this.diamondCellCode = t, this.isWild = !1, this.actions = r, this.catSymbolCode = o, this.parentContainer = i, this.collectedSpineContainer = this.parentContainer.getChildByName(this.catSymbolCode + "_diamond" + n + "_spine"), this.wildCollectedSprite = this.parentContainer.getChildByName(this.catSymbolCode + "_diamond" + n + "_wild"), this.wildCollectedSprite.visible = !1, this.collectSpineAnim = null, this.collectedSpineContainer && this.setupSpineCollectAnim()
                    }
                    return t.prototype.setupSpineCollectAnim = function() {
                        var t = i.e.props.layout.get("FS_meterAnims_anim");
                        void 0 !== t && "spine-animation" === t.type && (this.collectSpineAnim = new r.a(i.f.fromCache(c.a.getInstance().baseName(t.spinedata.data))), this.collectedSpineContainer.addChild(this.collectSpineAnim), this.collectSpineAnim.renderable = !1, this.collectSpineAnim.animationSpeed = 0)
                    }, t.prototype.turnOn = function() {
                        if (this.collectSpineAnim) {
                            this.onDiamondCollectEnd();
                            var e = i.e.props.layout.get("FS_meterAnims_anim");
                            void 0 !== e && "spine-animation" === e.type && (this.collectSpineAnim.setAnimation(e.spinedata.animation, 0, !1), this.collectSpineAnim.addAnimation("" + t.STATIC_ANIM_NAME, 0, !1, 0), this.collectSpineAnim.updateTransform(), this.collectSpineAnim.renderable = !0, this.collectSpineAnim.animationSpeed = 1, this.collectSpineAnim.play())
                        }
                    }, t.prototype.turnOnGip = function() {
                        if (this.collectSpineAnim) {
                            var e = i.e.props.layout.get("FS_meterAnims_anim");
                            if (void 0 !== e && "spine-animation" === e.type) return this.collectSpineAnim.setAnimation("" + t.STATIC_ANIM_NAME, 0, !1), this.collectSpineAnim.renderable = !0, this.collectSpineAnim.animationSpeed = 0, this.collectSpineAnim.play(), !0
                        }
                        return !1
                    }, t.prototype.setWildGIP = function() {
                        return this.wildCollectedSprite.alpha = 1, this.wildCollectedSprite.visible = !0, this.isWild = !0, !0
                    }, t.prototype.turnWild = function() {
                        this.wildCollectedSprite.alpha = 0, this.wildCollectedSprite.visible = !0, l.f.to(this.wildCollectedSprite, .4, {
                            alpha: 1,
                            delay: .4
                        }), this.isWild = !0
                    }, t.prototype.reset = function() {
                        this.collectSpineAnim && (this.collectSpineAnim.clearTracks(), this.collectSpineAnim.setToSetupPose(), this.collectSpineAnim.renderable = !1, this.collectSpineAnim.animationSpeed = 0), this.wildCollectedSprite.alpha = 0, this.wildCollectedSprite.visible = !1, this.isWild = !1
                    }, t.prototype.checkGameInProgress = function(t) {
                        var e = this._parentProps.response.highlightOutcomes.get("FreeSpin.Trail");
                        if (e && e.highlights && e.highlights.length > 0)
                            for (var n = e.highlights[0].cells, o = n.length - 1; o > -1; o--)
                                if (this.diamondCellCode === n[o].name) return t ? this.setWildGIP() : this.turnOnGip();
                        return !1
                    }, t.prototype.onDiamondCollectEnd = function() {
                        this.actions.setCollectState(u.b.DIAMOND_COLLECT_END)
                    }, t.STATIC_ANIM_NAME = "land/diamondStatic", p([o.b.bound, h("design:type", Function), h("design:paramtypes", []), h("design:returntype", void 0)], t.prototype, "onDiamondCollectEnd", null), t
                }(),
                d = n(157),
                f = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                _ = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                y = function() {
                    function t(t, e, n, o, r, a) {
                        this.catSymbolCode = n, this._parentProps = t, this.isWild = !1, this.actions = a, this.container = r.getChildByName("diamondMeter" + this.catSymbolCode), this.container.zIndex = e, this.wildTransformContainer = this.container.getChildByName(this.catSymbolCode + "_cat_spine"), this.diamonds = new Map, this._diamondCodes = o, this._collectedDiamonds = new Map, this._collectedDiamondCount = 0, this.currentOrientation = i.l.orientation, this.wildTransformAnim = null, this.wildTransformContainer && this.setupTransformAnim(), this.setupDiamonds(), this.checkGameInProgress(), this.orientationChanged()
                    }
                    return t.prototype.setupDiamonds = function() {
                        for (var e = d.a.CAT_DIAMOND_CODES[this.catSymbolCode], n = t.DIAMOND_COUNT; n > 0; n--) {
                            var o = new m(e[n - 1], this._parentProps, n, this.catSymbolCode, this.container, this.actions);
                            this.diamonds.set("" + this._diamondCodes[n - 1], o)
                        }
                    }, t.prototype.setupTransformAnim = function() {
                        var e = i.e.props.layout.get("symbolsAnims_anim");
                        if (void 0 !== e && "spine-animation" === e.type) {
                            this.wildTransformAnim = new r.a(i.f.fromCache(c.a.getInstance().baseName(e.spinedata.data)));
                            var n = t.SYMBOL_TRANSFORM_CODES["" + this.catSymbolCode];
                            this.wildTransformContainer.addChild(this.wildTransformAnim), this.wildTransformAnim.renderable = !0, this.wildTransformAnim.setAnimation(n + "_MeterTransformStatic_land", 0, !1), this.wildTransformAnim.animationSpeed = 0, this.wildTransformAnim.play()
                        }
                    }, t.prototype.playLandAnim = function() {
                        var e = this;
                        if (this.wildTransformAnim) {
                            var n = t.SYMBOL_TRANSFORM_CODES["" + this.catSymbolCode],
                                o = this.currentOrientation === a.a.LANDSCAPE ? "land" : "port";
                            this.wildTransformAnim.setAnimation(n + "_MeterTransformHit_" + o, 0, !1), this.wildTransformAnim.once(r.a.EVENT_COMPLETE, (function() {
                                e.wildTransformAnim && (e.wildTransformAnim.setAnimation(n + "_MeterTransformStatic_" + o, 0, !1), e.wildTransformAnim.animationSpeed = 0, e.wildTransformAnim.play())
                            })), this.wildTransformAnim.animationSpeed = 1, this.wildTransformAnim.play()
                        }
                    }, t.prototype.orientationChanged = function() {
                        var t = this;
                        s.a.getInstance().addReaction("DiamondMeterCat_orientationChanged", (function() {
                            return i.l.orientation
                        }), (function(e) {
                            if (t.currentOrientation = e, t.wildTransformAnim) {
                                t.wildTransformAnim.animationSpeed = 0;
                                var n = t.getAnimationName(!1);
                                t.isWild ? t.setAsWild() : t.wildTransformAnim.setAnimation("" + n, 0, !1)
                            }
                        }))
                    }, t.prototype.collectDiamond = function() {
                        var t = this.diamonds.get(this._diamondCodes[this._collectedDiamondCount]);
                        t && (this._collectedDiamonds.set(this._diamondCodes[this._collectedDiamondCount], t), this._collectedDiamondCount++, 3 === this._collectedDiamondCount && (this.isWild = !0), t.turnOn())
                    }, t.prototype.turnCatWild = function() {
                        if (this.wildTransformAnim) {
                            var t = this.getAnimationName(!0);
                            this.wildTransformAnim.updateTransform(), this.wildTransformAnim.once(r.a.EVENT_COMPLETE, this.catsGoneWildComplete), this.wildTransformAnim.setAnimation("" + t, 0, !1), this.wildTransformAnim.renderable = !0, this.wildTransformAnim.animationSpeed = 1, this.wildTransformAnim.play(), this.turnDiamondsWild()
                        }
                    }, t.prototype.setAsWild = function() {
                        if (this.wildTransformAnim) {
                            var t = this.getAnimationName(!1);
                            this.wildTransformAnim.updateTransform(), this.wildTransformAnim.setAnimation("" + t, 0, !1)
                        }
                    }, t.prototype.getAnimationName = function(e) {
                        var n, o = t.SYMBOL_TRANSFORM_CODES["" + this.catSymbolCode];
                        return n = e ? "MeterTransform" : this.isWild ? "MeterTransformStaticEnd" : "MeterTransformStatic", this.currentOrientation === a.a.LANDSCAPE ? o + "_" + n + "_land" : o + "_" + n + "_port"
                    }, t.prototype.turnDiamondsWild = function() {
                        this.diamonds.forEach((function(t) {
                            t.turnWild()
                        }))
                    }, t.prototype.reset = function() {
                        if (this.isWild = !1, this._collectedDiamondCount = 0, this.wildTransformAnim) {
                            var e = t.SYMBOL_TRANSFORM_CODES["" + this.catSymbolCode],
                                n = this.currentOrientation === a.a.LANDSCAPE ? "land" : "port";
                            this.wildTransformAnim.setAnimation(e + "_MeterTransformStatic_" + n, 0, !1), this.wildTransformAnim.animationSpeed = 0, this.wildTransformAnim.play()
                        }
                        this._collectedDiamonds.clear(), this.diamonds.forEach((function(t) {
                            t.reset()
                        }))
                    }, t.prototype.checkGameInProgress = function() {
                        var t = this,
                            e = this._parentProps.response.triggerOutcome.get("FreeSpin.Trail");
                        if (e && e.trigger && e.trigger.length > 0)
                            for (var n = e.trigger.length - 1; n > -1; n--) this.catSymbolCode === e.trigger[n].name.toUpperCase() && (this.isWild = !0, this.setAsWild());
                        this.diamonds.forEach((function(e) {
                            if (e.checkGameInProgress(t.isWild)) {
                                var n = e.diamondCellCode;
                                t._collectedDiamonds.set(n, e), t._collectedDiamondCount++
                            }
                        }))
                    }, t.prototype.setSkipped = function() {
                        var t = this.diamonds.get(this._diamondCodes[this._collectedDiamondCount]);
                        t && (this._collectedDiamonds.set(this._diamondCodes[this._collectedDiamondCount], t), this._collectedDiamondCount++, 3 === this._collectedDiamondCount ? (this.isWild = !0, t.turnOn(), this.turnCatWild(), this.turnDiamondsWild()) : (this.playLandAnim(), t.turnOn()))
                    }, t.prototype.catsGoneWildComplete = function() {
                        if (this.wildTransformAnim) {
                            var t = this.getAnimationName(!1);
                            this.wildTransformAnim.setAnimation("" + t, 0, !1)
                        }
                        this.actions.setCatCollectedState(u.a[this.catSymbolCode]), this.actions.setCollectState(u.b.END)
                    }, t.DIAMOND_COUNT = 3, t.SYMBOL_TRANSFORM_CODES = {
                        S11: "w12",
                        S12: "w13",
                        S13: "w14",
                        S14: "w15"
                    }, f([o.b.bound, _("design:type", Function), _("design:paramtypes", []), _("design:returntype", void 0)], t.prototype, "catsGoneWildComplete", null), t
                }()
        },
        203: function(t, e, n) {},
        204: function(t, e, n) {},
        223: function(t, e) {},
        226: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return c
                }));
                var o, i = n(49),
                    r = n(1),
                    a = (o = function(t, e) {
                        return (o = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(t, e)
                    }, function(t, e) {
                        function n() {
                            this.constructor = t
                        }
                        o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                    }),
                    s = function(t, e, n, o) {
                        return new(n || (n = Promise))((function(i, r) {
                            function a(t) {
                                try {
                                    l(o.next(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function s(t) {
                                try {
                                    l(o.throw(t))
                                } catch (t) {
                                    r(t)
                                }
                            }

                            function l(t) {
                                var e;
                                t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                    t(e)
                                }))).then(a, s)
                            }
                            l((o = o.apply(t, e || [])).next())
                        }))
                    },
                    l = function(t, e) {
                        var n, o, i, r, a = {
                            label: 0,
                            sent: function() {
                                if (1 & i[0]) throw i[1];
                                return i[1]
                            },
                            trys: [],
                            ops: []
                        };
                        return r = {
                            next: s(0),
                            throw: s(1),
                            return: s(2)
                        }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                            return this
                        }), r;

                        function s(r) {
                            return function(s) {
                                return function(r) {
                                    if (n) throw new TypeError("Generator is already executing.");
                                    for (; a;) try {
                                        if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                        switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                            case 0:
                                            case 1:
                                                i = r;
                                                break;
                                            case 4:
                                                return a.label++, {
                                                    value: r[1],
                                                    done: !1
                                                };
                                            case 5:
                                                a.label++, o = r[1], r = [0];
                                                continue;
                                            case 7:
                                                r = a.ops.pop(), a.trys.pop();
                                                continue;
                                            default:
                                                if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                    a = 0;
                                                    continue
                                                }
                                                if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                    a.label = r[1];
                                                    break
                                                }
                                                if (6 === r[0] && a.label < i[1]) {
                                                    a.label = i[1], i = r;
                                                    break
                                                }
                                                if (i && a.label < i[2]) {
                                                    a.label = i[2], a.ops.push(r);
                                                    break
                                                }
                                                i[2] && a.ops.pop(), a.trys.pop();
                                                continue
                                        }
                                        r = e.call(t, a)
                                    } catch (t) {
                                        r = [6, t], o = 0
                                    } finally {
                                        n = i = 0
                                    }
                                    if (5 & r[0]) throw r[1];
                                    return {
                                        value: r[0] ? r[1] : void 0,
                                        done: !0
                                    }
                                }([r, s])
                            }
                        }
                    },
                    c = function(e) {
                        function n() {
                            var t = null !== e && e.apply(this, arguments) || this;
                            return t.frameAsset = null, t.frameBorderWidth = 20, t
                        }
                        return a(n, e), n.prototype.init = function() {
                            return s(this, void 0, void 0, (function() {
                                var n, o;
                                return l(this, (function(i) {
                                    return e.prototype.init.call(this), this.container.getChildByName("rollup_frame") || (n = t.utils.TextureCache.rollup_plaque, this.frameAsset = new t.NineSlicePlane(n, this.frameBorderWidth, this.frameBorderWidth, this.frameBorderWidth, this.frameBorderWidth), this.frameAsset.name = "rollup_frame", this.container.addChildAt(this.frameAsset, 0), this.container.getChildByName("rollup_plaque").destroy()), (o = r.j.get(0).renderer) && this.frameAsset && o.plugins.prepare.upload(this.frameAsset.texture), [2]
                                }))
                            }))
                        }, Object.defineProperty(n.prototype, "targetConfigName", {
                            get: function() {
                                return i.a.WIN_ROLLUP_CONFIG
                            },
                            enumerable: !0,
                            configurable: !0
                        }), n.prototype.setCommands = function(t) {
                            this._commands = t
                        }, n.BIG_WIN_ROLLUP_CONFIG = "BigWin.Rollup", n
                    }(i.a)
            }).call(this, n(3))
        },
        25: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return b
                }));
                var o = n(10),
                    i = n(1),
                    r = n(22),
                    a = n(121),
                    s = n(6),
                    l = n(34),
                    c = n(2),
                    u = n(38),
                    p = n(28),
                    h = n(3),
                    m = n(15),
                    d = n(83),
                    f = n(160),
                    _ = n(36),
                    y = n(109),
                    C = function(t, e) {
                        var n = "function" == typeof Symbol && t[Symbol.iterator];
                        if (!n) return t;
                        var o, i, r = n.call(t),
                            a = [];
                        try {
                            for (;
                                (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                        } catch (t) {
                            i = {
                                error: t
                            }
                        } finally {
                            try {
                                o && !o.done && (n = r.return) && n.call(r)
                            } finally {
                                if (i) throw i.error
                            }
                        }
                        return a
                    },
                    g = function() {
                        for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(C(arguments[e]));
                        return t
                    },
                    b = function() {
                        function e(t, e, n, a) {
                            var c = this;
                            void 0 === a && (a = !0), this._winTextContainer = new h.Container, this._parentContainer = new h.Container, this.mobxUtils = o.a.getInstance(), this._reactions = [], this._currentPrizeName = "", this._speed = 0, this._symbolSoundPlayed = !1, this.reactionName = "", this._highlightPrizeList = [], this.showSpaghettiTime = 1, this.showPrizeValue = function(t) {
                                c._winText.alpha = 0, c._winText.visible = !0, c._winText.text = i.c.formatForBitmapFont(t.totalPay), c.positionLineWinText(t.cells, t.payName, c._winText.text), c._winTextContainer.setChildIndex(c._winText, c._winTextContainer.children.length - 1), s.f.to(c._winText, .2, {
                                    alpha: 1
                                })
                            }, this.getAnimName = function(t) {
                                if (t instanceof r.a) {
                                    var e = t.getCurrent(0);
                                    if (null !== e) return e.animation.name
                                }
                            }, this._reelSetComponent = t, this._winPresentation = e, this._winlineCanvas = new y.a(this._reelSetComponent), this._labelName = n, this._useCurrentStage = a, this._prizes = new Map, this._animQueue = [], this._parentContainer = this._reelSetComponent.container.getChildByName(l.a.REEL_SET_CONTAINER), this.slotGameProps = e._parent.props, this.slotGameActions = e._parent.actions, this._winTextContainer = this.getWinTextContainer(), this._winText = this.getWinlineText(), this._winText.visible = !1, this._allWinSymbols = new Map, this._orientationReaction = "", this.setConfigProps(), this.slotGameProps.winCycleState === m.a.PRESHOW_END && (this.updateOrientation(), this.setOrientationReaction(), this.setWinCycleStateReactions(), this.reset(), this.setWinPresentation())
                        }
                        return e.prototype.setOrientationReaction = function() {
                            var t = this;
                            this._orientationReaction = o.a.getInstance().addReaction("winCycle_orientationChanged", (function() {
                                return i.l.orientation
                            }), (function() {
                                return t.updateOrientation()
                            }))
                        }, e.prototype.updateOrientation = function() {
                            var t;
                            if (null !== this._reelSetComponent.container.parent.getChildByName("winLineTextContainer")) {
                                (t = this._reelSetComponent.container.parent.getChildByName("winLineTextContainer")).x = this._reelSetComponent.container.x, t.y = this._reelSetComponent.container.y;
                                var e = this._reelSetComponent.container.getChildByName("reelSetContainer");
                                t.scale.x = e.scale.x, t.scale.y = e.scale.y, t.zIndex = 10
                            }
                        }, e.prototype.getWinlineText = function() {
                            var e;
                            return null !== this._winTextContainer.getChildByName("winlineText") ? e = this._winTextContainer.getChildByName("winlineText") : ((e = new h.BitmapText("XXXXXX", {
                                font: {
                                    name: this._winPresentation.assets.get(d.a.bitmapFontName),
                                    size: 125
                                },
                                align: "center"
                            })).name = "winlineText", e.anchor = new t.Point(.5, .95), this._winTextContainer.addChild(e)), e
                        }, e.prototype.getWinTextContainer = function() {
                            var e;
                            return null !== this._reelSetComponent.container.parent.getChildByName("winLineTextContainer") ? e = this._reelSetComponent.container.parent.getChildByName("winLineTextContainer") : ((e = new t.Container).name = "winLineTextContainer", this._reelSetComponent.container.parent.addChild(e)), e.x = this._reelSetComponent.container.x, e.y = this._reelSetComponent.container.y, e.zIndex = 10, e
                        }, e.prototype.setWinCycleStateReactions = function() {
                            var t = this,
                                n = this.mobxUtils.addReaction(e.SYSTEM_NAME + "_isWinCycling", (function() {
                                    return t.slotGameProps.winCycleState
                                }), (function(e) {
                                    switch (e) {
                                        case m.a.IDLE:
                                            break;
                                        case m.a.SHOW_SPAGHETTI:
                                            t.showSpaghetti();
                                            break;
                                        case m.a.PRESHOW_BEGIN:
                                        case m.a.PRESHOW_END:
                                            break;
                                        case m.a.WINCYCLE_BEGIN:
                                            t.playNextCycle();
                                            break;
                                        case m.a.WINCYCLE_ABORT:
                                            t.abortWinCycle()
                                    }
                                }));
                            this._reactions.push(n)
                        }, e.prototype.reset = function() {
                            this._prizes.clear(), this._currentPrizeName = "", this._symbolSoundPlayed = !1, this._winPresentation.actions.setFirstCycleComplete(!1)
                        }, e.prototype.setConfigProps = function() {
                            if (null !== this._winPresentation.props.winConfigData) {
                                var t = this._winPresentation.props.winConfigData.get(this._winPresentation.props.getGameStage(this._useCurrentStage));
                                if (void 0 !== t) {
                                    var e = t.config.speed;
                                    this._speed = e
                                }
                            }
                        }, e.prototype.setWinPresentation = function() {
                            var t = this,
                                n = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                            null !== n && n.size > 0 && (n.forEach((function(n) {
                                n.forEach((function(n, o) {
                                    var i = new Map,
                                        r = [];
                                    n.cells.forEach((function(o) {
                                        var a = o.name,
                                            s = Number(a[3]),
                                            l = Number(a[5]),
                                            c = t._reelSetComponent.reelComponents[s],
                                            u = c.props.topPadding,
                                            p = c.reelCellComponents[u + l],
                                            h = t._labelName;
                                        void 0 !== p.cellDef && (e.SPECIAL_SYMBOLS.indexOf(p.cellDef.text) < 0 && (h = e.STANDARD_ANIM_SUFFIX), (p.cellDef.text.startsWith("b01") || p.cellDef.text.startsWith("b11")) && (h = "win"));
                                        var d = t.getSymbolAnim(h, p, s, l);
                                        if (void 0 !== d && void 0 !== p.cellDef && i.set(p.cellDef.name, d), t.slotGameProps.winCycleState !== m.a.IDLE && "Scatter" === n.name && !1 === t._useCurrentStage) {
                                            var f = t.updateHighlightPrizeOutcome();
                                            n.totalPay = f
                                        }
                                        r.push(p)
                                    }));
                                    var a = {
                                        totalPay: n.totalPay,
                                        payName: n.payName,
                                        animationCells: i,
                                        cells: r
                                    };
                                    t._prizes.set(n.name, a)
                                }))
                            })), this._prizesItr = this._prizes.keys())
                        }, e.prototype.abortWinCycle = function() {
                            s.f.killTweensOf(this.winlineShowCallback), s.f.killTweensOf(this._winText), this.disposeReactions(), this._winlineCanvas.clearWinline(), this._winText.visible = !1, this._winText.text = "", this._prizes.forEach((function(t) {
                                t.animationCells.forEach((function(t) {
                                    t instanceof r.a && t.off(r.a.EVENT_COMPLETE)
                                }))
                            }))
                        }, e.prototype.updateHighlightPrizeOutcome = function() {
                            var t = c.b.response.prizeOutcomes.get(c.b.stage + ".Total"),
                                e = c.b.response.prizeOutcomes.get(c.b.nextStage + ".Scatter");
                            if (t && t.totalPay >= 0) {
                                if (e && e.totalPay >= 0) return e.totalPay + t.totalPay;
                                if (t.totalPay > 0) return t.totalPay
                            }
                            return 0
                        }, e.prototype.showLineWin = function() {
                            var t = this,
                                e = this._prizes.get(this._currentPrizeName);
                            this._winlineCanvas.drawWinboxes({
                                name: this._currentPrizeName,
                                data: this._prizes.get(this._currentPrizeName)
                            }), this._parentContainer.updateTransform(), this.showPrizeValue(e), this._useCurrentStage && "BaseGame" === c.b.stage && c.b.gameTotal <= c.b.response.outcomeDetail.settled ? s.e.delayedCall(this.showSpaghettiTime, this.onAllAnimComplete, [], this) : e.animationCells.forEach((function(e) {
                                t._animQueue.push(e), t.playAnimationCell(e, !0)
                            }))
                        }, e.prototype.showSpaghetti = function() {
                            var t = this;
                            this._highlightPrizeList = [], this._winlineCanvas.clearWinline(), this._winText.visible = !1;
                            var e = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                            null !== e && e.forEach((function(e, n) {
                                e.forEach((function(e) {
                                    t._highlightPrizeList.push(e)
                                }))
                            }));
                            var n = g(this._highlightPrizeList).map((function(t) {
                                return t.name
                            }));
                            this._winlineCanvas.drawWinningSpaghetti(n, this._highlightPrizeList), this._parentContainer.updateTransform(), s.f.delayedCall(this.showSpaghettiTime, (function() {
                                this.winlineShowCallback()
                            }), [], this)
                        }, e.prototype.winlineShowCallback = function() {
                            this._prizesItr = this._prizes.keys(), this.slotGameActions.setWinCycleState(m.a.WINCYCLE_BEGIN)
                        }, e.prototype.positionLineWinText = function(t, e, n) {
                            var o;
                            o = t.length > 2 ? e.indexOf("b01") > -1 || e.indexOf("b11") > -1 ? t[1] : t[2] : t[t.length - 1], this._winText.x = o.container.x + o.container.width / 2;
                            var i = 0;
                            n.indexOf(",") > -1 && (i = -4), this._winText.y = o.container.y + o.container.height + i, this._winText.zIndex = 9999
                        }, e.prototype.playNextCycle = function() {
                            var t = this,
                                n = !1;
                            if (void 0 !== this._prizesItr && (this._currentPrizeName = this._prizesItr.next().value, void 0 === this._currentPrizeName && (n = !0, this._winPresentation.actions.setFirstCycleComplete(!0)), a.a.logString("WinLine", this._currentPrizeName)), n && 0 === c.b.spins) {
                                if (!this._useCurrentStage && "FreeSpin" === c.b.stage && "BaseGame" === c.b.nextStage) return void this.slotGameActions.setWinCycleState(m.a.SHOW_SPAGHETTI);
                                if (this._useCurrentStage && "BaseGame" === c.b.stage) return void this.slotGameActions.setWinCycleState(m.a.SHOW_SPAGHETTI)
                            }
                            void 0 !== this._currentPrizeName ? !n || c.b.fsTotalAwarded > 0 && 0 === c.b.fsCountDown || 0 === c.b.fsTotalAwarded && 0 === c.b.spins ? this.showLineWin() : n && 0 === c.b.fsTotalAwarded && this._reactions.push(o.a.getInstance().addWhen(e.SYSTEM_NAME + "_onAutoSpinStop", (function() {
                                return 0 === c.b.spins && "onBeginNewGame" === c.b.ixfState
                            }), (function() {
                                t.showLineWin(), t.playSymbolSound()
                            }))) : this.slotGameActions.setWinCycleState(m.a.WINCYCLE_ABORT)
                        }, e.prototype.playSymbolSound = function() {
                            if (!this._symbolSoundPlayed) {
                                this._symbolSoundPlayed = !0;
                                var t = this._prizes.get(this._currentPrizeName);
                                if (void 0 !== t) {
                                    var e = t.payName.split(" ")[1];
                                    i.i.execute(f.a + e.toUpperCase())
                                }
                            }
                        }, e.prototype.playAnimationCell = function(t, e) {
                            var n = this;
                            if (void 0 === e && (e = !0), e) {
                                t instanceof r.a && null !== this._parentContainer.getChildByName(t.name) && this._parentContainer.setChildIndex(t, this._parentContainer.children.length - 1);
                                var o = this.getAnimName(t);
                                t instanceof r.a && void 0 !== o && (null !== t.parent && t.updateTransform(), t.setAnimation(o, 0, !1), t.animationSpeed = this._speed), t.play(), t.once(r.a.EVENT_COMPLETE, (function() {
                                    n.onAnimComplete(t)
                                }))
                            } else t.stop()
                        }, e.prototype.onAnimComplete = function(t) {
                            var e = this._animQueue.indexOf(t);
                            this._animQueue.splice(e, 1), t instanceof r.a && (t.animationSpeed = 0), this._animQueue.length <= 0 && this.onAllAnimComplete()
                        }, e.prototype.onAllAnimComplete = function() {
                            this.slotGameProps.winCycleState === m.a.WINCYCLE_BEGIN && this.playNextCycle()
                        }, e.prototype.getSymbolAnim = function(t, n, o, i) {
                            if (n.props.name === u.a.REEL_PREFIX + o + "_" + p.a.CELL_PREFIX + i) {
                                if (void 0 === this._winPresentation.animations) throw new Error("WinPresentationSystem -- Animation is undefined");
                                if (void 0 === n.cellDef) throw new Error("WinPresentationSystem -- Cell Def is undefined");
                                var a = this._winPresentation.animations.get(n.props.name);
                                if (void 0 !== a) {
                                    var s = a.get(n.props.name + "_symbolsAnims_anim"),
                                        l = c.b.response.triggerOutcome.get("FreeSpin.Trail"),
                                        h = this.getWildCats(l),
                                        m = n.cellDef.text;
                                    if (0 !== o && h && h.length > 0 && e.CONVERTED_CAT_CODES["" + m])
                                        for (var d = 0; d < h.length; d++) {
                                            var f = h[d].name;
                                            m === f && e.CONVERTED_CAT_CODES["" + f] && (m = e.CONVERTED_CAT_CODES["" + f])
                                        }
                                    var y = void 0,
                                        C = this._parentContainer;
                                    if (!(s instanceof r.a)) throw new Error("animation is not a spine");
                                    var g = m + "_" + t;
                                    if (y = _.a.getInstance().getSpineAnim(s, g), C = this._parentContainer, void 0 !== y) {
                                        var b = n.container;
                                        if (null === C.getChildByName(y.name) && C.addChild(y), !(y instanceof r.a)) throw new Error("animation is not spine");
                                        var S = b.getChildByName("bounds");
                                        y.position.set(b.x + S.width / 2, b.y + S.height / 2)
                                    }
                                    return y
                                }
                            }
                        }, e.prototype.getWildCats = function(t) {
                            if (void 0 !== t && t.trigger.length > 0) return t.trigger
                        }, e.prototype.disposeReactions = function() {
                            var t = this;
                            "" !== this._orientationReaction && (o.a.getInstance().disposeReaction(this._orientationReaction), this._orientationReaction = ""), this._reactions.forEach((function(e) {
                                t.mobxUtils.reactions.has(e) && t.mobxUtils.disposeReaction(e)
                            }))
                        }, e.STANDARD_ANIM_SUFFIX = "anim", e.SPECIAL_SYMBOLS = ["w01", "w02", "b01", "b11", "w11"], e.CONVERTED_CAT_CODES = {
                            s11: "w12",
                            s12: "w13",
                            s13: "w14",
                            s14: "w15"
                        }, e.SYSTEM_NAME = "winPresentationSystem", e.TEXT_SUFFIX = "_text", e.WIN_BACKGROUND_NAME = "winBackground", e.WIN_FRAME_NAME = "winFrame", e.SYMBOL_WIN_NAME = "symbolWin_value", e.WIN_CONTAINER = "winContainer", e
                    }()
            }).call(this, n(3))
        },
        30: function(t, e, n) {
            "use strict";
            n.d(e, "b", (function() {
                return o
            })), n.d(e, "a", (function() {
                return i
            })), n.d(e, "c", (function() {
                return l
            }));
            var o, i, r = n(0),
                a = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                s = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                };
            ! function(t) {
                t[t.IDLE = 0] = "IDLE", t[t.DIAMOND_COLLECT_END = 1] = "DIAMOND_COLLECT_END", t[t.END = 2] = "END", t[t.NO_TRIGGER = 3] = "NO_TRIGGER"
            }(o || (o = {})),
            function(t) {
                t[t.NONE = 0] = "NONE", t[t.s11 = 1] = "s11", t[t.s12 = 2] = "s12", t[t.s13 = 3] = "s13", t[t.s14 = 4] = "s14"
            }(i || (i = {}));
            var l = function() {
                function t() {
                    this.collectState = o.IDLE, this.catCollectState = i.NONE
                }
                return a([r.f, s("design:type", Number)], t.prototype, "collectState", void 0), a([r.f, s("design:type", Number)], t.prototype, "catCollectState", void 0), t
            }()
        },
        36: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return r
            }));
            var o = n(22),
                i = n(3),
                r = function() {
                    function t() {}
                    return t.getInstance = function() {
                        return t.instance || (t.instance = new t), t.instance
                    }, t.prototype.getGlobalToLocal = function(t, e, n) {
                        var o = new i.Point(0, 0);
                        n && (o.x = n.width / 2, o.y = n.height / 2);
                        var r = t.toGlobal(o),
                            a = e.toLocal(r);
                        return new i.Point(a.x, a.y)
                    }, t.prototype.getSpineAnim = function(t, e) {
                        if (void 0 !== t && t instanceof o.a) {
                            var n = t.animations.find((function(t) {
                                return t === e
                            }));
                            if (void 0 !== n) return t.renderable = !0, null !== t.parent && t.updateTransform(), t.setAnimation(n, 0, !1), t.animationSpeed = 0, t.play(), t
                        }
                    }, t.prototype.getAnimName = function(t) {
                        if (t instanceof o.a) {
                            var e = t.getCurrent(0);
                            if (null !== e) return e.animation.name
                        }
                    }, t.prototype.playSpineAnim = function(t, e, n) {
                        void 0 === n && (n = !1);
                        var i = this.getAnimName(t);
                        t instanceof o.a && void 0 !== i && (null !== t.parent && t.updateTransform(), t.setAnimation(i, 0, n), t.animationSpeed = e), t.play()
                    }, t.prototype.getFrameNumber = function(t, e, n) {
                        var o = t.textures.find((function(t) {
                            return t.textureCacheIds[0] === e + "_" + n + "_00.png"
                        }));
                        if (void 0 !== o) return t.textures.indexOf(o)
                    }, t
                }()
        },
        46: function(t, e, n) {
            "use strict";
            n.r(e), n.d(e, "slotGameProps", (function() {
                return xo
            })), n.d(e, "slotGameActions", (function() {
                return Wo
            }));
            n(203), n(204);
            var o, i, r = n(9),
                a = n(1),
                s = n(231),
                l = n(76),
                c = n(129),
                u = n(44),
                p = n(2),
                h = n(39),
                m = n(87),
                d = n(34),
                f = n(132),
                _ = n(230),
                y = n(3),
                C = n(78),
                g = n(0),
                b = n(15),
                S = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                w = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                v = function() {
                    function t() {
                        this.winCycleState = b.a.IDLE, this.firstCycleComplete = !1, this.isBigWin = !1
                    }
                    return S([g.f, w("design:type", Number)], t.prototype, "winCycleState", void 0), S([g.f, w("design:type", Boolean)], t.prototype, "firstCycleComplete", void 0), S([g.f, w("design:type", Boolean)], t.prototype, "isBigWin", void 0), t
                }(),
                A = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                T = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                P = function() {
                    function t(t, e) {
                        this.data = e, this.parent = t
                    }
                    return Object.defineProperty(t.prototype, "winCycleState", {
                        get: function() {
                            return this.data.winCycleState
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "firstCycleComplete", {
                        get: function() {
                            return this.data.firstCycleComplete
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "isBigWin", {
                        get: function() {
                            return this.data.isBigWin
                        },
                        enumerable: !0,
                        configurable: !0
                    }), A([g.d, T("design:type", Number), T("design:paramtypes", [])], t.prototype, "winCycleState", null), A([g.d, T("design:type", Boolean), T("design:paramtypes", [])], t.prototype, "firstCycleComplete", null), A([g.d, T("design:type", Boolean), T("design:paramtypes", [])], t.prototype, "isBigWin", null), t
                }(),
                N = n(17),
                O = (o = function(t, e) {
                    return (o = Object.setPrototypeOf || {
                            __proto__: []
                        }
                        instanceof Array && function(t, e) {
                            t.__proto__ = e
                        } || function(t, e) {
                            for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                        })(t, e)
                }, function(t, e) {
                    function n() {
                        this.constructor = t
                    }
                    o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                }),
                E = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return O(e, t), e
                }(N.a),
                B = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                I = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                R = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                x = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return B(e, t), e.prototype.setWinCycleState = function(t) {
                        this._data.winCycleState = t
                    }, e.prototype.setFirstCycleComplete = function(t) {
                        this._data.firstCycleComplete = t
                    }, e.prototype.setBigWin = function(t) {
                        this._data.isBigWin = t
                    }, I([g.b.bound, R("design:type", Function), R("design:paramtypes", [Number]), R("design:returntype", void 0)], e.prototype, "setWinCycleState", null), I([g.b.bound, R("design:type", Function), R("design:paramtypes", [Boolean]), R("design:returntype", void 0)], e.prototype, "setFirstCycleComplete", null), I([g.b.bound, R("design:type", Function), R("design:paramtypes", [Boolean]), R("design:returntype", void 0)], e.prototype, "setBigWin", null), e
                }(N.a),
                W = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                D = function(t) {
                    function e(e) {
                        var n = new v,
                            o = new P(e, n),
                            i = {
                                controlActions: new E(n),
                                gameActions: new x(n)
                            };
                        return t.call(this, {
                            props: e,
                            actions: p.a.gameActions
                        }, o, i, n, [m.a]) || this
                    }
                    return W(e, t), e
                }(C.a),
                L = n(20),
                M = n(40),
                k = n(10),
                G = n(11),
                j = n(75),
                F = n(6),
                U = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                z = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                H = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                };
            ! function(t) {
                t[t.IDLE = 0] = "IDLE", t[t.BIG_WIN = 1] = "BIG_WIN"
            }(i || (i = {}));
            var K, Y = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, new L.a(null, null), {}, void 0, void 0, e) || this;
                        return i.spineAnim = null, i.currentAnimationType = null, i.currentOrientation = "landscape", i.idleIsPlaying = !1, i._landSuffix = n, i._portSuffix = o, i.animNames = {
                            portrait: "logoAnim_idle_port",
                            landscape: "logoAnim_idle_land"
                        }, i
                    }
                    return U(e, t), e.prototype.init = function() {
                        return z(this, void 0, void 0, (function() {
                            return H(this, (function(t) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return M.a.build(this.layout, new Map, this.container), this.spineAnim = this.container.getChildByName("" + e.ANIM_FILE), this.orientationChanged(), [2]
                            }))
                        }))
                    }, e.prototype.orientationChanged = function() {
                        var t = this;
                        k.a.getInstance().addReaction("LogoComponent_orientationChanged", (function() {
                            return a.l.orientation
                        }), (function(e) {
                            t.container.children.forEach((function(n) {
                                n instanceof y.Sprite && (0 === t._portSuffix.length || n.name.endsWith(t._portSuffix) ? n.visible = e === G.a.PORTRAIT : (0 === t._landSuffix.length || n.name.endsWith(t._landSuffix)) && (n.visible = e === G.a.LANDSCAPE))
                            })), e === G.a.LANDSCAPE ? t.currentOrientation = "landscape" : t.currentOrientation = "portrait", t.switchOrientationAnimation()
                        }))
                    }, e.prototype.startIdle = function() {
                        var t = this;
                        if (null !== this.spineAnim && this.checkShouldPlay()) {
                            this.currentAnimationType = i.IDLE;
                            var n = this.animNames[this.currentOrientation];
                            this.spineAnim.once("complete", (function() {
                                F.e.delayedCall(e.IDLE_DELAY, t.startIdle, void 0, t)
                            })), this.spineAnim.updateTransform(), this.spineAnim.setAnimation("" + n, 0, !1), this.spineAnim.animationSpeed = 1, F.e.delayedCall(1, this.playAnim, void 0, this)
                        }
                    }, e.prototype.switchOrientationAnimation = function() {
                        if (this.spineAnim) {
                            this.spineAnim.stop(), F.e.killDelayedCallsTo(this.startIdle), F.e.killDelayedCallsTo(this.playAnim);
                            var t = this.spineAnim.getCurrent(0);
                            t && (t.trackTime = 0, this.spineAnim.spine.update(0)), this.checkShouldPlay() && F.e.delayedCall(e.IDLE_DELAY, this.startIdle, void 0, this)
                        }
                    }, e.prototype.playAnim = function() {
                        this.spineAnim && this.spineAnim.play()
                    }, e.prototype.checkShouldPlay = function() {
                        return this.idleIsPlaying
                    }, e.prototype.toggleIdleAnimation = function(t) {
                        t ? (this.idleIsPlaying = !0, this.startIdle()) : (this.idleIsPlaying = !1, F.e.killDelayedCallsTo(this.startIdle), F.e.killDelayedCallsTo(this.playAnim))
                    }, e.prototype.toggleBigWinAnimation = function(t) {}, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e.IDLE_DELAY = 8, e.ANIM_FILE = "logoAnim_anim", e
                }(j.a),
                q = n(226),
                V = n(49),
                X = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Q = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                Z = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                J = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return X(e, t), e.prototype.init = function() {
                        return Q(this, void 0, void 0, (function() {
                            return Z(this, (function(e) {
                                return t.prototype.init.call(this), [2]
                            }))
                        }))
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e.BIG_WIN_ROLLUP_CONFIG = "BigWin.Rollup", e
                }(V.a),
                $ = n(135),
                tt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                et = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                nt = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                ot = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return tt(e, t), e.prototype.init = function() {
                        return et(this, void 0, void 0, (function() {
                            return nt(this, (function(e) {
                                return t.prototype.init.call(this), this._spine && (this._spine.renderable = !1, this._spine.visible = !1), this.container.renderable = !1, [2]
                            }))
                        }))
                    }, e.prototype.show = function() {
                        t.prototype.show.call(this), this._spine && (this._spine.renderable = !0, this._spine.visible = !0, this._spine.setAnimation("bigWinCat_Land", 0, !0), this._spine.animationSpeed = 1, this._spine.play())
                    }, e.prototype.hide = function() {
                        t.prototype.hide.call(this), this._spine && (this._spine.stop(), this._spine.renderable = !1)
                    }, e
                }($.a),
                it = n(29),
                rt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                at = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                st = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                lt = function(t) {
                    function e(e, n, o, i, r) {
                        void 0 === r && (r = []);
                        var a = t.call(this, new L.a(e, null), {}, void 0, o, n, r) || this;
                        return a._loopAnimations = !0, a.emittersRunning = !1, a._landscapeContainer = new y.DisplayObject, a._portraitContainer = new y.DisplayObject, a._fountainEmitterConfigLandscape = null, a._fountainEmitterConfigPortrait = null, a._streamEmitterConfigLandscape = null, a._streamEmitterConfigPortrait = null, a.fountainAssetConfig = null, a.streamAssetConfig = null, a.fountainEmitter = null, a.fountainEmitterPort = null, a.streamEmitter = null, a.streamEmitterPort = null, a.fountainTextures = null, a.streamTextures = null, a._type = i, a
                    }
                    return rt(e, t), e.prototype.init = function() {
                        return at(this, void 0, void 0, (function() {
                            var t;
                            return st(this, (function(e) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return M.a.build(this.layout, new Map, this.container), null === this._fountainEmitterConfigPortrait && (this._fountainEmitterConfigPortrait = this.assets.get(this.assetIds[1])), null === this._fountainEmitterConfigLandscape && (this._fountainEmitterConfigLandscape = this.assets.get(this.assetIds[2])), null === this._streamEmitterConfigPortrait && (this._streamEmitterConfigPortrait = this.assets.get(this.assetIds[3])), null === this._streamEmitterConfigLandscape && (this._streamEmitterConfigLandscape = this.assets.get(this.assetIds[4])), "diamond" === this._type ? (t = "bigWinDiamond_img", this.isMobile() || (t = "bigWinDiamond"), this.streamTextures = ["" + t], this.fountainTextures = ["" + t]) : (this.streamTextures = Object.keys(this.assets.get(this.assetIds[0])), this.fountainTextures = Object.keys(this.assets.get(this.assetIds[0]))), this.isMobile() && (this._portraitContainer = this.container.getChildByName("portraitShower_" + this._type)), this._landscapeContainer = this.container.getChildByName("landscapeShower_" + this._type), this.setFountainEmitter(this._fountainEmitterConfigLandscape, this._fountainEmitterConfigPortrait), this.setStreamEmitter(this._streamEmitterConfigLandscape, this._streamEmitterConfigPortrait), this.setEmitterPositions(), this.orientationChanged(), [2]
                            }))
                        }))
                    }, e.prototype.isMobile = function() {
                        return !this._parent.props.assetPack.includes("desktop")
                    }, e.prototype.orientationChanged = function() {
                        var t = this;
                        k.a.getInstance().addReaction("AmbientEffects_orientationChanged", (function() {
                            return a.l.orientation
                        }), (function(e) {
                            e === G.a.LANDSCAPE ? (t._landscapeContainer.renderable = !0, t._portraitContainer && (t._portraitContainer.renderable = !1)) : (t._portraitContainer && (t._portraitContainer.scale.set(1), t._portraitContainer.renderable = !0), t._landscapeContainer.renderable = !1)
                        }))
                    }, e.prototype.setFountainEmitter = function(t, e) {
                        if (null === this.fountainAssetConfig) {
                            var n = 30;
                            this.fountainTextures && 1 === this.fountainTextures.length && (n = 1), this.fountainAssetConfig = [{
                                framerate: n,
                                loop: this._loopAnimations,
                                textures: this.fountainTextures
                            }]
                        }
                        this.fountainEmitter = new it.b(this._landscapeContainer, this.fountainAssetConfig, t), this.fountainEmitter.particleConstructor = it.a, this.fountainEmitter.emit = !1, this.fountainEmitter.autoUpdate = !0, this.isMobile() && this._portraitContainer && (this.fountainEmitterPort = new it.b(this._portraitContainer, this.fountainAssetConfig, e), this.fountainEmitterPort.particleConstructor = it.a, this.fountainEmitterPort.emit = !1, this.fountainEmitterPort.autoUpdate = !0)
                    }, e.prototype.setStreamEmitter = function(t, e) {
                        if (null === this.streamAssetConfig) {
                            var n = 30;
                            this.streamTextures && 1 === this.streamTextures.length && (n = 1), this.streamAssetConfig = [{
                                framerate: n,
                                loop: this._loopAnimations,
                                textures: this.streamTextures
                            }]
                        }
                        this.streamEmitter = new it.b(this._landscapeContainer, this.streamAssetConfig, t), this.streamEmitter.particleConstructor = it.a, this.streamEmitter.emit = !1, this.streamEmitter.autoUpdate = !0, this.isMobile() && this._portraitContainer && (this.streamEmitterPort = new it.b(this._portraitContainer, this.streamAssetConfig, e), this.streamEmitterPort.particleConstructor = it.a, this.streamEmitterPort.emit = !1, this.streamEmitterPort.autoUpdate = !0)
                    }, e.prototype.setEmitterPositions = function() {
                        this._fountainEmitterConfigLandscape && this._fountainEmitterConfigPortrait && this._streamEmitterConfigLandscape && this._streamEmitterConfigPortrait && this.fountainEmitter && this.streamEmitter && (this.fountainEmitter.init(this.fountainAssetConfig, this._fountainEmitterConfigLandscape), this.fountainEmitter.autoUpdate = !0, this.streamEmitter.init(this.streamAssetConfig, this._streamEmitterConfigLandscape), this.streamEmitter.autoUpdate = !0, this.emittersRunning || (this.fountainEmitter.emit = !1, this.streamEmitter.emit = !1), this.isMobile() && this.fountainEmitterPort && this.fountainEmitterPort && this.streamEmitterPort && (this.fountainEmitterPort.init(this.fountainAssetConfig, this._fountainEmitterConfigPortrait), this.fountainEmitterPort.autoUpdate = !0, this.streamEmitterPort.init(this.streamAssetConfig, this._streamEmitterConfigPortrait), this.streamEmitterPort.autoUpdate = !0, this.emittersRunning || (this.fountainEmitterPort.emit = !1, this.streamEmitterPort.emit = !1)))
                    }, e.prototype.playFountainShower = function() {
                        var t = this;
                        this.fountainEmitter && (this.fountainEmitter.emit = !0, this.fountainEmitterPort && (this.fountainEmitterPort.emit = !0), this.emittersRunning = !0), F.e.delayedCall(.7, (function() {
                            t.stopFountainShower()
                        }), [], this)
                    }, e.prototype.startStreamShower = function() {
                        this.streamEmitter && (this.streamEmitter.emit = !0, this.streamEmitterPort && (this.streamEmitterPort.emit = !0), this.emittersRunning = !0)
                    }, e.prototype.stopStreamShower = function() {
                        this.streamEmitter && (this.streamEmitter.emit = !1, this.streamEmitterPort && (this.streamEmitterPort.emit = !1))
                    }, e.prototype.stopFountainShower = function() {
                        this.fountainEmitter && (this.fountainEmitter.emit = !1, this.fountainEmitterPort && (this.fountainEmitterPort.emit = !1))
                    }, e.prototype.onBigWinEnd = function() {
                        this.emittersRunning = !1
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e
                }(j.a),
                ct = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ut = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                pt = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                ht = function(t) {
                    function e(e, n, o, i) {
                        var r = t.call(this, new L.a(e, null), {}, void 0, [], n) || this;
                        return r._valueFieldID = void 0 !== i ? i : "", r._labelFieldID = void 0 !== o ? o : "", r
                    }
                    return ct(e, t), e.prototype.init = function() {
                        return ut(this, void 0, void 0, (function() {
                            var t = this;
                            return pt(this, (function(e) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return M.a.build(this.layout, new Map, this.container), this.container.visible = !1, this.container.parent.renderable = !1, this._valueFieldText = this.container.children.find((function(e) {
                                    return e.name === "" + t._valueFieldID
                                })), this._labelFieldText = this.container.children.find((function(e) {
                                    return e.name === "" + t._labelFieldID
                                })), [2]
                            }))
                        }))
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e.prototype.show = function() {
                        this.container.parent.renderable = !0, this.container.visible = !0
                    }, e.prototype.hide = function() {
                        this.container.parent.renderable = !1, this.container.visible = !1
                    }, e
                }(j.a),
                mt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                dt = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                ft = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                _t = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e, n, o) || this;
                        return i._valueFieldID = void 0 !== o ? o : "", i.spineAnim = null, i
                    }
                    return mt(e, t), e.prototype.init = function() {
                        return dt(this, void 0, void 0, (function() {
                            var e = this;
                            return ft(this, (function(n) {
                                return t.prototype.init.call(this), this.startMessage = this.container.children.find((function(t) {
                                    return "bonusTriggeredBottom" === t.name
                                })), this.spinsAwardedMessage = this.container.children.find((function(t) {
                                    return "bonusTriggeredTop" === t.name
                                })), this._valueFieldText = this.spinsAwardedMessage.children.find((function(t) {
                                    return t.name === e._valueFieldID
                                })), this.spineAnim = this.container.parent.getChildByName("freespinsPlaqueAnims_anim"), this.spineAnim.renderable = !1, this.startMessage.alpha = 0, this.spinsAwardedMessage.alpha = 0, [2]
                            }))
                        }))
                    }, e.prototype.resetMssage = function() {
                        this.startMessage && this.spinsAwardedMessage && (this.startMessage.alpha = 0, this.spinsAwardedMessage.alpha = 0)
                    }, e.prototype.showStartMessage = function() {
                        this.startMessage && (this.spinsAwardedMessage && this.spinsAwardedMessage.pivot.set(this.spinsAwardedMessage.width / 2, this.spinsAwardedMessage.height / 2), this.show(), F.f.to(this.startMessage, .3, {
                            alpha: 1
                        }))
                    }, e.prototype.setSpinsAwarded = function() {
                        this._valueFieldText && (this._valueFieldText.text = "" + p.b.fsAwarded)
                    }, e.prototype.switchMessages = function() {}, e.prototype.playStageTransitionAudio = function() {
                        "FreeSpin" === p.b.response.outcomeDetail.stage && "BaseGame" === p.b.response.outcomeDetail.nextStage ? (a.i.execute("onBonusToBaseStart"), a.i.execute("onBonusGameEnd")) : "FreeSpin" === p.b.response.outcomeDetail.nextStage && a.i.execute("onBaseToBonusStart")
                    }, e.prototype.startAnim = function() {
                        this.spineAnim && (this.spineAnim.renderable = !0, null !== this.spineAnim.parent && this.spineAnim.updateTransform(), this.spineAnim.setAnimation("plaqueAnim", 0, !0), this.spineAnim.animationSpeed = 1, this.spineAnim.play())
                    }, e.prototype.stopAnim = function() {
                        this.spineAnim && (this.spineAnim.stop(), this.spineAnim.clearTracks(), this.spineAnim.setToSetupPose(), this.spineAnim.animationSpeed = 0, this.spineAnim.renderable = !1)
                    }, e.prototype.hide = function() {
                        this.stopAnim(), t.prototype.hide.call(this), this.resetMssage()
                    }, e
                }(ht),
                yt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ct = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                gt = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                bt = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                St = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                wt = function(t) {
                    function e(e, n, o, i) {
                        var r = t.call(this, e, n, i) || this;
                        return r._labelFieldID = o, r._valueFieldID = i, r.spineAnim = null, r
                    }
                    return yt(e, t), e.prototype.init = function() {
                        return bt(this, void 0, void 0, (function() {
                            return St(this, (function(e) {
                                return t.prototype.init.call(this), this.spineAnim = this.container.parent.getChildByName("freespinsPlaqueAnims_anim"), this.spineAnim.animationSpeed = 0, this.spineAnim.renderable = !1, this.container.alpha = 0, [2]
                            }))
                        }))
                    }, e.prototype.show = function() {
                        this._label = "" !== this.gameTotal ? "messages.bonusCompletePlaque_label" : "messages.bonusCompleteMaxCapPlaque_label2", this.setLabel(), this.setValue(this.gameTotal);
                        var e = this.container.getChildByName("bonusCompletePlaqueBg");
                        this.container.pivot.set(e.width / 2, e.height / 2), t.prototype.show.call(this), a.i.execute("onBonusGameEnd")
                    }, e.prototype.setValue = function(t) {
                        if (this._valueFieldText) {
                            var e = t.length > 0 ? t : "";
                            this._valueFieldText.text = e
                        }
                    }, e.prototype.setLabel = function() {
                        if (this._labelFieldText && this._label) {
                            var t = a.m.getString(this._label);
                            if (void 0 === t) throw new Error("Can't find label with name: " + this._label);
                            this._labelFieldText.text = t
                        }
                    }, e.prototype.startAnim = function() {
                        this.spineAnim && (this.spineAnim.renderable = !0, null !== this.spineAnim.parent && this.spineAnim.updateTransform(), this.spineAnim.setAnimation("plaqueAnim", 0, !0), this.spineAnim.animationSpeed = 1, this.spineAnim.play())
                    }, e.prototype.stopAnim = function() {
                        this.spineAnim && (this.spineAnim.stop(), this.spineAnim.clearTracks(), this.spineAnim.setToSetupPose(), this.spineAnim.animationSpeed = 0, this.spineAnim.renderable = !1)
                    }, e.prototype.hide = function() {
                        this.stopAnim(), t.prototype.hide.call(this)
                    }, Object.defineProperty(e.prototype, "gameTotal", {
                        get: function() {
                            return this._parent.props.bonusTotal > 0 && this._parent.props.paytable.denominationList.length > 0 ? a.c.format(this._parent.props.bonusTotal, this._parent.props.paytable.denominationList[0].value) : ""
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Ct([g.d, gt("design:type", String), gt("design:paramtypes", [])], e.prototype, "gameTotal", null), e
                }(ht),
                vt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                At = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                Tt = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                Pt = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e, n, o) || this;
                        return i._valueFieldID = void 0 !== o ? o : "", i
                    }
                    return vt(e, t), e.prototype.init = function() {
                        return At(this, void 0, void 0, (function() {
                            var e = this;
                            return Tt(this, (function(n) {
                                return t.prototype.init.call(this), this._valueFieldText = this.container.children.find((function(t) {
                                    return t.name === e._valueFieldID
                                })), [2]
                            }))
                        }))
                    }, e.prototype.show = function() {
                        this.setAward(), "BaseGame" === p.b.stage && a.i.execute("onMaxAward"), t.prototype.show.call(this)
                    }, e.prototype.setAward = function() {
                        if (this._valueFieldText) {
                            var t = a.c.format(p.b.gameTotal, p.b.paytable.denominationList[0].value);
                            this._valueFieldText.text = t
                        }
                    }, e
                }(ht),
                Nt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ot = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return Nt(e, t), e
                }(Pt),
                Et = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Bt = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                It = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                Rt = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e, n, o) || this;
                        return i._valueFieldID = void 0 !== o ? o : "", i
                    }
                    return Et(e, t), e.prototype.init = function() {
                        return Bt(this, void 0, void 0, (function() {
                            var e = this;
                            return It(this, (function(n) {
                                return t.prototype.init.call(this), this._valueFieldText = this.container.children.find((function(t) {
                                    return t.name === e._valueFieldID
                                })), [2]
                            }))
                        }))
                    }, e.prototype.show = function() {
                        this.setSpinsAwarded(), t.prototype.show.call(this)
                    }, e.prototype.setSpinsAwarded = function() {
                        this._valueFieldText && (this._valueFieldText.text = "" + p.b.fsAwarded)
                    }, e
                }(ht),
                xt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Wt = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return xt(e, t), e
                }(ht),
                Dt = n(83),
                Lt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Mt = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                kt = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                Gt = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                jt = function(t) {
                    function e(e, n, o, i, r) {
                        var a;
                        void 0 === r && (r = []);
                        var s = t.call(this, new L.a(e, null), {}, void 0, o, n, r) || this;
                        return s._screenOffset = 30, s.emittersRunning = !1, s.starAssetName = "", s.circleAssetName = "", s._emitterConfig = null, s._starEmitterConfig = null, s.starEmitter = null, s.circleEmitter = null, s.starTexture = null, s.circleTexture = null, s.backgroundContainer = new y.Container, a = Gt(i, 2), s.circleAssetName = a[0], s.starAssetName = a[1], s
                    }
                    return Lt(e, t), e.prototype.init = function() {
                        return Mt(this, void 0, void 0, (function() {
                            return kt(this, (function(t) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return M.a.build(this.layout, new Map, this.container), null === this._emitterConfig && (this._emitterConfig = this.assets.get(this.assetIds[0])), null === this._starEmitterConfig && (this._starEmitterConfig = this.assets.get(this.assetIds[1])), this.circleTexture = a.f.props.manifest.images["" + this.circleAssetName], this.starTexture = a.f.props.manifest.images["" + this.starAssetName], this.backgroundContainer = this.container.parent, this.setStarEmitter(this._starEmitterConfig), this.setCircleEmitter(this._emitterConfig), this.centerAmbientParticles(), this.orientationChanged(), this.stopEmitters(), [2]
                            }))
                        }))
                    }, e.prototype.orientationChanged = function() {
                        var t = this;
                        k.a.getInstance().addReaction("AmbientEffects_orientationChanged", (function() {
                            return t._parent.props.orientation
                        }), (function(e) {
                            t.centerAmbientParticles()
                        }))
                    }, e.prototype.setStarEmitter = function(t) {
                        this.starEmitter = new it.b(this.container, this.starTexture, t), this.starEmitter.particleConstructor = it.c, this.starEmitter.emit = !1, this.starEmitter.autoUpdate = !0
                    }, e.prototype.setCircleEmitter = function(t) {
                        this.circleEmitter = new it.b(this.container, this.circleTexture, t), this.circleEmitter.particleConstructor = it.c, this.circleEmitter.emit = !1, this.circleEmitter.autoUpdate = !0
                    }, e.prototype.centerAmbientParticles = function() {
                        if (this._emitterConfig && this._emitterConfig.spawnRect && this._starEmitterConfig && this._starEmitterConfig.spawnRect) {
                            var t = a.j.get(0).renderer.screen.width,
                                e = a.j.get(0).renderer.screen.height;
                            this._emitterConfig.spawnRect.w = t - 2 * this._screenOffset, this._emitterConfig.spawnRect.h = e - 2 * this._screenOffset, this._emitterConfig.spawnRect.x = this._screenOffset, this._emitterConfig.spawnRect.y = this._screenOffset, this._starEmitterConfig.spawnRect.w = t - 2 * this._screenOffset, this._starEmitterConfig.spawnRect.h = e - 2 * this._screenOffset, this._starEmitterConfig.spawnRect.x = this._screenOffset, this._starEmitterConfig.spawnRect.y = this._screenOffset, this.starEmitter && this.circleEmitter && (this.starEmitter.init(this.starTexture, this._starEmitterConfig), this.starEmitter.autoUpdate = !0, this.circleEmitter.init(this.circleTexture, this._emitterConfig), this.circleEmitter.autoUpdate = !0)
                        }
                    }, e.prototype.toggleParticles = function(t) {
                        t ? this.startEmitters() : this.stopEmitters()
                    }, e.prototype.startEmitters = function() {
                        this.starEmitter && this.circleEmitter && (this.starEmitter.emit = !0, this.circleEmitter.emit = !0, this.emittersRunning = !0)
                    }, e.prototype.stopEmitters = function() {
                        this.starEmitter && this.circleEmitter && (this.starEmitter.emit = !1, this.circleEmitter.emit = !1, this.emittersRunning = !1)
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e
                }(j.a),
                Ft = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                Ut = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                };
            ! function(t) {
                t[t.IDLE = 0] = "IDLE", t[t.SWITCH_TO_BASEGAME = 1] = "SWITCH_TO_BASEGAME", t[t.SWITCH_TO_BONUS = 2] = "SWITCH_TO_BONUS"
            }(K || (K = {}));
            var zt, Ht = function() {
                    function t() {
                        this.transitionState = K.IDLE, this.transitionString = ""
                    }
                    return Ft([g.f, Ut("design:type", Number)], t.prototype, "transitionState", void 0), Ft([g.f, Ut("design:type", String)], t.prototype, "transitionString", void 0), t
                }(),
                Kt = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Yt = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                qt = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                Vt = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return Kt(e, t), e.prototype.setTransitionState = function(t) {
                        this._data.transitionState = t
                    }, e.prototype.setString = function(t) {
                        this._data.transitionString = t
                    }, Yt([g.b.bound, qt("design:type", Function), qt("design:paramtypes", [Number]), qt("design:returntype", void 0)], e.prototype, "setTransitionState", null), Yt([g.b.bound, qt("design:type", Function), qt("design:paramtypes", [String]), qt("design:returntype", void 0)], e.prototype, "setString", null), e
                }(N.a),
                Xt = n(71),
                Qt = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                Zt = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                Jt = function() {
                    function t(t, e) {
                        this._data = t, this._parent = e
                    }
                    return Object.defineProperty(t.prototype, "data", {
                        get: function() {
                            return this._data
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "parentProps", {
                        get: function() {
                            return this._parent
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "transitionState", {
                        get: function() {
                            return this.transitionState
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "transitionString", {
                        get: function() {
                            return this.transitionString
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Qt([g.d, Zt("design:type", Ht), Zt("design:paramtypes", [])], t.prototype, "data", null), Qt([g.d, Zt("design:type", Xt.a), Zt("design:paramtypes", [])], t.prototype, "parentProps", null), Qt([g.d, Zt("design:type", String), Zt("design:paramtypes", [])], t.prototype, "transitionState", null), Qt([g.d, Zt("design:type", String), Zt("design:paramtypes", [])], t.prototype, "transitionString", null), t
                }(),
                $t = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                te = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                ee = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                ne = function(t) {
                    function e(e, n, o, i, r, a) {
                        void 0 === i && (i = "transition"), void 0 === r && (r = new Ht), void 0 === a && (a = []);
                        var s = t.call(this, new L.a(e, n), new Jt(r, p.b), void 0, a, i, o) || this;
                        return s.animations = new Map, s.spineAnim = null, s.transitionData = new Ht, s.actions = new Vt(s.transitionData), s
                    }
                    return $t(e, t), e.prototype.init = function() {
                        return te(this, void 0, void 0, (function() {
                            return ee(this, (function(t) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return M.a.build(this.layout, new Map, this.container), this.spineAnim = this.container.getChildByName("" + e.SPINE_PROJECT_NAME), this.container.renderable = !1, this.spineAnim.renderable = !1, [2]
                            }))
                        }))
                    }, e.prototype.startTransition = function() {
                        if (!this.spineAnim) throw new Error("Transition animation is null");
                        var t = this.getAnimName();
                        this.spineAnim.renderable = !0, this.container.renderable = !0, this.spineAnim.setAnimation(t, 0, !1), this.spineAnim.animationSpeed = 1, this.spineAnim.play()
                    }, e.prototype.hideElements = function() {
                        this.spineAnim && (this.spineAnim.renderable = !1), this.container.renderable = !1
                    }, e.prototype.setTransitionState = function() {
                        this.actions.setTransitionState("BaseGame" === p.b.response.outcomeDetail.nextStage ? K.SWITCH_TO_BASEGAME : K.SWITCH_TO_BONUS)
                    }, e.prototype.getAnimName = function() {
                        return a.l.orientation === G.a.LANDSCAPE ? e.LANDSCAPE_ANIMATION_NAME : e.PORTRAIT_ANIMATION_NAME
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e.LANDSCAPE_ANIMATION_NAME = "GoldenShower", e.PORTRAIT_ANIMATION_NAME = "PORTRAIT_GoldenShower", e.SPINE_PROJECT_NAME = "Transition_anim", e
                }(j.a),
                oe = n(157),
                ie = n(47),
                re = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ae = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e, n]) || this;
                        return o._logo = e, o._play = n, o
                    }
                    return re(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._logo.toggleIdleAnimation(this._play), this.resolveCompleted()
                    }, e.COMMAND_NAME = "PlayCommand", e
                }(ie.a),
                se = function(t) {
                    this.playIdleLogo = function() {
                        return new ae(t, !0)
                    }, this.stopIdleLogo = function() {
                        return new ae(t, !1)
                    }
                },
                le = n(30),
                ce = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ue = function(t) {
                    function e(e, n) {
                        var o = t.call(this) || this;
                        return o._reactionName = "", o._skipReaction = "", o._meter = e, o.diamondMeterProps = e.props, o.skipButton = n.getControl(h.a.BTN_SKIP), o
                    }
                    return ce(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this), this._skipReaction = k.a.getInstance().addWhen("CollectDiamondCommand_onSkip", (function() {
                            return p.b.skipped
                        }), (function() {
                            e._meter.skip(), e._skipReaction = "", e.skipButton.enabled = !1
                        })), this._reactionName = k.a.getInstance().addReaction("CollectDiamondCommand_onCollectStateChange", (function() {
                            return e.diamondMeterProps.collectState
                        }), (function(t) {
                            switch (t) {
                                case le.b.DIAMOND_COLLECT_END:
                                    e.freeSpinPrize ? e._meter.checkCatIsTurningWild() ? e.onCollectionEnd(.4) : e.onCollectionEnd(.9) : e.onCollectionEnd(.4);
                                    break;
                                case le.b.END:
                                    e.onCollectionEnd(.4);
                                    break;
                                case le.b.NO_TRIGGER:
                                    e.onCollectionEnd(0)
                            }
                        })), this._meter.meterIsComplete ? (this.onCollectionEnd(0), this._meter.setCollectState(le.b.IDLE)) : F.f.delayedCall(.2, (function() {
                            e.skipButton.enabled = !0, e._meter.startDiamondCollection()
                        }))
                    }, e.prototype.onCollectionEnd = function(t) {
                        var e = this;
                        this.skipButton.enabled = !1, F.f.delayedCall(t, (function() {
                            e.dispose(), e.resolveCompleted()
                        }))
                    }, Object.defineProperty(e.prototype, "freeSpinPrize", {
                        get: function() {
                            return Array.from(p.b.response.prizeOutcomes.values()).some((function(t) {
                                return ("FreeSpin.Lines" === t.name || "FreeSpin.Scatter" === t.name) && t.totalPay > 0
                            }))
                        },
                        enumerable: !0,
                        configurable: !0
                    }), e.prototype.cancel = function() {
                        t.prototype.cancel.call(this)
                    }, e.prototype.dispose = function() {
                        "" !== this._reactionName && (k.a.getInstance().disposeReaction(this._reactionName), this._reactionName = ""), "" !== this._skipReaction && (k.a.getInstance().disposeReaction(this._skipReaction), this._skipReaction = "")
                    }, e.COMMAND_NAME = "CollectDiamondCommand", e
                }(ie.a),
                pe = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                he = function(t) {
                    function e(e, n) {
                        var o = t.call(this) || this;
                        return o._meter = e, o._show = n, o
                    }
                    return pe(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._meter.show(this._show), this.resolveCompleted()
                    }, e.prototype.cancel = function() {
                        t.prototype.cancel.call(this)
                    }, e
                }(ie.a),
                me = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                de = function(t) {
                    function e(e) {
                        var n = t.call(this) || this;
                        return n._meter = e, n
                    }
                    return me(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._meter.show(!0), this._meter.setGameInProgressReels(), this.resolveCompleted()
                    }, e
                }(ie.a),
                fe = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                _e = function(t) {
                    function e(e) {
                        var n = t.call(this) || this;
                        return n._meter = e, n._reactionName = "", n.diamondMeterProps = e.props, n.catIsWild = !1, n
                    }
                    return fe(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this), this._reactionName = k.a.getInstance().addReaction("CollectCatCommand_onCollectStateChange", (function() {
                            return e.diamondMeterProps.collectState
                        }), (function(t) {
                            t === le.b.END && e.onCollectionEnd(0)
                        })), this._meter.meterIsComplete ? this.onCollectionEnd(0) : this.processCollection()
                    }, e.prototype.processCollection = function() {
                        var t = this;
                        this.catIsWild = this._meter.checkCatIsTurningWild(), this.catIsWild ? F.f.delayedCall(.85, (function() {
                            t._meter.processCatWild()
                        })) : this.onCollectionEnd(0)
                    }, e.prototype.onCollectionEnd = function(t) {
                        var e = this;
                        F.f.delayedCall(t, (function() {
                            e.dispose(), e.resolveCompleted(), e._meter.setCollectState(le.b.IDLE), p.a.gameActions.setSkipped(!1)
                        }))
                    }, Object.defineProperty(e.prototype, "freeSpinPrize", {
                        get: function() {
                            return Array.from(p.b.response.prizeOutcomes.values()).some((function(t) {
                                return ("FreeSpin.Lines" === t.name || "FreeSpin.Scatter" === t.name) && t.totalPay > 0
                            }))
                        },
                        enumerable: !0,
                        configurable: !0
                    }), e.prototype.skip = function() {
                        this._meter.skip(), this.resolveCompleted()
                    }, e.prototype.dispose = function() {
                        "" !== this._reactionName && (k.a.getInstance().disposeReaction(this._reactionName), this._reactionName = ""), this.catIsWild = !1
                    }, e.prototype.cancel = function() {
                        t.prototype.cancel.call(this)
                    }, e
                }(ie.a),
                ye = function(t, e) {
                    this.collectDiamond = function() {
                        return new ue(t, e)
                    }, this.setGameInProgressReels = function() {
                        return new de(t)
                    }, this.showMeter = function() {
                        return new he(t, !0)
                    }, this.hideMeter = function() {
                        return new he(t, !1)
                    }, this.transformCat = function() {
                        return new _e(t)
                    }
                },
                Ce = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ge = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, [e, n]) || this;
                        return i._delay = 3e3, i._time = 0, i._plaque = e, i._isShow = n, o && (i._delay = o), i
                    }
                    return Ce(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._isShow ? (this._plaque.show(), a.j.get(0).ticker.add(this.onDelayTick, this)) : (this._plaque.hide(), this.resolveCompleted())
                    }, e.prototype.onDelayTick = function() {
                        this._time += a.j.get(0).ticker.deltaMS;
                        var t = this._delay;
                        this._time > t && (this._time = 0, a.j.get(0).ticker.remove(this.onDelayTick, this), this.resolveCompleted())
                    }, e.COMMAND_NAME = "ShowCommand", e
                }(ie.a),
                be = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Se = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e]) || this;
                        return o._plaque = e, o._delay = n, o._whenName = "", o
                    }
                    return be(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), this._whenName = k.a.getInstance().addWhen(e.COMMAND_NAME + "_onSkip", (function() {
                            return p.b.skipped
                        }), (function() {
                            if (n._whenName = "", n._plaque.startMessage && n._plaque.spinsAwardedMessage) {
                                n._plaque.spinsAwardedMessage.scale.set(.2, .2);
                                var t = new F.d({
                                    onComplete: n.onAnimComplete,
                                    onCompleteScope: n
                                });
                                t.to(n._plaque.startMessage, .3, {
                                    alpha: 0
                                }, 0), t.to(n._plaque.spinsAwardedMessage.scale, .4, {
                                    x: 1,
                                    y: 1,
                                    ease: F.a.easeOut.config(1.5)
                                }, .3), t.to(n._plaque.spinsAwardedMessage, .2, {
                                    alpha: 1
                                }, .3), t.addCallback(n.playAnimation, .7, [], n), t.addPause(2.6)
                            }
                        }))
                    }, e.prototype.playAnimation = function() {
                        a.i.execute("onTransitionStart"), this._plaque.startAnim()
                    }, e.prototype.onAnimComplete = function() {
                        this.resolveCompleted()
                    }, e.COMMAND_NAME = "dismissBonusStartMessage", e
                }(ie.a),
                we = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ve = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e, n]) || this;
                        return o._plaque = e, o._isShow = n, o
                    }
                    return we(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._isShow ? (this._plaque.setSpinsAwarded(), this._plaque.showStartMessage()) : this._plaque.hide(), this.resolveCompleted()
                    }, e.COMMAND_NAME = "ShowBonusStartMessageCommand", e
                }(ie.a),
                Ae = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Te = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e]) || this;
                        return o._time = 0, o.skip = function() {
                            a.j.get(0).ticker.remove(o.onDelayTick, o), o._plaque.hide(), o.resolveCompleted()
                        }, o._plaque = e, o._delay = n, o._whenName = "", o
                    }
                    return Ae(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), a.j.get(0).ticker.add(this.onDelayTick, this), this._whenName = k.a.getInstance().addWhen(e.COMMAND_NAME + "_onSkip", (function() {
                            return p.b.skipped
                        }), (function() {
                            n._whenName = "", n.skip()
                        }))
                    }, e.prototype.onDelayTick = function() {
                        this._time += a.j.get(0).ticker.deltaMS, void 0 !== this._delay && this._time > this._delay && (this._time = 0, this.skip())
                    }, e.COMMAND_NAME = "dismissPlaqueCommand", e
                }(ie.a),
                Pe = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ne = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e]) || this;
                        return o._plaque = e, o._delay = n, o
                    }
                    return Pe(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._plaque.container.scale.set(.2, .2);
                        var e = new F.d({
                            onComplete: this.onAnimComplete,
                            onCompleteScope: this
                        });
                        this._plaque.container.alpha = 0, this._plaque.show(), e.to(this._plaque.container.scale, .4, {
                            x: 1,
                            y: 1,
                            ease: F.a.easeOut.config(1.5)
                        }, .3), e.to(this._plaque.container, .2, {
                            alpha: 1
                        }, .3), e.addCallback(this.playAnimation, .7, [], this), e.addPause(this._delay)
                    }, e.prototype.playAnimation = function() {
                        this._plaque.startAnim()
                    }, e.prototype.onAnimComplete = function() {
                        a.i.execute("onTransitionStart"), this.resolveCompleted()
                    }, e.COMMAND_NAME = "showBonusExitCommand", e
                }(ie.a),
                Oe = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ee = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return Oe(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), a.i.execute("onBonusGameEnd"), this.resolveCompleted()
                    }, e.COMMAND_NAME = "endBonusMaxWinAudioCommand", e
                }(ie.a),
                Be = function(t) {
                    this.showCommand = function(e) {
                        return new ge(t, !0, e)
                    }, this.hideCommand = function() {
                        return new ge(t, !1)
                    }, this.dismissBonusStartMessage = function() {
                        return new Se(t)
                    }, this.showBonusStartMessageCommand = function() {
                        return new ve(t, !0)
                    }, this.hideBonusStartMessageCommand = function() {
                        return new ve(t, !1)
                    }, this.showBonusRetrigger = function() {
                        return new ge(t, !0)
                    }, this.hideBonusRetrigger = function() {
                        return new ge(t, !1)
                    }, this.showBonusExitCommand = function(e) {
                        return new Ne(t, e)
                    }, this.dismissPlaqueCommand = function(e) {
                        return new Te(t, e)
                    }, this.endBonusMaxWinAudioCommand = function() {
                        return new Ee(t)
                    }
                },
                Ie = n(14),
                Re = n(68),
                xe = n(156),
                We = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                De = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                Le = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(De(arguments[e]));
                    return t
                },
                Me = function(t) {
                    function e(e, n, o, i, r) {
                        var a = t.call(this, e, n, o, i, r) || this;
                        return a._gameButtons = [], a._baseGameMeters = [], a._freeSpinMeters = [], a.autoReplyingOnSequenceEnd = function() {
                            return !0
                        }, a._baseGameMeters = [h.a.METER_TOTAL_BET], a._freeSpinMeters = [h.a.METER_SPIN, h.a.METER_FS_TOTAL_WIN], a._gameButtons = [h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START], a._allBGMeters = [h.a.METER_WIN, h.a.METER_BALANCE], a._allBGButtons = [h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_BET_CONTROLS, h.a.BTN_AUTO_SPIN_START, h.a.METER_TOTAL_BET], a._allBaseGameUI = [h.a.METER_WIN, h.a.METER_BALANCE, h.a.METER_TOTAL_BET, h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_BET_CONTROLS, h.a.BTN_AUTO_SPIN_START, h.a.METER_TOTAL_BET, h.a.CONTROL_AUTO_SPIN], a
                    }
                    return We(e, t), e.prototype.onBeforeShowStage = function() {
                        return (new Ie.a).start().do(this.getCommands(d.a).resetCommand()).do(this.getCommands(d.a).initCommand("BaseGame", ["symbolBoundsCell"])).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(d.a).showCommand()).do(this.getCommands(h.b).setControlHitAreaCommand([h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START, h.a.BTN_AUTO_SPIN_STOP, h.a.BTN_BET_CONTROLS, h.a.METER_TOTAL_BET], [new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Rectangle(55, 10, 55, 10)], [null, null, null, null, null, null, "Button"])).do(this.getCommands(Y).playIdleLogo()).do(this.getCommands(xe.a).startBaseGameParticles()).do(this.getCommands(Dt.a).setSymbolAnimations()).do(this.getCommands(h.b).disableControlCommand(Le(this._gameButtons, this._baseGameMeters))).do(this.getCommands(h.b).hideControlCommand(Le(this._baseGameMeters, this._gameButtons, this._allBGButtons, this._allBGMeters))).do(this.getCommands(d.a).switchPlayModeCommand()).do(this.getCommands(h.b).showControlCommand(Le(this._allBGButtons, this._allBGMeters))).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP])).do(this.getCommands(d.a).renderStageCommand()).end()
                    }, e.prototype.onStartGameInitial = function() {
                        return p.a.gameActions.setSkipped(!1), (new Ie.a).start().do(this.getCommands(h.b).enableControlCommand(Le(this._allBGButtons))).do(this.getCommands(h.b).showControlCommand(Le(this._allBGButtons, this._allBGMeters))).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP, h.a.BTN_PLAY])).do(this.getCommands(Dt.a).setScaleCommand()).do(this.getCommands(h.b).spinCommand(null), {
                            blocking: !0
                        }).end()
                    }, e.prototype.onBeforeRequest = function() {
                        var t = this;
                        return (new Ie.a).start().do(this.getCommands(h.b).hideWinCommand()).start({
                            condition: function() {
                                return "FreeSpin" === t.getStore(m.a).stage
                            }
                        }).do(this.getCommands(Dt.a).hideAnimBonusWinCommand()).end().start({
                            condition: function() {
                                return "FreeSpin" !== t.getStore(m.a).stage
                            }
                        }).do(this.getCommands(Dt.a).hideAnimWinCommand()).end().do(this.getCommands(V.a).hideTotalWinRollupCommand(!0)).do(this.getCommands(ot).hideBigWin()).do(this.getCommands(d.a).stakeDeductCommand()).do(this.getCommands(d.a).spinCommand()).do(this.getCommands(h.b).disableControlCommand(Le([h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], this._gameButtons, this._baseGameMeters))).do(this.getCommands(Pt).hideCommand()).end()
                    }, e.prototype.onMakeRequest = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).decrementSpinsCommand(null)).do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !0)).do(this.getCommands(d.a).requestDataCommand()).end()
                    }, e.prototype.onResolveStage = function() {
                        var t = this;
                        return p.a.gameActions.setSkipped(!1), (new Ie.a).start().do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !1)).do(this.getCommands(Dt.a).parseBigWinCommand(), {
                            blocking: !0
                        }).do(this.getCommands(d.a).bonusAnimStopSpinCommand("b01", [1, 2, 3], "smart"), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return !0 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(h.b).autoSpinStopCommand(Re.b.AUTO)).end().start({
                            condition: function() {
                                return "BaseGame" === p.b.stage && "FreeSpin" === p.b.nextStage
                            }
                        }).do(this.getCommands(h.b).autoSpinStopCommand(Re.b.BONUS)).do(this.getCommands(Dt.a).showBonusTriggerPreShow("intro", "loop"), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).start({
                            condition: function() {
                                return "BaseGame" === p.b.stage && "BaseGame" === p.b.nextStage && p.b.gameTotal > 0
                            }
                        }).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SPIN])).start({
                            condition: function() {
                                return !0 === t.getStore(D).isBigWin
                            }
                        }).do(this.getCommands(J).showBigWinRollupCommand()).do(this.getCommands(ot).showBigWin()).do(this.getCommands(J).skipBigWinRollupCommand(), {
                            blocking: !0
                        }).start({
                            blocking: "all"
                        }).do(this.getCommands(h.b).showWinCommand()).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(ot).hideBigWin()).do(this.getCommands(J).hideBigWinRollupCommand()).end().do(this.getCommands(Dt.a).startPreshowCommand("intro", "loop")).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).end().start({
                            condition: function() {
                                return !1 === t.getStore(D).isBigWin
                            }
                        }).do(this.getCommands(V.a).showTotalWinCommand()).do(this.getCommands(h.b).showSmallWinCommand()).do(this.getCommands(Dt.a).startPreshowCommand("intro", "loop")).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(V.a).hideTotalWinRollupCommand()).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).end().end().end().end()
                    }, e.prototype.onEndGame = function() {
                        var t = this;
                        return (new Ie.a).start().start({
                            condition: function() {
                                return "FreeSpin" === t.getStore(m.a).stage
                            }
                        }).do(this.getCommands(h.b).showBonusWinCommand()).end().start({
                            condition: function() {
                                return "BaseGame" === t.getStore(m.a).stage
                            }
                        }).do(this.getCommands(h.b).showWinCommand()).end().do(this.getCommands(Dt.a).resetBigWinCommand()).do(this.getCommands(h.b).checkIXFAutoSpinStopCommand()).start({
                            condition: function() {
                                return !0 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(Pt).showCommand()).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).forceSkipCommand(null)).do(this.getCommands(Pt).dismissPlaqueCommand(), {
                            blocking: !0
                        }).end().end()
                    }, e.prototype.onBeginNewGame = function() {
                        var t = this;
                        return (new Ie.a).start().do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SPIN])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).forceSkipCommand(null, h.a.BTN_SPIN)).do(this.getCommands(ot).hideBigWin()).do(this.getCommands(h.b).enableControlCommand(this._gameButtons)).start({
                            condition: function() {
                                return 0 === t.getStore(m.a).spins
                            }
                        }).do(this.getCommands(h.b).enableControlCommand(Le([h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], this._baseGameMeters))).start({
                            condition: function() {
                                return "FreeSpin" === t.getStore(m.a).stage && !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(Dt.a).showAnimBonusWinCommand("loop")).end().start({
                            condition: function() {
                                return "FreeSpin" !== t.getStore(m.a).stage && !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(Dt.a).showAnimWinCommand("loop")).end().do(this.getCommands(h.b).spinCommand(null), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return t.getStore(m.a).spins > 0 && t.getStore(m.a).gameTotal > 0
                            }
                        }).do(this.getCommands(Dt.a).showAnimWinCommand("loop")).do(this.getCommands(Dt.a).firstCycleDelayCommand(this._skipSequenceTrigger), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return 0 === t.getStore(m.a).spins
                            }
                        }).do(this.getCommands(h.b).enableControlCommand(Le([h.a.BTN_SPIN, h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], this._baseGameMeters))).end().do(this.getCommands(h.b).spinCommand(null), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return t.getStore(m.a).spins > 0 && t.getStore(m.a).gameTotal <= 0
                            }
                        }).do(this.getCommands(Dt.a).showAnimWinCommand("loop")).start({
                            condition: function() {
                                return 0 === t.getStore(m.a).spins
                            }
                        }).do(this.getCommands(h.b).enableControlCommand(Le([h.a.BTN_SPIN, h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], this._baseGameMeters))).end().do(this.getCommands(h.b).spinCommand(null), {
                            blocking: !0
                        }).end().end()
                    }, e.prototype.onExitStage = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).disableControlCommand([h.a.BTN_PLAY])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_PLAY])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SPIN])).do(this.getCommands(_t).showBonusStartMessageCommand()).do(this.getCommands(h.b).forceSkipCommand(null, h.a.BTN_PLAY), {
                            blocking: !0
                        }).do(this.getCommands(xe.a).startBonusParticles()).do(this.getCommands(Y).stopIdleLogo()).do(this.getCommands(_t).dismissBonusStartMessage(), {
                            blocking: !0
                        }).do(this.getCommands(xe.a).stopBaseGameParticles()).do(this.getCommands(ne).startTransition(), {
                            blocking: !0
                        }).do(this.getCommands(d.a).resetOverlay()).do(this.getCommands(d.a).resetCommand()).end()
                    }, e.prototype.onEnterNextStage = function() {
                        var t = this;
                        return (new Ie.a).start().do(this.getCommands(xe.a).startBaseGameParticles()).do(this.getCommands(wt).hideCommand()).do(this.getCommands(xe.a).hideBonusAssetsCommand()).do(this.getCommands(xe.a).stopBonusParticles()).do(this.getCommands(d.a).initCommand("BaseGame", ["symbolBoundsCell"])).do(this.getCommands(h.b).showControlCommand(Le(this._allBaseGameUI))).do(this.getCommands(h.b).disableControlCommand(this._gameButtons)).do(this.getCommands(h.b).hideControlCommand(Le(this._freeSpinMeters, [h.a.BTN_SKIP, h.a.BTN_PLAY]))).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_AUTO_SPIN_STOP])).do(this.getCommands(oe.a).hideMeter()).do(this.getCommands(ne).onTransitionEnd(), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).parseBonusBigWinCommand(), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).initCommand()).start({
                            condition: function() {
                                return !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).start({
                            condition: function() {
                                return !0 === t.getStore(D).isBigWin
                            }
                        }).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(J).showBigWinAfterBonusRollupCommand()).do(this.getCommands(ot).showBigWin()).do(this.getCommands(J).skipBigWinRollupCommand(), {
                            blocking: !0
                        }).start({
                            blocking: "all"
                        }).do(this.getCommands(h.b).showBonusWinCommand()).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(ot).hideBigWin()).do(this.getCommands(J).hideBigWinRollupCommand()).end().do(this.getCommands(Dt.a).startPostBonusPreshowCommand("intro", "loop")).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(Y).playIdleLogo()).end().start({
                            condition: function() {
                                return !1 === t.getStore(D).isBigWin
                            }
                        }).do(this.getCommands(V.a).showTotalWinBonusCommand()).do(this.getCommands(Dt.a).startPostBonusPreshowCommand("intro", "loop")).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(V.a).hideTotalWinRollupCommand()).do(this.getCommands(Y).playIdleLogo()).end().end().end()
                    }, e.prototype.onAbortNextStage = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).autoSpinStopCommand(Re.b.AUTO)).do(this.getCommands(d.a).forceStopCommand(), {
                            blocking: !0
                        }).end()
                    }, e.prototype.onResetNextStage = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !1)).do(this.getCommands(h.b).showControlCommand(Le(this._baseGameMeters))).do(this.getCommands(h.b).hideControlCommand([h.a.METER_SPIN, h.a.METER_FS_TOTAL_WIN])).do(this.getCommands(h.b).enableControlCommand(Le(this._allBGButtons))).do(this.getCommands(h.b).spinCommand(null), {
                            blocking: !0
                        }).end()
                    }, e
                }(a.a),
                ke = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ge = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                je = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(Ge(arguments[e]));
                    return t
                },
                Fe = function(t) {
                    function e(e, n, o, i, r) {
                        var a = t.call(this, e, n, o, i, r) || this;
                        return a._freeSpinMeters = [], a._gameButtons = [], a.autoReplyingOnSequenceEnd = function() {
                            return !0
                        }, a._freeSpinMeters = [h.a.METER_SPIN, h.a.METER_FS_TOTAL_WIN], a._gameButtons = [h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START], a._allBGMeters = [h.a.METER_WIN, h.a.METER_BALANCE], a._allBGButtons = [h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_BET_CONTROLS, h.a.BTN_AUTO_SPIN_START, h.a.METER_TOTAL_BET], a._allBaseGameUI = [h.a.METER_WIN, h.a.METER_BALANCE, h.a.METER_TOTAL_BET, h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_BET_CONTROLS, h.a.BTN_AUTO_SPIN_START], a
                    }
                    return ke(e, t), e.prototype.onEnterNextStage = function() {
                        var t = this.getStore(m.a).reelDimensions.length > 0;
                        return Wo.gameActions.setWinCycleState(b.a.WINCYCLE_BEGIN), Wo.gameActions.setWinCycleState(b.a.WINCYCLE_ABORT), (new Ie.a).start().do(this.getCommands(h.b).hideControlCommand(je(this._allBaseGameUI))).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand(je(this._freeSpinMeters, [h.a.BTN_SKIP]))).do(this.getCommands(oe.a).showMeter()).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(_t).hideCommand()).do(this.getCommands(xe.a).showBonusAssetsCommand()).do(this.getCommands(d.a).initCommand("FreeSpin", ["symbolBoundsCell"])).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(d.a).showCommand()).start({
                            condition: function() {
                                return t
                            }
                        }).do(this.getCommands(Dt.a).initCommand()).end().do(this.getCommands(ne).waitCommand(1), {
                            blocking: !0
                        }).do(this.getCommands(Y).playIdleLogo()).end()
                    }, e.prototype.onBeforeShowStage = function() {
                        return p.a.controlActions.setFsCount(this.getStore(m.a).fsTotalAwarded - this.getStore(m.a).fsCountDown), "FreeSpin" === this.getStore(m.a).stage ? (new Ie.a).start().do(this.getCommands(h.b).updateFSTotalAwardCommand(null)).do(this.getCommands(xe.a).startBonusParticles()).do(this.getCommands(xe.a).showBonusAssetsCommand()).do(this.getCommands(d.a).initCommand("FreeSpin", ["symbolBoundsCell"])).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(d.a).showCommand()).do(this.getCommands(d.a).renderStageCommand()).do(this.getCommands(oe.a).setGameInProgressReels()).do(this.getCommands(Dt.a).setSymbolAnimations()).do(this.getCommands(h.b).setControlHitAreaCommand([h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START, h.a.BTN_AUTO_SPIN_STOP, h.a.BTN_BET_CONTROLS, h.a.METER_TOTAL_BET], [new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Rectangle(55, 10, 55, 10)], [null, null, null, null, null, null, "Button"])).do(this.getCommands(h.b).disableControlCommand([h.a.METER_TOTAL_BET, h.a.BTN_BET_CONTROLS, h.a.BTN_SKIP])).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(h.b).showControlCommand(je(this._freeSpinMeters))).do(this.getCommands(h.b).hideControlCommand([h.a.METER_WIN, h.a.METER_BALANCE, h.a.METER_TOTAL_BET])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_AUTO_SPIN_START, h.a.CONTROL_AUTO_SPIN, h.a.BTN_BET_CONTROLS])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_PLAY])).end() : (new Ie.a).start().do(this.getCommands(d.a).resetCommand()).do(this.getCommands(d.a).initCommand("BaseGame", ["symbolBoundsCell"], "BaseGame.Reels", "BaseGame")).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(d.a).showCommand()).do(this.getCommands(d.a).renderStageCommand()).do(this.getCommands(Dt.a).setSymbolAnimations()).do(this.getCommands(h.b).setControlHitAreaCommand([h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START, h.a.BTN_AUTO_SPIN_STOP, h.a.BTN_BET_CONTROLS, h.a.METER_TOTAL_BET], [new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Circle, new y.Rectangle(55, 10, 55, 10)], [null, null, null, null, null, null, "Button"])).do(this.getCommands(Y).playIdleLogo()).do(this.getCommands(xe.a).startBaseGameParticles()).do(this.getCommands(Dt.a).showBonusTriggerPreShow("intro", "loop"), {
                            blocking: !0
                        }).do(this.getCommands(_t).showBonusStartMessageCommand()).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SPIN, h.a.BTN_SKIP, h.a.BTN_PLAY, h.a.BTN_AUTO_SPIN_START, h.a.METER_TOTAL_BET, h.a.BTN_BET_CONTROLS])).do(this.getCommands(h.b).hideControlCommand(je(this._gameButtons, this._allBGButtons, this._allBGMeters))).do(this.getCommands(d.a).switchPlayModeCommand()).do(this.getCommands(h.b).showControlCommand(je(this._allBGButtons, this._allBGMeters))).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP, h.a.BTN_SPIN])).end()
                    }, e.prototype.onStartGameInProgressStage = function() {
                        return "FreeSpin" === this.getStore(m.a).stage ? (new Ie.a).start().do(this.getCommands(d.a).renderStageCommand()).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_PLAY])).do(this.getCommands(Dt.a).setScaleCommand()).end() : (new Ie.a).start().do(this.getCommands(Dt.a).setScaleCommand()).do(this.getCommands(h.b).showControlCommand([h.a.BTN_PLAY])).do(this.getCommands(h.b).forceSkipCommand(null, h.a.BTN_PLAY), {
                            blocking: !0
                        }).do(this.getCommands(xe.a).gameInProgressBonusStartAudio()).do(this.getCommands(xe.a).startBonusParticles()).do(this.getCommands(Y).stopIdleLogo()).do(this.getCommands(_t).dismissBonusStartMessage(), {
                            blocking: !0
                        }).do(this.getCommands(xe.a).stopBaseGameParticles()).do(this.getCommands(ne).startTransition(), {
                            blocking: !0
                        }).do(this.getCommands(d.a).resetOverlay()).do(this.getCommands(d.a).resetCommand()).end()
                    }, e.prototype.onStartGameInProgressNextStage = function() {
                        var t = this.getStore(m.a).reelDimensions.length > 0;
                        return "FreeSpin" === this.getStore(m.a).stage ? (new Ie.a).start().do(this.getCommands(h.b).spinCommand(null, h.a.BTN_PLAY), {
                            blocking: !0
                        }).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_PLAY])).end() : (new Ie.a).start().do(this.getCommands(h.b).hideControlCommand(je(this._allBaseGameUI))).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand(je(this._freeSpinMeters, [h.a.BTN_SKIP]))).do(this.getCommands(oe.a).showMeter()).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(_t).hideCommand()).do(this.getCommands(xe.a).showBonusAssetsCommand()).do(this.getCommands(d.a).initCommand("FreeSpin", ["symbolBoundsCell"])).do(this.getCommands(d.a).visibilityCommand()).do(this.getCommands(d.a).showCommand()).start({
                            condition: function() {
                                return t
                            }
                        }).do(this.getCommands(Dt.a).initCommand()).end().do(this.getCommands(ne).waitCommand(1.1), {
                            blocking: !0
                        }).do(this.getCommands(Y).playIdleLogo()).do(this.getCommands(h.b).spinCommand(null, h.a.BTN_PLAY), {
                            blocking: !0
                        }).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_PLAY])).end()
                    }, e.prototype.onBeforeRequest = function() {
                        var t = this;
                        return (new Ie.a).start().do(this.getCommands(Dt.a).hideAnimWinCommand()).do(this.getCommands(V.a).hideCommand(!0)).do(this.getCommands(h.b).updateFSCounterCommand(null)).start({
                            condition: function() {
                                return t.getStore(m.a).fsCount > 0
                            }
                        }).do(this.getCommands(d.a).outcomeBeforeCommand(), {
                            blocking: !0
                        }).end().do(this.getCommands(d.a).selectSpinCommand()).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).end()
                    }, e.prototype.onMakeRequest = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !0)).do(this.getCommands(d.a).requestDataCommand()).end()
                    }, e.prototype.onResolveStage = function() {
                        var t = this;
                        return p.a.gameActions.setSkipped(!1), (new Ie.a).start().do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !1)).do(this.getCommands(d.a).outcomeResolveCommand(), {
                            blocking: !0
                        }).do(this.getCommands(d.a).bonusAnimStopSpinCommand("b11", [1, 2, 3], "smart"), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return Array.from(t.getStore(m.a).response.highlightOutcomes.values()).some((function(t) {
                                    return "FreeSpin.TrailTrigger" === t.name && t.highlights.length > 0
                                }))
                            },
                            blocking: "all"
                        }).do(this.getCommands(oe.a).collectDiamond(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(oe.a).transformCat(), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return !0 === t.getStore(m.a).awardCapExceeded
                            },
                            blocking: "all"
                        }).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(Ot).showCommand(3e3), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).start({
                            condition: function() {
                                return !0 === t.getStore(m.a).fsIncrementTriggered
                            },
                            blocking: "all"
                        }).do(this.getCommands(ne).waitCommand(.5), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return !0 === t.getStore(m.a).fsMaxAwarded
                            },
                            blocking: "all"
                        }).do(this.getCommands(Wt).showCommand(), {
                            blocking: !0
                        }).do(this.getCommands(Wt).hideCommand(), {
                            blocking: !0
                        }).end().start({
                            condition: function() {
                                return !1 === t.getStore(m.a).fsMaxAwarded
                            },
                            blocking: "all"
                        }).do(this.getCommands(Rt).showBonusRetrigger(), {
                            blocking: !0
                        }).do(this.getCommands(Rt).hideBonusRetrigger(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).updateFSTotalAwardCommand(null)).end().end().start({
                            condition: function() {
                                return t.getStore(m.a).fsCountDown > 0 && Array.from(t.getStore(m.a).response.prizeOutcomes.values()).some((function(e) {
                                    return e.totalPay > 0 && (e.name === t.getStore(m.a).stage + ".Lines" || e.name === t.getStore(m.a).stage + ".Scatter")
                                }))
                            }
                        }).do(this.getCommands(V.a).showTotalWinCommand()).do(this.getCommands(Dt.a).startBonusPreshowCommand("intro", "loop")).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(V.a).hideTotalWinRollupCommand()).end().start({
                            condition: function() {
                                return 0 === t.getStore(m.a).fsCountDown && Array.from(t.getStore(m.a).response.prizeOutcomes.values()).some((function(e) {
                                    return e.totalPay > 0 && (e.name === t.getStore(m.a).stage + ".Lines" || e.name === t.getStore(m.a).stage + ".Scatter")
                                }))
                            }
                        }).do(this.getCommands(V.a).showTotalWinCommand()).do(this.getCommands(Dt.a).startBonusPreshowCommand("intro", "loop")).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(Dt.a).skipWinCycleCommand(), {
                            blocking: !0
                        }).do(this.getCommands(V.a).hideTotalWinRollupCommand()).start({
                            condition: function() {
                                return Array.from(t.getStore(m.a).response.prizeOutcomes.values()).some((function(e) {
                                    return e.totalPay > 0 && (e.name === t.getStore(m.a).stage + ".Lines" || e.name === t.getStore(m.a).stage + ".Scatter")
                                }))
                            }
                        }).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).forceSkipCommand(null, h.a.BTN_SKIP)).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(V.a).hideCommand(), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).showAnimWinCommand("loop")).do(this.getCommands(Dt.a).firstCycleDelayCommand(this._skipSequenceTrigger), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).hideAnimWinCommand()).end().end().end().end()
                    }, e.prototype.onInProgressStage = function() {
                        var t = this;
                        return (new Ie.a).start({
                            condition: function() {
                                return Array.from(t.getStore(m.a).response.prizeOutcomes.values()).some((function(e) {
                                    return e.totalPay > 0 && (e.name === t.getStore(m.a).stage + ".Lines" || e.name === t.getStore(m.a).stage + ".Scatter")
                                }))
                            }
                        }).do(this.getCommands(h.b).showTotalWinCommand()).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).forceSkipCommand(null, h.a.BTN_SKIP)).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_SKIP])).start({
                            condition: function() {
                                return Array.from(t.getStore(m.a).response.prizeOutcomes.values()).some((function(e) {
                                    return e.totalPay > 0 && (e.name === t.getStore(m.a).stage + ".Lines" || e.name === t.getStore(m.a).stage + ".Scatter")
                                }))
                            }
                        }).do(this.getCommands(V.a).hideCommand(), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).showAnimWinCommand("loop")).do(this.getCommands(Dt.a).firstCycleDelayCommand(this._skipSequenceTrigger), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).hideAnimWinCommand()).end().end()
                    }, e.prototype.onExitStage = function() {
                        var t = this;
                        return p.a.gameActions.setSkipped(!1), (new Ie.a).start().do(this.getCommands(Dt.a).hideAnimWinCommand(!0), {
                            blocking: !0
                        }).do(this.getCommands(Y).stopIdleLogo()).do(this.getCommands(ne).waitCommand(.7), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return !1 === t.getStore(m.a).awardCapExceeded
                            },
                            blocking: "all"
                        }).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_SKIP])).do(this.getCommands(wt).showBonusExitCommand(5.5), {
                            blocking: !0
                        }).do(this.getCommands(Dt.a).hideAnimWinCommand()).end().start({
                            condition: function() {
                                return !0 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(Ot).endBonusMaxWinAudioCommand()).end().do(this.getCommands(ne).startTransition(), {
                            blocking: !0
                        }).start({
                            condition: function() {
                                return !0 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(Ot).hideCommand()).end().start({
                            condition: function() {
                                return !1 === t.getStore(m.a).awardCapExceeded
                            }
                        }).do(this.getCommands(wt).hideCommand()).end().do(this.getCommands(h.b).hideWinCommand()).do(this.getCommands(d.a).resetCommand()).end()
                    }, e.prototype.onAbortNextStage = function() {
                        return p.a.gameActions.setSkipped(!1), p.a.controlActions.setFsCount(this.getStore(m.a).fsTotalAwarded - this.getStore(m.a).fsCountDown), (new Ie.a).start().do(this.getCommands(d.a).forceStopCommand(), {
                            blocking: !0
                        }).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_SKIP, h.a.BTN_SPIN])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_PLAY])).do(this.getCommands(h.b).enableControlCommand([h.a.BTN_PLAY])).end()
                    }, e.prototype.onResetNextStage = function() {
                        return (new Ie.a).start().do(this.getCommands(h.b).delayShowControlCommand([h.a.NETWORKACTIVITY], !1)).do(this.getCommands(h.b).spinCommand(null, h.a.BTN_PLAY), {
                            blocking: !0
                        }).do(this.getCommands(h.b).disableControlCommand([h.a.BTN_PLAY, h.a.BTN_SPIN, h.a.BTN_SKIP])).do(this.getCommands(h.b).hideControlCommand([h.a.BTN_PLAY])).do(this.getCommands(h.b).showControlCommand([h.a.BTN_SKIP])).do(this.getCommands(h.b).decrementSpinsCommand(null)).end()
                    }, e
                }(a.a),
                Ue = n(114),
                ze = n(131),
                He = n(12),
                Ke = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ye = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                qe = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(Ye(arguments[e]));
                    return t
                },
                Ve = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return Ke(e, t), e.prototype.attachListeners = function() {
                        var t = this;
                        k.a.getInstance().addReaction("DefaultEffectsHandler_patternsBetChanged", (function() {
                            return t.getProps(h.b).patternsBet
                        }), (function() {
                            return t.pauseGameFlowAndRun(t.clearWin())
                        })), k.a.getInstance().addReaction("DefaultEffectsHandler_betPerPatternChanged", (function() {
                            return t.getProps(h.b).betPerPattern
                        }), (function() {
                            return t.pauseGameFlowAndRun(t.clearWin())
                        })), k.a.getInstance().addReaction("DefaultEffectsHandler_autoSpinDialogOpened", (function() {
                            return t.getProps(m.a).settingsShown
                        }), (function(e) {
                            e !== He.a.NONE ? t.pauseGameFlowAndRun(t.disableUI()) : 0 === t.getProps(h.b).autoSpinOptions.steps && t.pauseGameFlowAndRun(t.enableUI())
                        })), k.a.getInstance().addReaction("DefaultEffectsHandler_webViewOverlayOpened", (function() {
                            return Ue.a.getInstance().shown
                        }), (function(e) {
                            e ? t.pauseGameFlowAndRun(t.disableUI(!1)) : t.pauseGameFlowAndRun(t.enableUI(!1))
                        }))
                    }, e.prototype.clearWin = function() {
                        var t = this;
                        return (new Ie.a).start({
                            blocking: "all"
                        }).do(this.getCommands(h.b).hideWinCommand()).start({
                            condition: function() {
                                return t.getProps(Dt.a).winCycleState !== b.a.IDLE
                            }
                        }).do(this.getCommands(Dt.a).hideAnimWinCommand()).do(this.getCommands(V.a).hideCommand(!0)).do(this.getCommands($.a).hideCommand()).end().end()
                    }, e.prototype.disableUI = function(t) {
                        void 0 === t && (t = !0);
                        var e = [h.a.METER_TOTAL_BET];
                        return (new Ie.a).start({
                            blocking: "all"
                        }).do(this.getCommands(h.b).disableControlCommand(qe([h.a.BTN_SPIN, h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], e), t)).end()
                    }, e.prototype.enableUI = function(t) {
                        void 0 === t && (t = !0);
                        var e = [h.a.METER_TOTAL_BET];
                        return (new Ie.a).start({
                            blocking: "all"
                        }).do(this.getCommands(h.b).enableControlCommand(qe([h.a.BTN_SPIN, h.a.BTN_AUTO_SPIN_START, h.a.BTN_BET_CONTROLS], e), t)).end()
                    }, e
                }(ze.a),
                Xe = n(22),
                Qe = n(25),
                Ze = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Je = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                $e = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(Je(arguments[e]));
                    return t
                },
                tn = function(t) {
                    function e(e, n, o, i, r, a) {
                        void 0 === a && (a = !0);
                        var s = t.call(this, e, n, o, a) || this;
                        return s.onAllAnimComplete = function() {
                            s.slotGameProps.winCycleState === b.a.PRESHOW_BEGIN && s.slotGameActions.setWinCycleState(b.a.PRESHOW_END)
                        }, s._allWinSymbols = new Map, s._bonusTriggerSymbols = new Map, s._introLabel = o, s._loopLabel = i, r ? (s.setBonusTriggerReactions(), s.setBonusTriggerSymbols()) : (s.setWinCycleStateReactions(), s.setWinCellHighlightList()), s
                    }
                    return Ze(e, t), e.prototype.setBonusTriggerReactions = function() {
                        var t = this,
                            e = this.mobxUtils.addReaction(Qe.a.SYSTEM_NAME + "_bonusTriggered", (function() {
                                return t.slotGameProps.winCycleState
                            }), (function(e) {
                                switch (e) {
                                    case b.a.IDLE:
                                        break;
                                    case b.a.BONUS_TRIGGER_START:
                                        t.playBonusTrigger();
                                        break;
                                    case b.a.BONUS_TRIGGER_END:
                                }
                            }));
                        this._reactions.push(e)
                    }, e.prototype.setWinCycleStateReactions = function() {
                        var t = this,
                            n = this.mobxUtils.addReaction(e.SYSTEM_NAME + "_isPreshow", (function() {
                                return t.slotGameProps.winCycleState
                            }), (function(e) {
                                switch (e) {
                                    case b.a.IDLE:
                                        break;
                                    case b.a.PRESHOW_BEGIN:
                                        t.startPreshow();
                                        break;
                                    case b.a.PRESHOW_END:
                                        t.stopAllPreshow(), t.disposeReactions();
                                        break;
                                    case b.a.WINCYCLE_BEGIN:
                                        t.disposeReactions();
                                        break;
                                    case b.a.WINCYCLE_ABORT:
                                }
                            }));
                        this._reactions.push(n)
                    }, e.prototype.setWinCellHighlightList = function() {
                        var t = this;
                        this._highlightPrizeList = [];
                        var e = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        null !== e && e.forEach((function(e, n) {
                            e.forEach((function(e) {
                                t._highlightPrizeList.push(e), e.cells.forEach((function(e) {
                                    var n = e.name,
                                        o = Number(n[3]),
                                        i = Number(n[5]),
                                        r = t._reelSetComponent.reelComponents[o],
                                        a = r.props.topPadding,
                                        s = r.reelCellComponents[a + i];
                                    if (s.container.visible = !1, void 0 !== s.cellDef) {
                                        var l = t._introLabel;
                                        Qe.a.SPECIAL_SYMBOLS.indexOf(s.cellDef.text) < 0 && (l = Qe.a.STANDARD_ANIM_SUFFIX);
                                        var c = t.getSymbolAnim(l, s, o, i);
                                        void 0 !== c && (t._allWinSymbols.has(s.cellDef.name) || (t._allWinSymbols.set(s.cellDef.name, c), t._animQueue.push(c)))
                                    }
                                }))
                            }))
                        }))
                    }, e.prototype.setBonusTriggerSymbols = function() {
                        var t = this,
                            e = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        null !== e && e.size > 0 && e.forEach((function(e) {
                            e.forEach((function(e, n) {
                                "Scatter" === e.name && e.cells.forEach((function(e) {
                                    var n = e.name,
                                        o = Number(n[3]),
                                        i = Number(n[5]),
                                        r = t._reelSetComponent.reelComponents[o],
                                        a = r.props.topPadding,
                                        s = r.reelCellComponents[a + i];
                                    if (void 0 !== s.cellDef) {
                                        var l = t.getSymbolAnim(t._introLabel, s, o, i);
                                        void 0 !== l && (t._bonusTriggerSymbols.has(s.cellDef.name) || t._bonusTriggerSymbols.set(s.cellDef.name, l))
                                    }
                                }))
                            }))
                        }))
                    }, e.prototype.clearPreshow = function() {
                        this.stopAllPreshow()
                    }, e.prototype.startPreshow = function() {
                        var t = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        null !== t && t.size > 0 && (this._useCurrentStage && "BaseGame" === p.b.stage && p.b.gameTotal <= p.b.response.outcomeDetail.settled ? (this.playLowWinPreShow(), a.i.execute("onSmallWin"), F.e.delayedCall(this.showSpaghettiTime, this.onLowWinPreShowEnd, [], this)) : this.playAllPreshow())
                    }, e.prototype.onLowWinPreShowEnd = function() {
                        this.slotGameActions.setWinCycleState(b.a.PRESHOW_END)
                    }, e.prototype.playLowWinPreShow = function() {
                        if (void 0 !== this._allWinSymbols) {
                            var t = $e(this._highlightPrizeList).map((function(t) {
                                return t.name
                            }));
                            this._winlineCanvas.drawWinningSpaghetti(t, this._highlightPrizeList)
                        }
                    }, e.prototype.playAllPreshow = function() {
                        var t = this;
                        if (void 0 !== this._allWinSymbols) {
                            var e = $e(this._highlightPrizeList).map((function(t) {
                                return t.name
                            }));
                            this._winlineCanvas.drawWinningSpaghetti(e, this._highlightPrizeList), this._allWinSymbols.forEach((function(e) {
                                if (e instanceof Xe.a) {
                                    var n = e.getCurrent(0);
                                    if (null !== n) {
                                        var o = n.animation.name;
                                        null !== e.parent && e.updateTransform(), e.setAnimation("" + o, 0, !1), t.playAnimationCell(e)
                                    }
                                }
                            }))
                        }
                    }, e.prototype.playBonusTrigger = function() {
                        var t = this;
                        if (void 0 !== this._bonusTriggerSymbols) {
                            var e = 0;
                            this._bonusTriggerSymbols.forEach((function(n) {
                                if (n instanceof Xe.a && null !== n.getCurrent(0)) {
                                    var o = "FreeSpin" === p.b.stage && "FreeSpin" === p.b.nextStage ? "b11" : "b01",
                                        i = o + "_" + t._introLabel,
                                        r = o + "_" + t._loopLabel;
                                    n.zIndex = 1, null !== t._parentContainer.getChildByName(n.name) && t._parentContainer.setChildIndex(n, t._parentContainer.children.length - 1), null !== n.parent && n.updateTransform(), n.setAnimation("" + i, 0, !1), n.addAnimation("" + r, 0, !0), n.animationSpeed = t._speed, n.once(Xe.a.EVENT_COMPLETE, (function() {
                                        t.onBonusTriggerComplete(e), e++
                                    }))
                                }
                            })), this.maskBonusSymbols()
                        }
                    }, e.prototype.maskBonusSymbols = function() {
                        var t = this._parentContainer.getChildByName("reelsOverlay");
                        if (t) this._parentContainer.setChildIndex(t, this._parentContainer.children.length - 3), F.e.to(t, .7, {
                            alpha: .35,
                            delay: 1.1
                        });
                        else {
                            var e = new y.Graphics;
                            e.name = "reelsOverlay", e.alpha = 0, e.beginFill(0), e.drawRect(0, 0, 1026, 594), e.endFill(), this._parentContainer.addChildAt(e, this._parentContainer.children.length - 3), F.e.to(e, .7, {
                                alpha: .35,
                                delay: 1.1
                            })
                        }
                    }, e.prototype.onBonusTriggerComplete = function(t) {
                        2 === t && this.slotGameActions.setWinCycleState(b.a.BONUS_TRIGGER_END)
                    }, e.prototype.playAnimationCell = function(t, e) {
                        var n = this;
                        if (void 0 === e && (e = !0), e) {
                            t instanceof Xe.a && null !== this._parentContainer.getChildByName(t.name) && this._parentContainer.setChildIndex(t, this._parentContainer.children.length - 1);
                            var o = this.getAnimName(t);
                            t instanceof Xe.a && void 0 !== o && (null !== t.parent && t.updateTransform(), t.setAnimation(o, 0, !1), t.animationSpeed = this._speed), t.play(), t.once(Xe.a.EVENT_COMPLETE, (function() {
                                n.onAnimComplete(t)
                            }))
                        } else t.stop()
                    }, e.prototype.stopAllPreshow = function() {
                        F.e.killTweensOf(this.onLowWinPreShowEnd), void 0 !== this._allWinSymbols && (this.stopPreShowAnimations(), this._winlineCanvas.clearWinline(), this._allWinSymbols.clear(), this._highlightPrizeList.length = 0)
                    }, e.prototype.stopPreShowAnimations = function() {
                        var t = this;
                        this._allWinSymbols.forEach((function(e) {
                            if (e instanceof Xe.a) {
                                var n = e.getCurrent(0);
                                if (null !== n) {
                                    var o = "",
                                        i = n.animation.name,
                                        r = i.split("_")[0];
                                    o = i.indexOf("intro") > -1 ? r + "_" + t._loopLabel : r + "_" + Qe.a.STANDARD_ANIM_SUFFIX, null !== e.parent && e.updateTransform(), e.setAnimation("" + o, 0, !1), e.animationSpeed = 0
                                }
                                e.off(Xe.a.EVENT_COMPLETE)
                            }
                        }))
                    }, e.prototype.onAnimComplete = function(t) {
                        var e = this._animQueue.indexOf(t);
                        this._animQueue.splice(e, 1), t instanceof Xe.a && (t.animationSpeed = 0), this._animQueue.length <= 0 && this.onAllAnimComplete()
                    }, e
                }(Qe.a),
                en = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                nn = function(t) {
                    function e(e, n, o, i, r) {
                        void 0 === r && (r = !0);
                        var a = t.call(this, [e, n, o]) || this;
                        return a._minimumBigWinAmount = 500, a._isBonusTrigger = !1, a._winPresentation = e.winPresentation, a._reelSetComponent = e.reelSetComponent, a._rollup = e.rollupComponent, a._slotGameProps = a._winPresentation._parent.props, a._slotGameActions = a._winPresentation._parent.actions, a._introLabel = n, a._loopLabel = o, a._useCurrentStage = r, a._stage = i, a
                    }
                    return en(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this);
                        var n = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        if (null !== n && n.size > 0) {
                            new tn(this._reelSetComponent, this._winPresentation, this._introLabel, this._loopLabel, this._isBonusTrigger, this._useCurrentStage);
                            this._slotGameActions.setWinCycleState(b.a.PRESHOW_BEGIN), k.a.getInstance().addWhen(tn.SYSTEM_NAME + "_isWinCycling", (function() {
                                return e._slotGameProps.winCycleState === b.a.PRESHOW_END
                            }), (function() {
                                e.resolveCompleted()
                            }))
                        } else this.resolveCompleted()
                    }, e
                }(ie.a),
                on = n(38),
                rn = n(28),
                an = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                sn = function(t) {
                    function e(e, n) {
                        void 0 === n && (n = !0);
                        var o = t.call(this, [e]) || this;
                        return o._winPresentation = e.winPresentation, o._reelSetComponent = e.reelSetComponent, o._useCurrentStage = n, o
                    }
                    return an(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this), this._reelSetComponent.reelComponents.forEach((function(t, n) {
                            t.reelCellComponents.forEach((function(o, i) {
                                var r = i - t.props.topPadding;
                                o.container.visible = !0, o.container.alpha = 1, e.removeSymbol(o, n, r)
                            }))
                        })), this.resolveCompleted()
                    }, e.prototype.removeSymbol = function(t, e, n) {
                        var o = this;
                        if (t.props.name === on.a.REEL_PREFIX + e + "_" + rn.a.CELL_PREFIX + n && void 0 !== this._winPresentation.animations) {
                            var i = this._winPresentation.animations.get(t.props.name);
                            void 0 !== i && i.forEach((function(t) {
                                t instanceof Xe.a && o._reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER).removeChild(t)
                            }))
                        }
                    }, e
                }(ie.a),
                ln = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                cn = function(t) {
                    function e(e, n, o, i) {
                        void 0 === i && (i = !0);
                        var r = t.call(this, [e, n, o]) || this;
                        return r._winPresentation = e.winPresentation, r._reelSetComponent = e.reelSetComponent, r._slotGameProps = r._winPresentation._parent.props, r._slotGameActions = r._winPresentation._parent.actions, r._introLabel = n, r._loopLabel = o, r._useCurrentStage = i, r
                    }
                    return ln(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this);
                        var n = this._winPresentation.props.getHighlightPrizeDef(this._useCurrentStage);
                        if (null !== n && n.size > 0) {
                            new tn(this._reelSetComponent, this._winPresentation, this._introLabel, this._loopLabel, !0, this._useCurrentStage);
                            this._slotGameActions.setWinCycleState(b.a.BONUS_TRIGGER_START), k.a.getInstance().addWhen(tn.SYSTEM_NAME + "_bonusTriggered", (function() {
                                return e._slotGameProps.winCycleState === b.a.BONUS_TRIGGER_END
                            }), (function() {
                                e.resolveCompleted()
                            }))
                        } else this.resolveCompleted()
                    }, e
                }(ie.a),
                un = n(134),
                pn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                hn = function(t) {
                    function e(e, n, o, i) {
                        var r = t.call(this, e, n, o, i) || this,
                            a = {
                                rollupComponent: e,
                                winPresentation: n,
                                reelSetComponent: o,
                                uiControls: i
                            };
                        return r.showBonusTriggerPreShow = function(t, e) {
                            return new cn(a, t, e)
                        }, r.startPreshowCommand = function(t, e) {
                            return new nn(a, t, e, "BaseGame", !0)
                        }, r.startPostBonusPreshowCommand = function(t, e) {
                            return new nn(a, t, e, "BaseGame", !1)
                        }, r.clearBonusTriggerCommand = function() {
                            return new sn(a)
                        }, r.startBonusPreshowCommand = function(t, e) {
                            return new nn(a, t, e, "FreeSpin")
                        }, r
                    }
                    return pn(e, t), e
                }(un.a),
                mn = n(61),
                dn = n(130),
                fn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                _n = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                yn = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                Cn = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return fn(e, t), e.prototype.onExiting = function() {
                        return _n(this, void 0, void 0, (function() {
                            return yn(this, (function(t) {
                                return [2, Promise.resolve()]
                            }))
                        }))
                    }, e.prototype.onEntering = function() {
                        return _n(this, void 0, void 0, (function() {
                            return yn(this, (function(t) {
                                return [2, Promise.resolve()]
                            }))
                        }))
                    }, e
                }(dn.a),
                gn = n(137),
                bn = n(19),
                Sn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                wn = function(t) {
                    function e(e, n) {
                        var o = t.call(this, [e, n]) || this;
                        return o._rollupTween = null, o._bigWinTween = null, o._minimumBigWinValue = 500, o.updateOrientation = function() {
                            var t = a.j.get(0).renderer.screen.width;
                            o._bigWinLabel.x = t / 2
                        }, o._show = n, o._rollupComponent = e.rollupComponent, o._bigWinComponent = e.bigWinComponent, o._reelSetComponent = e.reelSetComponent, o._coinShower = e.coinShowerComponent, o._diamondShower = e.diamondShowerComponent, o._rollupReaction = "", o._orientationReaction = "", o._isBigWin = !1, o._bigWinLabel = o._bigWinComponent.container.children.find((function(t) {
                            return t.name === o._bigWinComponent.layoutId + "_label"
                        })), o.updateOrientation(), o
                    }
                    return Sn(e, t), e.prototype.execute = function() {
                        var n = this;
                        if (t.prototype.execute.call(this), this._orientationReaction = k.a.getInstance().addReaction(e.COMMAND_NAME + "_orientationChanged", (function() {
                                return a.l.orientation
                            }), (function() {
                                return n.updateOrientation()
                            })), this._show && this._rollupComponent.props.targetValue > 0) {
                            this.updateOrientation();
                            var o = this._rollupComponent.props.rollupConfigData;
                            if (null !== o) {
                                var i = o.get(V.a.BIG_WIN_ROLLUP_CONFIG);
                                void 0 !== i && this.isBigWin(i) && (this._bigWinComponent.container.renderable = !0, this._bigWinComponent.container.alpha = 0, this._bigWinComponent.show(), F.e.to(this._bigWinComponent.container, .2, {
                                    alpha: 1,
                                    onComplete: function() {
                                        n._coinShower.startStreamShower(), n._diamondShower.playFountainShower(), n._diamondShower.startStreamShower()
                                    },
                                    onCompleteScope: this
                                }), this.resolveCompleted())
                            }
                            this.playRollupAudio(), this._rollupComponent.container.scale.set(1, 1), this._bigWinLabel.scale.set(1, 1), this._rollupReaction = k.a.getInstance().addWhen(e.COMMAND_NAME + "_onComplete", (function() {
                                return n._rollupComponent.props.rollupState === bn.b.STOP
                            }), (function() {
                                n._rollupReaction = "", n.dispose(), n.resolveCompleted()
                            }))
                        } else if (this._bigWinComponent.container.visible) {
                            this._coinShower.stopStreamShower(), this._coinShower.playFountainShower(), this._diamondShower.playFountainShower(), this._diamondShower.stopStreamShower(), this._coinShower.onBigWinEnd(), this._diamondShower.onBigWinEnd();
                            var r = this._rollupComponent.props.rollupConfigData;
                            r.get(this._rollupComponent.targetConfigName).config.endDelay > 0 && this._rollupComponent.props.targetValue > 0 ? F.f.delayedCall(r.get(this._rollupComponent.targetConfigName).config.endDelay / 1e3, (function() {
                                n.stopBigWin()
                            })) : this.stopBigWin()
                        } else this.stopBigWin()
                    }, e.prototype.isBigWin = function(t) {
                        return this._rollupComponent.props.targetValue >= this._rollupComponent.props.bet * t.thresholdConfig[0].threshold && this._rollupComponent.props.targetValue >= this._minimumBigWinValue
                    }, e.prototype.stopBigWin = function() {
                        var t = this;
                        F.e.to(this._bigWinComponent.container, .2, {
                            alpha: 0,
                            onComplete: function() {
                                t._bigWinComponent.hide(), t._bigWinComponent.container.renderable = !1, t.dispose(), t.resolveCompleted()
                            },
                            onCompleteScope: this
                        })
                    }, e.prototype.playRollupEndAudio = function() {
                        !0 === this._isBigWin ? a.i.execute("onBigWinEnd") : "FreeSpin" === p.b.response.outcomeDetail.nextStage ? a.i.execute("onBonusRollupEnd") : a.i.execute("onRollupEnd")
                    }, e.prototype.playRollupAudio = function() {
                        "BaseGame" === p.b.response.outcomeDetail.nextStage && (this._rollupComponent.targetConfigName === V.a.BIG_WIN_ROLLUP_CONFIG ? (a.i.execute("onBigWinStart"), this._isBigWin = !0) : this._rollupComponent.targetConfigName === V.a.WIN_ROLLUP_CONFIG && (a.i.execute("onRollupStart"), this._isBigWin = !1))
                    }, e.prototype.cancel = function() {
                        this.dispose(), this._bigWinComponent.hide(), t.prototype.cancel.call(this)
                    }, e.prototype.dispose = function() {
                        "" !== this._rollupReaction && (k.a.getInstance().disposeReaction(this._rollupReaction), this._rollupReaction = ""), "" !== this._orientationReaction && (k.a.getInstance().disposeReaction(this._orientationReaction), this._orientationReaction = ""), this._rollupTween && (this._rollupTween.kill(), this._rollupTween = null), this._bigWinTween && (this._bigWinTween.kill(), this._bigWinTween = null)
                    }, e.COMMAND_NAME = "bigWinShowCommand", e
                }(ie.a),
                vn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                An = function(t) {
                    function e(e, n, o, i, r) {
                        var a = t.call(this, e, n) || this,
                            s = {
                                coinShowerComponent: o,
                                diamondShowerComponent: i,
                                rollupComponent: n,
                                bigWinComponent: e,
                                reelSetComponent: r
                            };
                        return a.showBigWin = function() {
                            return new wn(s, !0)
                        }, a.hideBigWin = function() {
                            return new wn(s, !1)
                        }, a
                    }
                    return vn(e, t), e
                }(gn.a),
                Tn = n(136),
                Pn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Nn = function(t) {
                    function e(e, n, o, i) {
                        void 0 === i && (i = !1);
                        var r = t.call(this, [e, n, o]) || this;
                        return r._minimumBigWinValue = 500, r.updateOrientation = function() {
                            var t = r._rollupComponent.container.children.find((function(t) {
                                    return t.name === r._rollupComponent.layoutId + "_value"
                                })),
                                e = r._reelSetComponent.container.width;
                            t.anchor = .5, t.maxWidth = e;
                            t.x = r._reelSetComponent.container.x + -20 + e / 2
                        }, r._show = n, r._useCurrentStage = o, r._rollupComponent = e.rollupComponent, r._reelSetComponent = e.reelSetComponent, r._force = i, r._show && r.updateOrientation(), r
                    }
                    return Pn(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), this.updateOrientation();
                        var o = 0;
                        if (this._show)
                            if (this._useCurrentStage) {
                                var i = p.b.response.outcomeDetail.stage;
                                e.PRIZES.forEach((function(t) {
                                    var e = p.b.response.prizeOutcomes.get(i + t);
                                    void 0 !== e && (o += e.totalPay)
                                }))
                            } else {
                                var r = p.b.response.prizeOutcomes.get(e.GAME_TOTAL);
                                void 0 !== r && (o = r.totalPay)
                            }
                        if (this._show && o > 0 && !p.b.skipped) {
                            e._orientationReaction = k.a.getInstance().addReaction("bigWinRollUp_orientationChanged", (function() {
                                return a.l.orientation
                            }), (function() {
                                return n.updateOrientation()
                            }));
                            var s = this._rollupComponent.props.rollupConfigData;
                            if (null !== s) {
                                var l = s.get(V.a.BIG_WIN_ROLLUP_CONFIG);
                                void 0 !== l && this.isBigWin(o, l) && (this._rollupComponent.container.alpha = 0, this._rollupComponent.show(o), F.e.to(this._rollupComponent.container, .2, {
                                    alpha: 1
                                }), this.playRollupAudio(), this.resolveCompleted())
                            }
                        } else if (!0 === this._rollupComponent.container.visible) {
                            this.playRollupAudio("End");
                            var c = this._rollupComponent.props.rollupConfigData;
                            if (!this._force && c.get(this._rollupComponent.targetConfigName).config.endDelay > 0) {
                                p.b.skipped;
                                F.f.delayedCall(c.get(this._rollupComponent.targetConfigName).config.endDelay / 1e3, (function() {
                                    F.e.to(n._rollupComponent.container, .2, {
                                        alpha: 0,
                                        onComplete: function() {
                                            n._rollupComponent.hide(), n.resolveAndDispose()
                                        },
                                        onCompleteScope: n
                                    })
                                }))
                            } else this._rollupComponent.hide(), this.resolveAndDispose()
                        } else this._rollupComponent.hide(), this.resolveAndDispose()
                    }, e.prototype.isBigWin = function(t, e) {
                        return t >= this._rollupComponent.props.bet * e.thresholdConfig[0].threshold && t >= this._minimumBigWinValue
                    }, e.prototype.playRollupAudio = function(t) {
                        void 0 === t && (t = "Start");
                        var e = this._useCurrentStage ? p.b.response.outcomeDetail.stage : p.b.response.outcomeDetail.nextStage;
                        this._rollupComponent.targetConfigName === V.a.BIG_WIN_ROLLUP_CONFIG ? a.i.execute("onBigWin" + t) : this._rollupComponent.targetConfigName === V.a.WIN_ROLLUP_CONFIG && a.i.execute("on" + ("BaseGame" === e ? "" : "Bonus") + "Rollup" + t)
                    }, e.prototype.resolveAndDispose = function() {
                        this.dispose(), this.resolveCompleted()
                    }, e.prototype.dispose = function() {
                        "" !== e._orientationReaction && (k.a.getInstance().disposeReaction(e._orientationReaction), e._orientationReaction = "")
                    }, e.prototype.cancel = function() {
                        this._state !== ie.b.IDLE && (this.playRollupAudio("End"), this._rollupComponent.hide()), t.prototype.cancel.call(this)
                    }, e.COMMAND_NAME = "rollupShowCommand", e.GAME_TOTAL = "Game.Total", e.PRIZES = [".Lines", ".Scatter"], e
                }(ie.a),
                On = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                En = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this;
                        return o.skip = function() {
                            o._payload.rollupComponent.skip(), "" !== o._whenName && (k.a.getInstance().disposeReaction(o._whenName), o._whenName = ""), p.a.gameActions.setSkipped(!0)
                        }, o._useCurrentStage = n, o._reactionName = "", o._whenName = "", o
                    }
                    return On(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), this._payload.rollupComponent.props.rollupState === bn.b.START ? (this._reactionName = k.a.getInstance().addWhen(e.COMMAND_NAME + "_onComplete", (function() {
                            return n._payload.rollupComponent.props.rollupState === bn.b.STOP
                        }), (function() {
                            n.cancel()
                        })), this._whenName = k.a.getInstance().addWhen(e.COMMAND_NAME + "_onSkip", (function() {
                            return n._payload.rollupComponent.props.skipped
                        }), (function() {
                            n._payload.rollupComponent.skip()
                        }))) : this.resolveCompleted()
                    }, e.prototype.playRollupAudio = function() {
                        var t = this._useCurrentStage ? p.b.response.outcomeDetail.stage : p.b.response.outcomeDetail.nextStage;
                        this._payload.rollupComponent.targetConfigName === V.a.BIG_WIN_ROLLUP_CONFIG ? a.i.execute("onBigWinEnd") : this._payload.rollupComponent.targetConfigName === V.a.WIN_ROLLUP_CONFIG && a.i.execute("on" + ("BaseGame" === t ? "" : "Bonus") + "RollupEnd")
                    }, e.prototype.cancel = function() {
                        this._state !== ie.b.IDLE && (this.playRollupAudio(), "" !== this._reactionName && (k.a.getInstance().disposeReaction(this._reactionName), this._reactionName = ""), "" !== this._whenName && (k.a.getInstance().disposeReaction(this._whenName), this._whenName = "")), t.prototype.cancel.call(this)
                    }, e.COMMAND_NAME = "skipBigWinRollupCommand", e
                }(ie.a),
                Bn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                In = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e, n) || this,
                            i = {
                                rollupComponent: e,
                                reelSetComponent: n
                            };
                        return o.skipBigWinRollupCommand = function() {
                            return new En(i, !0)
                        }, o.showBigWinRollupCommand = function() {
                            return new Nn(i, !0, !0)
                        }, o.showBigWinAfterBonusRollupCommand = function() {
                            return new Nn(i, !0, !1)
                        }, o.hideBigWinRollupCommand = function(t) {
                            return void 0 === t && (t = !1), new Nn(i, !1, !0, t)
                        }, o
                    }
                    return Bn(e, t), e
                }(Tn.a),
                Rn = n(84),
                xn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Wn = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e, n) || this,
                            r = {
                                rollupComponent: e,
                                reelSetComponent: n,
                                winPresentation: o
                            };
                        return i.showTotalWinCommand = function() {
                            return new Rn.a(r, !0, !0)
                        }, i.showTotalWinBonusCommand = function() {
                            return new Rn.a(r, !0, !1)
                        }, i.hideTotalWinRollupCommand = function(t) {
                            return void 0 === t && (t = !1), new Rn.a(r, !1, !0, t)
                        }, i.hideTotalWinBonusWinCommand = function() {
                            return new Rn.a(r, !1, !1)
                        }, i
                    }
                    return xn(e, t), e
                }(Tn.a),
                Dn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ln = function(t) {
                    function e(e) {
                        var n = t.call(this, [e.layoutId]) || this;
                        return n._transition = e, n
                    }
                    return Dn(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this), this._transition.spineAnim && this._transition.spineAnim.once("complete", (function() {
                            return e.onTransitionComplete()
                        }))
                    }, e.prototype.onTransitionComplete = function() {
                        this._transition.spineAnim && (this._transition.spineAnim.updateTransform(), this._transition.spineAnim.renderable = !1), this.resolveCompleted()
                    }, e
                }(ie.a),
                Mn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                kn = function(t) {
                    function e(e) {
                        var n = t.call(this, [e.layoutId]) || this;
                        return n._transition = e, n._layoutId = e.layoutId, n._node = a.e.props.layout.get("" + n._layoutId), n
                    }
                    return Mn(e, t), e.prototype.execute = function() {
                        var n = this;
                        t.prototype.execute.call(this), this._node.visible = !0, this._transition.startTransition(), this._transition.spineAnim && (this._transition.spineAnim.once(e.EVENT_NAME, (function() {
                            this._transition.setTransitionState(), this.resolveCompleted()
                        }), this), this._transition.spineAnim.once("complete", (function() {
                            return n.onTransitionComplete()
                        })))
                    }, e.prototype.onTransitionComplete = function() {
                        this._transition.spineAnim && (this._transition.hideElements(), this._transition.spineAnim.updateTransform())
                    }, e.EVENT_NAME = "Swap", e
                }(ie.a),
                Gn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                jn = function(t) {
                    function e(e, n) {
                        return t.call(this, n) || this
                    }
                    return Gn(e, t), e.prototype.execute = function() {
                        var e = this;
                        t.prototype.execute.call(this), F.f.delayedCall(this._payload, (function() {
                            return e.resolveCompleted()
                        }))
                    }, e
                }(ie.a),
                Fn = function(t) {
                    this.startTransition = function() {
                        return new kn(t)
                    }, this.onTransitionEnd = function() {
                        return new Ln(t)
                    }, this.waitCommand = function(e) {
                        return new jn(t, e)
                    }
                },
                Un = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                zn = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this;
                        return o._show = n, o._stageComponent = e.stageComponent, o
                    }
                    return Un(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._stageComponent.switchToBonus(this._show), this._show || (p.a.controlActions.setSpins(0), p.a.controlActions.setFsCount(0)), this.resolveCompleted()
                    }, e.COMMAND_NAME = "showBonusAssetsCommand", e
                }(ie.a),
                Hn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Kn = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this;
                        return o._show = n, o._emitter = e, o
                    }
                    return Hn(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._emitter.toggleParticles(this._show), this.resolveCompleted()
                    }, e.COMMAND_NAME = "showBonusAssetsCommand", e
                }(ie.a),
                Yn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                qn = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return Yn(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), a.i.execute("onBonusGameStart"), this.resolveCompleted()
                    }, e
                }(ie.a),
                Vn = function(t, e, n) {
                    var o = {
                            stageComponent: t
                        },
                        i = {
                            baseGameParticleComponent: e,
                            bonusParticleComponent: n
                        };
                    this.gameInProgressBonusStartAudio = function() {
                        return new qn(o)
                    }, this.showBonusAssetsCommand = function() {
                        return new zn(o, !0)
                    }, this.hideBonusAssetsCommand = function() {
                        return new zn(o, !1)
                    }, this.startBaseGameParticles = function() {
                        return new Kn(i.baseGameParticleComponent, !0)
                    }, this.stopBaseGameParticles = function() {
                        return new Kn(i.baseGameParticleComponent, !1)
                    }, this.startBonusParticles = function() {
                        return new Kn(i.bonusParticleComponent, !0)
                    }, this.stopBonusParticles = function() {
                        return new Kn(i.bonusParticleComponent, !1)
                    }
                },
                Xn = n(133),
                Qn = n(99),
                Zn = n(36),
                Jn = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                $n = function(t) {
                    function e(e, n, o, i) {
                        var r = t.call(this, e, n, o) || this;
                        r._landLabel = i, r._tensionAnim = null;
                        var s = a.j.get(0).container.getChildByName("game");
                        return r._animContainer = s.getChildByName("anticipation"), r._tensionAnim = r._animContainer.getChildByName("tensionAnim"), r._tensionAnim && r._animContainer && (r._animContainer.renderable = !1, r._tensionAnim.renderable = !1), r
                    }
                    return Jn(e, t), e.prototype.handleReelStopping = function(t) {
                        this.playReelStopAudios(t), this._bonusReel[t] && (this._bonusCount++, Array.isArray(this._bonusSymbolIndices) ? (this._bonusReel[t] = this._bonusSymbolIndices.indexOf(t) === this._bonusCount - 1, !this._isAnticipation && this._bonusReel[t] && this._bonusCount >= this._bonusSymbolIndices.length - 1 && (this._isAnticipation = !0)) : "number" == typeof this._bonusSymbolIndices && (this._bonusReel[t] = t <= this.reelSetComponent.reelComponents.length - this._bonusSymbolIndices || this._bonusCount + (this.reelSetComponent.reelComponents.length - 1 - t) === this._bonusSymbolIndices, !this._isAnticipation && this._bonusReel[t] && this._bonusCount >= this._bonusSymbolIndices - 1 && (this._isAnticipation = !0)), (1 === t || 2 === t && this._bonusReel[1] || 3 === t && this._bonusReel[1] && this._bonusReel[2]) && this.playBonusSymbolLandAudio(t))
                    }, e.prototype.playReelStopAudios = function(t) {
                        var e = t + 1;
                        a.i.execute("onReel" + e.toString() + "Land"), this.reelSetComponent.props.columns === e && "BaseGame" === p.b.response.outcomeDetail.stage && a.i.execute("onBaseGameSpinEnd")
                    }, e.prototype.handleReelStop = function(t) {
                        this._bonusReel[t] && this.playBonusSymbolLand(t), this._isAnticipation && ("number" == typeof this._bonusSymbolIndices && t + 1 >= this._bonusSymbolIndices - 1 && t <= this.reelSetComponent.reelComponents.length - this._bonusSymbolIndices - 1 || Array.isArray(this._bonusSymbolIndices) && this._bonusSymbolIndices.indexOf(t + 1) + 1 === this._bonusSymbolIndices.length) && (this._wasAnticipationStarted || (this.playAnticipationAudio(), this._wasAnticipationStarted = !0), this.setTensionReelSpeedUp(t + 1)), 3 === t && this._wasAnticipationStarted && (a.i.execute("onBonusAnticipationEnd"), this.stopAnticipation()), 3 === this._bonusCount && t === this._bonusSymbolIndices[this._bonusSymbolIndices.length - 1] && (p.b.awardCapExceeded || a.i.execute("onBonusSymbolWin"))
                    }, e.prototype.setTensionReelSpeedUp = function(t) {
                        if (null !== this.reelSetComponent.props.reelSetConfigData && this.reelSetComponent.props.reelSetConfigData.has(this.reelSetComponent.props.reelSetName)) {
                            var e = this.reelSetComponent.props.reelSetConfigData.get(this.reelSetComponent.props.reelSetName);
                            if (void 0 !== e) {
                                var n = e.reelsConfig.get("Reel" + t);
                                void 0 !== n && this.reelSetComponent.reelComponents[t].setSpeed(n.config.speedUp)
                            }
                        }
                    }, e.prototype.playBonusSymbolLandAudio = function(t) {
                        a.i.execute("onSymbolB0" + t + "Land")
                    }, e.prototype.playBonusSymbolLand = function(e) {
                        var n = this,
                            o = this._payload.reelSetComponent.reelComponents[e].reelCellComponents.find((function(t) {
                                return void 0 !== t.cellDef && t.cellDef.text === n._bonusSymbol
                            }));
                        if (o && void 0 !== o.cellDef) {
                            var i = this._payload.winPresentation.animations.get(o.props.name),
                                r = Zn.a.getInstance().getSpineAnim(i.get(o.props.name + "_symbolsAnims_anim"), this._bonusSymbol + "_" + this._landLabel);
                            if (r) {
                                3 === e && r.once("complete", (function() {
                                    t.prototype.resolveCompleted.call(n)
                                }));
                                var a = this._payload.reelSetComponent.container.getChildByName(Qe.a.WIN_CONTAINER);
                                if (null === a.getChildByName(r.name)) {
                                    a.addChild(r);
                                    var s = o.container,
                                        l = s.getChildByName("bounds"),
                                        c = new y.Point(l.width / 2, l.height / 2);
                                    r.position = a.toLocal(c, s, c)
                                }
                                Zn.a.getInstance().playSpineAnim(r, 1.5)
                            }
                        }
                    }, e.prototype.stopAnticipation = function() {
                        var t = this;
                        null !== this._tensionAnim && F.f.to(this._tensionAnim, .25, {
                            alpha: 0,
                            onComplete: function() {
                                null !== t._tensionAnim && null !== t._animContainer && (t._animContainer.renderable = !1, t._tensionAnim.renderable = !1, t._tensionAnim.visible = !1, t._tensionAnim.alpha = 1, t._tensionAnim.stop())
                            },
                            onCompleteScope: this
                        })
                    }, e.prototype.resolveCompleted = function() {
                        if (this._bonusReel[1])
                            if (this._isAnticipation) {
                                this._bonusReel[this._bonusSymbolIndices[this._bonusSymbolIndices.length - 1]] || t.prototype.resolveCompleted.call(this)
                            } else t.prototype.resolveCompleted.call(this);
                        else t.prototype.resolveCompleted.call(this)
                    }, e.prototype.playAnticipationAudio = function() {
                        t.prototype.playAnticipationAudio.call(this), this._tensionAnim && this._animContainer && (this._animContainer.renderable = !0, this._tensionAnim.renderable = !0, this._tensionAnim.visible = !0, this._tensionAnim.loop = !0, this._tensionAnim.play())
                    }, e.COMMAND_NAME = "bonusAnimReelStopCommand", e.STATIC_SUFFIX = "_static", e.BONUS_SYMBOLS = ["b01", "b11"], e
                }(Qn.a),
                to = n(8),
                eo = n(21),
                no = n(24),
                oo = n(32),
                io = n(70),
                ro = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ao = function(t) {
                    function e() {
                        return null !== t && t.apply(this, arguments) || this
                    }
                    return ro(e, t), e.prototype.setReelCellSymbol = function(t, e) {
                        var n;
                        if (void 0 !== t.cellDef ? n = e.get(t.cellDef.text) : void 0 !== t.stopDef && null !== t.stopDef && (n = e.get(t.stopDef.symbolId)), t.props.parentProps.name.endsWith("0") || void 0 === n || "" === n.swapName || (n = e.get(n.swapName)), void 0 !== n) {
                            var o = void 0;
                            if (void 0 !== (o = null !== n.symbolsConfigDef && n.symbolsConfigDef.suffix.length > 0 ? n.getPooledObject(n.name + n.symbolsConfigDef.suffix + no.a.STATIC_SUFFIX) : n.getPooledObject(n.name + no.a.STATIC_SUFFIX))) {
                                var i = o.object,
                                    r = this.reelSetComponent.templateContainers.find((function(t) {
                                        return void 0 !== n && null !== n.symbolsConfigDef && t.name === n.symbolsConfigDef.symbolBounds
                                    }));
                                void 0 !== r && this.reelSetUtils.createCellBounds(t, r);
                                var a = t.container;
                                null !== n.symbolsConfigDef && (n.symbolsConfigDef.isGiant || n.symbolsConfigDef.isBleeding ? n.symbolsConfigDef.isBleeding && (i.x = (a.width - i.width) / 2, i.y = (a.height - i.height) / 2) : this.graphicsUtils.centerToContainer(a, i), a.zIndex = n.symbolsConfigDef.layer), a.addChild(i), t.setPoolObjectName(o.name + "_" + o.id)
                            }
                        } else {
                            if (void 0 === t.container) {
                                var s = t;
                                s.container = this.graphicsUtils.createEmptyContainer(this.reelSetComponent.templateContainers[0].width, this.reelSetComponent.templateContainers[0].height), s.container.children[0].name = oo.a.BOUNDS_NAME
                            }
                            this.reelSetUtils.setReelCellText(t)
                        }
                    }, e
                }(io.a),
                so = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }();
            ! function(t) {
                t[t.IDLE = 0] = "IDLE", t[t.START = 1] = "START", t[t.STARTED = 2] = "STARTED", t[t.PROCESSING = 3] = "PROCESSING", t[t.STOPPING = 4] = "STOPPING", t[t.STOPPED = 5] = "STOPPED", t[t.CANCEL = 6] = "CANCEL"
            }(zt || (zt = {}));
            var lo = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this;
                        return n._time = 0, n._reelsStarted = 0, n._reelSetSelectComponent = e.reelSetComponent, n
                    }
                    return so(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), void 0 !== this.triggerName && this._reelSetSelectComponent.setStripInfoName(e.REEL_SET_STRIP_PREFIX + this.triggerName.toUpperCase()), new ao(this._reelSetSelectComponent).setSystem(), p.a.gameActions.setReelsStopping(!1), p.a.gameActions.setReelSetState(to.b.SPIN_START_BEGIN), a.j.get(0).ticker.add(this.handleTick, this)
                    }, Object.defineProperty(e.prototype, "triggerName", {
                        get: function() {
                            if (void 0 !== this._reelSetSelectComponent.props.stripInfoName && p.b.response.triggerOutcome.has(p.b.nextStage + e.REEL_SET_SUFFIX)) {
                                var t = p.b.response.triggerOutcome.get(p.b.nextStage + e.REEL_SET_SUFFIX);
                                if (void 0 !== t && t.trigger.length > 0) return t.trigger[t.trigger.length - 1].name
                            }
                        },
                        enumerable: !0,
                        configurable: !0
                    }), e.prototype.handleTick = function() {
                        var t = this;
                        this._time += a.j.get(0).ticker.deltaMS, this._reelSetSelectComponent.reelComponents.forEach((function(e) {
                            var n = e.props.startDelay;
                            e.props.state !== zt.START && t._time >= n && (p.a.gameActions.setReelState(e.props.name, zt.START), e.setState(zt.START), e.setReelState(eo.b.SPIN_BEGIN), t._reelsStarted++)
                        })), this._reelsStarted >= this._reelSetSelectComponent.props.columns && (a.j.get(0).ticker.remove(this.handleTick, this), this._time = 0, this._reelsStarted = 0, this.resolveCompleted())
                    }, e.REEL_SET_SUFFIX = ".Trail", e.REEL_SET_STRIP_PREFIX = "FreeSpinConverted", e
                }(ie.a),
                co = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                uo = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this;
                        return n.reelSetComponent = e.reelSetComponent, n
                    }
                    return co(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this.reelSetComponent.setReelSetName("FreeSpin.Reels"), this.resolveCompleted()
                    }, e
                }(ie.a),
                po = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                ho = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this;
                        return n.reelSetComponent = e.reelSetComponent, n
                    }
                    return po(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this.reelSetComponent.setReelSetName("FreeSpin.Trail"), this.resolveCompleted()
                    }, e
                }(ie.a),
                mo = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                fo = function(t) {
                    function e(e) {
                        var n = t.call(this, e) || this;
                        return n.reelSetComponent = e.reelSetComponent, n
                    }
                    return mo(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this);
                        var e = this.reelSetComponent.container.getChildByName(d.a.REEL_SET_CONTAINER),
                            n = e.getChildByName("reelsOverlay");
                        e.removeChild(n), this.resolveCompleted()
                    }, e
                }(ie.a),
                _o = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                yo = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this,
                            i = {
                                reelSetComponent: e
                            };
                        return o.selectSpinCommand = function() {
                            return new lo(i)
                        }, o.outcomeResolveCommand = function() {
                            return new uo(i)
                        }, o.outcomeBeforeCommand = function() {
                            return new ho(i)
                        }, o.resetOverlay = function() {
                            return new fo(i)
                        }, o.bonusAnimStopSpinCommand = function(t, o, i) {
                            return new $n({
                                reelSetComponent: e,
                                winPresentation: n
                            }, t, o, i)
                        }, o
                    }
                    return _o(e, t), e
                }(Xn.a),
                Co = n(85),
                go = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                bo = function(t) {
                    function e(e, n, o, i) {
                        var r = t.call(this, n) || this;
                        return r.hitAreas = o, r.view = e, r.childPostfixes = i, r
                    }
                    return go(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this);
                        for (var e = 0; e < this._payload.length; e++) {
                            var n = this.view.subComponents.get(this._payload[e]);
                            n && (this.childPostfixes[e] && (n = n.container.getChildByName(n.layoutId + this.childPostfixes[e])), (n.container || n).hitArea = this.hitAreas[e].clone(), this.fit(n.container || n, this.hitAreas[e]))
                        }
                        this.orientationChanged(), this.resolveCompleted()
                    }, e.prototype.orientationChanged = function() {
                        var t = this;
                        k.a.getInstance().addReaction("SetControlHitAreaCommand_orientationChanged", (function() {
                            return a.l.orientation
                        }), (function(e) {
                            for (var n = 0; n < t._payload.length; n++) {
                                var o = t.view.subComponents.get(t._payload[n]);
                                o && (t.childPostfixes[n] && (o = o.container.getChildByName(o.layoutId + t.childPostfixes[n])), t.fit(o.container || o, t.hitAreas[n]))
                            }
                        }), {
                            delay: 1
                        })
                    }, e.prototype.fit = function(t, e) {
                        e instanceof y.Circle ? (t.hitArea.x = t.height / 2, t.hitArea.y = t.hitArea.x, t.hitArea.radius = t.hitArea.x) : e instanceof y.Rectangle && (t.hitArea.x = e.x, t.hitArea.y = e.y, t.hitArea.width = t.width - (e.width + e.x), t.hitArea.height = t.height - (e.height + e.y))
                    }, e
                }(ie.a),
                So = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                wo = function(t) {
                    function e(e, n) {
                        var o = t.call(this, n) || this;
                        return o._uiControls = e, o
                    }
                    return So(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), this._uiControls.actions.setBonusWin(p.b.bonusTotal), this.resolveCompleted()
                    }, e.prototype.cancel = function() {
                        t.prototype.cancel.call(this)
                    }, e
                }(ie.a),
                vo = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Ao = function(t) {
                    function e(e, n) {
                        var o = t.call(this) || this;
                        return o._uiControls = e, o._rollupComponent = n, o
                    }
                    return vo(e, t), e.prototype.execute = function() {
                        t.prototype.execute.call(this), p.b.gameTotal <= this._rollupComponent.props.bet && this._uiControls.actions.setWin(p.b.gameTotal), this.resolveCompleted()
                    }, e.prototype.cancel = function() {
                        t.prototype.cancel.call(this)
                    }, e
                }(ie.a),
                To = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                Po = function(t) {
                    function e(e, n, o) {
                        var i = t.call(this, e, n) || this;
                        return i.setControlHitAreaCommand = function(t, n, o) {
                            return new bo(e, t, n, o)
                        }, i.showKittyBonusWinCommand = function() {
                            return new wo(e, !0)
                        }, i.showSmallWinCommand = function() {
                            return new Ao(e, o)
                        }, i
                    }
                    return To(e, t), e
                }(Co.a),
                No = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                Oo = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                Eo = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                Bo = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(Eo(arguments[e]));
                    return t
                },
                Io = new D(p.b);

            function Ro(t) {
                setTimeout((function() {
                    var t = 1;
                    r.a.getInstance().kernelChannel.publish("LoadProgress", {
                        id: "game",
                        items: 1e4,
                        current: t,
                        complete: !0,
                        fail: !1
                    }), t += 1
                }), 1e3 + t)
            }! function() {
                if (y.utils.isWebGLSupported()) {
                    a.d.setDimensions.apply(a.d, Bo(mn.a)), a.d.setDimensions.apply(a.d, Bo(mn.b));
                    new s.a(l.a.HOWLER);
                    var t = new xe.a("bonus", a.l, p.b),
                        e = new Y("logo", "", "_prt"),
                        n = new h.b(p.b, p.a.controlActions, [m.a]),
                        o = new q.a(p.b, "KittyGlitterBitmapFont-export.xml"),
                        i = new J(p.b, "KittyGlitterBitmapFont-export.xml", void 0, ["rollupConfig.json"], "bigWinRollup"),
                        r = new ot(p.b, []),
                        u = new lt(p.b, "bigWinCoinContainer", ["bigWinCoin.json", "fountainPortrait_coins.json", "fountainLandscape_coins.json", "streamPortrait_coins.json", "streamLandscape_coins.json"], "coin", [m.a]),
                        f = new lt(p.b, "bigWinDiamondContainer", ["bigWinCoin.json", "fountainPortrait_diamonds.json", "fountainLandscape_diamonds.json", "streamPortrait_diamonds.json", "streamLandscape_diamonds.json"], "diamond", [m.a]),
                        _ = new _t(p.b, "bonusTriggeredPlaque", "bonusTriggeredPlaque_value"),
                        C = new wt(p.b, "bonusCompletePlaque", "bonusCompletePlaque_label", "bonusCompletePlaque_value"),
                        g = new Pt(p.b, "maxCapPlaque", "maxCapPlaque_value"),
                        b = new Ot(p.b, "bonusCompleteMaxCapPlaque", "bonusCompleteMaxCapPlaque_value"),
                        S = new Rt(p.b, "bonusRetriggerPlaque", "bonusRetriggerPlaque_value"),
                        w = new Wt(p.b, "maxSpinsPlaque"),
                        v = new d.a(p.b, p.a.gameActions, [m.a]),
                        A = new Dt.a(Io.props, Io.actions.gameActions, [m.a], "symbolsAnims_anim", v),
                        T = new jt(a.l, "baseGameSparkles", ["ambientParticles.json", "ambientStar.json"], ["basegame_dot.jpg", "basegame_star.jpg"], [m.a]),
                        P = new jt(a.l, "bonusGameSparkles", ["ambientParticles.json", "ambientStar.json"], ["freespins_dot.jpg", "freespins_star.jpg"], [m.a]),
                        N = new ne(Io.props, Io.actions.gameActions, [m.a], "transition"),
                        O = new oe.a("diamondMeter", v, A, p.b);
                    e.setCommands(new se(e)), O.setCommands(new ye(O, n)), t.setCommands(new Vn(t, T, P)), v.setCommands(new yo(v, A)), n.setCommands(new Po(n, v, o)), o.setCommands(new Wn(o, v, A)), i.setCommands(new In(i, v)), r.setCommands(new An(r, i, u, f, v)), g.setCommands(new Be(g)), b.setCommands(new Be(b)), _.setCommands(new Be(_)), C.setCommands(new Be(C)), S.setCommands(new Be(S)), w.setCommands(new Be(w)), A.setCommands(new hn(o, A, v, n)), N.setCommands(new Fn(N));
                    var E = new c.a;
                    E.registerFlow("BaseGame", Me), E.registerFlow("FreeSpin", Fe), E.registerTransition("FreeSpin", "BaseGame", Cn, n.freeSpinMeters, n.baseGameMeters), E.registerTransition("BaseGame", "FreeSpin", Cn, n.baseGameMeters, n.freeSpinMeters), E.registerEffectsHandler(Ve)
                } else
                    for (var B = 1; B <= 10; B++) Ro(B)
            }(), No(void 0, void 0, void 0, (function() {
                return Oo(this, (function(t) {
                    switch (t.label) {
                        case 0:
                            return y.utils.isWebGLSupported() ? [4, u.a.start()] : [3, 2];
                        case 1:
                            t.sent(), new f.a("paytable/paytable", "help/help"), new _.a, t.label = 2;
                        case 2:
                            return [2]
                    }
                }))
            }));
            var xo = Io.props,
                Wo = Io.actions
        },
        50: function(t, e) {
            t.exports = postal
        },
        61: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return i
            })), n.d(e, "b", (function() {
                return r
            }));
            var o = n(11),
                i = [o.a.LANDSCAPE, 1440, 810, 2040, 1410],
                r = [o.a.PORTRAIT, 810, 1440, 1410, 2040]
        },
        73: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return r
            }));
            var o = n(1),
                i = n(11),
                r = function() {
                    function t() {}
                    return t.getInstance = function() {
                        return t.instance || (t.instance = new t), t.instance
                    }, t.prototype.baseName = function(t) {
                        return t.substr(t.lastIndexOf("/") + 1)
                    }, t.prototype.updateScale = function(t, e) {
                        var n, r = o.e.props.layout.get(e);
                        if (o.l.orientation === i.a.LANDSCAPE) void 0 !== (a = o.e.props.layouts.get(i.a.PORTRAIT)) && (n = a.get(e));
                        else if (o.l.orientation === i.a.PORTRAIT) {
                            var a;
                            void 0 !== (a = o.e.props.layouts.get(i.a.LANDSCAPE)) && (n = a.get(e))
                        }
                        if (void 0 !== n)
                            if (1 === t.scale.x && 1 === t.scale.y) {
                                if (o.l.orientation === i.a.PORTRAIT) {
                                    var s = r.width / n.width;
                                    t.scale.x = s;
                                    var l = r.height / n.height;
                                    t.scale.y = l
                                }
                            } else {
                                if (r.width !== n.width) {
                                    s = r.width / n.width;
                                    t.scale.x = s
                                }
                                if (r.height !== n.height) {
                                    l = r.height / n.height;
                                    t.scale.y = l
                                }
                            }
                    }, t
                }()
        },
        83: function(t, e, n) {
            "use strict";
            n.d(e, "a", (function() {
                return k
            }));
            var o, i, r = n(0),
                a = n(20),
                s = n(40),
                l = n(1),
                c = n(22),
                u = n(75),
                p = n(2),
                h = n(38),
                m = n(28),
                d = n(3),
                f = n(17),
                _ = (o = function(t, e) {
                    return (o = Object.setPrototypeOf || {
                            __proto__: []
                        }
                        instanceof Array && function(t, e) {
                            t.__proto__ = e
                        } || function(t, e) {
                            for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                        })(t, e)
                }, function(t, e) {
                    function n() {
                        this.constructor = t
                    }
                    o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                }),
                y = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                C = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                g = function(t) {
                    function e(e, n) {
                        var o = t.call(this, e) || this;
                        return o._parentActions = n, o
                    }
                    return _(e, t), e.prototype.setWinConfigData = function(t) {
                        this._data.winConfigData = t
                    }, e.prototype.setWincycleState = function(t) {
                        this._data.winCycleState = t
                    }, e.prototype.setFirstCycleComplete = function(t) {
                        this._parentActions.setFirstCycleComplete(t)
                    }, e.prototype.setBigWin = function(t) {
                        this._parentActions.setBigWin(t)
                    }, y([r.b.bound, C("design:type", Function), C("design:paramtypes", [Object]), C("design:returntype", void 0)], e.prototype, "setWinConfigData", null), y([r.b.bound, C("design:type", Function), C("design:paramtypes", [Number]), C("design:returntype", void 0)], e.prototype, "setWincycleState", null), y([r.b.bound, C("design:type", Function), C("design:paramtypes", [Boolean]), C("design:returntype", void 0)], e.prototype, "setFirstCycleComplete", null), y([r.b.bound, C("design:type", Function), C("design:paramtypes", [Boolean]), C("design:returntype", void 0)], e.prototype, "setBigWin", null), e
                }(f.a),
                b = function() {
                    function t() {
                        this.sortHighlightPrizeOutcome = function(t, e) {
                            void 0 === e && (e = !0);
                            var n = t;
                            return e ? n.sort((function(t, e) {
                                return e.pay - t.pay
                            })) : n.sort((function(t, e) {
                                return t.pay - e.pay
                            })), n
                        }, this.prioritizePrize = function(t, e) {
                            var n = t;
                            return n.forEach((function(t) {
                                t.name === e && (n.splice(n.indexOf(t), 1), n.unshift(t))
                            })), n
                        }
                    }
                    return t.getInstance = function() {
                        return t.instance || (t.instance = new t), t.instance
                    }, t
                }(),
                S = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                w = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                v = function(t, e) {
                    var n = "function" == typeof Symbol && t[Symbol.iterator];
                    if (!n) return t;
                    var o, i, r = n.call(t),
                        a = [];
                    try {
                        for (;
                            (void 0 === e || e-- > 0) && !(o = r.next()).done;) a.push(o.value)
                    } catch (t) {
                        i = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (n = r.return) && n.call(r)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                    return a
                },
                A = function() {
                    for (var t = [], e = 0; e < arguments.length; e++) t = t.concat(v(arguments[e]));
                    return t
                },
                T = function() {
                    function t(t, e, n) {
                        this._data = t, this._slotProps = e, this._slotGameProps = n
                    }
                    return Object.defineProperty(t.prototype, "winConfigData", {
                        get: function() {
                            return this._data.winConfigData
                        },
                        enumerable: !0,
                        configurable: !0
                    }), t.prototype.getHighlightPrizeDef = function(e) {
                        var n = this,
                            o = null,
                            i = e ? this._slotProps.stage : this._slotProps.nextStage;
                        return t.PRIZES.sort((function(t, e) {
                            return t.toLowerCase().indexOf("scatter") > -1 ? -1 : 0
                        })), t.PRIZES.forEach((function(t) {
                            var e = n._slotProps.response.highlightOutcomes.get(i + t);
                            if (void 0 !== e && e.highlights.length > 0) {
                                var r = n._slotProps.response.prizeOutcomes.get(i + t);
                                if (void 0 !== r && r.prizes.length > 0) {
                                    var a = [];
                                    e.highlights.forEach((function(t) {
                                        r.prizes.forEach((function(e) {
                                            if (t.name === e.name) {
                                                var n = {
                                                    name: e.name,
                                                    cells: t.cells,
                                                    payName: e.payName,
                                                    multiplier: e.multiplier,
                                                    betMultiplier: e.betMultiplier,
                                                    pay: e.pay,
                                                    totalPay: e.totalPay,
                                                    symbolCount: e.symbolCount,
                                                    position: e.position,
                                                    ways: e.ways
                                                };
                                                a.push(n)
                                            }
                                        }))
                                    })), a.length > 0 && (a = b.getInstance().sortHighlightPrizeOutcome(a), null === o && (o = new Map), o.set(e.name, A(a)))
                                }
                            }
                        })), o
                    }, t.prototype.getGameStage = function(t) {
                        return t ? this._slotProps.response.outcomeDetail.stage : this._slotProps.response.outcomeDetail.nextStage
                    }, Object.defineProperty(t.prototype, "winCycleState", {
                        get: function() {
                            return this._slotGameProps.winCycleState
                        },
                        enumerable: !0,
                        configurable: !0
                    }), Object.defineProperty(t.prototype, "firstCycleComplete", {
                        get: function() {
                            return this._slotGameProps.firstCycleComplete
                        },
                        enumerable: !0,
                        configurable: !0
                    }), t.PRIZES = [".Lines", ".Scatter"], S([r.d, w("design:type", Object), w("design:paramtypes", [])], t.prototype, "winConfigData", null), S([r.d, w("design:type", Number), w("design:paramtypes", [])], t.prototype, "winCycleState", null), S([r.d, w("design:type", Boolean), w("design:paramtypes", [])], t.prototype, "firstCycleComplete", null), t
                }(),
                P = n(15),
                N = n(108),
                O = n(69);
            ! function(t) {
                t[t.STANDARD = 0] = "STANDARD"
            }(i || (i = {}));
            var E = function() {
                    this.winConfig = new Map
                },
                B = function() {
                    function t() {
                        var t = this;
                        this.configUtils = O.a.getInstance(), this.getWinConfigDef = function(e) {
                            return {
                                type: t.getWinType(e["@type"]),
                                isShowAllWin: t.configUtils.getBool(e["@isShowAllWin"]),
                                winCycleDelay: t.configUtils.getNumber(e["@winCycleDelay"]),
                                preShowDelay: t.configUtils.getNumber(e["@preShowDelay"]),
                                speed: t.configUtils.getNumber(e["@speed"]),
                                animNames: e["@animNames"],
                                labels: e["@labels"],
                                animLabelMap: t.getAnimLabelMap(e["@animLabelMap"])
                            }
                        }, this.getWinType = function(t) {
                            var e = i.STANDARD;
                            switch (t) {
                                case "standard":
                                    e = i.STANDARD
                            }
                            return e
                        }
                    }
                    return t.prototype.translate = function(t) {
                        if (null != t) {
                            this._platformData = t;
                            var e = new E;
                            return e.winConfig = this.getWinConfigData(t), e.winConfig
                        }
                        return null
                    }, t.prototype.getWinConfigData = function(t) {
                        var e = new Map;
                        if (N.a.getInstance().exists(t.BaseGameWinConfig)) {
                            var n = this.getWinConfig(t.BaseGameWinConfig);
                            e.set(n.name, n)
                        }
                        if (N.a.getInstance().exists(t.FreeSpinWinConfig)) {
                            n = this.getWinConfig(t.FreeSpinWinConfig);
                            e.set(n.name, n)
                        }
                        return e
                    }, t.prototype.getWinConfig = function(t) {
                        var e = {
                            name: t["@name"],
                            config: t["@config"]
                        };
                        if (N.a.getInstance().exists(e.config)) {
                            var n = this.getWinConfigDef(this._platformData[e.config]);
                            e.config = n
                        }
                        return e
                    }, t.prototype.getAnimLabelMap = function(t) {
                        return t ? new Map(t.map((function(t) {
                            return [t.anim, new Map(t.map.map((function(t) {
                                return [t.label, t.newLabel]
                            })))]
                        }))) : void 0
                    }, t
                }(),
                I = n(36),
                R = n(109),
                x = function() {
                    var t = function(e, n) {
                        return (t = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(e, n)
                    };
                    return function(e, n) {
                        function o() {
                            this.constructor = e
                        }
                        t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o)
                    }
                }(),
                W = function(t, e, n, o) {
                    var i, r = arguments.length,
                        a = r < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, n) : o;
                    if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(t, e, n, o);
                    else
                        for (var s = t.length - 1; s >= 0; s--)(i = t[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(e, n, a) : i(e, n)) || a);
                    return r > 3 && a && Object.defineProperty(e, n, a), a
                },
                D = function(t, e) {
                    if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(t, e)
                },
                L = function(t, e, n, o) {
                    return new(n || (n = Promise))((function(i, r) {
                        function a(t) {
                            try {
                                l(o.next(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function s(t) {
                            try {
                                l(o.throw(t))
                            } catch (t) {
                                r(t)
                            }
                        }

                        function l(t) {
                            var e;
                            t.done ? i(t.value) : (e = t.value, e instanceof n ? e : new n((function(t) {
                                t(e)
                            }))).then(a, s)
                        }
                        l((o = o.apply(t, e || [])).next())
                    }))
                },
                M = function(t, e) {
                    var n, o, i, r, a = {
                        label: 0,
                        sent: function() {
                            if (1 & i[0]) throw i[1];
                            return i[1]
                        },
                        trys: [],
                        ops: []
                    };
                    return r = {
                        next: s(0),
                        throw: s(1),
                        return: s(2)
                    }, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
                        return this
                    }), r;

                    function s(r) {
                        return function(s) {
                            return function(r) {
                                if (n) throw new TypeError("Generator is already executing.");
                                for (; a;) try {
                                    if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o), 0) : o.next) && !(i = i.call(o, r[1])).done) return i;
                                    switch (o = 0, i && (r = [2 & r[0], i.value]), r[0]) {
                                        case 0:
                                        case 1:
                                            i = r;
                                            break;
                                        case 4:
                                            return a.label++, {
                                                value: r[1],
                                                done: !1
                                            };
                                        case 5:
                                            a.label++, o = r[1], r = [0];
                                            continue;
                                        case 7:
                                            r = a.ops.pop(), a.trys.pop();
                                            continue;
                                        default:
                                            if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
                                                a = 0;
                                                continue
                                            }
                                            if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
                                                a.label = r[1];
                                                break
                                            }
                                            if (6 === r[0] && a.label < i[1]) {
                                                a.label = i[1], i = r;
                                                break
                                            }
                                            if (i && a.label < i[2]) {
                                                a.label = i[2], a.ops.push(r);
                                                break
                                            }
                                            i[2] && a.ops.pop(), a.trys.pop();
                                            continue
                                    }
                                    r = e.call(t, a)
                                } catch (t) {
                                    r = [6, t], o = 0
                                } finally {
                                    n = i = 0
                                }
                                if (5 & r[0]) throw r[1];
                                return {
                                    value: r[0] ? r[1] : void 0,
                                    done: !0
                                }
                            }([r, s])
                        }
                    }
                },
                k = function(t) {
                    function e(n, o, i, r, s, l, c) {
                        void 0 === l && (l = new P.b), void 0 === c && (c = [e.winConfigName, e.bitmapFontName]);
                        var u = t.call(this, new a.a(n, o), new T(l, p.b, n), void 0, c, r, i) || this;
                        return u.animations = new Map, u._winlineCanvas = void 0, u.translateWinConfig = function(t) {
                            return (new B).translate(t)
                        }, u.baseName = function(t) {
                            return t.substr(t.lastIndexOf("/") + 1)
                        }, u.actions = new g(l, o), u.reelset = s, u
                    }
                    return x(e, t), e.prototype.setBigWinStatus = function(t) {
                        this.actions.setBigWin(t)
                    }, e.prototype.init = function() {
                        return L(this, void 0, void 0, (function() {
                            var t;
                            return M(this, (function(n) {
                                if (void 0 === this.layout) throw new Error("Layout data not yet set");
                                return t = this.translateWinConfig(this.assets.get(e.winConfigName)), s.a.build(this.layout, new Map, this.container), this.setWinConfigData(t), [2]
                            }))
                        }))
                    }, e.prototype.setCommands = function(t) {
                        this._commands = t
                    }, e.prototype.setSymbolAnims = function(t) {
                        void 0 === t && (t = !0);
                        var e = this.props.winConfigData.get(t ? p.b.stage : p.b.nextStage);
                        if (void 0 === e) throw new Error("WinPresentation -- winConfig is undefined.");
                        for (var n, o = e.config.animNames[0], i = 0; i < p.b.reelDimensions.length; i++)
                            for (var r = 0; r < p.b.reelDimensions[i]; r++) {
                                n = new Map;
                                var a = l.e.props.layout.get(o);
                                if (void 0 !== a) {
                                    if ("spine-animation" !== a.type) throw new Error("Set Symbol Animations attempt to set none spine animation");
                                    var s = new c.a(l.f.fromCache(this.baseName(a.spinedata.data)));
                                    s.renderable = !1, s.setAnimation(a.spinedata.animation), s.animationSpeed = a.spinedata.speed, s.skin = a.spinedata.skin, s.name = h.a.REEL_PREFIX + i + "_" + (m.a.CELL_PREFIX + r) + "_" + o, n.set(s.name, s)
                                }
                                this.animations.set(h.a.REEL_PREFIX + i + "_" + (m.a.CELL_PREFIX + r), n)
                            }
                    }, e.prototype.getLabelName = function(t, e, n) {
                        if (!this.props.winConfigData) return e;
                        var o = this.props.winConfigData.get(this.props.getGameStage(n));
                        if (!o) return e;
                        var i = o.config.animLabelMap;
                        return i && i.has(t) && i.get(t).has(e) ? i.get(t).get(e) : e
                    }, e.prototype.getSymbolAnim = function(t, e, n, o) {
                        var i;
                        void 0 === o && (o = !0);
                        var r = this.animations.get(t);
                        if (!r) return i;
                        var a = Array.from(r.keys()).find((function(t) {
                            return t.split("_").indexOf(e) > -1
                        }));
                        return a && (i = I.a.getInstance().getSpineAnim(r.get(a), e + "_" + this.getLabelName(a.substr(a.lastIndexOf(e)), n, o))), i
                    }, e.prototype.getDimmer = function(t, e, n) {
                        return void 0 === t && (t = 0), void 0 === e && (e = 0), void 0 === n && (n = 0), this._dimmer || (this._dimmer = new d.Graphics, this._dimmer.beginFill(0, .6), this._dimmer.drawRect(0, 0, t / n, e / n), this._dimmer.endFill()), this._dimmer
                    }, e.prototype.initWinlineCanvas = function() {
                        return new R.a(this.reelset)
                    }, e.prototype.displayAllWinline = function() {
                        void 0 === this._winlineCanvas && (this._winlineCanvas = this.initWinlineCanvas()), this._winlineCanvas.drawAllSpaghetti()
                    }, e.prototype.clearAllWinline = function() {
                        void 0 === this._winlineCanvas && (this._winlineCanvas = this.initWinlineCanvas()), this._winlineCanvas.clearWinline()
                    }, e.prototype.setWinConfigData = function(t) {
                        this.actions.setWinConfigData(t)
                    }, e.winConfigName = "winConfig.json", e.bitmapFontName = "KittyGlitterBitmapFont-export.xml", e.WIN_CONTAINER_BOUNDS = "winContainerBounds", W([r.b.bound, D("design:type", Function), D("design:paramtypes", [Object]), D("design:returntype", void 0)], e.prototype, "setWinConfigData", null), e
                }(u.a)
        },
        84: function(t, e, n) {
            "use strict";
            (function(t) {
                n.d(e, "a", (function() {
                    return d
                }));
                var o, i = n(11),
                    r = n(10),
                    a = n(1),
                    s = n(120),
                    l = n(47),
                    c = n(2),
                    u = n(6),
                    p = n(3),
                    h = n(226),
                    m = (o = function(t, e) {
                        return (o = Object.setPrototypeOf || {
                                __proto__: []
                            }
                            instanceof Array && function(t, e) {
                                t.__proto__ = e
                            } || function(t, e) {
                                for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
                            })(t, e)
                    }, function(t, e) {
                        function n() {
                            this.constructor = t
                        }
                        o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
                    }),
                    d = function(e) {
                        function n(n, o, r, a) {
                            void 0 === a && (a = !1);
                            var s = e.call(this, [n, o, r]) || this;
                            return s._minimumBigWinValue = 500, s._amount = 0, s.updateOrientation = function(e) {
                                var n = e === i.a.LANDSCAPE ? 1026 : 726,
                                    o = s._rollupComponent.container.children.find((function(t) {
                                        return t.name === s._rollupComponent.layoutId + "_value"
                                    }));
                                o.anchor = new t.Point(.5, 0), o.maxWidth = n, o.x = s._reelSetComponent.container.x + n / 2, s._rollupComponent.frameAsset && (s.applyFrame(s._amount), s._rollupComponent.frameAsset.x = o.x)
                            }, s._show = o, s._useCurrentStage = r, s._rollupComponent = n.rollupComponent, s._reelSetComponent = n.reelSetComponent, s._winPresentation = n.winPresentation, s._force = a, s
                        }
                        return m(n, e), n.prototype.execute = function() {
                            var t = this;
                            if (e.prototype.execute.call(this), this._force) this.resetAndHide(), this.resolveAndDispose();
                            else if (this._show && !c.b.skipped) {
                                n._orientationReaction = r.a.getInstance().addReaction("TotalWinRollup_orientationChanged", (function() {
                                    return a.l.orientation
                                }), this.updateOrientation), this._amount = 0;
                                var o = this._useCurrentStage ? c.b.response.outcomeDetail.stage : c.b.response.outcomeDetail.nextStage;
                                if (this._useCurrentStage) n.PRIZES.forEach((function(e) {
                                    var n = c.b.response.prizeOutcomes.get(o + e);
                                    void 0 !== n && (t._amount += n.totalPay)
                                }));
                                else {
                                    var i = c.b.response.prizeOutcomes.get(n.GAME_TOTAL);
                                    void 0 !== i && (this._amount = i.totalPay)
                                }
                                if ("BaseGame" === o && this._amount <= c.b.response.outcomeDetail.settled) return void this.resolveAndDispose();
                                var s = a.l.orientation;
                                this.updateOrientation(s);
                                var l = this._rollupComponent.props.rollupConfigData;
                                if (null !== l) {
                                    var p = l.get(h.a.BIG_WIN_ROLLUP_CONFIG);
                                    if (void 0 !== p && ("BaseGame" === o && !this.isBigWin(this._amount, p) || "FreeSpin" === o)) {
                                        var m = (d = a.e.props.layout.get("rollup").y) + n.PX_MOVE_DISTANCE;
                                        this._rollupComponent.container.alpha = 0, this._rollupComponent.container.position.y = m, this._rollupComponent.show(this._amount), this.applyFrame(this._amount), u.f.to(this._rollupComponent.container, .2, {
                                            alpha: 1,
                                            delay: .1
                                        }), u.f.to(this._rollupComponent.container, .2, {
                                            y: d,
                                            delay: .1
                                        }), this.playPreShowAudio(this._amount)
                                    }
                                }
                                this.resolve()
                            } else if (!0 === this._rollupComponent.container.visible) {
                                var d = this._rollupComponent.container.y - n.PX_MOVE_DISTANCE;
                                u.f.to(this._rollupComponent.container, .3, {
                                    alpha: 0
                                }), u.f.to(this._rollupComponent.container, .3, {
                                    y: d,
                                    onComplete: function() {
                                        t.resetAndHide()
                                    },
                                    onCompleteScope: this
                                }), this.resolveAndDispose()
                            } else this.resetAndHide(), this.resolveAndDispose()
                        }, n.prototype.cloneRollupText = function(t) {
                            var e = a.m.getStyle("rollup_value") || {},
                                o = a.c.formatForBitmapFont(t, this._rollupComponent._parent.props.paytable.denominationList[0].value),
                                i = new p.BitmapText(o, {
                                    font: {
                                        name: this._rollupComponent.assets.get("KittyGlitterBitmapFont-export.xml"),
                                        size: e.fontSize || 0
                                    },
                                    align: e.align
                                });
                            if (i instanceof p.BitmapText) {
                                var r = new s.a,
                                    l = n.CANVAS_WIDTH;
                                i.maxWidth = n.CANVAS_WIDTH, r.autoFitSingleLineBitmapText(i, l)
                            }
                            return i
                        }, n.prototype.applyFrame = function(t) {
                            var e = this.cloneRollupText(t),
                                n = e.textWidth,
                                o = e.height,
                                i = 0;
                            e.text.indexOf(",") > -1 && (i = -10), this._rollupComponent.frameAsset && (this._rollupComponent.frameAsset.width = n + 2 * this._rollupComponent.frameBorderWidth, this._rollupComponent.frameAsset.height = o + 2 * this._rollupComponent.frameBorderWidth + i, this._rollupComponent.frameAsset.pivot.set(this._rollupComponent.frameAsset.width / 2, -(i + o / 2)), this._rollupComponent.frameAsset.scale.set(1, 1))
                        }, n.prototype.resetAndHide = function() {
                            this.dispose(), this._rollupComponent.hide();
                            var t = a.e.props.layout.get("rollup").y;
                            this._rollupComponent.container.position.y = t
                        }, n.prototype.isBigWin = function(t, e) {
                            return t >= this._rollupComponent.props.bet * e.thresholdConfig[0].threshold && t >= this._minimumBigWinValue
                        }, n.prototype.playPreShowAudio = function(t) {
                            if ("FreeSpin" === c.b.stage) {
                                var e = this.bonusWinContainsWild();
                                e ? a.i.execute("onBonusPreshowWinWild") : a.i.execute("onBonusPreshowWin"), t < this._rollupComponent.props.bet ? e ? a.i.execute("onBonusWinLowWild") : a.i.execute("onBonusWinLow") : t <= 3 * this._rollupComponent.props.bet ? e ? a.i.execute("onBonusWinMedWild") : a.i.execute("onBonusWinMed") : e ? a.i.execute("onBonusWinHighWild") : a.i.execute("onBonusWinHigh")
                            } else "FreeSpin" !== c.b.stage && (t < this._rollupComponent.props.bet ? a.i.execute("onSymbolWinLow") : t <= 3 * this._rollupComponent.props.bet ? a.i.execute("onSymbolWinMed") : a.i.execute("onSymbolWinHigh"))
                        }, n.prototype.bonusWinContainsWild = function() {
                            var t = c.b.response.highlightOutcomes.get("FreeSpin.Lines"),
                                e = [],
                                n = !1;
                            t && t.highlights && t.highlights.forEach((function(t) {
                                t.cells.forEach((function(t) {
                                    e.indexOf(t.name) < 0 && e.push(t.name)
                                }))
                            }));
                            var o = c.b.response.populationOutcomes.get("FreeSpin.Trail");
                            return o && o.entry.forEach((function(t) {
                                n || t.cells.forEach((function(t) {
                                    t.text.indexOf("w1") > -1 && e.includes(t.name) && !n && (n = !0)
                                }))
                            })), n
                        }, n.prototype.resolve = function() {
                            this.resolveCompleted()
                        }, n.prototype.resolveAndDispose = function() {
                            this._amount = 0, this.dispose(), this.resolveCompleted()
                        }, n.prototype.dispose = function() {
                            "" !== n._orientationReaction && (r.a.getInstance().disposeReaction(n._orientationReaction), n._orientationReaction = "")
                        }, n.prototype.cancel = function() {
                            this._state !== l.b.IDLE && this._rollupComponent.hide(), e.prototype.cancel.call(this)
                        }, n.COMMAND_NAME = "totalWinRollupShowCommand", n.GAME_TOTAL = "Game.Total", n.CANVAS_WIDTH = 2040, n.PRIZES = [".Lines", ".Scatter"], n.PX_MOVE_DISTANCE = 30, n
                    }(l.a)
            }).call(this, n(3))
        }
    },
    [
        [46, 0, 4, 1, 6]
    ]
]);