Section 1
//GJLoader (com.gj.utils.comms.GJLoader)
package com.gj.utils.comms {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
import com.gj.utils.misc.*;
import flash.utils.*;
public class GJLoader extends EventDispatcher {
private var _timeOut:Number;
public var loaded:Boolean;
private var _retries:int;
private var _xmlCheck:Boolean;
public var loader:Loader;
private var _lc:LoaderContext;
private var _currentRequestIndx:int;
private var _requests:Array;
private var _timer:Timer;
private var _startTime:Number;
public var urlLoader:URLLoader;
private var _retryCount:int;
private var _name:String;
private var _local:Boolean;
private var _currentRequest:URLRequest;
public static const EVENT_FAIL:String = "eF";
public function GJLoader(_arg1:String, _arg2:Number=-1, _arg3:int=-1){
_name = _arg1;
_timeOut = _arg2;
_retryCount = (_retries = _arg3);
loaded = false;
_currentRequestIndx = 0;
_timer = new Timer(30);
if (_arg2 > 0){
_timer.addEventListener(TimerEvent.TIMER, tick);
};
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
GJLogger.log(_name, _arg1.type, null, 0xAA0000);
retryLoad();
}
private function checkMalformedXML():Boolean{
if (!_xmlCheck){
return (true);
};
try {
new XML(urlLoader.data);
} catch(e:Error) {
GJLogger.log(_name, "XMLFAIL", {xml:urlLoader.data}, 0xAA0000);
return (false);
};
GJLogger.log(_name, "XMLPass", {xml:urlLoader.data});
return (true);
}
private function initHandler(_arg1:Event):void{
GJLogger.log(_name, _arg1.type);
}
private function removeListeners(_arg1:IEventDispatcher):void{
_arg1.removeEventListener(Event.COMPLETE, onComplete);
_arg1.removeEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.OPEN, onOpen);
_arg1.removeEventListener(ProgressEvent.PROGRESS, onProgress);
_arg1.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
_arg1.removeEventListener(Event.INIT, initHandler);
}
private function addListeners(_arg1:IEventDispatcher):void{
_arg1.addEventListener(Event.COMPLETE, onComplete);
_arg1.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
_arg1.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.addEventListener(Event.OPEN, onOpen);
_arg1.addEventListener(ProgressEvent.PROGRESS, onProgress);
_arg1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
_arg1.addEventListener(Event.INIT, initHandler);
}
private function tick(_arg1:TimerEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = getTimer();
_local3 = (_local2 - _startTime);
if (_local3 >= _timeOut){
GJLogger.log(_name, "timeOut", {timeOut:_timeOut}, 0xAA00);
retryLoad();
};
}
private function loadURL(_arg1:URLRequest):void{
var r = _arg1;
if (urlLoader){
try {
urlLoader.close();
} catch(e:Error) {
};
_timer.stop();
} else {
urlLoader = new URLLoader();
addListeners(urlLoader);
};
urlLoader.load(r);
_timer.start();
_startTime = getTimer();
loaded = false;
GJLogger.log(_name, "load", {url:r.url});
}
private function retryLoad():void{
stopAll();
if (_retries == 0){
_currentRequestIndx++;
if (_currentRequestIndx == _requests.length){
loadFailed();
return;
};
_retries = _retryCount;
} else {
if (_retries > 0){
_retries--;
GJLogger.log(_name, "retryLoad", {retriesRemain:_retries});
};
};
if (urlLoader){
loadURL(_requests[_currentRequestIndx]);
} else {
loadRequest(_requests[_currentRequestIndx]);
};
}
private function onComplete(_arg1:Event):void{
if (((_xmlCheck) && (!(checkMalformedXML())))){
retryLoad();
return;
};
GJLogger.log(_name, _arg1.type, null, 0xAA00);
loaded = true;
dispatchEvent(new Event(Event.COMPLETE));
stopAll();
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
GJLogger.log(_name, _arg1.type, {status:_arg1.status});
}
private function onProgress(_arg1:ProgressEvent):void{
GJLogger.log(_name, _arg1.type, {bytesLoaded:_arg1.bytesLoaded, bytesTotal:_arg1.bytesTotal});
_timer.stop();
dispatchEvent(_arg1);
}
public function stopAll():void{
try {
_timer.stop();
if (_timer.hasEventListener(TimerEvent.TIMER)){
_timer.removeEventListener(TimerEvent.TIMER, tick);
};
if (urlLoader){
urlLoader.close();
} else {
loader.close();
};
} catch(e:Error) {
};
}
public function loadFailed():void{
GJLogger.log(_name, "FAIL", null, 0xAA0000);
stopAll();
dispatchEvent(new Event(EVENT_FAIL));
}
private function loadRequest(_arg1:URLRequest):void{
var r = _arg1;
if (loader){
try {
loader.close();
} catch(e:Error) {
};
_timer.stop();
} else {
loader = new Loader();
addListeners(loader.contentLoaderInfo);
};
loader.load(r, _lc);
_timer.start();
_startTime = getTimer();
loaded = false;
GJLogger.log(_name, "load", {url:r.url});
}
private function onIOError(_arg1:IOErrorEvent):void{
GJLogger.log(_name, _arg1.type, {error:_arg1.text}, 0xAA0000);
retryLoad();
}
public function get currentRequest():URLRequest{
return (_currentRequest);
}
public function URLLoad(_arg1:Array, _arg2:Boolean=false):void{
_requests = _arg1;
_xmlCheck = _arg2;
loadURL(_requests[0]);
}
private function onOpen(_arg1:Event):void{
GJLogger.log(_name, _arg1.type);
}
public function load(_arg1:Array, _arg2:LoaderContext=null):void{
_requests = _arg1;
_lc = _arg2;
loadRequest(_requests[0]);
}
public function get currentRequestIndx():int{
return (_currentRequestIndx);
}
}
}//package com.gj.utils.comms
Section 2
//GJLogger (com.gj.utils.misc.GJLogger)
package com.gj.utils.misc {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import com.gj.utils.comms.*;
import flash.utils.*;
import flash.text.*;
public class GJLogger extends Sprite {
private var _tf:TextField;
public var server:String;
public var key:String;
private var _logStr:String;
private var _log:Array;
public var client:String;
private static var _instance:GJLogger;
public function GJLogger(_arg1:String="LOG"){
if (_instance){
throw (new Error("This is a singleton, that means ONLY ONE!"));
};
_instance = this;
server = "";
key = "";
_logStr = "";
client = _arg1;
_log = [];
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(_arg1:Event):void{
var s:Sprite;
var e = _arg1;
removeEventListener(Event.ADDED_TO_STAGE, init);
_tf = new TextField();
_tf.defaultTextFormat = new TextFormat("Arial", 12);
_tf.width = stage.stageWidth;
_tf.height = (stage.stageHeight / 2);
_tf.text = _logStr;
_tf.scrollV = int.MAX_VALUE;
_tf.addEventListener(MouseEvent.CLICK, function (_arg1:Event):void{
_tf.setSelection(0, int.MAX_VALUE);
});
s = new Sprite();
s.graphics.beginFill(0xFFFFFF);
s.graphics.drawRect(0, 0, stage.stageWidth, (stage.stageHeight / 2));
s.graphics.endFill();
s.alpha = 0.6;
s.addChild(_tf);
addChild(s);
stage.addEventListener(KeyboardEvent.KEY_UP, keyPressed, false, 0, true);
}
public function get log():Array{
return (_log);
}
public function set log(_arg1:Array):void{
_log = _arg1;
}
private function keyPressed(_arg1:KeyboardEvent):void{
if (((((_arg1.ctrlKey) && (_arg1.altKey))) && ((_arg1.charCode == 108)))){
visible = !(visible);
};
}
public static function log(_arg1:String, _arg2:String, _arg3:Object=null, _arg4:int=0):void{
var _local5:String;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:int;
_local5 = "";
_local6 = getTimer();
_local7 = (((((((I.client + ": ") + _local6) + " ") + _arg1) + " ") + _arg2) + " ");
if (_arg3){
_local7 = (_local7 + "{");
for (_local8 in _arg3) {
if ((_arg3[_local8] is String)){
_local7 = (_local7 + (((_local8 + "=\"") + _arg3[_local8]) + "\" "));
} else {
_local7 = (_local7 + (((_local8 + "=") + _arg3[_local8]) + " "));
};
};
_local7 = (_local7 + "}");
};
_local7 = fixString(_local7);
trace(_local7);
I._log.push(_local7);
if (I._tf){
_local9 = (_local7 + "\n");
I._logStr = (I._logStr + _local9);
I._tf.appendText(_local9);
I._tf.scrollV = int.MAX_VALUE;
_local10 = ((I._logStr.length - _local9.length) - 1);
I._tf.setTextFormat(new TextFormat("Arial", 12, _arg4, !((_arg4 == 0))), _local10, (_local10 + _local9.length));
};
}
private static function fixString(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
if (_local4 == "\n"){
} else {
if (_local4 == "\r"){
} else {
if (_local4 == "\t"){
} else {
_local2 = (_local2 + _local4);
};
};
};
_local3++;
};
return (_local2);
}
public static function get I():GJLogger{
if (!_instance){
new (GJLogger);
};
return (_instance);
}
public static function reportTo(_arg1:String):void{
var r:URLRequest;
var v:URLVariables;
var gj:GJLoader;
var where = _arg1;
r = new URLRequest(where);
v = new URLVariables();
v.report = I._logStr;
v.action = "send";
v.random = Math.random();
r.data = v;
r.method = URLRequestMethod.POST;
gj = new GJLoader("SendReport", -1, 0);
gj.addEventListener(Event.COMPLETE, function (_arg1:Event):void{
navigateToURL(new URLRequest(where));
});
gj.URLLoad([r], true);
}
}
}//package com.gj.utils.misc
Section 3
//WebUtils (com.gj.utils.misc.WebUtils)
package com.gj.utils.misc {
import flash.display.*;
public class WebUtils {
public static function getPassedArgs(_arg1:LoaderInfo):String{
var _local2:Object;
var _local3:String;
var _local4:String;
var _local5:String;
_local2 = _arg1.parameters;
_local3 = "";
for (_local4 in _local2) {
_local5 = String(_local2[_local4]);
_local3 = (_local3 + (((("&" + _local4) + "=") + _local5) + ""));
};
return (_local3);
}
public static function dissectURL(_arg1:String):Object{
var _local2:Array;
var _local3:RegExp;
var _local4:Object;
var _local5:Object;
var _local6:int;
_local2 = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"];
_local3 = /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/;
_local4 = _local3.exec(_arg1);
_local5 = new Object();
_local6 = 0;
while (_local6 < _local2.length) {
_local5[_local2[_local6]] = _local4[_local6];
_local6++;
};
return (_local5);
}
}
}//package com.gj.utils.misc
Section 4
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "2.0.1.0";
public function FlexMovieClip(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 5
//FlexSprite (mx.core.FlexSprite)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexSprite extends Sprite {
mx_internal static const VERSION:String = "2.0.1.0";
public function FlexSprite(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 6
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 7
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function set height(_arg1:Number):void;
function get scaleY():Number;
function move(_arg1:Number, _arg2:Number):void;
function get scaleX():Number;
function set mask(_arg1:DisplayObject):void;
function set scaleX(_arg1:Number):void;
function set name(_arg1:String):void;
function set scaleY(_arg1:Number):void;
function get visible():Boolean;
function get measuredWidth():Number;
function set visible(_arg1:Boolean):void;
function get alpha():Number;
function get height():Number;
function get width():Number;
function get parent():DisplayObjectContainer;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set y(_arg1:Number):void;
function get x():Number;
function get y():Number;
function set alpha(_arg1:Number):void;
}
}//package mx.core
Section 8
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function get repeaters():Array;
function get instanceIndices():Array;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 9
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject {
private var _measuredWidth:Number;
private var _measuredHeight:Number;
mx_internal static const VERSION:String = "2.0.1.0";
public function MovieClipAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 10
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 11
//SpriteAsset (mx.core.SpriteAsset)
package mx.core {
public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject {
private var _measuredWidth:Number;
private var _measuredHeight:Number;
mx_internal static const VERSION:String = "2.0.1.0";
public function SpriteAsset(){
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 12
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "2.0.1.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local3:DisplayObject;
var _local4:String;
var _local5:Array;
_local3 = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
public static function createUniqueName(_arg1:Object):String{
var _local2:String;
var _local3:int;
var _local4:int;
if (!_arg1){
return (null);
};
_local2 = getQualifiedClassName(_arg1);
_local3 = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
_local4 = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 13
//AppSettings (AppSettings)
package {
public class AppSettings {
public static var SERVERS:Array = ["http://app.gamejacket.net/gja/", "http://app1.gamejacket.net/gja/", "http://app2.gamejacket.net/gja/", "http://app3.gamejacket.net/gja/", "http://app4.gamejacket.net/gja/", "http://app5.gamejacket.net/gja/", "http://app6.gamejacket.net/gja/", "http://app7.gamejacket.net/gja/", "http://app8.gamejacket.net/gja/", "http://app9.gamejacket.net/gja/"];
public static var GAME_ID:String = "01981";
public static var GJDATA_FNAME:String = "GJData_v2.swf";
}
}//package
Section 14
//GJDistributable_v2 (GJDistributable_v2)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
import com.gj.utils.misc.*;
import com.gj.utils.comms.*;
import flash.filters.*;
public class GJDistributable_v2 extends Sprite {
private var _s:Stage;
private var _localMode:Boolean;
private var _GJData:DisplayObject;
private var Preloader:Class;
private var _GJDataLoader:GJLoader;
private var Retry:Class;
private var BGPattern:Class;
private var _bgLogo:Sprite;
private var _args:String;
private var Logo:Class;
private var _bg:Shape;
private var _preloader:Sprite;
private var _runningInTool:Boolean;
public static var GJDISTRIB_VERSION:String = "2.0.2";
public function GJDistributable_v2(){
Logo = GJDistributable_v2_Logo;
Retry = GJDistributable_v2_Retry;
BGPattern = GJDistributable_v2_BGPattern;
Preloader = GJDistributable_v2_Preloader;
super();
if (stage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
};
}
private function dataComplete(_arg1:Event):void{
var s:String;
var e = _arg1;
_GJData = _GJDataLoader.loader.content;
_GJData.addEventListener("setupError", function (_arg1:Event):void{
setupError();
});
_GJData.addEventListener("CleanDistrib", function (_arg1:Event):void{
clean();
});
addChild(_GJData);
s = (((_localMode) && (_runningInTool))) ? "." : AppSettings.SERVERS[_GJDataLoader.currentRequestIndx];
Object(_GJData).callService("StartGJ", AppSettings.GAME_ID, s, GJDISTRIB_VERSION, {preloader:new Preloader()});
_s = stage;
_s.addEventListener(Event.ENTER_FRAME, frameEntered);
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
new GJLogger("GJDIST");
GJLogger.log("here", "test");
makeBG();
Security.allowDomain("*");
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
_localMode = (WebUtils.dissectURL(stage.loaderInfo.url).protocol.toUpperCase() == "FILE");
_args = ("?" + WebUtils.getPassedArgs(stage.loaderInfo));
_runningInTool = loaderInfo.parameters.GJToolMode;
loadGJData();
}
private function clean():void{
graphics.clear();
if (contains(_bg)){
removeChild(_bg);
};
if (contains(_bgLogo)){
removeChild(_bgLogo);
};
if (contains(_preloader)){
removeChild(_preloader);
};
}
private function frameEntered(_arg1:Event):void{
if (!_s.contains(this)){
_s.addChild(this);
} else {
if (_s.getChildIndex(this) != (_s.numChildren - 1)){
_s.addChild(this);
};
};
}
private function setupError(_arg1:Event=null):void{
var _local2:DisplayObject;
_local2 = DisplayObject(new Retry());
_local2.x = (stage.stageWidth / 2);
_local2.y = (stage.stageHeight / 2);
_local2.filters = [new DropShadowFilter(4, 45, 0, 0.7, 5, 5, 0.7, 3)];
_local2.alpha = 0.5;
addChild(DisplayObject(_local2));
navigateToURL(new URLRequest(((("http://www.gamejacket.com/gameFail.html?GJID=" + AppSettings.GAME_ID) + "&host=") + loaderInfo.url)), "_blank");
}
private function makeBG():void{
var _local1:BitmapData;
if (_bg){
removeChild(_bg);
};
if (_bgLogo){
removeChild(_bgLogo);
};
_local1 = new BitmapData(10, 10, false);
_local1.draw(new BGPattern());
_bg = new Shape();
_bg.graphics.beginFill(4080709, 1);
_bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_bg.graphics.endFill();
_bg.graphics.beginBitmapFill(_local1);
_bg.graphics.drawRoundRect(6, 6, (stage.stageWidth - 12), (stage.stageHeight - 12), 10, 10);
_bg.graphics.endFill();
addChildAt(_bg, 0);
_bgLogo = new Logo();
_bgLogo.x = (stage.stageWidth / 2);
_bgLogo.y = (stage.stageHeight / 2);
_bgLogo.filters = [new DropShadowFilter(4, 45, 0, 0.7, 5, 5, 0.7, 3)];
_bgLogo.alpha = 0.5;
addChildAt(_bgLogo, 1);
_preloader = new Preloader();
_preloader.x = (stage.stageWidth / 2);
_preloader.y = ((stage.stageHeight / 2) + _preloader.height);
_preloader.filters = [new DropShadowFilter(4, 45, 0, 0.7, 5, 5, 0.7, 3)];
_preloader.alpha = 0.5;
addChildAt(_preloader, 2);
}
private function loadGJData():void{
var _local1:Array;
var _local2:int;
_GJDataLoader = new GJLoader("GJDataLoader", 1000, 0);
_GJDataLoader.addEventListener(Event.COMPLETE, dataComplete);
_GJDataLoader.addEventListener(GJLoader.EVENT_FAIL, setupError);
_local1 = [];
if (AppSettings.GAME_ID == ""){
_local1[0] = new URLRequest((AppSettings.GJDATA_FNAME + _args));
} else {
_local2 = 0;
while (_local2 < AppSettings.SERVERS.length) {
_local1[_local2] = new URLRequest(((AppSettings.SERVERS[_local2] + AppSettings.GJDATA_FNAME) + _args));
_local2++;
};
};
_GJDataLoader.load(_local1, new LoaderContext(false, new ApplicationDomain()));
}
}
}//package
Section 15
//GJDistributable_v2_BGPattern (GJDistributable_v2_BGPattern)
package {
import mx.core.*;
public class GJDistributable_v2_BGPattern extends SpriteAsset {
}
}//package
Section 16
//GJDistributable_v2_Logo (GJDistributable_v2_Logo)
package {
import mx.core.*;
public class GJDistributable_v2_Logo extends SpriteAsset {
}
}//package
Section 17
//GJDistributable_v2_Preloader (GJDistributable_v2_Preloader)
package {
import mx.core.*;
public class GJDistributable_v2_Preloader extends MovieClipAsset {
}
}//package
Section 18
//GJDistributable_v2_Retry (GJDistributable_v2_Retry)
package {
import mx.core.*;
public class GJDistributable_v2_Retry extends SpriteAsset {
}
}//package