define("PopupApi", ["componentmodelComponentApi", "slotModelApi", "gameLayoutApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, slotModelApi, gameLayoutApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof PopupApi == 'undefined') {
            var PopupApi = {};
        };
        PopupApi.AwardCapPayload = function(value, freeSpin) {
            this.freeSpin = freeSpin;
            this.value = value;
        };
        PopupApi.AwardCapPayload.__name__ = ["PopupApi", "AwardCapPayload"];
        PopupApi.AwardCapPayload.prototype.freeSpin = null;
        PopupApi.AwardCapPayload.prototype.value = null;
        PopupApi.AwardCapPayload.prototype.__class__ = PopupApi.AwardCapPayload;

        PopupApi.IPopupImplementationPort = function() {}
        PopupApi.IPopupImplementationPort.prototype = {

            getShowPicker: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerIsVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getEnablePickerButtons: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerOver: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowPickerResult: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerResultShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowPickerOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerOutroDone: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowFSIntro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getFSIntroFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getFSOutroFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowFSOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowNoWinOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowAwardCap: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        PopupApi.IPopupPort = function() {}
        PopupApi.IPopupPort.prototype = {

            getShowPicker: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerIsVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getEnablePickerButtons: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowPickerResult: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerResultShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowPickerOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPickerOutroDone: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowFSIntro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getFSIntroFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getFSOutroFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowFSOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowAwardCap: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowNoWinOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        PopupApi.PopupDeclaration = function() {};
        PopupApi.PopupDeclaration = ck_implements(PopupApi.PopupDeclaration, componentmodelComponentApi.IComponentDeclaration);
        PopupApi.PopupDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        PopupApi.PopupDeclaration.__name__ = ["PopupApi", "PopupDeclaration"];
        PopupApi.PopupDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        PopupApi.PopupDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        PopupApi.PopupDeclaration.prototype.getImplementedPorts = function() {
            return [PopupApi.IPopupImplementationPort];
        };
        PopupApi.PopupDeclaration.prototype.getUsedPorts = function() {
            return [gameLayoutApi.IGameLayoutPort];
        };
        PopupApi.PopupDeclaration.prototype.__class__ = PopupApi.PopupDeclaration;
        PopupApi.PopupPort = function(bus) {
            this.hideTopic = new clientkernelEventbusApi.Topic("popup:hide");
            this.showAwardCap = new clientkernelEventbusApi.Topic("popup:showAwardCap");
            this.fSOutroFinished = new clientkernelEventbusApi.Topic("popup:fSOutroFinished");
            this.noWinFSOutro = new clientkernelEventbusApi.Topic("popup:noWinFSOutro");
            this.showFSOutro = new clientkernelEventbusApi.Topic("popup:showFSOutro");
            this.fSIntroFinished = new clientkernelEventbusApi.Topic("popup:fSIntroFinished");
            this.showFSIntro = new clientkernelEventbusApi.Topic("popup:showFSIntro");
            this.pickerOutroDone = new clientkernelEventbusApi.Topic("popup:pickerOutroDone");
            this.showPickerOutro = new clientkernelEventbusApi.Topic("popup:showPickerOutro");
            this.pickerResultShown = new clientkernelEventbusApi.Topic("popup:pickerResultShown");
            this.showPickerResult = new clientkernelEventbusApi.Topic("popup:showPickerResult");
            this.pickerOver = new clientkernelEventbusApi.Topic("popup:pickerOver");
            this.pickerChoice = new clientkernelEventbusApi.Topic("picker:choice");
            this.enablePickerButtons = new clientkernelEventbusApi.Topic("popup:enablePickerButtons");
            this.pickerIsVisible = new clientkernelEventbusApi.Topic("popup:pickerIsVisible");
            this.showPicker = new clientkernelEventbusApi.Topic("popup:showPicker");
            this.showPicker.connect(bus);
            this.pickerIsVisible.connect(bus);
            this.enablePickerButtons.connect(bus);
            this.pickerChoice.connect(bus);
            this.pickerOver.connect(bus);
            this.showPickerResult.connect(bus);
            this.pickerResultShown.connect(bus);
            this.showPickerOutro.connect(bus);
            this.pickerOutroDone.connect(bus);
            this.showFSIntro.connect(bus);
            this.fSIntroFinished.connect(bus);
            this.showFSOutro.connect(bus);
            this.noWinFSOutro.connect(bus);
            this.fSOutroFinished.connect(bus);
            this.showAwardCap.connect(bus);
            this.hideTopic.connect(bus);
        };
        PopupApi.PopupPort = ck_implements(PopupApi.PopupPort, PopupApi.IPopupPort);
        PopupApi.PopupPort = ck_implements(PopupApi.PopupPort, PopupApi.IPopupImplementationPort);
        PopupApi.PopupPort.__interfaces__ = [PopupApi.IPopupPort, PopupApi.IPopupImplementationPort];
        PopupApi.PopupPort.__name__ = ["PopupApi", "PopupPort"];
        PopupApi.PopupPort.prototype.showPicker = null;
        PopupApi.PopupPort.prototype.pickerIsVisible = null;
        PopupApi.PopupPort.prototype.enablePickerButtons = null;
        PopupApi.PopupPort.prototype.pickerChoice = null;
        PopupApi.PopupPort.prototype.pickerOver = null;
        PopupApi.PopupPort.prototype.showPickerResult = null;
        PopupApi.PopupPort.prototype.pickerResultShown = null;
        PopupApi.PopupPort.prototype.showPickerOutro = null;
        PopupApi.PopupPort.prototype.pickerOutroDone = null;
        PopupApi.PopupPort.prototype.showFSIntro = null;
        PopupApi.PopupPort.prototype.fSIntroFinished = null;
        PopupApi.PopupPort.prototype.showFSOutro = null;
        PopupApi.PopupPort.prototype.noWinFSOutro = null;
        PopupApi.PopupPort.prototype.fSOutroFinished = null;
        PopupApi.PopupPort.prototype.showAwardCap = null;
        PopupApi.PopupPort.prototype.hideTopic = null;
        PopupApi.PopupPort.prototype.getShowPicker = function() {
            return this.showPicker;
        };
        PopupApi.PopupPort.prototype.getPickerIsVisible = function() {
            return this.pickerIsVisible;
        };
        PopupApi.PopupPort.prototype.getEnablePickerButtons = function() {
            return this.enablePickerButtons;
        };
        PopupApi.PopupPort.prototype.getPickerChoice = function() {
            return this.pickerChoice;
        };
        PopupApi.PopupPort.prototype.getPickerOver = function() {
            return this.pickerOver;
        };
        PopupApi.PopupPort.prototype.getShowPickerResult = function() {
            return this.showPickerResult;
        };
        PopupApi.PopupPort.prototype.getPickerResultShown = function() {
            return this.pickerResultShown;
        };
        PopupApi.PopupPort.prototype.getShowPickerOutro = function() {
            return this.showPickerOutro;
        };
        PopupApi.PopupPort.prototype.getPickerOutroDone = function() {
            return this.pickerOutroDone;
        };
        PopupApi.PopupPort.prototype.getShowFSIntro = function() {
            return this.showFSIntro;
        };
        PopupApi.PopupPort.prototype.getFSIntroFinished = function() {
            return this.fSIntroFinished;
        };
        PopupApi.PopupPort.prototype.getShowFSOutro = function() {
            return this.showFSOutro;
        };
        PopupApi.PopupPort.prototype.getShowNoWinOutro = function() {
            return this.noWinFSOutro;
        };
        PopupApi.PopupPort.prototype.getFSOutroFinished = function() {
            return this.fSOutroFinished;
        };
        PopupApi.PopupPort.prototype.getShowAwardCap = function() {
            return this.showAwardCap;
        };
        PopupApi.PopupPort.prototype.getHide = function() {
            return this.hideTopic;
        };
        PopupApi.PopupPort.prototype.__class__ = PopupApi.PopupPort;
        PopupApi.PopupPortFactory = function() {};
        PopupApi.PopupPortFactory = ck_implements(PopupApi.PopupPortFactory, componentmodelComponentApi.IPortFactory);
        PopupApi.PopupPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        PopupApi.PopupPortFactory.__name__ = ["PopupApi", "PopupPortFactory"];
        PopupApi.PopupPortFactory.prototype.provide = function(channel) {
            return new PopupApi.PopupPort(channel);
        };
        PopupApi.PopupPortFactory.prototype["use"] = function(channel) {
            return new PopupApi.PopupPort(channel);
        };
        PopupApi.PopupPortFactory.prototype.__class__ = PopupApi.PopupPortFactory;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        return {
            exports: PopupApi
        };
    });
//# sourceURL=ballooniesIxfPopupApi.js