var §\x01§ = 469;
var §\x0f§ = 1;
class mx.events.EventDispatcher
{
   static var _fEventDispatcher = undefined;
   static var exceptions = {move:1,draw:1};
   function EventDispatcher()
   {
   }
   static function _removeEventListener(queue, event, handler)
   {
      if(queue != undefined)
      {
         var _loc4_ = queue.length;
         var _loc1_ = undefined;
         _loc1_ = 0;
         while(_loc1_ < _loc4_)
         {
            var _loc2_ = queue[_loc1_];
            if(_loc2_ == handler)
            {
               queue.splice(_loc1_,1);
               return undefined;
            }
            _loc1_ = _loc1_ + 1;
         }
      }
   }
   static function initialize(object)
   {
      if(mx.events.EventDispatcher._fEventDispatcher == undefined)
      {
         mx.events.EventDispatcher._fEventDispatcher = new mx.events.EventDispatcher();
      }
      object.addEventListener = mx.events.EventDispatcher._fEventDispatcher.addEventListener;
      object.removeEventListener = mx.events.EventDispatcher._fEventDispatcher.removeEventListener;
      object.dispatchEvent = mx.events.EventDispatcher._fEventDispatcher.dispatchEvent;
      object.dispatchQueue = mx.events.EventDispatcher._fEventDispatcher.dispatchQueue;
   }
   function dispatchQueue(queueObj, eventObj)
   {
      var _loc7_ = "__q_" + eventObj.type;
      var _loc4_ = queueObj[_loc7_];
      if(_loc4_ != undefined)
      {
         var _loc5_ = undefined;
         for(_loc5_ in _loc4_)
         {
            var _loc1_ = _loc4_[_loc5_];
            var _loc3_ = typeof _loc1_;
            if(_loc3_ == "object" || _loc3_ == "movieclip")
            {
               if(_loc1_.handleEvent != undefined)
               {
                  _loc1_.handleEvent(eventObj);
               }
               if(_loc1_[eventObj.type] != undefined)
               {
                  if(mx.events.EventDispatcher.exceptions[eventObj.type] == undefined)
                  {
                     _loc1_[eventObj.type](eventObj);
                  }
               }
            }
            else
            {
               _loc1_.apply(queueObj,[eventObj]);
            }
         }
      }
   }
   function dispatchEvent(eventObj)
   {
      if(eventObj.target == undefined)
      {
         eventObj.target = this;
      }
      this[eventObj.type + "Handler"](eventObj);
      this.dispatchQueue(this,eventObj);
   }
   function addEventListener(event, handler)
   {
      var _loc3_ = "__q_" + event;
      if(this[_loc3_] == undefined)
      {
         this[_loc3_] = new Array();
      }
      _global.ASSetPropFlags(this,_loc3_,1);
      mx.events.EventDispatcher._removeEventListener(this[_loc3_],event,handler);
      this[_loc3_].push(handler);
   }
   function removeEventListener(event, handler)
   {
      var _loc2_ = "__q_" + event;
      mx.events.EventDispatcher._removeEventListener(this[_loc2_],event,handler);
   }
}
