define("ballooniesIXFAnimationPort", ["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 ballooniesIXFAnimationPort == 'undefined') {
            var ballooniesIXFAnimationPort = {};
        };
        ballooniesIXFAnimationPort.Action = {
            __ename__: ["ballooniesIXFAnimationPort", "Action"],
            __constructs__: ["SHOW", "HIDE", "SLEEP", "WAKE_UP"]
        };
        ballooniesIXFAnimationPort.Action.SHOW = ["SHOW", 0];
        ballooniesIXFAnimationPort.Action.SHOW.toString = $estr;
        ballooniesIXFAnimationPort.Action.SHOW.__enum__ = ballooniesIXFAnimationPort.Action;
        ballooniesIXFAnimationPort.Action.WAKE_UP = ["WAKE_UP", 3];
        ballooniesIXFAnimationPort.Action.WAKE_UP.toString = $estr;
        ballooniesIXFAnimationPort.Action.WAKE_UP.__enum__ = ballooniesIXFAnimationPort.Action;
        ballooniesIXFAnimationPort.Action.SLEEP = ["SLEEP", 2];
        ballooniesIXFAnimationPort.Action.SLEEP.toString = $estr;
        ballooniesIXFAnimationPort.Action.SLEEP.__enum__ = ballooniesIXFAnimationPort.Action;
        ballooniesIXFAnimationPort.Action.HIDE = ["HIDE", 1];
        ballooniesIXFAnimationPort.Action.HIDE.toString = $estr;
        ballooniesIXFAnimationPort.Action.HIDE.__enum__ = ballooniesIXFAnimationPort.Action;
        ballooniesIXFAnimationPort.AnimationComponent = {
            __ename__: ["ballooniesIXFAnimationPort", "AnimationComponent"],
            __constructs__: ["MULTIPLIER", "RAINBOW", "STAR_MULTIPLIER", "BASE_REEL_FRAME", "BONUS_REEL_FRAME", "MAINLOGO", "NONE"]
        };
        ballooniesIXFAnimationPort.AnimationComponent.BASE_REEL_FRAME = ["BASE_REEL_FRAME", 3];
        ballooniesIXFAnimationPort.AnimationComponent.BASE_REEL_FRAME.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.BASE_REEL_FRAME.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.STAR_MULTIPLIER = ["STAR_MULTIPLIER", 2];
        ballooniesIXFAnimationPort.AnimationComponent.STAR_MULTIPLIER.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.STAR_MULTIPLIER.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.NONE = ["NONE", 6];
        ballooniesIXFAnimationPort.AnimationComponent.NONE.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.NONE.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.MAINLOGO = ["MAINLOGO", 5];
        ballooniesIXFAnimationPort.AnimationComponent.MAINLOGO.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.MAINLOGO.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.BONUS_REEL_FRAME = ["BONUS_REEL_FRAME", 4];
        ballooniesIXFAnimationPort.AnimationComponent.BONUS_REEL_FRAME.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.BONUS_REEL_FRAME.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.MULTIPLIER = ["MULTIPLIER", 0];
        ballooniesIXFAnimationPort.AnimationComponent.MULTIPLIER.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.MULTIPLIER.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;
        ballooniesIXFAnimationPort.AnimationComponent.RAINBOW = ["RAINBOW", 1];
        ballooniesIXFAnimationPort.AnimationComponent.RAINBOW.toString = $estr;
        ballooniesIXFAnimationPort.AnimationComponent.RAINBOW.__enum__ = ballooniesIXFAnimationPort.AnimationComponent;

        ballooniesIXFAnimationPort.IAnimationPort = function() {}
        ballooniesIXFAnimationPort.IAnimationPort.prototype = {

            getAnimationAction: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getMainLogo: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        ballooniesIXFAnimationPort.IAnimationImplementationPort = function() {}
        ballooniesIXFAnimationPort.IAnimationImplementationPort.prototype = {

            getAnimationAction: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        ballooniesIXFAnimationPort.AnimationPort = function(instance, bus) {
            this.animationAction = new clientkernelEventbusApi.Topic("Animation:action");
            this.animationAction.connect(bus);
        };
        ballooniesIXFAnimationPort.AnimationPort = ck_implements(ballooniesIXFAnimationPort.AnimationPort, ballooniesIXFAnimationPort.IAnimationPort);
        ballooniesIXFAnimationPort.AnimationPort = ck_implements(ballooniesIXFAnimationPort.AnimationPort, ballooniesIXFAnimationPort.IAnimationImplementationPort);
        ballooniesIXFAnimationPort.AnimationPort.__interfaces__ = [ballooniesIXFAnimationPort.IAnimationPort, ballooniesIXFAnimationPort.IAnimationImplementationPort];
        ballooniesIXFAnimationPort.AnimationPort.__name__ = ["ballooniesIXFAnimationPort", "AnimationPort"];
        ballooniesIXFAnimationPort.AnimationPort.prototype.animationAction = null;
        ballooniesIXFAnimationPort.AnimationPort.prototype.getAnimationAction = function() {
            return this.animationAction;
        };
        ballooniesIXFAnimationPort.AnimationPort.prototype.getMainLogo = function() {
            return new ballooniesIXFAnimationPort.MainLogoProvider(this.animationAction);
        };
        ballooniesIXFAnimationPort.AnimationPort.prototype.__class__ = ballooniesIXFAnimationPort.AnimationPort;
        ballooniesIXFAnimationPort.AnimationPortFactory = function() {};
        ballooniesIXFAnimationPort.AnimationPortFactory = ck_implements(ballooniesIXFAnimationPort.AnimationPortFactory, componentmodelComponentApi.IComponentPortFactory);
        ballooniesIXFAnimationPort.AnimationPortFactory.__interfaces__ = [componentmodelComponentApi.IComponentPortFactory];
        ballooniesIXFAnimationPort.AnimationPortFactory.__name__ = ["ballooniesIXFAnimationPort", "AnimationPortFactory"];
        ballooniesIXFAnimationPort.AnimationPortFactory.prototype.provide = function(instance, channel) {
            return new ballooniesIXFAnimationPort.AnimationPort(instance, channel);
        };
        ballooniesIXFAnimationPort.AnimationPortFactory.prototype["use"] = function(instance, channel) {
            return new ballooniesIXFAnimationPort.AnimationPort(instance, channel);
        };
        ballooniesIXFAnimationPort.AnimationPortFactory.prototype.__class__ = ballooniesIXFAnimationPort.AnimationPortFactory;

        ballooniesIXFAnimationPort.IMainLogo = function() {}
        ballooniesIXFAnimationPort.IMainLogo.prototype = {

            sleep: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            },
            wakeUp: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            }
        };
        ballooniesIXFAnimationPort.MainLogoProvider = function(topic) {
            this.topic = topic;
        };
        ballooniesIXFAnimationPort.MainLogoProvider = ck_implements(ballooniesIXFAnimationPort.MainLogoProvider, ballooniesIXFAnimationPort.IMainLogo);
        ballooniesIXFAnimationPort.MainLogoProvider.__interfaces__ = [ballooniesIXFAnimationPort.IMainLogo];
        ballooniesIXFAnimationPort.MainLogoProvider.__name__ = ["ballooniesIXFAnimationPort", "MainLogoProvider"];
        ballooniesIXFAnimationPort.MainLogoProvider.prototype.topic = null;
        ballooniesIXFAnimationPort.MainLogoProvider.prototype.sleep = function() {
            this.topic.publish(new ballooniesIXFAnimationPort.AnimationAction(ballooniesIXFAnimationPort.AnimationComponent.MAINLOGO, ballooniesIXFAnimationPort.Action.SLEEP));
        };
        ballooniesIXFAnimationPort.MainLogoProvider.prototype.wakeUp = function() {
            this.topic.publish(new ballooniesIXFAnimationPort.AnimationAction(ballooniesIXFAnimationPort.AnimationComponent.MAINLOGO, ballooniesIXFAnimationPort.Action.WAKE_UP));
        };
        ballooniesIXFAnimationPort.MainLogoProvider.prototype.__class__ = ballooniesIXFAnimationPort.MainLogoProvider;
        ballooniesIXFAnimationPort.AnimationAction = function(animationComponent, action, data) {
            this.animationComponent = animationComponent;
            this.action = action;
            this.data = data;
        };
        ballooniesIXFAnimationPort.AnimationAction.__name__ = ["ballooniesIXFAnimationPort", "AnimationAction"];
        ballooniesIXFAnimationPort.AnimationAction.prototype.animationComponent = null;
        ballooniesIXFAnimationPort.AnimationAction.prototype.action = null;
        ballooniesIXFAnimationPort.AnimationAction.prototype.data = null;
        ballooniesIXFAnimationPort.AnimationAction.prototype.__class__ = ballooniesIXFAnimationPort.AnimationAction;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

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

        };
        return {
            exports: ballooniesIXFAnimationPort
        };
    });
//# sourceURL=ballooniesIxfAnimationPort.js