define("smashthepigComponentsReelPickerPort", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, 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 haxe == 'undefined') {
            var haxe = {};
        };

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

        };
        if (typeof smashthepigComponentsReelPickerPort == 'undefined') {
            var smashthepigComponentsReelPickerPort = {};
        };

        smashthepigComponentsReelPickerPort.IReelPickerImplementationPort = function() {}
        smashthepigComponentsReelPickerPort.IReelPickerImplementationPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getState: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateReels: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAvailablePicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        smashthepigComponentsReelPickerPort.IReelPickerPort = function() {}
        smashthepigComponentsReelPickerPort.IReelPickerPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getState: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getUpdateReels: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAvailablePicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration = function() {};
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration = ck_implements(smashthepigComponentsReelPickerPort.ReelPickerDeclaration, componentmodelComponentApi.IComponentDeclaration);
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.__name__ = ["smashthepigComponentsReelPickerPort", "ReelPickerDeclaration"];
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.prototype.getImplementedPorts = function() {
            return [smashthepigComponentsReelPickerPort.IReelPickerImplementationPort];
        };
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.prototype.getUsedPorts = function() {
            return [smashthepigComponentsReelPickerPort.IReelPickerPort];
        };
        smashthepigComponentsReelPickerPort.ReelPickerDeclaration.prototype.__class__ = smashthepigComponentsReelPickerPort.ReelPickerDeclaration;
        smashthepigComponentsReelPickerPort.ReelPickerPort = function(bus) {
            this.availablePicks = new clientkernelEventbusApi.Topic("reelpicker:available");
            this.visible = new clientkernelEventbusApi.Topic("reelpicker:visible");
            this.picks = new clientkernelEventbusApi.Topic("reelpicker:picks");
            this.updateReels = new clientkernelEventbusApi.Topic("reelpicker:updateReels");
            this.state = new clientkernelEventbusApi.Topic("reelpicker:state");
            this.reelSummary = new clientkernelEventbusApi.Topic("reelpicker:summary");
            this.choice = new clientkernelEventbusApi.Topic("reelpicker:choice");
            this.hide = new clientkernelEventbusApi.Topic("reelpicker:hide");
            this.show = new clientkernelEventbusApi.Topic("reelpicker:show");
            this.show.connect(bus);
            this.hide.connect(bus);
            this.choice.connect(bus);
            this.reelSummary.connect(bus);
            this.state.connect(bus);
            this.updateReels.connect(bus);
            this.picks.connect(bus);
            this.visible.connect(bus);
            this.availablePicks.connect(bus);
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort = ck_implements(smashthepigComponentsReelPickerPort.ReelPickerPort, smashthepigComponentsReelPickerPort.IReelPickerPort);
        smashthepigComponentsReelPickerPort.ReelPickerPort = ck_implements(smashthepigComponentsReelPickerPort.ReelPickerPort, smashthepigComponentsReelPickerPort.IReelPickerImplementationPort);
        smashthepigComponentsReelPickerPort.ReelPickerPort.__interfaces__ = [smashthepigComponentsReelPickerPort.IReelPickerPort, smashthepigComponentsReelPickerPort.IReelPickerImplementationPort];
        smashthepigComponentsReelPickerPort.ReelPickerPort.__name__ = ["smashthepigComponentsReelPickerPort", "ReelPickerPort"];
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.show = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.hide = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.choice = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.reelSummary = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.state = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.updateReels = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.picks = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.visible = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.availablePicks = null;
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getShow = function() {
            return this.show;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getHide = function() {
            return this.hide;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getChoice = function() {
            return this.choice;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getSummary = function() {
            return this.reelSummary;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getState = function() {
            return this.state;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getUpdateReels = function() {
            return this.updateReels;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getPicks = function() {
            return this.picks;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getVisible = function() {
            return this.visible;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.getAvailablePicks = function() {
            return this.availablePicks;
        };
        smashthepigComponentsReelPickerPort.ReelPickerPort.prototype.__class__ = smashthepigComponentsReelPickerPort.ReelPickerPort;
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory = function() {};
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory = ck_implements(smashthepigComponentsReelPickerPort.ReelPickerPortFactory, componentmodelComponentApi.IPortFactory);
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory.__name__ = ["smashthepigComponentsReelPickerPort", "ReelPickerPortFactory"];
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory.prototype.provide = function(channel) {
            return new smashthepigComponentsReelPickerPort.ReelPickerPort(channel);
        };
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory.prototype["use"] = function(channel) {
            return new smashthepigComponentsReelPickerPort.ReelPickerPort(channel);
        };
        smashthepigComponentsReelPickerPort.ReelPickerPortFactory.prototype.__class__ = smashthepigComponentsReelPickerPort.ReelPickerPortFactory;
        smashthepigComponentsReelPickerPort.HideReelPickerPayload = function(disposeAll) {
            this.disposeAll = disposeAll;
        };
        smashthepigComponentsReelPickerPort.HideReelPickerPayload.__name__ = ["smashthepigComponentsReelPickerPort", "HideReelPickerPayload"];
        smashthepigComponentsReelPickerPort.HideReelPickerPayload.prototype.disposeAll = null;
        smashthepigComponentsReelPickerPort.HideReelPickerPayload.prototype.__class__ = smashthepigComponentsReelPickerPort.HideReelPickerPayload;
        smashthepigComponentsReelPickerPort.PlayerChoicePayload = function(playerChoice) {
            this.playerChoice = playerChoice;
        };
        smashthepigComponentsReelPickerPort.PlayerChoicePayload.__name__ = ["smashthepigComponentsReelPickerPort", "PlayerChoicePayload"];
        smashthepigComponentsReelPickerPort.PlayerChoicePayload.prototype.playerChoice = null;
        smashthepigComponentsReelPickerPort.PlayerChoicePayload.prototype.__class__ = smashthepigComponentsReelPickerPort.PlayerChoicePayload;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum = {
            __ename__: ["smashthepigComponentsReelPickerPort", "ReelPickerStateEnum"],
            __constructs__: ["CUSTOM", "INTRO", "ENTRY", "IDLE", "IDLE_0", "IDLE_1", "IDLE_2", "OUTCOME_0", "OUTCOME_1", "OUTCOME_2", "OUTCOME_3", "OUTRO", "END", "ENABLE", "DISABLE", "CONTINUE"]
        };
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENABLE = ["ENABLE", 13];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENABLE.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENABLE.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_2 = ["IDLE_2", 6];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_2.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_2.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_2 = ["OUTCOME_2", 9];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_2.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_2.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_0 = ["OUTCOME_0", 7];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_0.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_0.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTRO = ["OUTRO", 11];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTRO.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTRO.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CONTINUE = ["CONTINUE", 15];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CONTINUE.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CONTINUE.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_1 = ["IDLE_1", 5];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_1.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_1.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE = ["IDLE", 3];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_1 = ["OUTCOME_1", 8];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_1.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_1.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.INTRO = ["INTRO", 1];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.INTRO.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.INTRO.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_3 = ["OUTCOME_3", 10];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_3.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.OUTCOME_3.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.DISABLE = ["DISABLE", 14];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.DISABLE.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.DISABLE.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CUSTOM = ["CUSTOM", 0];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CUSTOM.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.CUSTOM.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.END = ["END", 12];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.END.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.END.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_0 = ["IDLE_0", 4];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_0.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.IDLE_0.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENTRY = ["ENTRY", 2];
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENTRY.toString = $estr;
        smashthepigComponentsReelPickerPort.ReelPickerStateEnum.ENTRY.__enum__ = smashthepigComponentsReelPickerPort.ReelPickerStateEnum;
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload = function(reelId, value, state, complete) {
            this.complete = complete;
            this.value = value;
            this.reelId = reelId;
            this.state = state;
        };
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.__name__ = ["smashthepigComponentsReelPickerPort", "ReelPickerSummaryPayload"];
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.prototype.complete = null;
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.prototype.reelId = null;
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.prototype.value = null;
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.prototype.state = null;
        smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload.prototype.__class__ = smashthepigComponentsReelPickerPort.ReelPickerSummaryPayload;
        smashthepigComponentsReelPickerPort.ShowReelPickerPayload = function(symbols) {
            this.symbols = symbols;
        };
        smashthepigComponentsReelPickerPort.ShowReelPickerPayload.__name__ = ["smashthepigComponentsReelPickerPort", "ShowReelPickerPayload"];
        smashthepigComponentsReelPickerPort.ShowReelPickerPayload.prototype.symbols = null;
        smashthepigComponentsReelPickerPort.ShowReelPickerPayload.prototype.__class__ = smashthepigComponentsReelPickerPort.ShowReelPickerPayload;
        smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload = function(direction, duration) {
            this.direction = direction;
            this.duration = duration;
        };
        smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload.__name__ = ["smashthepigComponentsReelPickerPort", "UpdateReelsPickerPayload"];
        smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload.prototype.duration = null;
        smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload.prototype.direction = null;
        smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload.prototype.__class__ = smashthepigComponentsReelPickerPort.UpdateReelsPickerPayload;
        return {
            exports: smashthepigComponentsReelPickerPort
        };
    });
//# sourceURL=smashThePigReelPickerPort.js