Section 1
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function decode(_arg1:String){
var _local2:JSONDecoder = new JSONDecoder(_arg1);
return (_local2.getValue());
}
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder = new JSONEncoder(_arg1);
return (_local2.getString());
}
}
}//package com.adobe.serialization.json
Section 2
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
this.tokenizer = new JSONTokenizer(_arg1);
this.nextToken();
this.value = this.parseValue();
}
private function parseObject():Object{
var _local2:String;
var _local1:Object = new Object();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (this.token.type == JSONTokenType.STRING){
_local2 = String(this.token.value);
this.nextToken();
if (this.token.type == JSONTokenType.COLON){
this.nextToken();
_local1[_local2] = this.parseValue();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting } or , but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting : but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting string but found " + this.token.value));
};
};
return (null);
}
private function parseValue():Object{
if (this.token == null){
this.tokenizer.parseError("Unexpected end of input");
};
switch (this.token.type){
case JSONTokenType.LEFT_BRACE:
return (this.parseObject());
case JSONTokenType.LEFT_BRACKET:
return (this.parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (this.token.value);
default:
this.tokenizer.parseError(("Unexpected " + this.token.value));
};
return (null);
}
private function nextToken():JSONToken{
return ((this.token = this.tokenizer.getNextToken()));
}
public function getValue(){
return (this.value);
}
private function parseArray():Array{
var _local1:Array = new Array();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(this.parseValue());
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value));
};
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 3
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
this.jsonString = this.convertToString(_arg1);
}
private function escapeString(_arg1:String):String{
var _local3:String;
var _local6:String;
var _local7:String;
var _local2 = "";
var _local4:Number = _arg1.length;
var _local5:int;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function arrayToString(_arg1:Array):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + this.convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
public function getString():String{
return (this.jsonString);
}
private function objectToString(_arg1:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(key) + ":") + this.convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (this.escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (this.arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (this.objectToString(_arg1));
};
};
};
return ("null");
}
}
}//package com.adobe.serialization.json
Section 4
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
this._location = _arg2;
this._text = _arg3;
}
public function get location():int{
return (this._location);
}
public function get text():String{
return (this._text);
}
}
}//package com.adobe.serialization.json
Section 5
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
this._type = _arg1;
this._value = _arg2;
}
public function get value():Object{
return (this._value);
}
public function get type():int{
return (this._type);
}
public function set type(_arg1:int):void{
this._type = _arg1;
}
public function set value(_arg1:Object):void{
this._value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 6
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(_arg1:String){
this.jsonString = _arg1;
this.loc = 0;
this.nextChar();
}
private function skipComments():void{
if (this.ch == "/"){
this.nextChar();
switch (this.ch){
case "/":
do {
this.nextChar();
} while (((!((this.ch == "\n"))) && (!((this.ch == "")))));
this.nextChar();
break;
case "*":
this.nextChar();
while (true) {
if (this.ch == "*"){
this.nextChar();
if (this.ch == "/"){
this.nextChar();
break;
};
} else {
this.nextChar();
};
if (this.ch == ""){
this.parseError("Multi-line comment not closed");
};
};
break;
default:
this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function readString():JSONToken{
var _local3:String;
var _local4:int;
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.STRING;
var _local2 = "";
this.nextChar();
while (((!((this.ch == "\""))) && (!((this.ch == ""))))) {
if (this.ch == "\\"){
this.nextChar();
switch (this.ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!this.isHexDigit(this.nextChar())){
this.parseError((" Excepted a hex digit, but found: " + this.ch));
};
_local3 = (_local3 + this.ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + this.ch));
};
} else {
_local2 = (_local2 + this.ch);
};
this.nextChar();
};
if (this.ch == ""){
this.parseError("Unterminated string literal");
};
this.nextChar();
_local1.value = _local2;
return (_local1);
}
private function nextChar():String{
return ((this.ch = this.jsonString.charAt(this.loc++)));
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var _local1:JSONToken = new JSONToken();
this.skipIgnored();
switch (this.ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
this.nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
this.nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
this.nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
this.nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
this.nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
this.nextChar();
break;
case "t":
_local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
this.nextChar();
} else {
this.parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
this.nextChar();
} else {
this.parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
this.nextChar();
} else {
this.parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = this.readString();
break;
default:
if (((this.isDigit(this.ch)) || ((this.ch == "-")))){
_local1 = this.readNumber();
} else {
if (this.ch == ""){
return (null);
};
this.parseError((("Unexpected " + this.ch) + " encountered"));
};
};
return (_local1);
}
private function skipWhite():void{
while (this.isWhiteSpace(this.ch)) {
this.nextChar();
};
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, this.loc, this.jsonString));
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = this.loc;
this.skipWhite();
this.skipComments();
} while (_local1 != this.loc);
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
private function readNumber():JSONToken{
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
var _local2 = "";
if (this.ch == "-"){
_local2 = (_local2 + "-");
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
if (this.ch == "0"){
_local2 = (_local2 + this.ch);
this.nextChar();
if (this.isDigit(this.ch)){
this.parseError("A digit cannot immediately follow 0");
};
} else {
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if (this.ch == "."){
_local2 = (_local2 + ".");
this.nextChar();
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if ((((this.ch == "e")) || ((this.ch == "E")))){
_local2 = (_local2 + "e");
this.nextChar();
if ((((this.ch == "+")) || ((this.ch == "-")))){
_local2 = (_local2 + this.ch);
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Scientific notation number needs exponent value");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
var _local3:Number = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
this.parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
}
}//package com.adobe.serialization.json
Section 7
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
}
}//package com.adobe.serialization.json
Section 8
//APIEvent (com.girlgames.dressup.api.APIEvent)
package com.girlgames.dressup.api {
import flash.events.*;
public class APIEvent extends Event {
public var actionType:String;
public function APIEvent(_arg1:String, _arg2:String){
this.actionType = _arg2;
super(_arg1);
}
}
}//package com.girlgames.dressup.api
Section 9
//ApiUI (com.girlgames.dressup.api.ApiUI)
package com.girlgames.dressup.api {
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
public class ApiUI {
private var stateSaver:StateSaver;
private var signupMessage:SignUpMessageMc;
private var messageWin:ErrorMessageMc;
private var selectScreen:SelectScreenShotMc;
private var placement:Object;
private var saveBtn:MButton;
private var selectSreenWin:SelectScreenWin;
private var game:DressupGame;
private var content:ApiMovieClip;
public function ApiUI(_arg1:Stage, _arg2:DressupGame, _arg3:StateSaver, _arg4:Object=null, _arg5:MovieClip=null){
MousePointer.init(_arg1);
this.stateSaver = _arg3;
this.placement = _arg4;
this.game = _arg2;
if (_arg5){
this.content = (_arg5 as ApiMovieClip);
} else {
this.content = new ApiMovieClip();
this.game.addChild(this.content);
};
this.saveBtn = new MButton(this.content.saveBtn);
this.saveBtn.addActionListener(this.onSave1);
if (!this.content.stage){
this.content.addEventListener(Event.ADDED_TO_STAGE, this.onUIAdedToStage);
} else {
this.content.stage.addEventListener(MouseEvent.MOUSE_DOWN, this.onStageMouseDown);
};
this.messageWin = new ErrorMessageMc();
this.messageWin.addEventListener(MouseEvent.MOUSE_DOWN, this.blockMouse);
this.messageWin.yesBtn.addEventListener(MouseEvent.CLICK, this.onStageMouseDown);
this.signupMessage = new SignUpMessageMc();
this.signupMessage.addEventListener(MouseEvent.MOUSE_DOWN, this.blockMouse);
this.signupMessage.noBtn.addEventListener(MouseEvent.CLICK, this.onStageMouseDown);
this.signupMessage.yesBtn.addEventListener(MouseEvent.CLICK, this.onSignUP);
this.selectScreen = new SelectScreenShotMc();
this.selectScreen.addEventListener(MouseEvent.MOUSE_DOWN, this.blockMouse);
this.selectScreen.noBtn.addEventListener(MouseEvent.CLICK, this.onScreenNo);
this.selectScreen.yesBtn.addEventListener(MouseEvent.CLICK, this.onScreenYes);
_arg2.addEventListener(DressupGame.EDIT_EVENT, this.onEdit);
this.stateSaver.addEventListener(StateSaver.ACTION_COMPLTE, this.onActionComplete);
this.selectSreenWin = new SelectScreenWin(this.game);
this.selectSreenWin.saveBtn.addActionListener(this.onSave);
this.selectSreenWin.visible = false;
this.saveBtn.enabled = false;
if (this.placement){
if (this.placement.pl){
switch (this.placement.pl){
case "tl":
this.content.x = 0;
this.content.y = 0;
break;
case "tr":
this.content.x = (this.game.WIDTH - this.content.width);
this.content.y = 0;
break;
case "bl":
this.content.x = 0;
this.content.y = (this.game.HEIGHT - this.content.height);
break;
case "br":
this.content.x = (this.game.WIDTH - this.content.width);
this.content.y = (this.game.HEIGHT - this.content.height);
break;
default:
throw (new Error("bad placement format, see docs!!!"));
};
} else {
if (((parseFloat(this.placement.x)) && (parseFloat(this.placement.y)))){
this.content.x = parseFloat(this.placement.x);
this.content.y = parseFloat(this.placement.y);
} else {
throw (new Error("bad placement format, see docs!!!"));
};
};
} else {
this.content.x = (this.game.WIDTH - this.content.width);
this.content.y = (this.game.HEIGHT - this.content.height);
};
}
private function onSave(_arg1:Event=null):void{
this.content.visible = true;
this.selectSreenWin.visible = false;
if (this.stateSaver.mode != StateSaver.MODE_USER){
this.showSignupMessage();
} else {
this.saveBtn.enabled = false;
this.stateSaver.sendCommand(StateSaver.STORE_DATA);
};
}
private function onEdit(_arg1:Event):void{
if (!this.saveBtn.enabled){
this.saveBtn.enabled = true;
};
}
private function onScreenNo(_arg1:MouseEvent):void{
this.selectScreen.visible = false;
this.stateSaver.screenShot = null;
this.onSave();
}
private function onActionComplete(_arg1:APIEvent):void{
this.stateSaver.console.print(_arg1.actionType);
var _local2 = "";
if (this.stateSaver.error == "1"){
if (!this.stateSaver.errorDescription){
_local2 = this.stateSaver.dafaultErrorMessage;
} else {
_local2 = this.stateSaver.errorDescription;
};
this.showMessage(_local2);
return;
};
if (this.game.edited){
this.saveBtn.enabled = true;
};
_local2 = this.stateSaver.successDescription;
this.stateSaver.console.print(_local2);
if (_local2){
this.showMessage(_local2);
};
}
private function showMessage(_arg1:String):void{
var _local2:Stage = this.content.stage;
_local2.addChild(this.messageWin);
this.messageWin.x = ((_local2.stageWidth - this.messageWin.width) / 2);
this.messageWin.y = ((_local2.stageHeight - this.messageWin.height) / 2);
this.messageWin.visible = true;
this.messageWin.msgtxt.text = _arg1;
}
private function showSreenMsg():void{
var _local1:Stage = this.content.stage;
_local1.addChild(this.selectScreen);
this.selectScreen.x = ((_local1.stageWidth - this.selectScreen.width) / 2);
this.selectScreen.y = ((_local1.stageHeight - this.selectScreen.height) / 2);
this.selectScreen.visible = true;
}
private function blockMouse(_arg1:MouseEvent):void{
_arg1.stopPropagation();
_arg1.stopImmediatePropagation();
}
private function showSignupMessage():void{
var _local1:Stage = this.content.stage;
_local1.addChild(this.signupMessage);
this.signupMessage.x = ((_local1.stageWidth - this.signupMessage.width) / 2);
this.signupMessage.y = ((_local1.stageHeight - this.signupMessage.height) / 2);
this.signupMessage.visible = true;
}
private function showSelectionWindow():void{
this.selectScreen.visible = false;
var _local1:Stage = this.content.stage;
_local1.addChild(this.selectSreenWin);
this.selectSreenWin.visible = true;
this.content.visible = false;
}
private function onStageMouseDown(_arg1:MouseEvent):void{
if (this.selectSreenWin.visible){
return;
};
if (this.messageWin.visible){
this.messageWin.visible = false;
};
if (this.signupMessage.visible){
this.signupMessage.visible = false;
};
if (this.selectScreen){
this.selectScreen.visible = false;
};
this.selectSreenWin.visible = false;
}
private function onUIAdedToStage(_arg1:Event):void{
this.content.removeEventListener(Event.ADDED_TO_STAGE, this.onUIAdedToStage);
}
private function onSignUP(_arg1:MouseEvent):void{
this.stateSaver.navigateSignUp();
}
private function onSave1(_arg1:Event):void{
this.showSreenMsg();
}
private function onScreenYes(_arg1:MouseEvent):void{
this.showSelectionWindow();
}
}
}//package com.girlgames.dressup.api
Section 10
//EventSender (com.girlgames.dressup.api.EventSender)
package com.girlgames.dressup.api {
public class EventSender {
private var _listeners:Array;
private var _type:Class;
public function EventSender(_arg1:Class=null){
this._listeners = [];
super();
this._type = _arg1;
}
public function sendEvent(_arg1:Object=null):void{
var _local3:Function;
if ((((this._type == null)) || ((_arg1 is this._type)))){
if (arguments.length == 0){
for each (_local3 in this._listeners) {
_local3();
};
} else {
for each (_local3 in this._listeners) {
_local3(_arg1);
};
};
} else {
throw (new TypeError("The eventObject has incorrect event type!"));
};
}
public function addListener(_arg1:Function):void{
if (!this.hasListener(_arg1)){
this._listeners.push(_arg1);
} else {
throw (new Error("List already contain such listener"));
};
}
public function setListener(_arg1:Function):void{
this._listeners = [_arg1];
}
public function removeListener(_arg1:Function):void{
if (this.hasListener(_arg1)){
this._listeners.splice(this._listeners.indexOf(_arg1), 1);
} else {
throw (new Error("List doesn't contain such listener"));
};
}
public function removeListeners():void{
this._listeners = [];
}
public function hasListeners():Boolean{
return ((this._listeners.length > 0));
}
public function hasListener(_arg1:Function):Boolean{
return ((this._listeners.indexOf(_arg1) >= 0));
}
}
}//package com.girlgames.dressup.api
Section 11
//JPEGEncoder (com.girlgames.dressup.api.JPEGEncoder)
package com.girlgames.dressup.api {
import flash.display.*;
import flash.utils.*;
public class JPEGEncoder {
private var fdtbl_UV:Array;
private var std_ac_chrominance_values:Array;
private var std_dc_chrominance_values:Array;
private var ZigZag:Array;
private var YDC_HT:Array;
private var YAC_HT:Array;
private var bytenew:int;// = 0
private var fdtbl_Y:Array;
private var std_ac_chrominance_nrcodes:Array;
private var DU:Array;
private var std_ac_luminance_values:Array;
private var std_dc_chrominance_nrcodes:Array;
private var UVTable:Array;
private var YDU:Array;
private var UDU:Array;
private var byteout:ByteArray;
private var UVAC_HT:Array;
private var UVDC_HT:Array;
private var bytepos:int;// = 7
private var VDU:Array;
private var std_ac_luminance_nrcodes:Array;
private var std_dc_luminance_values:Array;
private var YTable:Array;
private var std_dc_luminance_nrcodes:Array;
private var bitcode:Array;
private var category:Array;
public function JPEGEncoder(_arg1:Number=50):void{
this.ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];
this.YTable = new Array(64);
this.UVTable = new Array(64);
this.fdtbl_Y = new Array(64);
this.fdtbl_UV = new Array(64);
this.std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
this.std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
this.std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
this.std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250];
this.std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
this.std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
this.std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
this.std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250];
this.bitcode = new Array(0xFFFF);
this.category = new Array(0xFFFF);
this.DU = new Array(64);
this.YDU = new Array(64);
this.UDU = new Array(64);
this.VDU = new Array(64);
super();
if (_arg1 <= 0){
_arg1 = 1;
};
if (_arg1 > 100){
_arg1 = 100;
};
var _local2:int;
if (_arg1 < 50){
_local2 = int((5000 / _arg1));
} else {
_local2 = int((200 - (_arg1 * 2)));
};
this.initHuffmanTbl();
this.initCategoryNumber();
this.initQuantTables(_local2);
}
private function initHuffmanTbl():void{
this.YDC_HT = this.computeHuffmanTbl(this.std_dc_luminance_nrcodes, this.std_dc_luminance_values);
this.UVDC_HT = this.computeHuffmanTbl(this.std_dc_chrominance_nrcodes, this.std_dc_chrominance_values);
this.YAC_HT = this.computeHuffmanTbl(this.std_ac_luminance_nrcodes, this.std_ac_luminance_values);
this.UVAC_HT = this.computeHuffmanTbl(this.std_ac_chrominance_nrcodes, this.std_ac_chrominance_values);
}
private function RGB2YUV(_arg1:BitmapData, _arg2:int, _arg3:int):void{
var _local6:int;
var _local7:uint;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local4:int;
var _local5:int;
while (_local5 < 8) {
_local6 = 0;
while (_local6 < 8) {
_local7 = _arg1.getPixel32((_arg2 + _local6), (_arg3 + _local5));
_local8 = Number(((_local7 >> 16) & 0xFF));
_local9 = Number(((_local7 >> 8) & 0xFF));
_local10 = Number((_local7 & 0xFF));
this.YDU[_local4] = ((((0.299 * _local8) + (0.587 * _local9)) + (0.114 * _local10)) - 128);
this.UDU[_local4] = (((-0.16874 * _local8) + (-0.33126 * _local9)) + (0.5 * _local10));
this.VDU[_local4] = (((0.5 * _local8) + (-0.41869 * _local9)) + (-0.08131 * _local10));
_local4++;
_local6++;
};
_local5++;
};
}
private function writeBits(_arg1:BitString):void{
var _local2:int = _arg1.val;
var _local3:int = (_arg1.len - 1);
while (_local3 >= 0) {
if ((_local2 & uint((1 << _local3)))){
this.bytenew = (this.bytenew | uint((1 << this.bytepos)));
};
_local3--;
this.bytepos--;
if (this.bytepos < 0){
if (this.bytenew == 0xFF){
this.writeByte(0xFF);
this.writeByte(0);
} else {
this.writeByte(this.bytenew);
};
this.bytepos = 7;
this.bytenew = 0;
};
};
}
private function writeWord(_arg1:int):void{
this.writeByte(((_arg1 >> 8) & 0xFF));
this.writeByte((_arg1 & 0xFF));
}
private function writeByte(_arg1:int):void{
this.byteout.writeByte(_arg1);
}
private function writeDHT():void{
var _local1:int;
this.writeWord(65476);
this.writeWord(418);
this.writeByte(0);
_local1 = 0;
while (_local1 < 16) {
this.writeByte(this.std_dc_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
this.writeByte(this.std_dc_luminance_values[_local1]);
_local1++;
};
this.writeByte(16);
_local1 = 0;
while (_local1 < 16) {
this.writeByte(this.std_ac_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
this.writeByte(this.std_ac_luminance_values[_local1]);
_local1++;
};
this.writeByte(1);
_local1 = 0;
while (_local1 < 16) {
this.writeByte(this.std_dc_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
this.writeByte(this.std_dc_chrominance_values[_local1]);
_local1++;
};
this.writeByte(17);
_local1 = 0;
while (_local1 < 16) {
this.writeByte(this.std_ac_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
this.writeByte(this.std_ac_chrominance_values[_local1]);
_local1++;
};
}
public function encode(_arg1:BitmapData):ByteArray{
var _local6:int;
var _local7:BitString;
this.byteout = new ByteArray();
this.bytenew = 0;
this.bytepos = 7;
this.writeWord(65496);
this.writeAPP0();
this.writeDQT();
this.writeSOF0(_arg1.width, _arg1.height);
this.writeDHT();
this.writeSOS();
var _local2:Number = 0;
var _local3:Number = 0;
var _local4:Number = 0;
this.bytenew = 0;
this.bytepos = 7;
var _local5:int;
while (_local5 < _arg1.height) {
_local6 = 0;
while (_local6 < _arg1.width) {
this.RGB2YUV(_arg1, _local6, _local5);
_local2 = this.processDU(this.YDU, this.fdtbl_Y, _local2, this.YDC_HT, this.YAC_HT);
_local3 = this.processDU(this.UDU, this.fdtbl_UV, _local3, this.UVDC_HT, this.UVAC_HT);
_local4 = this.processDU(this.VDU, this.fdtbl_UV, _local4, this.UVDC_HT, this.UVAC_HT);
_local6 = (_local6 + 8);
};
_local5 = (_local5 + 8);
};
if (this.bytepos >= 0){
_local7 = new BitString();
_local7.len = (this.bytepos + 1);
_local7.val = ((1 << (this.bytepos + 1)) - 1);
this.writeBits(_local7);
};
this.writeWord(65497);
return (this.byteout);
}
private function initCategoryNumber():void{
var _local3:int;
var _local1 = 1;
var _local2 = 2;
var _local4 = 1;
while (_local4 <= 15) {
_local3 = _local1;
while (_local3 < _local2) {
this.category[(32767 + _local3)] = _local4;
this.bitcode[(32767 + _local3)] = new BitString();
this.bitcode[(32767 + _local3)].len = _local4;
this.bitcode[(32767 + _local3)].val = _local3;
_local3++;
};
_local3 = -((_local2 - 1));
while (_local3 <= -(_local1)) {
this.category[(32767 + _local3)] = _local4;
this.bitcode[(32767 + _local3)] = new BitString();
this.bitcode[(32767 + _local3)].len = _local4;
this.bitcode[(32767 + _local3)].val = ((_local2 - 1) + _local3);
_local3++;
};
_local1 = (_local1 << 1);
_local2 = (_local2 << 1);
_local4++;
};
}
private function writeDQT():void{
var _local1:int;
this.writeWord(65499);
this.writeWord(132);
this.writeByte(0);
_local1 = 0;
while (_local1 < 64) {
this.writeByte(this.YTable[_local1]);
_local1++;
};
this.writeByte(1);
_local1 = 0;
while (_local1 < 64) {
this.writeByte(this.UVTable[_local1]);
_local1++;
};
}
private function writeAPP0():void{
this.writeWord(65504);
this.writeWord(16);
this.writeByte(74);
this.writeByte(70);
this.writeByte(73);
this.writeByte(70);
this.writeByte(0);
this.writeByte(1);
this.writeByte(1);
this.writeByte(0);
this.writeWord(1);
this.writeWord(1);
this.writeByte(0);
this.writeByte(0);
}
private function writeSOS():void{
this.writeWord(65498);
this.writeWord(12);
this.writeByte(3);
this.writeByte(1);
this.writeByte(0);
this.writeByte(2);
this.writeByte(17);
this.writeByte(3);
this.writeByte(17);
this.writeByte(0);
this.writeByte(63);
this.writeByte(0);
}
private function processDU(_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Array, _arg5:Array):Number{
var _local8:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local6:BitString = _arg5[0];
var _local7:BitString = _arg5[240];
var _local9:Array = this.fDCTQuant(_arg1, _arg2);
_local8 = 0;
while (_local8 < 64) {
this.DU[this.ZigZag[_local8]] = _local9[_local8];
_local8++;
};
var _local10:int = (this.DU[0] - _arg3);
_arg3 = this.DU[0];
if (_local10 == 0){
this.writeBits(_arg4[0]);
} else {
this.writeBits(_arg4[this.category[(32767 + _local10)]]);
this.writeBits(this.bitcode[(32767 + _local10)]);
};
var _local11 = 63;
while ((((_local11 > 0)) && ((this.DU[_local11] == 0)))) {
_local11--;
};
if (_local11 == 0){
this.writeBits(_local6);
return (_arg3);
};
_local8 = 1;
while (_local8 <= _local11) {
_local12 = _local8;
while ((((this.DU[_local8] == 0)) && ((_local8 <= _local11)))) {
_local8++;
};
_local13 = (_local8 - _local12);
if (_local13 >= 16){
_local14 = 1;
while (_local14 <= (_local13 / 16)) {
this.writeBits(_local7);
_local14++;
};
_local13 = int((_local13 & 15));
};
this.writeBits(_arg5[((_local13 * 16) + this.category[(32767 + this.DU[_local8])])]);
this.writeBits(this.bitcode[(32767 + this.DU[_local8])]);
_local8++;
};
if (_local11 != 63){
this.writeBits(_local6);
};
return (_arg3);
}
private function initQuantTables(_arg1:int):void{
var _local2:int;
var _local3:Number;
var _local8:int;
var _local4:Array = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local4[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
this.YTable[this.ZigZag[_local2]] = _local3;
_local2++;
};
var _local5:Array = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local5[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
this.UVTable[this.ZigZag[_local2]] = _local3;
_local2++;
};
var _local6:Array = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379];
_local2 = 0;
var _local7:int;
while (_local7 < 8) {
_local8 = 0;
while (_local8 < 8) {
this.fdtbl_Y[_local2] = (1 / (((this.YTable[this.ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
this.fdtbl_UV[_local2] = (1 / (((this.UVTable[this.ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
_local2++;
_local8++;
};
_local7++;
};
}
private function writeSOF0(_arg1:int, _arg2:int):void{
this.writeWord(65472);
this.writeWord(17);
this.writeByte(8);
this.writeWord(_arg2);
this.writeWord(_arg1);
this.writeByte(3);
this.writeByte(1);
this.writeByte(17);
this.writeByte(0);
this.writeByte(2);
this.writeByte(17);
this.writeByte(1);
this.writeByte(3);
this.writeByte(17);
this.writeByte(1);
}
private function computeHuffmanTbl(_arg1:Array, _arg2:Array):Array{
var _local7:int;
var _local3:int;
var _local4:int;
var _local5:Array = new Array();
var _local6 = 1;
while (_local6 <= 16) {
_local7 = 1;
while (_local7 <= _arg1[_local6]) {
_local5[_arg2[_local4]] = new BitString();
_local5[_arg2[_local4]].val = _local3;
_local5[_arg2[_local4]].len = _local6;
_local4++;
_local3++;
_local7++;
};
_local3 = (_local3 * 2);
_local6++;
};
return (_local5);
}
private function fDCTQuant(_arg1:Array, _arg2:Array):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:int;
var _local23:int;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 7)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 7)]);
_local4 = (_arg1[(_local23 + 1)] + _arg1[(_local23 + 6)]);
_local9 = (_arg1[(_local23 + 1)] - _arg1[(_local23 + 6)]);
_local5 = (_arg1[(_local23 + 2)] + _arg1[(_local23 + 5)]);
_local8 = (_arg1[(_local23 + 2)] - _arg1[(_local23 + 5)]);
_local6 = (_arg1[(_local23 + 3)] + _arg1[(_local23 + 4)]);
_local7 = (_arg1[(_local23 + 3)] - _arg1[(_local23 + 4)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 4)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 2)] = (_local14 + _local15);
_arg1[(_local23 + 6)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 5)] = (_local21 + _local16);
_arg1[(_local23 + 3)] = (_local21 - _local16);
_arg1[(_local23 + 1)] = (_local20 + _local18);
_arg1[(_local23 + 7)] = (_local20 - _local18);
_local23 = (_local23 + 8);
_local22++;
};
_local23 = 0;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 56)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 56)]);
_local4 = (_arg1[(_local23 + 8)] + _arg1[(_local23 + 48)]);
_local9 = (_arg1[(_local23 + 8)] - _arg1[(_local23 + 48)]);
_local5 = (_arg1[(_local23 + 16)] + _arg1[(_local23 + 40)]);
_local8 = (_arg1[(_local23 + 16)] - _arg1[(_local23 + 40)]);
_local6 = (_arg1[(_local23 + 24)] + _arg1[(_local23 + 32)]);
_local7 = (_arg1[(_local23 + 24)] - _arg1[(_local23 + 32)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 32)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 16)] = (_local14 + _local15);
_arg1[(_local23 + 48)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 40)] = (_local21 + _local16);
_arg1[(_local23 + 24)] = (_local21 - _local16);
_arg1[(_local23 + 8)] = (_local20 + _local18);
_arg1[(_local23 + 56)] = (_local20 - _local18);
_local23++;
_local22++;
};
_local22 = 0;
while (_local22 < 64) {
_arg1[_local22] = Math.round((_arg1[_local22] * _arg2[_local22]));
_local22++;
};
return (_arg1);
}
}
}//package com.girlgames.dressup.api
class BitString {
public var val:int;// = 0
public var len:int;// = 0
private function BitString(){
}
}
Section 12
//MButton (com.girlgames.dressup.api.MButton)
package com.girlgames.dressup.api {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class MButton extends Sprite {
public var textF:TextField;
private var _enabled:Boolean;// = true
public var hint:String;
private var actionFunc:Function;// = null
public var textFormat:TextFormat;
private var pressed:Boolean;// = false
public var content:MovieClip;
public static const ACTION:String = "action";
public function MButton(_arg1:MovieClip){
this.content = _arg1;
this.content.parent.addChild(this);
addChild(this.content);
this.x = this.content.x;
this.y = this.content.y;
this.content.x = 0;
this.content.y = 0;
this.content.gotoAndStop(1);
addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
addEventListener(MouseEvent.ROLL_OVER, this.onMouseOver);
addEventListener(MouseEvent.ROLL_OUT, this.onMouseOut);
addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp);
}
public function get enabled():Boolean{
return (this._enabled);
}
public function set enabled(_arg1:Boolean):void{
this._enabled = _arg1;
if (_arg1){
this.content.gotoAndStop(1);
} else {
this.content.gotoAndStop(4);
};
}
public function addActionListener(_arg1:Function):void{
addEventListener(MButton.ACTION, _arg1);
}
private function onMouseDown(_arg1:MouseEvent):void{
if (!this._enabled){
return;
};
this.content.gotoAndStop(3);
this.pressed = true;
}
private function onMouseUp(_arg1:MouseEvent):void{
if (!this._enabled){
return;
};
if (hitTestPoint(stage.mouseX, stage.mouseY)){
this.content.gotoAndStop(2);
if (this.pressed){
this.onMouseClick();
};
} else {
this.content.gotoAndStop(1);
};
this.pressed = false;
}
private function onMouseOut(_arg1:MouseEvent):void{
if (!this._enabled){
return;
};
this.content.gotoAndStop(1);
}
private function onMouseClick(_arg1:MouseEvent=null):void{
if (!this._enabled){
return;
};
dispatchEvent(new Event(MButton.ACTION));
}
public function removeActionListener(_arg1:Function):void{
removeEventListener(MButton.ACTION, _arg1);
}
private function onMouseOver(_arg1:MouseEvent):void{
if (!this._enabled){
return;
};
this.content.gotoAndStop(2);
}
public function setEnabled(_arg1:Boolean):void{
this._enabled = _arg1;
if (_arg1){
this.content.gotoAndStop(1);
} else {
this.content.gotoAndStop(4);
};
}
}
}//package com.girlgames.dressup.api
Section 13
//MultipartFormDataEncoder (com.girlgames.dressup.api.MultipartFormDataEncoder)
package com.girlgames.dressup.api {
import flash.utils.*;
public class MultipartFormDataEncoder {
private var finished:Boolean;
private var _boundary:String;
private var _postData:ByteArray;
public function MultipartFormDataEncoder(){
this._postData = new ByteArray();
this._postData.endian = Endian.BIG_ENDIAN;
this._boundary = "";
var _local1:int;
while (_local1 < 32) {
this._boundary = (this._boundary + String.fromCharCode(int((97 + (Math.random() * 25)))));
_local1++;
};
}
private function writeDoubleDash():void{
this._postData.writeShort(0x2D2D);
}
public function addParameter(_arg1:String, _arg2:Object):void{
if (_arg2 == null){
_arg2 = "";
};
this.writeBoundary();
this.writeLinebreak();
this.writeString((("Content-Disposition: form-data; name=\"" + _arg1) + "\""));
this.writeLinebreak();
this.writeLinebreak();
this._postData.writeUTFBytes(_arg2.toString());
this.writeLinebreak();
}
public function get data():ByteArray{
if (!this.finished){
this.finish();
};
return (this._postData);
}
public function addParameters(_arg1:Object):void{
var _local2:String;
for (_local2 in _arg1) {
this.addParameter(_local2, _arg1[_local2]);
};
}
private function writeLinebreak():void{
this._postData.writeShort(3338);
}
private function writeString(_arg1:String):void{
var _local2:int;
while (_local2 < _arg1.length) {
this._postData.writeByte(_arg1.charCodeAt(_local2));
_local2++;
};
}
public function get boundary():String{
return (this._boundary);
}
private function writeBoundary():void{
var _local1:int = this._boundary.length;
this.writeDoubleDash();
var _local2:int;
while (_local2 < _local1) {
this._postData.writeByte(this._boundary.charCodeAt(_local2));
_local2++;
};
}
private function finish():void{
this.writeBoundary();
this.writeDoubleDash();
}
public function addFile(_arg1:String, _arg2:String, _arg3:ByteArray, _arg4:String="application/octet-stream"):void{
this.writeBoundary();
this.writeLinebreak();
this.writeString((("Content-Disposition: form-data; name=\"" + _arg1) + "\"; filename=\""));
this._postData.writeUTFBytes(_arg2);
this.writeString("\"");
this.writeLinebreak();
this.writeString(("Content-Type: " + _arg4));
this.writeLinebreak();
this.writeLinebreak();
this._postData.writeBytes(_arg3);
this.writeLinebreak();
}
}
}//package com.girlgames.dressup.api
Section 14
//SelectionBox (com.girlgames.dressup.api.SelectionBox)
package com.girlgames.dressup.api {
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
import flash.geom.*;
public class SelectionBox {
private var _content:McSelection;
private var maxWidth:Number;
private var minW:Number;// = 4
private var pointerLocked:Boolean;// = false
private var _moveEvent:EventSender;
public var ratio:Number;
private var _bounds:Rectangle;
private var isMove:Boolean;// = false
private var _startMoveEvent:EventSender;
private var maxHeight:Number;
private var boxBg:Sprite;
public var movePointer:McMovePointer;
private var minH:Number;// = 4
private var _finishMoveEvent:EventSender;
private var _markers:Array;
public var screenRect:Rectangle;
public static const MARGIN:int = 4;
public static const MIN_SIZE:int = 2;
public function SelectionBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
this._content = new McSelection();
this._markers = [];
this._bounds = new Rectangle(0, 0, 0, 0);
this._moveEvent = new EventSender();
this._startMoveEvent = new EventSender();
this._finishMoveEvent = new EventSender();
super();
this.maxWidth = _arg1;
this.maxHeight = _arg2;
this.minW = _arg3;
this.minH = _arg4;
this.movePointer = new McMovePointer();
this.createResizeMarker(this._content.mcBottomLeft, 1, 0, 1, 1, -45);
this.createResizeMarker(this._content.mcBottomRight, 0, 0, 1, 1, 45);
this.createResizeMarker(this._content.mcTopLeft, 1, 1, 1, 1, 45);
this.createResizeMarker(this._content.mcTopRight, 0, 1, 1, 1, -45);
this.boxBg = new Sprite();
this._content.addChild(this.boxBg);
this.boxBg.x = MARGIN;
this.boxBg.y = MARGIN;
this.boxBg.addEventListener(MouseEvent.MOUSE_DOWN, this.onBgMouseDown);
this.boxBg.addEventListener(MouseEvent.MOUSE_UP, this.onBgMouseUP);
this.boxBg.addEventListener(MouseEvent.ROLL_OVER, this.onMouseRollOver);
this.boxBg.addEventListener(MouseEvent.ROLL_OUT, this.onMouseRollOut);
this.ratio = (_arg3 / _arg4);
this.screenRect = new Rectangle(0, 0, _arg3, _arg4);
}
public function get content():McSelection{
return (this._content);
}
private function onBgMouseDown(_arg1:MouseEvent):void{
this.isMove = true;
this._content.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.onBgMouseMove);
this._content.stage.addEventListener(MouseEvent.MOUSE_UP, this.onBgMouseUP);
this._content.startDrag();
}
public function stopMove():void{
var _local1:ResizeMarker;
var _local2:Rectangle;
for each (_local1 in this._markers) {
_local1.stopMove();
};
if (this.isMove){
this._content.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.onBgMouseMove);
this._content.stage.removeEventListener(MouseEvent.MOUSE_UP, this.onBgMouseUP);
this._content.stopDrag();
_local2 = new Rectangle((this._content.x + MARGIN), (this._content.y + MARGIN), this._bounds.width, this._bounds.height);
this.bounds = _local2;
};
this.isMove = false;
}
public function get moveEvent():EventSender{
return (this._moveEvent);
}
private function onMouseRollOver(_arg1:MouseEvent):void{
if (!this.pointerLocked){
MousePointer.setIcon(this.movePointer);
this.onLockPointer(true);
};
}
private function onBgMouseUP(_arg1:MouseEvent):void{
this.stopMove();
}
public function get startMoveEvent():EventSender{
return (this._startMoveEvent);
}
private function createRotaionMarker(_arg1:Sprite):void{
}
public function set visible(_arg1:Boolean):void{
this._content.visible = _arg1;
}
private function createResizeMarker(_arg1:Sprite, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
var _local7:ResizeMarker = new ResizeMarker(_arg1);
_local7.pointer.rotation = _arg6;
_local7.moveHandler = this.onMarkerMove;
_local7.startMoveHandler = this._startMoveEvent.sendEvent;
_local7.finishMoveHandler = this._finishMoveEvent.sendEvent;
_local7.lockPointerHandler = this.onLockPointer;
_local7.canMoveX = _arg2;
_local7.canMoveY = _arg3;
_local7.canSizeX = _arg4;
_local7.canSizeY = _arg5;
this._markers.push(_local7);
}
private function onLockPointer(_arg1:Boolean):void{
var _local2:ResizeMarker;
for each (_local2 in this._markers) {
_local2.pointerLocked = _arg1;
};
this.pointerLocked = _arg1;
}
private function onMarkerMove(_arg1:ResizeMarker):void{
var _local2:Rectangle = this._bounds.clone();
_local2.x = (_local2.x + _arg1.moveX);
_local2.y = (_local2.y + _arg1.moveY);
_local2.width = (_local2.width + _arg1.sizeX);
_local2.height = (_local2.height + _arg1.sizeY);
_local2.width = Math.max(_local2.width, this.minW);
_local2.height = Math.max(_local2.height, this.minH);
this._moveEvent.sendEvent(_local2);
}
private function onMouseRollOut(_arg1:MouseEvent):void{
if (!this.isMove){
this.onLockPointer(false);
MousePointer.resetIcon();
};
}
public function get bounds():Rectangle{
return (this._bounds);
}
private function onBgMouseMove(_arg1:MouseEvent):void{
var _local2:Rectangle;
if (this.isMove){
_local2 = new Rectangle((this._content.x + MARGIN), (this._content.y + MARGIN), this._bounds.width, this._bounds.height);
this.moveEvent.sendEvent(_local2);
};
}
public function get finishMoveEvent():EventSender{
return (this._finishMoveEvent);
}
public function set bounds(_arg1:Rectangle):void{
this._bounds = _arg1;
var _local2:Rectangle = this._bounds.clone();
_local2.left = (_local2.left - MARGIN);
_local2.top = (_local2.top - MARGIN);
_local2.right = (_local2.right + MARGIN);
_local2.bottom = (_local2.bottom + MARGIN);
this._content.x = _local2.x;
this._content.y = _local2.y;
this._content.mcRect.width = _local2.width;
this._content.mcRect.height = _local2.height;
this._content.mcBottomLeft.y = _local2.height;
this._content.mcBottomRight.x = _local2.width;
this._content.mcBottomRight.y = _local2.height;
this._content.mcTopRight.x = _local2.width;
this.boxBg.x = MARGIN;
this.boxBg.y = MARGIN;
this.boxBg.graphics.clear();
this.boxBg.graphics.beginFill(0xFFFFFF, 0);
this.boxBg.graphics.drawRect(0, 0, this._bounds.width, this._bounds.height);
this.boxBg.graphics.endFill();
}
}
}//package com.girlgames.dressup.api
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
class ResizeMarker {
private var _content:Sprite;
public var pointer:McResizePointer;
public var canMoveX:int;
public var canSizeX:int;
public var canSizeY:int;
private var _mouseX:int;
private var _isMoving:Boolean;// = false
public var lockPointerHandler:Function;
public var sizeY:int;
public var finishMoveHandler:Function;
public var moveX:int;
public var moveY:int;
public var pointerLocked:Boolean;// = false
private var _mouseY:int;
public var sizeX:int;
public var canMoveY:int;
public var moveHandler:Function;
public var startMoveHandler:Function;
private function ResizeMarker(_arg1:Sprite){
this.pointer = new McResizePointer();
super();
this._content = _arg1;
this._content.cacheAsBitmap = true;
this._content.addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
this._content.addEventListener(MouseEvent.MOUSE_OVER, this.onMouseOver);
this._content.addEventListener(MouseEvent.MOUSE_OUT, this.onMouseOut);
this.pointer.cacheAsBitmap = true;
}
private function onMouseOver(_arg1:MouseEvent):void{
if (!this.pointerLocked){
MousePointer.setIcon(this.pointer);
};
}
private function onMouseMove(_arg1:MouseEvent):void{
if (!this._isMoving){
this._isMoving = true;
this.startMoveHandler();
};
var _local2:int = (this._content.mouseX - this._mouseX);
var _local3:int = (this._content.mouseY - this._mouseY);
this.moveX = (this.canMoveX * _local2);
this.moveY = (this.canMoveY * _local3);
this.sizeX = ((this.canSizeX * _local2) * (this.canMoveX) ? -1 : 1);
this.sizeY = ((this.canSizeY * _local3) * (this.canMoveY) ? -1 : 1);
this.moveHandler(this);
this._mouseX = this._content.mouseX;
this._mouseY = this._content.mouseY;
}
public function stopMove():void{
if (this._isMoving){
this._isMoving = false;
this.finishMoveHandler();
this._content.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove);
this._content.stage.removeEventListener(MouseEvent.MOUSE_UP, this.onMouseUP);
this.lockPointerHandler(false);
if (!this._content.hitTestPoint(this._content.stage.mouseX, this._content.stage.mouseY)){
MousePointer.resetIcon();
};
};
}
private function onMouseUP(_arg1:MouseEvent):void{
if (this._isMoving){
this._isMoving = false;
this.finishMoveHandler();
};
this._content.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove);
this._content.stage.removeEventListener(MouseEvent.MOUSE_UP, this.onMouseUP);
this.lockPointerHandler(false);
if (!this._content.hitTestPoint(this._content.stage.mouseX, this._content.stage.mouseY)){
MousePointer.resetIcon();
};
}
private function onMouseDown(_arg1:MouseEvent):void{
this._mouseX = this._content.mouseX;
this._mouseY = this._content.mouseY;
this._content.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove);
this._content.stage.addEventListener(MouseEvent.MOUSE_UP, this.onMouseUP);
this.lockPointerHandler(true);
}
private function onMouseOut(_arg1:MouseEvent):void{
if (!this.pointerLocked){
MousePointer.resetIcon();
};
}
}
Section 15
//SelectScreenWin (com.girlgames.dressup.api.SelectScreenWin)
package com.girlgames.dressup.api {
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
import flash.geom.*;
public class SelectScreenWin extends Sprite {
private var a:Number;// = 0.3
private var color:uint;// = 16764159
public var saveBtn:MButton;
private var game:DressupGame;
private var bw:Number;// = 250
private var selectionBox:SelectionBox;
public function SelectScreenWin(_arg1:DressupGame){
this.game = _arg1;
this.selectionBox = new SelectionBox(this.game.WIDTH, this.game.HEIGHT, StateSaver.instance.screenwidth, StateSaver.instance.screenheight);
addChild(this.selectionBox.content);
var _local2:Rectangle = new Rectangle(((this.game.WIDTH - this.bw) / 2), 100, this.bw, 600);
this.selectionBox.moveEvent.setListener(this.onSelectionMove);
this.selectionBox.finishMoveEvent.setListener(this.onBoxFinishMove);
StateSaver.instance.stage.addEventListener(Event.MOUSE_LEAVE, this.onMouseLeave);
this.onSelectionMove(_local2);
var _local3:SaveBtnWinMc = new SaveBtnWinMc();
addChild(_local3);
this.saveBtn = new MButton(_local3);
this.saveBtn.x = ((this.game.WIDTH - this.saveBtn.width) / 2);
this.saveBtn.y = ((this.game.HEIGHT - this.saveBtn.height) - 10);
this.saveBtn.addActionListener(this.onSaveBtn);
}
private function onSaveBtn(_arg1:Event):void{
StateSaver.instance.createScreenShot(this.selectionBox.bounds);
}
private function onBoxFinishMove():void{
this.onSelectionMove(this.selectionBox.bounds);
}
private function onMouseLeave(_arg1:Event):void{
this.selectionBox.stopMove();
}
private function onSelectionMove(_arg1:Rectangle):void{
if ((((((((this.game.stage.mouseX < 0)) || ((this.game.stage.mouseY < 0)))) || ((this.game.stage.mouseX > this.game.WIDTH)))) || ((this.game.stage.mouseY > this.game.HEIGHT)))){
this.selectionBox.stopMove();
};
graphics.clear();
if (_arg1.height > this.game.HEIGHT){
_arg1.height = this.game.HEIGHT;
};
if (_arg1.y < 0){
_arg1.y = 0;
};
var _local2:Rectangle = _arg1;
var _local3:Rectangle = this.selectionBox.screenRect;
var _local4:Number = (_arg1.width / _arg1.height);
if (_local4 > 1){
_local3.height = _arg1.height;
_local3.width = (_arg1.height * this.selectionBox.ratio);
} else {
_local3.width = _arg1.width;
_local3.height = (_arg1.width / this.selectionBox.ratio);
if (_local3.height > this.game.HEIGHT){
_local3.height = (this.game.HEIGHT - SelectionBox.MARGIN);
_local3.width = (_local3.height * this.selectionBox.ratio);
};
};
_local3.x = _arg1.x;
_local3.y = _arg1.y;
this.selectionBox.bounds = _local3;
this.checkBounds();
}
private function checkBounds():void{
var _local1:Rectangle = this.selectionBox.bounds.clone();
var _local2:int = SelectionBox.MARGIN;
_local1.x = Math.max(_local1.x, _local2);
_local1.y = Math.max(_local1.y, _local2);
_local1.x = Math.min(_local1.x, Math.max((this.game.WIDTH - _local1.width), _local2));
_local1.y = Math.min(_local1.y, Math.max((this.game.HEIGHT - _local1.height), _local2));
_local1.width = Math.min(_local1.width, this.game.WIDTH);
_local1.height = Math.min(_local1.height, this.game.HEIGHT);
this.selectionBox.bounds = _local1;
}
}
}//package com.girlgames.dressup.api
Section 16
//StateSaver (com.girlgames.dressup.api.StateSaver)
package com.girlgames.dressup.api {
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
import flash.system.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import gemslibe.debug.utils.*;
import com.adobe.serialization.json.*;
import flash.external.*;
public class StateSaver extends EventDispatcher {
private var actionRequest:URLLoader;
public var serviceUrl:String;// = ""
public var stage:Stage;
public var screenShot:ByteArray;
public var game:DressupGame;
public var dataobj:Object;
private var clipToSave:MovieClip;
public var state:String;// = "default"
public var screenheight:Number;// = 151
public var error:String;// = ""
public var mode:String;// = "guest"
public var data:String;// = ""
private var qualityValue:Number;// = 80
public var owner:String;// = "no"
private var requestObject;
private var playerVersion:Number;
private var timeOutId:int;
public var action:String;// = "loaddata"
public var dafaultErrorMessage:String;// = "Sorry, the service is unvailable at the moment, please try again later."
public var domain:String;// = ""
public var console:Console;
public var screenwidth:Number;// = 196
public var regurl:String;
public var timeout:Number;// = 20000
public var errorDescription:String;// = ""
public var dataUrl:String;// = ""
private var defaultSnapShotName:String;// = "snapshot.jpg"
public var doload:String;// = "no"
public var successDescription:String;// = ""
private var playerVersionStr:String;
public var serviceData:String;
public static const LOAD_DATA:String = "loaddata";
public static const ACTION_COMPLTE:String = "action_complete";
public static const MODE_USER:String = "user";
public static const STORE_DATA:String = "storedata";
public static const INIT_EVENT:String = "saver_init_event";
public static const MODE_EXTRNAL:String = "external";
public static const OWNER_NO:String = "no";
public static const REG_DATA:String = "regdata";
public static const OWNER_YES:String = "yes";
public static const MODE_GUEST:String = "guest";
public static const version:String = "rev. 6";
public static var instance:StateSaver = new (StateSaver);
;
public function StateSaver(){
this.dataobj = {};
super();
if (instance != null){
throw (new Error("An instance of StateSaver already exists."));
};
}
public function navigateSignUp():void{
this.sendCommand(REG_DATA);
}
private function onActionTimeOut():void{
if (this.timeOutId){
clearTimeout(this.timeOutId);
this.timeOutId = 0;
};
this.actionRequest.close();
this.errorDescription = this.dafaultErrorMessage;
this.error = "1";
dispatchEvent(new APIEvent(StateSaver.ACTION_COMPLTE, this.action));
}
public function createScreenShot(_arg1:Rectangle):ByteArray{
var _local2:BitmapData = new BitmapData(this.game.WIDTH, this.game.HEIGHT);
_local2.draw(this.game.character, null, null, null, null, true);
var _local3:BitmapData = new BitmapData(_arg1.width, _arg1.height);
_local3.copyPixels(_local2, _arg1, new Point());
var _local4:Bitmap = new Bitmap(_local3, "auto", true);
var _local5:Number = (this.screenwidth / _arg1.width);
var _local6:BitmapData = new BitmapData(this.screenwidth, this.screenheight, false);
var _local7:Matrix = new Matrix();
_local7.scale(_local5, _local5);
_local6.draw(_local4, _local7, null, null, null, true);
var _local8:JPEGEncoder = new JPEGEncoder(90);
var _local9:ByteArray = _local8.encode(_local6);
_local2.dispose();
_local3.dispose();
_local6.dispose();
this.screenShot = _local9;
return (_local9);
}
private function onLoaderComplete(_arg1:URLLoader, _arg2:String):void{
var obj:Object;
var loader = _arg1;
var $action = _arg2;
this.console.print("loader complete");
if (this.timeOutId){
clearTimeout(this.timeOutId);
this.timeOutId = 0;
};
this.console.print(loader.data);
try {
obj = JSON.decode(loader.data);
} catch(e:Error) {
error = "1";
errorDescription = ("Error: " + e);
dispatchEvent(new APIEvent(StateSaver.ACTION_COMPLTE, $action));
return;
};
this.error = obj.error.toString();
if (obj.errordescription){
this.errorDescription = obj.errordescription;
};
if (obj.successdescription){
this.successDescription = obj.successdescription;
};
if (obj.dataobj){
this.dataobj = obj.dataobj;
};
if (obj.servicedata){
this.serviceData = obj.servicedata;
};
this.data = obj.data;
this.dataUrl = obj.dataurl;
if (this.data){
this.setState(this.data);
};
dispatchEvent(new APIEvent(StateSaver.ACTION_COMPLTE, $action));
}
public function sendCommand(_arg1:String):void{
var loader:URLLoader;
var $action = _arg1;
if (!this.serviceUrl){
return;
};
this.error = "";
this.errorDescription = "";
this.successDescription = "";
this.dataUrl = "";
this.requestObject = new MultipartFormDataEncoder();
this.data = StateSaver.instance.getDataToStore();
this.console.print(("data=" + this.data));
switch ($action){
case LOAD_DATA:
this.action = LOAD_DATA;
this.addVariableToRequest("action", $action);
if (this.serviceData){
this.addVariableToRequest("servicedata", this.serviceData);
};
break;
case STORE_DATA:
this.action = STORE_DATA;
this.addVariableToRequest("action", $action);
if (this.serviceData){
this.addVariableToRequest("servicedata", this.serviceData);
};
if (this.screenShot){
this.addVariableToRequest("screenshot", this.screenShot);
};
this.addVariableToRequest("data", this.data);
break;
case REG_DATA:
this.action = REG_DATA;
this.addVariableToRequest("action", $action);
if (this.serviceData){
this.addVariableToRequest("servicedata", this.serviceData);
};
if (this.screenShot){
this.addVariableToRequest("screenshot", this.screenShot);
};
this.addVariableToRequest("data", this.data);
break;
};
this.console.print(("SEND_ACTION=" + $action), this.serviceData);
if (this.timeOutId){
clearTimeout(this.timeOutId);
};
if (this.timeout){
this.timeOutId = setTimeout(this.onActionTimeOut, this.timeout);
};
this.console.print(("timeOutId=" + this.timeOutId));
var req:URLRequest = new URLRequest(this.serviceUrl);
req.method = URLRequestMethod.POST;
if ((this.requestObject is URLVariables)){
req.data = this.requestObject;
} else {
if ((this.requestObject is MultipartFormDataEncoder)){
req.data = MultipartFormDataEncoder(this.requestObject).data;
req.contentType = ("multipart/form-data; boundary=" + MultipartFormDataEncoder(this.requestObject).boundary);
};
};
if ($action != REG_DATA){
loader = new URLLoader(req);
this.actionRequest = loader;
loader.addEventListener(Event.COMPLETE, function (_arg1:Event):void{
onLoaderComplete((_arg1.target as URLLoader), $action);
});
loader.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
onLoaderError(_arg1, $action);
});
this.actionRequest = loader;
loader.load(req);
} else {
if (this.timeOutId){
clearTimeout(this.timeOutId);
this.timeOutId = 0;
};
req.url = this.regurl;
navigateToURL(req, "_blank");
};
}
public function getDomain():String{
var url:String;
var str:String;
var ind:int;
try {
url = String(ExternalInterface.call("function(){ var afk = document.location.href; return afk; }"));
this.console.print(("domainExternal=" + url));
if (url.toString() == "null"){
return (this.stage.loaderInfo.loaderURL);
};
return (url);
} catch(e:Error) {
str = e.toString();
console.print(str);
ind = str.lastIndexOf("://");
if (ind >= 0){
console.print("domain found");
return (str.substring(ind));
};
};
return (this.stage.loaderInfo.loaderURL);
}
public function initialize(_arg1:Stage, _arg2:MovieClip, _arg3:DressupGame):void{
this.stage = _arg1;
this.game = _arg3;
this.console = new Console(this.stage, true);
this.clipToSave = _arg2;
this.playerVersionStr = Capabilities.version;
this.playerVersion = Number(this.playerVersionStr.substring((this.playerVersionStr.indexOf(",") - 2), this.playerVersionStr.indexOf(",")));
var _local4:String = this.getDomain();
var _local5:int = (_local4.indexOf("://") + 3);
var _local6:int = _local4.indexOf("/", _local5);
_local4 = _local4.substring(0, _local6);
this.regurl = (_local4 + "/register.html");
this.parseFlashVars();
this.console.print(this.serviceData);
this.action = StateSaver.LOAD_DATA;
dispatchEvent(new Event(StateSaver.INIT_EVENT));
if (this.doload == "yes"){
if (this.data != ""){
this.setState(this.data);
} else {
this.sendCommand(StateSaver.LOAD_DATA);
};
};
}
private function setDomain(_arg1:String):void{
var _local2:int = (_arg1.indexOf("://") + 3);
var _local3:int = _arg1.indexOf("/", _local2);
this.domain = _arg1.substring(_local2, _local3);
var _local4:Array = this.domain.split(".");
if (_local4.length == 4){
this.domain = ((((_local4[1] + ".") + _local4[2]) + ".") + _local4[3]);
} else {
if (_local4.length == 3){
this.domain = ((_local4[1] + ".") + _local4[2]);
} else {
if (_local4.length == 2){
this.domain = ((_local4[0] + ".") + _local4[1]);
};
};
};
this.domain = ((((this.domain.length > 0)) && ((this.domain.indexOf("file://") < 0)))) ? this.domain : "local";
}
public function setState(_arg1:String):void{
var s:String;
var ta2:Array;
var clo:Clothes;
var str = _arg1;
if (!this.stage){
throw (new Error("StateSaver does not initialized"));
};
this.game.editEventLocked = true;
this.console.print(("SetState=" + str));
var ta:Array = str.split(";");
var clips:Array = new Array();
var i:int;
while (i < ta.length) {
ta2 = ta[i].split("=");
clips[ta2[0]] = ta2[1];
i = (i + 1);
};
for (s in clips) {
if (!s){
} else {
try {
clo = this.game.getClothesByName(s);
clo.setVisibleByName(clips[s]);
} catch(e:Error) {
};
};
};
this.game.editEventLocked = false;
}
private function parseFlashVars():void{
var keyStr:String;
var valueStr:String;
var paramObj:Object;
try {
paramObj = this.stage.loaderInfo.parameters;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
if (keyStr == "serviceurl"){
this.serviceUrl = valueStr;
} else {
if (keyStr == "servicedata"){
this.serviceData = valueStr;
} else {
if (keyStr == "timeout"){
this.timeout = parseFloat(valueStr);
} else {
if (keyStr == "owner"){
this.owner = valueStr;
} else {
if (keyStr == "mode"){
this.mode = valueStr;
} else {
if (keyStr == "doload"){
this.doload = valueStr;
} else {
if (keyStr == "loaddata"){
this.data = valueStr;
} else {
if (keyStr == "regurl"){
this.regurl = valueStr;
} else {
if (keyStr == "screenheight"){
this.screenheight = parseFloat(valueStr);
} else {
if (keyStr == "screenwidth"){
this.screenwidth = parseFloat(valueStr);
continue;
};
};
};
};
};
};
};
};
};
};
};
} catch(error:Error) {
trace(("error=" + error));
throw (new Error(("Problem with parsing vars: " + error)));
};
}
private function onLoaderError(_arg1:IOErrorEvent, _arg2:String):void{
this.console.print(_arg1);
this.error = "1";
dispatchEvent(new APIEvent(StateSaver.ACTION_COMPLTE, _arg2));
}
private function addVariableToRequest(_arg1:String, _arg2:Object):void{
var _local3:MultipartFormDataEncoder;
if ((this.requestObject is URLVariables)){
this.requestObject[_arg1] = _arg2;
} else {
if ((this.requestObject is MultipartFormDataEncoder)){
_local3 = MultipartFormDataEncoder(this.requestObject);
if (_arg1 == "screenshot"){
this.console.print("screeenAdedd");
_local3.addFile("screenshot", "screenshot.jpg", (_arg2 as ByteArray));
} else {
_local3.addParameter(_arg1, _arg2);
};
};
};
}
public function getDataToStore():String{
var _local2:Clothes;
if (!this.stage){
throw (new Error("StateSaver does not initialized"));
};
var _local1 = "";
for each (_local2 in this.game.clothes) {
trace(("current=" + _local2.currentVisible));
if (_local2.currentVisible){
_local1 = (_local1 + (((_local2.name + "=") + _local2.currentVisible.name) + ";"));
};
};
this.console.print(("getDtataToStore=" + _local1));
return (_local1);
}
}
}//package com.girlgames.dressup.api
Section 17
//Clothes (com.girlgames.dressup.Clothes)
package com.girlgames.dressup {
import flash.events.*;
import flash.display.*;
public class Clothes extends EventDispatcher {
private var game:DressupGame;
public var eventsLocked:Boolean;// = false
private var clothes:Array;
public var name:String;
private var _useHandCursor:Boolean;// = true
private var _defaultVisible:MovieClip;
private var _buttonMode:Boolean;// = true
private var _currentVisible:MovieClip;
private var _currentVisibleIndex:int;// = -1
private var _canDisapear:Boolean;// = true
public var content:MovieClip;
public function Clothes(_arg1:MovieClip, _arg2:DressupGame, _arg3:Boolean=true, _arg4:Boolean=true, _arg5:Boolean=true){
var _local7:DisplayObject;
this.clothes = new Array();
super();
this.content = _arg1;
this.game = _arg2;
this.name = _arg1.name;
this._canDisapear = _arg3;
this._useHandCursor = _arg4;
this._buttonMode = _arg5;
var _local6:int;
while (_local6 < _arg1.numChildren) {
_local7 = _arg1.getChildAt(_local6);
if ((_local7 is MovieClip)){
MovieClip(_local7).useHandCursor = this._useHandCursor;
MovieClip(_local7).buttonMode = this._buttonMode;
_local7.visible = false;
MovieClip(_local7).stop();
this.clothes.push(_local7);
};
_local6++;
};
if (this._canDisapear){
_local6 = 0;
while (_local6 < this.clothes.length) {
this.clothes[_local6].addEventListener(MouseEvent.CLICK, this.onChildClick);
_local6++;
};
};
}
public function get currentVisible():MovieClip{
return (this._currentVisible);
}
public function set buttonMode(_arg1:Boolean):void{
var _local3:MovieClip;
this._buttonMode = _arg1;
this.content.useHandCursor = this._useHandCursor;
var _local2:int;
while (_local2 < this.clothes.length) {
_local3 = this.clothes[_local2];
_local3.buttonMode = this._buttonMode;
_local2++;
};
}
public function setPrevVisible(_arg1:Boolean=true):MovieClip{
if (this._currentVisibleIndex == -1){
this.setVisibleByIndex((this.clothes.length - 1), _arg1);
return (this._currentVisible);
};
if (!this._currentVisible){
this.setVisibleByIndex(this._currentVisibleIndex, _arg1);
} else {
if ((((this._currentVisibleIndex == 0)) && (this._canDisapear))){
this.turnOffCurrentVisible();
this._currentVisibleIndex = (this.clothes.length - 1);
return (this._currentVisible);
};
if ((((this._currentVisibleIndex == 0)) && (!(this._canDisapear)))){
this.setVisibleByIndex((this.clothes.length - 1), _arg1);
return (this._currentVisible);
};
this.setVisibleByIndex((this._currentVisibleIndex - 1), _arg1);
};
return (this._currentVisible);
}
public function set currentVisibleIndex(_arg1:int):void{
this._currentVisibleIndex = _arg1;
}
public function get useHandCursor():Boolean{
return (this._useHandCursor);
}
private function onChildClick(_arg1:MouseEvent):void{
_arg1.currentTarget.visible = false;
this._currentVisible = null;
if (!this.eventsLocked){
this.game.dispatchEvent(new Event(DressupGame.EDIT_EVENT));
};
}
public function setDefaultVisibleByName(_arg1:String):void{
this._defaultVisible = this.setVisibleByName(_arg1);
}
public function setVisibleByName(_arg1:String, _arg2:Boolean=true):MovieClip{
var _local3:MovieClip = this.content[_arg1];
if (!_local3){
throw (new Error("element not found"));
};
this.setVisibleByInstance(_local3, _arg2);
return (this._currentVisible);
}
public function setVisibleByInstance(_arg1:MovieClip, _arg2:Boolean=true):MovieClip{
if (this.clothes.indexOf(_arg1) < 0){
throw (new Error(((((_arg1.toString() + " ") + _arg1.name) + " not found in ") + this.name)));
};
_arg1.visible = true;
if (((_arg2) && (this._currentVisible))){
this._currentVisible.visible = false;
};
this._currentVisible = _arg1;
this._currentVisible.play();
this._currentVisible.visible = true;
this._currentVisibleIndex = this.clothes.indexOf(_arg1);
this.game.dispatchEvent(new Event(DressupGame.EDIT_EVENT));
return (this._currentVisible);
}
public function setDefaultVisibleByInstance(_arg1:MovieClip):void{
this._defaultVisible = this.setVisibleByInstance(_arg1);
}
public function turnOffCurrentVisible():void{
if (!this._canDisapear){
return;
};
if (this._currentVisible){
this._currentVisible.visible = false;
this._currentVisible.stop();
this._currentVisible = null;
if (!this.eventsLocked){
this.game.dispatchEvent(new Event(DressupGame.EDIT_EVENT));
};
};
}
public function set canDisapear(_arg1:Boolean):void{
var _local2:int;
this._canDisapear = _arg1;
if (this._canDisapear){
_local2 = 0;
while (_local2 < this.clothes.length) {
this.clothes[_local2].addEventListener(MouseEvent.CLICK, this.onChildClick);
_local2++;
};
} else {
_local2 = 0;
while (_local2 < this.clothes.length) {
this.clothes[_local2].removeEventListener(MouseEvent.CLICK, this.onChildClick);
_local2++;
};
};
}
public function turnOnLastVisible():MovieClip{
if (this._currentVisibleIndex >= 0){
this.setVisibleByIndex(this._currentVisibleIndex);
};
return (this._currentVisible);
}
public function get canDisapear():Boolean{
return (this._canDisapear);
}
public function setVisibleByIndex(_arg1:int, _arg2:Boolean=true):MovieClip{
trace("setVisibleByIndex", _arg1);
var _local3:MovieClip = this.clothes[_arg1];
if (((_arg2) && (this.currentVisible))){
this.currentVisible.visible = false;
};
this._currentVisibleIndex = _arg1;
_local3.visible = true;
this._currentVisible = _local3;
this._currentVisible.play();
if (!this.eventsLocked){
this.game.dispatchEvent(new Event(DressupGame.EDIT_EVENT));
};
return (this._currentVisible);
}
public function get currentVisibleIndex():int{
return (this._currentVisibleIndex);
}
public function get buttonMode():Boolean{
return (this._buttonMode);
}
public function get defaultVisible():MovieClip{
return (this._defaultVisible);
}
public function set useHandCursor(_arg1:Boolean):void{
var _local3:MovieClip;
this._useHandCursor = _arg1;
this.content.useHandCursor = this._useHandCursor;
var _local2:int;
while (_local2 < this.clothes.length) {
_local3 = this.clothes[_local2];
_local3.useHandCursor = this._useHandCursor;
_local2++;
};
}
public function setNextVisible(_arg1:Boolean=true):MovieClip{
trace(this._currentVisibleIndex);
if (this._currentVisibleIndex == -1){
this.setVisibleByIndex(0, _arg1);
return (this._currentVisible);
};
if (!this._currentVisible){
this.setVisibleByIndex(this._currentVisibleIndex, _arg1);
} else {
if ((((this._currentVisibleIndex == (this.clothes.length - 1))) && (this._canDisapear))){
this.turnOffCurrentVisible();
this._currentVisibleIndex = 0;
return (this._currentVisible);
};
if ((((this._currentVisibleIndex == (this.clothes.length - 1))) && (!(this._canDisapear)))){
this.setVisibleByIndex(0, _arg1);
return (this._currentVisible);
};
this.setVisibleByIndex((this._currentVisibleIndex + 1), _arg1);
};
return (this._currentVisible);
}
public function setDefaultVisibleFirstElement():void{
var _local1:DisplayObject = this.clothes[0];
this.setDefaultVisibleByInstance((_local1 as MovieClip));
}
}
}//package com.girlgames.dressup
Section 18
//DressupGame (com.girlgames.dressup.DressupGame)
package com.girlgames.dressup {
import flash.display.*;
import com.girlgames.dressup.api.*;
public class DressupGame extends Sprite {
public var skipClips:Array;
public var WIDTH:Number;
public var HEIGHT:Number;
public var clothes:Array;
public var character:MovieClip;
public var edited:Boolean;// = false
private var _editEventLocked:Boolean;// = false
public static const EDIT_EVENT:String = "dressup_edit_event";
public function DressupGame(_arg1:Number, _arg2:Number){
this.clothes = new Array();
this.skipClips = new Array();
super();
this.WIDTH = _arg1;
this.HEIGHT = _arg2;
}
private function checkChildren(_arg1:MovieClip):void{
var _local3:DisplayObject;
var _local2:int;
while (_local2 < _arg1.numChildren) {
_local3 = _arg1.getChildAt(_local2);
if ((((_local3.name.indexOf("instance") >= 0)) && ((_local3 is MovieClip)))){
throw (new Error((("MovieClip: \"" + _arg1.name) + "\" , children have dynamic names")));
};
_local2++;
};
}
private function checkCharacter(_arg1:MovieClip):void{
var _local3:DisplayObject;
var _local2:int;
while (_local2 < _arg1.numChildren) {
_local3 = _arg1.getChildAt(_local2);
if (((((((_local3.name) && ((_local3.name.indexOf("instance") < 0)))) && ((_local3 is MovieClip)))) && ((this.skipClips.indexOf(_local3) < 0)))){
this.checkChildren((_local3 as MovieClip));
};
_local2++;
};
}
public function getClothesByName(_arg1:String):Clothes{
var _local2:Clothes = this.clothes[_arg1];
if (!_local2){
throw (new Error((("Clothes \"" + _arg1) + "\" not found")));
};
return (_local2);
}
public function initApi(_arg1:Stage, _arg2:Object=null, _arg3:MovieClip=null):void{
StateSaver.instance.initialize(_arg1, this.character, this);
var _local4:ApiUI = new ApiUI(_arg1, this, StateSaver.instance, _arg2);
}
public function set editEventLocked(_arg1:Boolean):void{
var _local2:Clothes;
this._editEventLocked = _arg1;
for each (_local2 in this.clothes) {
_local2.eventsLocked = this._editEventLocked;
};
}
public function addClothes(_arg1:Clothes):void{
this.clothes[_arg1.name] = _arg1;
trace("clothe addd=", _arg1.name);
}
public function get editEventLocked():Boolean{
return (this._editEventLocked);
}
public function skipClip(... _args):void{
var _local2:MovieClip;
for each (_local2 in _args) {
this.skipClips.push(_local2);
};
}
public function init(_arg1:MovieClip):void{
this.character = _arg1;
this.checkCharacter(this.character);
}
}
}//package com.girlgames.dressup
Section 19
//MousePointer (com.girlgames.dressup.MousePointer)
package com.girlgames.dressup {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.ui.*;
public class MousePointer {
private static var _list:Dictionary = new Dictionary(true);
private static var _icon:MovieClip;
private static var _stage:Stage;
private static function update():void{
_icon.x = _stage.mouseX;
_icon.y = _stage.mouseY;
}
private static function onSpriteDown(_arg1:MouseEvent):void{
var _local2:DisplayObject = DisplayObject(_arg1.currentTarget);
if (_icon){
_icon.gotoAndStop(2);
};
}
private static function onSpriteOver(_arg1:MouseEvent):void{
var _local2:SpriteInfo = _list[_arg1.currentTarget];
setIconClass(_local2.iconClass, _local2.hideMouse);
}
public static function resetIcon():void{
if (_icon){
_stage.removeChild(_icon);
_stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_icon = null;
};
Mouse.show();
}
public static function registerObject(_arg1:DisplayObject, _arg2:Class, _arg3:Boolean=true):void{
var _local4:SpriteInfo = new SpriteInfo();
_local4.iconClass = _arg2;
_local4.hideMouse = _arg3;
_arg1.addEventListener(MouseEvent.MOUSE_OVER, onSpriteOver);
_arg1.addEventListener(MouseEvent.MOUSE_OUT, onSpriteOut);
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, onSpriteDown);
_arg1.addEventListener(MouseEvent.MOUSE_UP, onSpriteUp);
if (_arg1.hitTestPoint(_stage.mouseX, _stage.mouseY, true)){
setIconClass(_local4.iconClass, _local4.hideMouse);
};
_list[_arg1] = _local4;
}
public static function setIcon(_arg1:MovieClip, _arg2:Boolean=true):void{
resetIcon();
_icon = _arg1;
_icon.mouseEnabled = false;
_icon.mouseChildren = false;
_icon.stop();
_stage.addChild(_icon);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
if (_arg2){
Mouse.hide();
};
update();
}
private static function onSpriteUp(_arg1:MouseEvent):void{
var _local2:DisplayObject = DisplayObject(_arg1.currentTarget);
if (_icon){
_icon.gotoAndStop(1);
};
}
private static function onMouseMove(_arg1:MouseEvent):void{
update();
_arg1.updateAfterEvent();
}
private static function onSpriteOut(_arg1:MouseEvent):void{
resetIcon();
}
public static function init(_arg1:Stage):void{
_stage = _arg1;
}
public static function unRegisterObject(_arg1:DisplayObject):void{
_arg1.removeEventListener(MouseEvent.MOUSE_OVER, onSpriteOver);
_arg1.removeEventListener(MouseEvent.MOUSE_OUT, onSpriteOut);
delete _list[_arg1];
}
public static function set stage(_arg1:Stage):void{
_stage = _arg1;
}
public static function setIconClass(_arg1:Class, _arg2:Boolean=true):void{
var _local3:MovieClip = new (_arg1);
setIcon(_local3, _arg2);
}
}
}//package com.girlgames.dressup
class SpriteInfo {
public var hideMouse:Boolean;
public var iconClass:Class;
private function SpriteInfo(){
}
}
Section 20
//ToolBar (gemslibe.debug.utils.console.ToolBar)
package gemslibe.debug.utils.console {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import gemslibe.debug.utils.*;
public class ToolBar extends Sprite {
private var drag:Boolean;// = false
private var bg:Sprite;
private var console:Console;
private var marker:Sprite;
public function ToolBar(_arg1:Console){
this.bg = new Sprite();
this.marker = new Sprite();
super();
this.console = _arg1;
addChild(this.bg);
this.bg.graphics.beginFill(0, 0.9);
this.bg.graphics.drawRect(0, 0, _arg1.stage.stageWidth, 10);
this.bg.graphics.endFill();
this.marker.graphics.beginFill(0, 0.9);
this.marker.graphics.drawRect(0, 0, _arg1.stage.stageWidth, 10);
this.marker.graphics.endFill();
this.bg.addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown);
_arg1.stage.addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp);
}
private function onMouseUp(_arg1:MouseEvent):void{
if (this.drag){
this.marker.stopDrag();
this.console.setHeight(this.marker.y);
this.console.stage.removeChild(this.marker);
};
this.drag = false;
}
private function onMouseDown(_arg1:MouseEvent):void{
this.marker.startDrag(false, new Rectangle(0, 0, 0, (this.console.stage.stageHeight - this.height)));
this.console.stage.addChild(this.marker);
this.marker.y = (this.console.stage.mouseY - this.mouseY);
this.drag = true;
}
}
}//package gemslibe.debug.utils.console
Section 21
//Console (gemslibe.debug.utils.Console)
package gemslibe.debug.utils {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import gemslibe.debug.utils.console.*;
import flash.ui.*;
import flash.profiler.*;
public class Console extends Sprite {
private var msk:Sprite;
private var masked:Sprite;
private var f2:TextFormat;
private var f3:TextFormat;
private var f1:TextFormat;
private var bar:ToolBar;
private var history:ArrayedQueue;
private var functions:HashMap;
private var linecount:int;// = 0
private var f_print:TextFormat;
private var background:Sprite;
private var fpsWin:FpsWin;
private var historyID:int;// = 0
private var enabled:Boolean;
private var input:TextField;
private var console:TextField;
private var shoeRedrawRegions:Boolean;// = false
private var flashTraces:Boolean;
private var fps:Boolean;// = false
private var cHeight:Number;// = 120
private var numbering:TextField;
public function Console(_arg1:Stage, _arg2:Boolean=false){
this.background = new Sprite();
this.msk = new Sprite();
this.masked = new Sprite();
this.console = new TextField();
this.input = new TextField();
this.numbering = new TextField();
this.f1 = new TextFormat();
this.f2 = new TextFormat();
this.f3 = new TextFormat();
this.f_print = new TextFormat();
this.functions = new HashMap();
this.history = new ArrayedQueue(2);
super();
var _local3:Stage = _arg1;
_local3.addEventListener(KeyboardEvent.KEY_DOWN, this.onKeyDown);
_local3.addEventListener(Event.RESIZE, this.onResize);
_local3.addChild(this);
this.flashTraces = _arg2;
this.disable();
this.addChild(this.background);
this.addChild(this.input);
this.addChild(this.masked);
this.masked.addChild(this.console);
this.masked.addChild(this.numbering);
this.bar = new ToolBar(this);
this.addChild(this.bar);
this.setHeight(120);
this.setUpTextfields();
this.redraw();
this.addEventListener(MouseEvent.MOUSE_WHEEL, this.onMouseWheel);
this.print("Type \"-help\" for a list of available commands");
}
public function enable():void{
this.visible = true;
this.enabled = true;
}
private function scrollDown():void{
if ((this.console.y + this.console.height) > this.background.height){
this.console.y = (this.console.y - 56);
this.numbering.y = (this.numbering.y - 56);
};
}
private function exec():void{
var _local1:Array = this.input.text.substr(2, this.input.text.length).split(" ");
var _local2:String = _local1[0];
var _local3:String = _local1[1];
var _local4:String = _local1[2];
var _local5:String = _local1[3];
switch (_local2){
case "-c":
case "-clear":
this.console.text = "";
this.numbering.text = "";
this.linecount = 0;
this.print("Type \"-help\" for a list of available commands");
break;
case "-h":
case "-help":
this.write();
this.print("");
this.print(" Available Commands ");
this.print("------------------------------------------------------------------------------------------------------------------------");
this.print(" -fps show fps and used memory");
this.print(" -sysmon enables system monitor for watching fps and used memory");
this.print(" -srr show redraw regions");
this.print(" -framerate [value] set frame rate");
this.print(" -help -h displays this information");
this.print(" -clear -c clears the list");
this.print(" -copy copyright");
this.print(" -sys gets system information");
this.print("");
this.print(" Use \"PageUp\" & \"PageDown\" on the keyboard to scroll the list");
this.print("");
break;
case "-srr":
this.shoeRedrawRegions = !(this.shoeRedrawRegions);
showRedrawRegions(this.shoeRedrawRegions);
break;
case "-copy":
this.write();
this.print("Copyright (c) 2009 GemsLibe inc. http://gemslibe.com");
break;
case "-sys":
this.write();
this.print("");
this.print(" System Information ");
this.print("------------------------------------------------------------------------------------------------------------------------");
this.print((" Language: " + Capabilities.language));
this.print((" OS: " + Capabilities.os));
this.print((" Pixel aspect ratio: " + Capabilities.pixelAspectRatio));
this.print((" Player type: " + Capabilities.playerType));
this.print((" Screen DPI: " + Capabilities.screenDPI));
this.print((((" Screen resolution: " + Capabilities.screenResolutionX) + " x ") + Capabilities.screenResolutionY));
this.print((" Version: " + Capabilities.version));
this.print((" Debugger: " + Capabilities.isDebugger));
this.print("");
this.print(((" Memory usage: " + (System.totalMemory / 0x0400)) + " Kb"));
this.print("");
break;
case "-fps":
this.showFps();
break;
case "-sysmon":
SystemMonitor.init(this);
SystemMonitor.show();
break;
case "-framerate":
if (_local3){
this.stage.frameRate = parseFloat(_local3);
};
break;
default:
this.write();
if (_local2 != ""){
if (this.functions.containsKey(_local2)){
if (!_local3){
var _local6 = this.functions;
_local6[_local2]();
} else {
_local6 = this.functions;
_local6[_local2](_local3.split(","));
};
} else {
this.print((_local2 + ": command not recognized"));
};
};
break;
};
this.historyAdd(this.input.text);
this.historyID = -1;
this.input.text = "] ";
this.update();
}
public function setHeight(_arg1:Number):void{
this.cHeight = _arg1;
this.bar.y = _arg1;
this.scrollRect = new Rectangle(0, 0, stage.stageWidth, (_arg1 + this.bar.height));
this.redraw();
}
public function register(_arg1:Function, _arg2:String):void{
this.functions.put(_arg2, _arg1);
}
public function print(... _args):void{
var _local3:String;
var _local4:*;
var _local5:int;
var _local6:int;
this.linecount++;
this.numbering.appendText((this.linecount + "\n"));
var _local2 = "] ";
for each (_local4 in _args) {
if (_local4 == null){
_local3 = "null";
} else {
if (_local4 == undefined){
_local3 = "undefined";
} else {
_local3 = _local4.toString();
};
};
_local2 = (_local2 + (_local3 + ", "));
};
_local2 = _local2.substring(0, (_local2.length - 2));
_local2 = (_local2 + "\n");
_local5 = this.console.length;
_local6 = (_local5 + _local2.length);
this.console.appendText(_local2);
this.console.setTextFormat(this.f_print, _local5, _local6);
this.update();
if (this.flashTraces){
trace(_args);
};
}
private function setUpTextfields():void{
this.f1.font = "_sans";
this.f1.color = 0xFCC000;
this.f1.bold = true;
this.f1.size = 11;
this.input.type = "dynamic";
this.input.multiline = false;
this.input.defaultTextFormat = this.f1;
this.input.text = "] ";
this.f2.font = "_sans";
this.f2.color = 8439036;
this.f2.bold = false;
this.f2.size = 11;
this.console.type = "dynamic";
this.console.multiline = true;
this.console.autoSize = TextFieldAutoSize.LEFT;
this.console.defaultTextFormat = this.f2;
this.console.setTextFormat(this.f2);
this.f3.font = "_sans";
this.f3.color = 0x555555;
this.f3.size = 11;
this.f3.bold = false;
this.f3.align = "right";
this.numbering.type = "dynamic";
this.numbering.selectable = false;
this.numbering.multiline = true;
this.numbering.autoSize = TextFieldAutoSize.RIGHT;
this.numbering.defaultTextFormat = this.f3;
this.numbering.x = 36;
this.f_print.font = "_sans";
this.f_print.color = 0xCCCCCC;
this.f_print.size = 11;
this.f_print.bold = false;
}
private function showFps():void{
if (!this.fps){
this.fpsWin = new FpsWin();
stage.addChild(this.fpsWin);
} else {
this.fpsWin.destroy();
};
this.fps = !(this.fps);
}
public function unregister(_arg1):void{
if (getQualifiedSuperclassName(_arg1) == "Function"){
this.functions.remove(this.functions.getKey(_arg1));
} else {
this.functions.remove(_arg1);
};
}
private function onKeyDown(_arg1:KeyboardEvent):void{
var _local2 = "";
if (_arg1.charCode != 0){
if (_arg1.ctrlKey){
_local2 = (_local2 + "CTRL + ");
};
if (_arg1.altKey){
_local2 = (_local2 + "ALT + ");
};
if (_arg1.shiftKey){
_local2 = (_local2 + "SHIFT + ");
};
_local2 = (_local2 + _arg1.charCode.toString());
};
if (_arg1.keyCode == Keyboard.F2){
if (this.enabled){
this.disable();
} else {
this.enable();
};
return;
};
switch (_local2){
case "CTRL + SHIFT + 126":
if (this.enabled){
this.disable();
} else {
this.enable();
};
break;
case "13":
if (this.enabled){
this.exec();
};
break;
case "8":
if (((this.enabled) && ((this.input.text.length > 2)))){
this.input.text = this.input.text.substr(0, (this.input.text.length - 1));
};
break;
case "27":
if (this.enabled){
this.disable();
};
break;
default:
if (this.enabled){
if (_arg1.keyCode == 33){
this.scrollUp();
} else {
if (_arg1.keyCode == 34){
this.scrollDown();
};
};
if (_arg1.keyCode == 38){
this.historyUp();
} else {
if (_arg1.keyCode == 40){
this.historyDown();
};
};
this.input.appendText(String.fromCharCode(_arg1.charCode));
};
break;
};
}
private function scrollUp():void{
if ((this.console.y + 56) <= this.background.height){
this.console.y = (this.console.y + 56);
this.numbering.y = (this.numbering.y + 56);
};
}
private function historyUp():void{
if (this.historyID < (this.history.size - 1)){
this.historyID++;
this.input.text = this.history.getAt(((this.history.size - 1) - this.historyID));
};
}
private function update():void{
var _local1:RegExp;
var _local2:RegExp;
if (this.console.numLines >= 1000){
_local1 = /(^]\s.*\s*)/g;
this.console.text = this.console.text.replace(_local1, "");
_local2 = /(^.*\s*)/g;
this.numbering.text = this.numbering.text.replace(_local2, "");
};
this.console.y = ((this.background.height - this.console.textHeight) - 22);
this.numbering.y = ((this.background.height - this.numbering.textHeight) - 22);
}
private function historyDown():void{
if (this.historyID > 0){
this.historyID--;
this.input.text = this.history.getAt(((this.history.size - 1) - this.historyID));
};
}
private function write():void{
this.linecount++;
this.numbering.appendText((this.linecount + "\n"));
var _local1 = (this.input.text + "\n");
var _local2:int = this.console.length;
var _local3:int = (_local2 + _local1.length);
this.console.appendText(_local1);
this.console.setTextFormat(this.f2, _local2, _local3);
}
public function disable():void{
this.visible = false;
this.enabled = false;
}
private function historyAdd(_arg1:String):void{
if (this.history.size == (this.history.maxSize - 1)){
this.history.dequeue();
this.history.dispose();
this.history.enqueue(_arg1);
} else {
this.history.enqueue(_arg1);
};
}
private function onResize(_arg1:Event):void{
this.redraw();
}
private function onMouseWheel(_arg1:MouseEvent):void{
if (_arg1.delta > 0){
this.scrollUp();
} else {
this.scrollDown();
};
}
private function redraw():void{
var w:Number = stage.stageWidth;
var h:Number = stage.stageHeight;
var _local2 = this.background.graphics;
with (_local2) {
clear();
beginFill(0, 0.8);
drawRect(0, 0, w, cHeight);
endFill();
beginFill(0, 1);
drawRect(0, 0, 40, cHeight);
endFill();
};
_local2 = this.msk.graphics;
with (_local2) {
clear();
beginFill(0, 0.9);
drawRect(0, 4, w, cHeight);
endFill();
};
this.input.width = (w - 52);
this.input.height = 18;
this.input.x = 46;
this.input.y = (this.background.height - 20);
this.console.width = (w - 52);
this.console.x = 46;
this.console.y = 0;
this.console.cacheAsBitmap = false;
this.numbering.y = 0;
this.numbering.cacheAsBitmap = false;
this.msk.cacheAsBitmap = false;
this.masked.mask = this.msk;
this.update();
}
}
}//package gemslibe.debug.utils
class ArrayedQueue {
private var _size:int;
private var _que:Array;
private var _front:int;
private var _count:int;
private var _divisor:int;
private function ArrayedQueue(_arg1:int){
if (_arg1 < 3){
_arg1 = 3;
};
this._size = (1 << _arg1);
this._divisor = (this._size - 1);
this.clear();
}
public function get size():int{
return (this._count);
}
public function isEmpty():Boolean{
return ((this._count == 0));
}
public function get maxSize():int{
return (this._size);
}
public function dispose():void{
if (!this._front){
this._que[int((this._size - 1))] = null;
} else {
this._que[int((this._front - 1))] = null;
};
}
public function enqueue(_arg1):Boolean{
if (this._size != this._count){
this._que[int(((this._count++ + this._front) & this._divisor))] = _arg1;
return (true);
};
return (false);
}
public function getAt(_arg1:int){
if (_arg1 >= this._count){
return (null);
};
return (this._que[int(((_arg1 + this._front) & this._divisor))]);
}
public function toString():String{
return ((("[ArrayedQueue, size=" + this.size) + "]"));
}
public function clear():void{
this._que = new Array(this._size);
this._front = (this._count = 0);
}
public function contains(_arg1):Boolean{
var _local2:int;
while (_local2 < this._count) {
if (this._que[int(((_local2 + this._front) & this._divisor))] === _arg1){
return (true);
};
_local2++;
};
return (false);
}
public function setAt(_arg1:int, _arg2):void{
if (_arg1 >= this._count){
return;
};
this._que[int(((_arg1 + this._front) & this._divisor))] = _arg2;
}
public function dequeue(){
var _local1:*;
if (this._count > 0){
_local1 = this._que[this._front++];
if (this._front == this._size){
this._front = 0;
};
this._count--;
return (_local1);
};
return (null);
}
public function peek(){
return (this._que[this._front]);
}
}
Section 22
//FpsWin (gemslibe.debug.utils.FpsWin)
package gemslibe.debug.utils {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.utils.*;
import flash.text.*;
public dynamic class FpsWin extends Sprite {
private var s:int;
private var timer:Timer;
private var f1:TextFormat;
private var f2:TextFormat;
private var startTime:Number;
private var fpsField:TextField;
private var numFrames:Number;// = 0
private var memField:TextField;
private var cnt:int;// = 0
private var t:int;
public function FpsWin(){
this.f1 = new TextFormat();
this.f2 = new TextFormat();
this.timer = new Timer(500);
this.startTime = getTimer();
super();
var _local2 = this.graphics;
with (_local2) {
beginFill(0, 0.7);
drawRect(0, 0, 60, 40);
endFill();
};
this.fpsField = new TextField();
this.memField = new TextField();
this.f1.font = "_sans";
this.f1.color = 0xCC00;
this.f1.bold = true;
this.f1.size = 11;
this.f2.font = "_sans";
this.f2.color = 1035264;
this.f2.bold = true;
this.f2.size = 11;
this.fpsField.type = "dynamic";
this.fpsField.multiline = false;
this.fpsField.defaultTextFormat = this.f1;
this.fpsField.text = "";
this.fpsField.selectable = false;
this.memField.type = "dynamic";
this.memField.multiline = false;
this.memField.defaultTextFormat = this.f2;
this.memField.text = "";
this.memField.selectable = false;
this.memField.y = 20;
this.memField.x = 5;
this.fpsField.x = 5;
this.fpsField.y = 2;
this.addChild(this.memField);
this.addChild(this.fpsField);
this.timer.addEventListener(TimerEvent.TIMER, this.onTick);
this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
this.timer.start();
this.addEventListener(MouseEvent.MOUSE_DOWN, this.onDown);
this.addEventListener(MouseEvent.MOUSE_UP, this.onUp);
this.t = getTimer();
}
private function onUp(_arg1:Event):void{
this.stopDrag();
}
private function onTick(_arg1:Event):void{
this.memField.text = ((System.totalMemory / 0x0400) + " Kb");
}
private function onDown(_arg1:Event):void{
this.startDrag();
}
private function onEnterFrame(_arg1:Event):void{
this.s++;
if (!(this.s = (this.s % stage.frameRate))){
this.fpsField.text = ((("fps: " + Math.round(((stage.frameRate * 1000) / (getTimer() - this.t)))) + "/") + stage.frameRate);
this.t = getTimer();
};
}
public function destroy():void{
this.timer.stop();
this.timer.removeEventListener(TimerEvent.TIMER, this.onTick);
this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
this.removeEventListener(MouseEvent.MOUSE_DOWN, this.onDown);
this.removeEventListener(MouseEvent.MOUSE_UP, this.onUp);
this.parent.removeChild(this);
}
}
}//package gemslibe.debug.utils
Section 23
//HashMap (gemslibe.debug.utils.HashMap)
package gemslibe.debug.utils {
import flash.utils.*;
public dynamic class HashMap extends Dictionary implements IMap {
public function HashMap(_arg1:Boolean=true){
super(_arg1);
}
public function containsKey(_arg1:String):Boolean{
return (!((this[_arg1] == null)));
}
public function size():int{
var _local2:String;
var _local1:int;
for (_local2 in this) {
if (this[_local2] != null){
_local1++;
};
};
return (_local1);
}
public function isEmpty():Boolean{
var _local2:String;
var _local1:int;
for (_local2 in this) {
if (this[_local2] != null){
_local1++;
};
};
return ((_local1 <= 0));
}
public function remove(_arg1:String):void{
this[_arg1] = null;
}
public function clear():void{
var _local1:String;
for (_local1 in this) {
this[_local1] = null;
};
}
public function put(_arg1:String, _arg2):void{
this[_arg1] = _arg2;
}
public function getKey(_arg1):String{
var _local2:String;
for (_local2 in this) {
if (this[_local2] == _arg1){
return (_local2);
};
};
return (null);
}
public function containsValue(_arg1):Boolean{
var _local2:String;
for (_local2 in this) {
if (this[_local2] == _arg1){
return (true);
};
};
return (false);
}
public function getValue(_arg1:String){
if (this[_arg1] != null){
return (this[_arg1]);
};
}
}
}//package gemslibe.debug.utils
Section 24
//IMap (gemslibe.debug.utils.IMap)
package gemslibe.debug.utils {
public interface IMap {
function containsKey(_arg1:String):Boolean;
function size():int;
function containsValue(_arg1):Boolean;
function isEmpty():Boolean;
function remove(_arg1:String):void;
function getKey(_arg1):String;
function getValue(_arg1:String);
function clear():void;
function put(_arg1:String, _arg2):void;
}
}//package gemslibe.debug.utils
Section 25
//SystemMonitor (gemslibe.debug.utils.SystemMonitor)
package gemslibe.debug.utils {
import flash.events.*;
import flash.display.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
public class SystemMonitor {
public static var started:Boolean = false;
private static var initTime:int;
public static var memList:Array = [];
public static var history:int = 60;
private static var itvTime:int;
public static var minMem:Number;
public static var fpsList:Array = [];
private static var frameCount:int;
private static var totalCount:int;
public static var inited:Boolean = false;
public static var minFps:Number;
public static var maxMem:Number;
public static var refreshRate:Number = 1;
public static var displayed:Boolean = false;
public static var maxFps:Number;
private static var currentTime:int;
private static var frame:Sprite;
private static var content:MonContent;
private static var stage:Stage;
private static function addEvent(_arg1:EventDispatcher, _arg2:String, _arg3:Function):void{
_arg1.addEventListener(_arg2, _arg3, false, 0, true);
}
public static function stop():void{
if (!started){
return;
};
started = false;
removeEvent(frame, Event.ENTER_FRAME, draw);
}
public static function get averageFps():Number{
return ((totalCount / runningTime));
}
public static function init(_arg1:InteractiveObject):void{
if (inited){
return;
};
inited = true;
stage = _arg1.stage;
content = new MonContent();
frame = new Sprite();
minFps = Number.MAX_VALUE;
maxFps = Number.MIN_VALUE;
minMem = Number.MAX_VALUE;
maxMem = Number.MIN_VALUE;
start();
}
public static function get currentMem():Number{
return (((System.totalMemory / 0x0400) / 1000));
}
private static function get runningTime():Number{
return (((currentTime - initTime) / 1000));
}
private static function get intervalTime():Number{
return (((currentTime - itvTime) / 1000));
}
private static function updateDisplay():void{
updateMinMax();
content.update(runningTime, minFps, maxFps, minMem, maxMem, currentFps, currentMem, averageFps, fpsList, memList, history);
}
public static function get currentFps():Number{
return ((frameCount / intervalTime));
}
public static function hide():void{
displayed = false;
stage.removeChild(content);
}
private static function draw(_arg1:Event=null):void{
currentTime = getTimer();
frameCount++;
totalCount++;
if (intervalTime >= refreshRate){
if (displayed){
updateDisplay();
} else {
updateMinMax();
};
fpsList.unshift(currentFps);
memList.unshift(currentMem);
if (fpsList.length > history){
fpsList.pop();
};
if (memList.length > history){
memList.pop();
};
itvTime = currentTime;
frameCount = 0;
};
}
public static function gc():void{
try {
System.gc();
new LocalConnection().connect("foo");
new LocalConnection().connect("foo");
} catch(e:Error) {
};
}
public static function start():void{
if (started){
return;
};
started = true;
initTime = (itvTime = getTimer());
totalCount = (frameCount = 0);
addEvent(frame, Event.ENTER_FRAME, draw);
}
private static function updateMinMax():void{
if (!(currentFps > 0)){
return;
};
minFps = Math.min(currentFps, minFps);
maxFps = Math.max(currentFps, maxFps);
minMem = Math.min(currentMem, minMem);
maxMem = Math.max(currentMem, maxMem);
}
private static function removeEvent(_arg1:EventDispatcher, _arg2:String, _arg3:Function):void{
_arg1.removeEventListener(_arg2, _arg3);
}
public static function show():void{
displayed = true;
stage.addChild(content);
updateDisplay();
}
}
}//package gemslibe.debug.utils
import flash.events.*;
import flash.display.*;
import flash.text.*;
class MonContent extends Sprite {
private var maxFpsTxtBx:TextField;
private var minMemTxtBx:TextField;
private var fps:Shape;
private var box:Shape;
private var minFpsTxtBx:TextField;
private var maxMemTxtBx:TextField;
private var infoTxtBx:TextField;
private var mb:Shape;
private function MonContent():void{
this.fps = new Shape();
this.mb = new Shape();
this.box = new Shape();
this.mouseChildren = false;
this.mouseEnabled = false;
this.fps.x = 65;
this.fps.y = 45;
this.mb.x = 65;
this.mb.y = 90;
var _local1:TextFormat = new TextFormat("_sans", 9, 0xAAAAAA);
this.infoTxtBx = new TextField();
this.infoTxtBx.autoSize = TextFieldAutoSize.LEFT;
this.infoTxtBx.defaultTextFormat = new TextFormat("_sans", 11, 0xCCCCCC);
this.infoTxtBx.y = 98;
this.minFpsTxtBx = new TextField();
this.minFpsTxtBx.autoSize = TextFieldAutoSize.LEFT;
this.minFpsTxtBx.defaultTextFormat = _local1;
this.minFpsTxtBx.x = 7;
this.minFpsTxtBx.y = 37;
this.maxFpsTxtBx = new TextField();
this.maxFpsTxtBx.autoSize = TextFieldAutoSize.LEFT;
this.maxFpsTxtBx.defaultTextFormat = _local1;
this.maxFpsTxtBx.x = 7;
this.maxFpsTxtBx.y = 5;
this.minMemTxtBx = new TextField();
this.minMemTxtBx.autoSize = TextFieldAutoSize.LEFT;
this.minMemTxtBx.defaultTextFormat = _local1;
this.minMemTxtBx.x = 7;
this.minMemTxtBx.y = 83;
this.maxMemTxtBx = new TextField();
this.maxMemTxtBx.autoSize = TextFieldAutoSize.LEFT;
this.maxMemTxtBx.defaultTextFormat = _local1;
this.maxMemTxtBx.x = 7;
this.maxMemTxtBx.y = 50;
addChild(this.box);
addChild(this.infoTxtBx);
addChild(this.minFpsTxtBx);
addChild(this.maxFpsTxtBx);
addChild(this.minMemTxtBx);
addChild(this.maxMemTxtBx);
addChild(this.fps);
addChild(this.mb);
this.addEventListener(Event.ADDED_TO_STAGE, this.added, false, 0, true);
this.addEventListener(Event.REMOVED_FROM_STAGE, this.removed, false, 0, true);
}
private function added(_arg1:Event):void{
this.resize();
stage.addEventListener(Event.RESIZE, this.resize, false, 0, true);
}
private function removed(_arg1:Event):void{
stage.removeEventListener(Event.RESIZE, this.resize);
}
private function resize(_arg1:Event=null):void{
var _local2:Graphics = this.box.graphics;
_local2.clear();
_local2.beginFill(0, 0.5);
_local2.drawRect(0, 0, stage.stageWidth, 120);
_local2.lineStyle(1, 0xFFFFFF, 0.2);
_local2.moveTo(65, 45);
_local2.lineTo(65, 10);
_local2.moveTo(65, 45);
_local2.lineTo((stage.stageWidth - 15), 45);
_local2.moveTo(65, 90);
_local2.lineTo(65, 55);
_local2.moveTo(65, 90);
_local2.lineTo((stage.stageWidth - 15), 90);
_local2.endFill();
this.infoTxtBx.x = ((stage.stageWidth - this.infoTxtBx.width) - 20);
}
public function update(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Array, _arg10:Array, _arg11:int):void{
var _local19:Number;
if (_arg1 >= 1){
this.minFpsTxtBx.text = (_arg2.toFixed(3) + " Fps");
this.maxFpsTxtBx.text = (_arg3.toFixed(3) + " Fps");
this.minMemTxtBx.text = (_arg4.toFixed(3) + " Mb");
this.maxMemTxtBx.text = (_arg5.toFixed(3) + " Mb");
};
this.infoTxtBx.text = (((((("Current Fps " + _arg6.toFixed(3)) + " | Average Fps ") + _arg8.toFixed(3)) + " | Memory Used ") + _arg7.toFixed(3)) + " Mb");
this.infoTxtBx.x = ((stage.stageWidth - this.infoTxtBx.width) - 20);
var _local12:Graphics = this.fps.graphics;
_local12.clear();
_local12.lineStyle(1, 0x33FF00, 0.7);
var _local13:int;
var _local14:int = _arg9.length;
var _local15 = 35;
var _local16:int = (stage.stageWidth - 80);
var _local17:Number = (_local16 / (_arg11 - 1));
var _local18:Number = (_arg3 - _arg2);
_local13 = 0;
while (_local13 < _local14) {
_local19 = ((_arg9[_local13] - _arg2) / _local18);
if (_local13 == 0){
_local12.moveTo(0, (-(_local19) * _local15));
} else {
_local12.lineTo((_local13 * _local17), (-(_local19) * _local15));
};
_local13++;
};
_local12 = this.mb.graphics;
_local12.clear();
_local12.lineStyle(1, 26367, 0.7);
_local13 = 0;
_local14 = _arg10.length;
_local18 = (_arg5 - _arg4);
_local13 = 0;
while (_local13 < _local14) {
_local19 = ((_arg10[_local13] - _arg4) / _local18);
if (_local13 == 0){
_local12.moveTo(0, (-(_local19) * _local15));
} else {
_local12.lineTo((_local13 * _local17), (-(_local19) * _local15));
};
_local13++;
};
}
}
Section 26
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.left = _arg1;
this.top = _arg2;
this.right = _arg3;
this.bottom = _arg4;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 27
//FlexLoader (mx.core.FlexLoader)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexLoader extends Loader {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FlexLoader(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 28
//FlexShape (mx.core.FlexShape)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexShape extends Shape {
mx_internal static const VERSION:String = "3.3.0.4852";
public function FlexShape(){
super();
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 29
//FlexVersion (mx.core.FlexVersion)
package mx.core {
import mx.resources.*;
public class FlexVersion {
public static const VERSION_2_0_1:uint = 33554433;
public static const CURRENT_VERSION:uint = 50331648;
public static const VERSION_3_0:uint = 50331648;
public static const VERSION_2_0:uint = 33554432;
public static const VERSION_ALREADY_READ:String = "versionAlreadyRead";
public static const VERSION_ALREADY_SET:String = "versionAlreadySet";
mx_internal static const VERSION:String = "3.3.0.4852";
private static var compatibilityVersionChanged:Boolean = false;
private static var _compatibilityErrorFunction:Function;
private static var _compatibilityVersion:uint = 50331648;
private static var compatibilityVersionRead:Boolean = false;
mx_internal static function changeCompatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
_compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function set compatibilityVersion(_arg1:uint):void{
var _local2:String;
if (_arg1 == _compatibilityVersion){
return;
};
if (compatibilityVersionChanged){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_SET);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_SET);
};
if (compatibilityVersionRead){
if (compatibilityErrorFunction == null){
_local2 = ResourceManager.getInstance().getString("core", VERSION_ALREADY_READ);
throw (new Error(_local2));
};
compatibilityErrorFunction(_arg1, VERSION_ALREADY_READ);
};
_compatibilityVersion = _arg1;
compatibilityVersionChanged = true;
}
public static function get compatibilityVersion():uint{
compatibilityVersionRead = true;
return (_compatibilityVersion);
}
public static function set compatibilityErrorFunction(_arg1:Function):void{
_compatibilityErrorFunction = _arg1;
}
public static function set compatibilityVersionString(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:uint = parseInt(_local2[0]);
var _local4:uint = parseInt(_local2[1]);
var _local5:uint = parseInt(_local2[2]);
compatibilityVersion = (((_local3 << 24) + (_local4 << 16)) + _local5);
}
public static function get compatibilityErrorFunction():Function{
return (_compatibilityErrorFunction);
}
public static function get compatibilityVersionString():String{
var _local1:uint = ((compatibilityVersion >> 24) & 0xFF);
var _local2:uint = ((compatibilityVersion >> 16) & 0xFF);
var _local3:uint = (compatibilityVersion & 0xFFFF);
return (((((_local1.toString() + ".") + _local2.toString()) + ".") + _local3.toString()));
}
}
}//package mx.core
Section 30
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 31
//IButton (mx.core.IButton)
package mx.core {
public interface IButton extends IUIComponent {
function get emphasized():Boolean;
function set emphasized(_arg1:Boolean):void;
function callLater(_arg1:Function, _arg2:Array=null):void;
}
}//package mx.core
Section 32
//IChildList (mx.core.IChildList)
package mx.core {
import flash.display.*;
import flash.geom.*;
public interface IChildList {
function get numChildren():int;
function removeChild(_arg1:DisplayObject):DisplayObject;
function getChildByName(_arg1:String):DisplayObject;
function removeChildAt(_arg1:int):DisplayObject;
function getChildIndex(_arg1:DisplayObject):int;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function getObjectsUnderPoint(_arg1:Point):Array;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function getChildAt(_arg1:int):DisplayObject;
function addChild(_arg1:DisplayObject):DisplayObject;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.core
Section 33
//IContainer (mx.core.IContainer)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
import flash.media.*;
import flash.text.*;
public interface IContainer extends IUIComponent {
function set hitArea(_arg1:Sprite):void;
function swapChildrenAt(_arg1:int, _arg2:int):void;
function getChildByName(_arg1:String):DisplayObject;
function get doubleClickEnabled():Boolean;
function get graphics():Graphics;
function get useHandCursor():Boolean;
function addChildAt(_arg1:DisplayObject, _arg2:int):DisplayObject;
function set mouseChildren(_arg1:Boolean):void;
function set creatingContentPane(_arg1:Boolean):void;
function get textSnapshot():TextSnapshot;
function getChildIndex(_arg1:DisplayObject):int;
function set doubleClickEnabled(_arg1:Boolean):void;
function getObjectsUnderPoint(_arg1:Point):Array;
function get creatingContentPane():Boolean;
function setChildIndex(_arg1:DisplayObject, _arg2:int):void;
function get soundTransform():SoundTransform;
function set useHandCursor(_arg1:Boolean):void;
function get numChildren():int;
function contains(_arg1:DisplayObject):Boolean;
function get verticalScrollPosition():Number;
function set defaultButton(_arg1:IFlexDisplayObject):void;
function swapChildren(_arg1:DisplayObject, _arg2:DisplayObject):void;
function set horizontalScrollPosition(_arg1:Number):void;
function get focusManager():IFocusManager;
function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void;
function set mouseEnabled(_arg1:Boolean):void;
function getChildAt(_arg1:int):DisplayObject;
function set soundTransform(_arg1:SoundTransform):void;
function get tabChildren():Boolean;
function get tabIndex():int;
function set focusRect(_arg1:Object):void;
function get hitArea():Sprite;
function get mouseChildren():Boolean;
function removeChildAt(_arg1:int):DisplayObject;
function get defaultButton():IFlexDisplayObject;
function stopDrag():void;
function set tabEnabled(_arg1:Boolean):void;
function get horizontalScrollPosition():Number;
function get focusRect():Object;
function get viewMetrics():EdgeMetrics;
function set verticalScrollPosition(_arg1:Number):void;
function get dropTarget():DisplayObject;
function get mouseEnabled():Boolean;
function set tabChildren(_arg1:Boolean):void;
function set buttonMode(_arg1:Boolean):void;
function get tabEnabled():Boolean;
function get buttonMode():Boolean;
function removeChild(_arg1:DisplayObject):DisplayObject;
function set tabIndex(_arg1:int):void;
function addChild(_arg1:DisplayObject):DisplayObject;
function areInaccessibleObjectsUnderPoint(_arg1:Point):Boolean;
}
}//package mx.core
Section 34
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 35
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
public interface IFlexModuleFactory {
function create(... _args):Object;
function info():Object;
}
}//package mx.core
Section 36
//IInvalidating (mx.core.IInvalidating)
package mx.core {
public interface IInvalidating {
function validateNow():void;
function invalidateSize():void;
function invalidateDisplayList():void;
function invalidateProperties():void;
}
}//package mx.core
Section 37
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 38
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 39
//IRectangularBorder (mx.core.IRectangularBorder)
package mx.core {
import flash.geom.*;
public interface IRectangularBorder extends IBorder {
function get backgroundImageBounds():Rectangle;
function get hasBackgroundImage():Boolean;
function set backgroundImageBounds(_arg1:Rectangle):void;
function layoutBackgroundImage():void;
}
}//package mx.core
Section 40
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 41
//ISWFBridgeGroup (mx.core.ISWFBridgeGroup)
package mx.core {
import flash.events.*;
public interface ISWFBridgeGroup {
function getChildBridgeProvider(_arg1:IEventDispatcher):ISWFBridgeProvider;
function removeChildBridge(_arg1:IEventDispatcher):void;
function get parentBridge():IEventDispatcher;
function addChildBridge(_arg1:IEventDispatcher, _arg2:ISWFBridgeProvider):void;
function set parentBridge(_arg1:IEventDispatcher):void;
function containsBridge(_arg1:IEventDispatcher):Boolean;
function getChildBridges():Array;
}
}//package mx.core
Section 42
//ISWFBridgeProvider (mx.core.ISWFBridgeProvider)
package mx.core {
import flash.events.*;
public interface ISWFBridgeProvider {
function get childAllowsParent():Boolean;
function get swfBridge():IEventDispatcher;
function get parentAllowsChild():Boolean;
}
}//package mx.core
Section 43
//IUIComponent (mx.core.IUIComponent)
package mx.core {
import flash.display.*;
import mx.managers.*;
public interface IUIComponent extends IFlexDisplayObject {
function set focusPane(_arg1:Sprite):void;
function get enabled():Boolean;
function set enabled(_arg1:Boolean):void;
function set isPopUp(_arg1:Boolean):void;
function get explicitMinHeight():Number;
function get percentWidth():Number;
function get isPopUp():Boolean;
function get owner():DisplayObjectContainer;
function get percentHeight():Number;
function get baselinePosition():Number;
function owns(_arg1:DisplayObject):Boolean;
function initialize():void;
function get maxWidth():Number;
function get minWidth():Number;
function getExplicitOrMeasuredWidth():Number;
function get explicitMaxWidth():Number;
function get explicitMaxHeight():Number;
function set percentHeight(_arg1:Number):void;
function get minHeight():Number;
function set percentWidth(_arg1:Number):void;
function get document():Object;
function get focusPane():Sprite;
function getExplicitOrMeasuredHeight():Number;
function set tweeningProperties(_arg1:Array):void;
function set explicitWidth(_arg1:Number):void;
function set measuredMinHeight(_arg1:Number):void;
function get explicitMinWidth():Number;
function get tweeningProperties():Array;
function get maxHeight():Number;
function set owner(_arg1:DisplayObjectContainer):void;
function set includeInLayout(_arg1:Boolean):void;
function setVisible(_arg1:Boolean, _arg2:Boolean=false):void;
function parentChanged(_arg1:DisplayObjectContainer):void;
function get explicitWidth():Number;
function get measuredMinHeight():Number;
function set measuredMinWidth(_arg1:Number):void;
function set explicitHeight(_arg1:Number):void;
function get includeInLayout():Boolean;
function get measuredMinWidth():Number;
function get explicitHeight():Number;
function set systemManager(_arg1:ISystemManager):void;
function set document(_arg1:Object):void;
function get systemManager():ISystemManager;
}
}//package mx.core
Section 44
//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 45
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.3.0.4852";
private static var classMap:Object = {};
public static function registerClass(_arg1:String, _arg2:Class):void{
var _local3:Class = classMap[_arg1];
if (!_local3){
classMap[_arg1] = _arg2;
};
}
public static function getClass(_arg1:String):Class{
return (classMap[_arg1]);
}
public static function getInstance(_arg1:String):Object{
var _local2:Class = classMap[_arg1];
if (!_local2){
throw (new Error((("No class registered for interface '" + _arg1) + "'.")));
};
return (_local2["getInstance"]());
}
}
}//package mx.core
Section 46
//UIComponentGlobals (mx.core.UIComponentGlobals)
package mx.core {
import flash.display.*;
import flash.geom.*;
import mx.managers.*;
public class UIComponentGlobals {
mx_internal static var callLaterSuspendCount:int = 0;
mx_internal static var layoutManager:ILayoutManager;
mx_internal static var nextFocusObject:InteractiveObject;
mx_internal static var designTime:Boolean = false;
mx_internal static var tempMatrix:Matrix = new Matrix();
mx_internal static var callLaterDispatcherCount:int = 0;
private static var _catchCallLaterExceptions:Boolean = false;
public static function set catchCallLaterExceptions(_arg1:Boolean):void{
_catchCallLaterExceptions = _arg1;
}
public static function get designMode():Boolean{
return (designTime);
}
public static function set designMode(_arg1:Boolean):void{
designTime = _arg1;
}
public static function get catchCallLaterExceptions():Boolean{
return (_catchCallLaterExceptions);
}
}
}//package mx.core
Section 47
//ModuleEvent (mx.events.ModuleEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
import mx.modules.*;
public class ModuleEvent extends ProgressEvent {
public var errorText:String;
private var _module:IModuleInfo;
public static const READY:String = "ready";
public static const ERROR:String = "error";
public static const PROGRESS:String = "progress";
mx_internal static const VERSION:String = "3.3.0.4852";
public static const SETUP:String = "setup";
public static const UNLOAD:String = "unload";
public function ModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null, _arg7:IModuleInfo=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
this._module = _arg7;
}
public function get module():IModuleInfo{
if (_module){
return (_module);
};
return ((target as IModuleInfo));
}
override public function clone():Event{
return (new ModuleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText, module));
}
}
}//package mx.events
Section 48
//ResourceEvent (mx.events.ResourceEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
public class ResourceEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function ResourceEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new ResourceEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 49
//StyleEvent (mx.events.StyleEvent)
package mx.events {
import flash.events.*;
import mx.core.*;
public class StyleEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.3.0.4852";
public static const COMPLETE:String = "complete";
public static const PROGRESS:String = "progress";
public static const ERROR:String = "error";
public function StyleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:String=null){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
this.errorText = _arg6;
}
override public function clone():Event{
return (new StyleEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, errorText));
}
}
}//package mx.events
Section 50
//RectangularDropShadow (mx.graphics.RectangularDropShadow)
package mx.graphics {
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import mx.utils.*;
import flash.filters.*;
public class RectangularDropShadow {
private var leftShadow:BitmapData;
private var _tlRadius:Number;// = 0
private var _trRadius:Number;// = 0
private var _angle:Number;// = 45
private var topShadow:BitmapData;
private var _distance:Number;// = 4
private var rightShadow:BitmapData;
private var _alpha:Number;// = 0.4
private var shadow:BitmapData;
private var _brRadius:Number;// = 0
private var _blRadius:Number;// = 0
private var _color:int;// = 0
private var bottomShadow:BitmapData;
private var changed:Boolean;// = true
mx_internal static const VERSION:String = "3.3.0.4852";
public function get blRadius():Number{
return (_blRadius);
}
public function set brRadius(_arg1:Number):void{
if (_brRadius != _arg1){
_brRadius = _arg1;
changed = true;
};
}
public function set color(_arg1:int):void{
if (_color != _arg1){
_color = _arg1;
changed = true;
};
}
public function drawShadow(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
if (changed){
createShadowBitmaps();
changed = false;
};
_arg4 = Math.ceil(_arg4);
_arg5 = Math.ceil(_arg5);
var _local6:int = (leftShadow) ? leftShadow.width : 0;
var _local7:int = (rightShadow) ? rightShadow.width : 0;
var _local8:int = (topShadow) ? topShadow.height : 0;
var _local9:int = (bottomShadow) ? bottomShadow.height : 0;
var _local10:int = (_local6 + _local7);
var _local11:int = (_local8 + _local9);
var _local12:Number = ((_arg5 + _local11) / 2);
var _local13:Number = ((_arg4 + _local10) / 2);
var _local14:Matrix = new Matrix();
if (((leftShadow) || (topShadow))){
_local15 = Math.min((tlRadius + _local10), _local13);
_local16 = Math.min((tlRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (_arg3 - _local8), _local15, _local16);
_arg1.endFill();
};
if (((rightShadow) || (topShadow))){
_local17 = Math.min((trRadius + _local10), _local13);
_local18 = Math.min((trRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local17), (_arg3 - _local8), _local17, _local18);
_arg1.endFill();
};
if (((leftShadow) || (bottomShadow))){
_local19 = Math.min((blRadius + _local10), _local13);
_local20 = Math.min((blRadius + _local11), _local12);
_local14.tx = (_arg2 - _local6);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((_arg2 - _local6), (((_arg3 + _arg5) + _local9) - _local20), _local19, _local20);
_arg1.endFill();
};
if (((rightShadow) || (bottomShadow))){
_local21 = Math.min((brRadius + _local10), _local13);
_local22 = Math.min((brRadius + _local11), _local12);
_local14.tx = (((_arg2 + _arg4) + _local7) - shadow.width);
_local14.ty = (((_arg3 + _arg5) + _local9) - shadow.height);
_arg1.beginBitmapFill(shadow, _local14);
_arg1.drawRect((((_arg2 + _arg4) + _local7) - _local21), (((_arg3 + _arg5) + _local9) - _local22), _local21, _local22);
_arg1.endFill();
};
if (leftShadow){
_local14.tx = (_arg2 - _local6);
_local14.ty = 0;
_arg1.beginBitmapFill(leftShadow, _local14);
_arg1.drawRect((_arg2 - _local6), ((_arg3 - _local8) + _local16), _local6, ((((_arg5 + _local8) + _local9) - _local16) - _local20));
_arg1.endFill();
};
if (rightShadow){
_local14.tx = (_arg2 + _arg4);
_local14.ty = 0;
_arg1.beginBitmapFill(rightShadow, _local14);
_arg1.drawRect((_arg2 + _arg4), ((_arg3 - _local8) + _local18), _local7, ((((_arg5 + _local8) + _local9) - _local18) - _local22));
_arg1.endFill();
};
if (topShadow){
_local14.tx = 0;
_local14.ty = (_arg3 - _local8);
_arg1.beginBitmapFill(topShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local15), (_arg3 - _local8), ((((_arg4 + _local6) + _local7) - _local15) - _local17), _local8);
_arg1.endFill();
};
if (bottomShadow){
_local14.tx = 0;
_local14.ty = (_arg3 + _arg5);
_arg1.beginBitmapFill(bottomShadow, _local14);
_arg1.drawRect(((_arg2 - _local6) + _local19), (_arg3 + _arg5), ((((_arg4 + _local6) + _local7) - _local19) - _local21), _local9);
_arg1.endFill();
};
}
public function get brRadius():Number{
return (_brRadius);
}
public function get angle():Number{
return (_angle);
}
private function createShadowBitmaps():void{
var _local1:Number = ((Math.max(tlRadius, blRadius) + (2 * distance)) + Math.max(trRadius, brRadius));
var _local2:Number = ((Math.max(tlRadius, trRadius) + (2 * distance)) + Math.max(blRadius, brRadius));
if ((((_local1 < 0)) || ((_local2 < 0)))){
return;
};
var _local3:Shape = new FlexShape();
var _local4:Graphics = _local3.graphics;
_local4.beginFill(0xFFFFFF);
GraphicsUtil.drawRoundRectComplex(_local4, 0, 0, _local1, _local2, tlRadius, trRadius, blRadius, brRadius);
_local4.endFill();
var _local5:BitmapData = new BitmapData(_local1, _local2, true, 0);
_local5.draw(_local3, new Matrix());
var _local6:DropShadowFilter = new DropShadowFilter(distance, angle, color, alpha);
_local6.knockout = true;
var _local7:Rectangle = new Rectangle(0, 0, _local1, _local2);
var _local8:Rectangle = _local5.generateFilterRect(_local7, _local6);
var _local9:Number = (_local7.left - _local8.left);
var _local10:Number = (_local8.right - _local7.right);
var _local11:Number = (_local7.top - _local8.top);
var _local12:Number = (_local8.bottom - _local7.bottom);
shadow = new BitmapData(_local8.width, _local8.height);
shadow.applyFilter(_local5, _local7, new Point(_local9, _local11), _local6);
var _local13:Point = new Point(0, 0);
var _local14:Rectangle = new Rectangle();
if (_local9 > 0){
_local14.x = 0;
_local14.y = ((tlRadius + _local11) + _local12);
_local14.width = _local9;
_local14.height = 1;
leftShadow = new BitmapData(_local9, 1);
leftShadow.copyPixels(shadow, _local14, _local13);
} else {
leftShadow = null;
};
if (_local10 > 0){
_local14.x = (shadow.width - _local10);
_local14.y = ((trRadius + _local11) + _local12);
_local14.width = _local10;
_local14.height = 1;
rightShadow = new BitmapData(_local10, 1);
rightShadow.copyPixels(shadow, _local14, _local13);
} else {
rightShadow = null;
};
if (_local11 > 0){
_local14.x = ((tlRadius + _local9) + _local10);
_local14.y = 0;
_local14.width = 1;
_local14.height = _local11;
topShadow = new BitmapData(1, _local11);
topShadow.copyPixels(shadow, _local14, _local13);
} else {
topShadow = null;
};
if (_local12 > 0){
_local14.x = ((blRadius + _local9) + _local10);
_local14.y = (shadow.height - _local12);
_local14.width = 1;
_local14.height = _local12;
bottomShadow = new BitmapData(1, _local12);
bottomShadow.copyPixels(shadow, _local14, _local13);
} else {
bottomShadow = null;
};
}
public function get alpha():Number{
return (_alpha);
}
public function get color():int{
return (_color);
}
public function set angle(_arg1:Number):void{
if (_angle != _arg1){
_angle = _arg1;
changed = true;
};
}
public function set trRadius(_arg1:Number):void{
if (_trRadius != _arg1){
_trRadius = _arg1;
changed = true;
};
}
public function set tlRadius(_arg1:Number):void{
if (_tlRadius != _arg1){
_tlRadius = _arg1;
changed = true;
};
}
public function get trRadius():Number{
return (_trRadius);
}
public function set distance(_arg1:Number):void{
if (_distance != _arg1){
_distance = _arg1;
changed = true;
};
}
public function get distance():Number{
return (_distance);
}
public function get tlRadius():Number{
return (_tlRadius);
}
public function set alpha(_arg1:Number):void{
if (_alpha != _arg1){
_alpha = _arg1;
changed = true;
};
}
public function set blRadius(_arg1:Number):void{
if (_blRadius != _arg1){
_blRadius = _arg1;
changed = true;
};
}
}
}//package mx.graphics
Section 51
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
public interface IFocusManager {
function get focusPane():Sprite;
function getFocus():IFocusManagerComponent;
function deactivate():void;
function set defaultButton(_arg1:IButton):void;
function set focusPane(_arg1:Sprite):void;
function set showFocusIndicator(_arg1:Boolean):void;
function moveFocus(_arg1:String, _arg2:DisplayObject=null):void;
function addSWFBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function removeSWFBridge(_arg1:IEventDispatcher):void;
function get defaultButtonEnabled():Boolean;
function findFocusManagerComponent(_arg1:InteractiveObject):IFocusManagerComponent;
function get nextTabIndex():int;
function get defaultButton():IButton;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:IFocusManagerComponent):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function getNextFocusManagerComponent(_arg1:Boolean=false):IFocusManagerComponent;
}
}//package mx.managers
Section 52
//IFocusManagerComponent (mx.managers.IFocusManagerComponent)
package mx.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package mx.managers
Section 53
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.events.*;
import flash.display.*;
public interface IFocusManagerContainer extends IEventDispatcher {
function set focusManager(_arg1:IFocusManager):void;
function get focusManager():IFocusManager;
function get systemManager():ISystemManager;
function contains(_arg1:DisplayObject):Boolean;
}
}//package mx.managers
Section 54
//ILayoutManager (mx.managers.ILayoutManager)
package mx.managers {
import flash.events.*;
public interface ILayoutManager extends IEventDispatcher {
function validateNow():void;
function validateClient(_arg1:ILayoutManagerClient, _arg2:Boolean=false):void;
function isInvalid():Boolean;
function invalidateDisplayList(_arg1:ILayoutManagerClient):void;
function set usePhasedInstantiation(_arg1:Boolean):void;
function invalidateSize(_arg1:ILayoutManagerClient):void;
function get usePhasedInstantiation():Boolean;
function invalidateProperties(_arg1:ILayoutManagerClient):void;
}
}//package mx.managers
Section 55
//ILayoutManagerClient (mx.managers.ILayoutManagerClient)
package mx.managers {
import flash.events.*;
public interface ILayoutManagerClient extends IEventDispatcher {
function get updateCompletePendingFlag():Boolean;
function set updateCompletePendingFlag(_arg1:Boolean):void;
function set initialized(_arg1:Boolean):void;
function validateProperties():void;
function validateDisplayList():void;
function get nestLevel():int;
function get initialized():Boolean;
function get processedDescriptors():Boolean;
function validateSize(_arg1:Boolean=false):void;
function set nestLevel(_arg1:int):void;
function set processedDescriptors(_arg1:Boolean):void;
}
}//package mx.managers
Section 56
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public interface ISystemManager extends IEventDispatcher, IChildList, IFlexModuleFactory {
function set focusPane(_arg1:Sprite):void;
function get toolTipChildren():IChildList;
function useSWFBridge():Boolean;
function isFontFaceEmbedded(_arg1:TextFormat):Boolean;
function deployMouseShields(_arg1:Boolean):void;
function get rawChildren():IChildList;
function get topLevelSystemManager():ISystemManager;
function dispatchEventFromSWFBridges(_arg1:Event, _arg2:IEventDispatcher=null, _arg3:Boolean=false, _arg4:Boolean=false):void;
function getSandboxRoot():DisplayObject;
function get swfBridgeGroup():ISWFBridgeGroup;
function removeFocusManager(_arg1:IFocusManagerContainer):void;
function addChildToSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function get document():Object;
function get focusPane():Sprite;
function get loaderInfo():LoaderInfo;
function addChildBridge(_arg1:IEventDispatcher, _arg2:DisplayObject):void;
function getTopLevelRoot():DisplayObject;
function removeChildBridge(_arg1:IEventDispatcher):void;
function isDisplayObjectInABridgedApplication(_arg1:DisplayObject):Boolean;
function get popUpChildren():IChildList;
function get screen():Rectangle;
function removeChildFromSandboxRoot(_arg1:String, _arg2:DisplayObject):void;
function getDefinitionByName(_arg1:String):Object;
function activate(_arg1:IFocusManagerContainer):void;
function deactivate(_arg1:IFocusManagerContainer):void;
function get cursorChildren():IChildList;
function set document(_arg1:Object):void;
function get embeddedFontList():Object;
function set numModalWindows(_arg1:int):void;
function isTopLevel():Boolean;
function isTopLevelRoot():Boolean;
function get numModalWindows():int;
function addFocusManager(_arg1:IFocusManagerContainer):void;
function get stage():Stage;
function getVisibleApplicationRect(_arg1:Rectangle=null):Rectangle;
}
}//package mx.managers
Section 57
//SystemManagerGlobals (mx.managers.SystemManagerGlobals)
package mx.managers {
public class SystemManagerGlobals {
public static var topLevelSystemManagers:Array = [];
public static var changingListenersInOtherSystemManagers:Boolean;
public static var bootstrapLoaderInfoURL:String;
public static var showMouseCursor:Boolean;
}
}//package mx.managers
Section 58
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import flash.utils.*;
public interface IModuleInfo extends IEventDispatcher {
function get ready():Boolean;
function get loaded():Boolean;
function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void;
function release():void;
function get error():Boolean;
function get data():Object;
function publish(_arg1:IFlexModuleFactory):void;
function get factory():IFlexModuleFactory;
function set data(_arg1:Object):void;
function get url():String;
function get setup():Boolean;
function unload():void;
}
}//package mx.modules
Section 59
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function getModule(_arg1:String):IModuleInfo{
return (getSingleton().getModule(_arg1));
}
private static function getSingleton():Object{
if (!ModuleManagerGlobals.managerSingleton){
ModuleManagerGlobals.managerSingleton = new ModuleManagerImpl();
};
return (ModuleManagerGlobals.managerSingleton);
}
public static function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
return (getSingleton().getAssociatedFactory(_arg1));
}
}
}//package mx.modules
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.system.*;
import flash.utils.*;
import flash.net.*;
import mx.events.*;
class ModuleInfoProxy extends EventDispatcher implements IModuleInfo {
private var _data:Object;
private var info:ModuleInfo;
private var referenced:Boolean;// = false
private function ModuleInfoProxy(_arg1:ModuleInfo){
this.info = _arg1;
_arg1.addEventListener(ModuleEvent.SETUP, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.ERROR, moduleEventHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.UNLOAD, moduleEventHandler, false, 0, true);
}
public function get loaded():Boolean{
return (info.loaded);
}
public function release():void{
if (referenced){
info.removeReference();
referenced = false;
};
}
public function get error():Boolean{
return (info.error);
}
public function get factory():IFlexModuleFactory{
return (info.factory);
}
public function publish(_arg1:IFlexModuleFactory):void{
info.publish(_arg1);
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get ready():Boolean{
return (info.ready);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
var _local4:ModuleEvent;
info.resurrect();
if (!referenced){
info.addReference();
referenced = true;
};
if (info.error){
dispatchEvent(new ModuleEvent(ModuleEvent.ERROR));
} else {
if (info.loaded){
if (info.setup){
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
if (info.ready){
_local4 = new ModuleEvent(ModuleEvent.PROGRESS);
_local4.bytesLoaded = info.size;
_local4.bytesTotal = info.size;
dispatchEvent(_local4);
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
};
};
} else {
info.load(_arg1, _arg2, _arg3);
};
};
}
private function moduleEventHandler(_arg1:ModuleEvent):void{
dispatchEvent(_arg1);
}
public function get url():String{
return (info.url);
}
public function get data():Object{
return (_data);
}
public function get setup():Boolean{
return (info.setup);
}
public function unload():void{
info.unload();
info.removeEventListener(ModuleEvent.SETUP, moduleEventHandler);
info.removeEventListener(ModuleEvent.PROGRESS, moduleEventHandler);
info.removeEventListener(ModuleEvent.READY, moduleEventHandler);
info.removeEventListener(ModuleEvent.ERROR, moduleEventHandler);
info.removeEventListener(ModuleEvent.UNLOAD, moduleEventHandler);
}
}
class ModuleManagerImpl extends EventDispatcher {
private var moduleList:Object;
private function ModuleManagerImpl(){
moduleList = {};
super();
}
public function getModule(_arg1:String):IModuleInfo{
var _local2:ModuleInfo = (moduleList[_arg1] as ModuleInfo);
if (!_local2){
_local2 = new ModuleInfo(_arg1);
moduleList[_arg1] = _local2;
};
return (new ModuleInfoProxy(_local2));
}
public function getAssociatedFactory(_arg1:Object):IFlexModuleFactory{
var m:Object;
var info:ModuleInfo;
var domain:ApplicationDomain;
var cls:Class;
var object = _arg1;
var className:String = getQualifiedClassName(object);
for each (m in moduleList) {
info = (m as ModuleInfo);
if (!info.ready){
} else {
domain = info.applicationDomain;
try {
cls = Class(domain.getDefinition(className));
if ((object is cls)){
return (info.factory);
};
} catch(error:Error) {
};
};
};
return (null);
}
}
class ModuleInfo extends EventDispatcher {
private var _error:Boolean;// = false
private var loader:Loader;
private var factoryInfo:FactoryInfo;
private var limbo:Dictionary;
private var _loaded:Boolean;// = false
private var _ready:Boolean;// = false
private var numReferences:int;// = 0
private var _url:String;
private var _setup:Boolean;// = false
private function ModuleInfo(_arg1:String){
_url = _arg1;
}
private function clearLoader():void{
if (loader){
if (loader.contentLoaderInfo){
loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
};
try {
if (loader.content){
loader.content.removeEventListener("ready", readyHandler);
loader.content.removeEventListener("error", moduleErrorHandler);
};
} catch(error:Error) {
};
if (_loaded){
try {
loader.close();
} catch(error:Error) {
};
};
try {
loader.unload();
} catch(error:Error) {
};
loader = null;
};
}
public function get size():int{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.bytesTotal : 0);
}
public function get loaded():Boolean{
return ((limbo) ? false : _loaded);
}
public function release():void{
if (((_ready) && (!(limbo)))){
limbo = new Dictionary(true);
limbo[factoryInfo] = 1;
factoryInfo = null;
} else {
unload();
};
}
public function get error():Boolean{
return ((limbo) ? false : _error);
}
public function get factory():IFlexModuleFactory{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.factory : null);
}
public function completeHandler(_arg1:Event):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = loader.contentLoaderInfo.bytesLoaded;
_local2.bytesTotal = loader.contentLoaderInfo.bytesTotal;
dispatchEvent(_local2);
}
public function publish(_arg1:IFlexModuleFactory):void{
if (factoryInfo){
return;
};
if (_url.indexOf("published://") != 0){
return;
};
factoryInfo = new FactoryInfo();
factoryInfo.factory = _arg1;
_loaded = true;
_setup = true;
_ready = true;
_error = false;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
dispatchEvent(new ModuleEvent(ModuleEvent.PROGRESS));
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function initHandler(_arg1:Event):void{
var moduleEvent:ModuleEvent;
var event = _arg1;
factoryInfo = new FactoryInfo();
try {
factoryInfo.factory = (loader.content as IFlexModuleFactory);
} catch(error:Error) {
};
if (!factoryInfo.factory){
moduleEvent = new ModuleEvent(ModuleEvent.ERROR, event.bubbles, event.cancelable);
moduleEvent.bytesLoaded = 0;
moduleEvent.bytesTotal = 0;
moduleEvent.errorText = "SWF is not a loadable module";
dispatchEvent(moduleEvent);
return;
};
loader.content.addEventListener("ready", readyHandler);
loader.content.addEventListener("error", moduleErrorHandler);
try {
factoryInfo.applicationDomain = loader.contentLoaderInfo.applicationDomain;
} catch(error:Error) {
};
_setup = true;
dispatchEvent(new ModuleEvent(ModuleEvent.SETUP));
}
public function resurrect():void{
var _local1:Object;
if (((!(factoryInfo)) && (limbo))){
for (_local1 in limbo) {
factoryInfo = (_local1 as FactoryInfo);
break;
};
limbo = null;
};
if (!factoryInfo){
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
loader = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
};
}
public function errorHandler(_arg1:ErrorEvent):void{
_error = true;
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = 0;
_local2.bytesTotal = 0;
_local2.errorText = _arg1.text;
dispatchEvent(_local2);
}
public function get ready():Boolean{
return ((limbo) ? false : _ready);
}
private function loadBytes(_arg1:ApplicationDomain, _arg2:ByteArray):void{
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in _local3)){
_local3["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.loadBytes(_arg2, _local3);
}
public function removeReference():void{
numReferences--;
if (numReferences == 0){
release();
};
}
public function addReference():void{
numReferences++;
}
public function progressHandler(_arg1:ProgressEvent):void{
var _local2:ModuleEvent = new ModuleEvent(ModuleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
public function load(_arg1:ApplicationDomain=null, _arg2:SecurityDomain=null, _arg3:ByteArray=null):void{
if (_loaded){
return;
};
_loaded = true;
limbo = null;
if (_arg3){
loadBytes(_arg1, _arg3);
return;
};
if (_url.indexOf("published://") == 0){
return;
};
var _local4:URLRequest = new URLRequest(_url);
var _local5:LoaderContext = new LoaderContext();
_local5.applicationDomain = (_arg1) ? _arg1 : new ApplicationDomain(ApplicationDomain.currentDomain);
_local5.securityDomain = _arg2;
if ((((_arg2 == null)) && ((Security.sandboxType == Security.REMOTE)))){
_local5.securityDomain = SecurityDomain.currentDomain;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(_local4, _local5);
}
public function get url():String{
return (_url);
}
public function get applicationDomain():ApplicationDomain{
return ((((!(limbo)) && (factoryInfo))) ? factoryInfo.applicationDomain : null);
}
public function moduleErrorHandler(_arg1:Event):void{
var _local2:ModuleEvent;
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
if ((_arg1 is ModuleEvent)){
_local2 = ModuleEvent(_arg1);
} else {
_local2 = new ModuleEvent(ModuleEvent.ERROR);
};
dispatchEvent(_local2);
}
public function readyHandler(_arg1:Event):void{
_ready = true;
factoryInfo.bytesTotal = loader.contentLoaderInfo.bytesTotal;
clearLoader();
dispatchEvent(new ModuleEvent(ModuleEvent.READY));
}
public function get setup():Boolean{
return ((limbo) ? false : _setup);
}
public function unload():void{
clearLoader();
if (_loaded){
dispatchEvent(new ModuleEvent(ModuleEvent.UNLOAD));
};
limbo = null;
factoryInfo = null;
_loaded = false;
_setup = false;
_ready = false;
_error = false;
}
}
class FactoryInfo {
public var bytesTotal:int;// = 0
public var factory:IFlexModuleFactory;
public var applicationDomain:ApplicationDomain;
private function FactoryInfo(){
}
}
Section 60
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
}
}//package mx.modules
Section 61
//IResourceBundle (mx.resources.IResourceBundle)
package mx.resources {
public interface IResourceBundle {
function get content():Object;
function get locale():String;
function get bundleName():String;
}
}//package mx.resources
Section 62
//IResourceManager (mx.resources.IResourceManager)
package mx.resources {
import flash.events.*;
import flash.system.*;
public interface IResourceManager extends IEventDispatcher {
function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean;
function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class;
function getLocales():Array;
function removeResourceBundlesForLocale(_arg1:String):void;
function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle;
function get localeChain():Array;
function getInt(_arg1:String, _arg2:String, _arg3:String=null):int;
function update():void;
function set localeChain(_arg1:Array):void;
function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint;
function addResourceBundle(_arg1:IResourceBundle):void;
function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array;
function getBundleNamesForLocale(_arg1:String):Array;
function removeResourceBundle(_arg1:String, _arg2:String):void;
function getObject(_arg1:String, _arg2:String, _arg3:String=null);
function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String;
function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void;
function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void;
function getPreferredLocaleChain():Array;
function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle;
function initializeLocaleChain(_arg1:Array):void;
function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number;
}
}//package mx.resources
Section 63
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 64
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
import mx.core.*;
public class LocaleSorter {
mx_internal static const VERSION:String = "3.3.0.4852";
private static function normalizeLocale(_arg1:String):String{
return (_arg1.toLowerCase().replace(/-/g, "_"));
}
public static function sortLocalesByPreference(_arg1:Array, _arg2:Array, _arg3:String=null, _arg4:Boolean=false):Array{
var result:Array;
var hasLocale:Object;
var i:int;
var j:int;
var k:int;
var l:int;
var locale:String;
var plocale:LocaleID;
var appLocales = _arg1;
var systemPreferences = _arg2;
var ultimateFallbackLocale = _arg3;
var addAll = _arg4;
var promote:Function = function (_arg1:String):void{
if (typeof(hasLocale[_arg1]) != "undefined"){
result.push(appLocales[hasLocale[_arg1]]);
delete hasLocale[_arg1];
};
};
result = [];
hasLocale = {};
var locales:Array = trimAndNormalize(appLocales);
var preferenceLocales:Array = trimAndNormalize(systemPreferences);
addUltimateFallbackLocale(preferenceLocales, ultimateFallbackLocale);
j = 0;
while (j < locales.length) {
hasLocale[locales[j]] = j;
j = (j + 1);
};
i = 0;
l = preferenceLocales.length;
while (i < l) {
plocale = LocaleID.fromString(preferenceLocales[i]);
promote(preferenceLocales[i]);
promote(plocale.toString());
while (plocale.transformToParent()) {
promote(plocale.toString());
};
plocale = LocaleID.fromString(preferenceLocales[i]);
j = 0;
while (j < l) {
locale = preferenceLocales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
j = 0;
k = locales.length;
while (j < k) {
locale = locales[j];
if (plocale.isSiblingOf(LocaleID.fromString(locale))){
promote(locale);
};
j = (j + 1);
};
i = (i + 1);
};
if (addAll){
j = 0;
k = locales.length;
while (j < k) {
promote(locales[j]);
j = (j + 1);
};
};
return (result);
}
private static function addUltimateFallbackLocale(_arg1:Array, _arg2:String):void{
var _local3:String;
if (((!((_arg2 == null))) && (!((_arg2 == ""))))){
_local3 = normalizeLocale(_arg2);
if (_arg1.indexOf(_local3) == -1){
_arg1.push(_local3);
};
};
}
private static function trimAndNormalize(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _arg1.length) {
_local2.push(normalizeLocale(_arg1[_local3]));
_local3++;
};
return (_local2);
}
}
}//package mx.resources
class LocaleID {
private var privateLangs:Boolean;// = false
private var script:String;// = ""
private var variants:Array;
private var privates:Array;
private var extensions:Object;
private var lang:String;// = ""
private var region:String;// = ""
private var extended_langs:Array;
public static const STATE_PRIMARY_LANGUAGE:int = 0;
public static const STATE_REGION:int = 3;
public static const STATE_EXTENDED_LANGUAGES:int = 1;
public static const STATE_EXTENSIONS:int = 5;
public static const STATE_SCRIPT:int = 2;
public static const STATE_VARIANTS:int = 4;
public static const STATE_PRIVATES:int = 6;
private function LocaleID(){
extended_langs = [];
variants = [];
extensions = {};
privates = [];
super();
}
public function equals(_arg1:LocaleID):Boolean{
return ((toString() == _arg1.toString()));
}
public function canonicalize():void{
var _local1:String;
for (_local1 in extensions) {
if (extensions.hasOwnProperty(_local1)){
if (extensions[_local1].length == 0){
delete extensions[_local1];
} else {
extensions[_local1] = extensions[_local1].sort();
};
};
};
extended_langs = extended_langs.sort();
variants = variants.sort();
privates = privates.sort();
if (script == ""){
script = LocaleRegistry.getScriptByLang(lang);
};
if ((((script == "")) && (!((region == ""))))){
script = LocaleRegistry.getScriptByLangAndRegion(lang, region);
};
if ((((region == "")) && (!((script == ""))))){
region = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
};
}
public function toString():String{
var _local2:String;
var _local1:Array = [lang];
Array.prototype.push.apply(_local1, extended_langs);
if (script != ""){
_local1.push(script);
};
if (region != ""){
_local1.push(region);
};
Array.prototype.push.apply(_local1, variants);
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1.push(_local2);
Array.prototype.push.apply(_local1, extensions[_local2]);
};
};
if (privates.length > 0){
_local1.push("x");
Array.prototype.push.apply(_local1, privates);
};
return (_local1.join("_"));
}
public function isSiblingOf(_arg1:LocaleID):Boolean{
return ((((lang == _arg1.lang)) && ((script == _arg1.script))));
}
public function transformToParent():Boolean{
var _local2:String;
var _local3:Array;
var _local4:String;
if (privates.length > 0){
privates.splice((privates.length - 1), 1);
return (true);
};
var _local1:String;
for (_local2 in extensions) {
if (extensions.hasOwnProperty(_local2)){
_local1 = _local2;
};
};
if (_local1){
_local3 = extensions[_local1];
if (_local3.length == 1){
delete extensions[_local1];
return (true);
};
_local3.splice((_local3.length - 1), 1);
return (true);
};
if (variants.length > 0){
variants.splice((variants.length - 1), 1);
return (true);
};
if (script != ""){
if (LocaleRegistry.getScriptByLang(lang) != ""){
script = "";
return (true);
};
if (region == ""){
_local4 = LocaleRegistry.getDefaultRegionForLangAndScript(lang, script);
if (_local4 != ""){
region = _local4;
script = "";
return (true);
};
};
};
if (region != ""){
if (!(((script == "")) && ((LocaleRegistry.getScriptByLang(lang) == "")))){
region = "";
return (true);
};
};
if (extended_langs.length > 0){
extended_langs.splice((extended_langs.length - 1), 1);
return (true);
};
return (false);
}
public static function fromString(_arg1:String):LocaleID{
var _local5:Array;
var _local8:String;
var _local9:int;
var _local10:String;
var _local2:LocaleID = new (LocaleID);
var _local3:int = STATE_PRIMARY_LANGUAGE;
var _local4:Array = _arg1.replace(/-/g, "_").split("_");
var _local6:int;
var _local7:int = _local4.length;
while (_local6 < _local7) {
_local8 = _local4[_local6].toLowerCase();
if (_local3 == STATE_PRIMARY_LANGUAGE){
if (_local8 == "x"){
_local2.privateLangs = true;
} else {
if (_local8 == "i"){
_local2.lang = (_local2.lang + "i-");
} else {
_local2.lang = (_local2.lang + _local8);
_local3 = STATE_EXTENDED_LANGUAGES;
};
};
} else {
_local9 = _local8.length;
if (_local9 == 0){
} else {
_local10 = _local8.charAt(0).toLowerCase();
if ((((_local3 <= STATE_EXTENDED_LANGUAGES)) && ((_local9 == 3)))){
_local2.extended_langs.push(_local8);
if (_local2.extended_langs.length == 3){
_local3 = STATE_SCRIPT;
};
} else {
if ((((_local3 <= STATE_SCRIPT)) && ((_local9 == 4)))){
_local2.script = _local8;
_local3 = STATE_REGION;
} else {
if ((((_local3 <= STATE_REGION)) && ((((_local9 == 2)) || ((_local9 == 3)))))){
_local2.region = _local8;
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 <= STATE_VARIANTS)) && ((((((((_local10 >= "a")) && ((_local10 <= "z")))) && ((_local9 >= 5)))) || ((((((_local10 >= "0")) && ((_local10 <= "9")))) && ((_local9 >= 4)))))))){
_local2.variants.push(_local8);
_local3 = STATE_VARIANTS;
} else {
if ((((_local3 < STATE_PRIVATES)) && ((_local9 == 1)))){
if (_local8 == "x"){
_local3 = STATE_PRIVATES;
_local5 = _local2.privates;
} else {
_local3 = STATE_EXTENSIONS;
_local5 = ((_local2.extensions[_local8]) || ([]));
_local2.extensions[_local8] = _local5;
};
} else {
if (_local3 >= STATE_EXTENSIONS){
_local5.push(_local8);
};
};
};
};
};
};
};
};
_local6++;
};
_local2.canonicalize();
return (_local2);
}
}
class LocaleRegistry {
private static const SCRIPT_ID_BY_LANG:Object = {ab:5, af:1, am:2, ar:3, as:4, ay:1, be:5, bg:5, bn:4, bs:1, ca:1, ch:1, cs:1, cy:1, da:1, de:1, dv:6, dz:7, el:8, en:1, eo:1, es:1, et:1, eu:1, fa:3, fi:1, fj:1, fo:1, fr:1, frr:1, fy:1, ga:1, gl:1, gn:1, gu:9, gv:1, he:10, hi:11, hr:1, ht:1, hu:1, hy:12, id:1, in:1, is:1, it:1, iw:10, ja:13, ka:14, kk:5, kl:1, km:15, kn:16, ko:17, la:1, lb:1, ln:1, lo:18, lt:1, lv:1, mg:1, mh:1, mk:5, ml:19, mo:1, mr:11, ms:1, mt:1, my:20, na:1, nb:1, nd:1, ne:11, nl:1, nn:1, no:1, nr:1, ny:1, om:1, or:21, pa:22, pl:1, ps:3, pt:1, qu:1, rn:1, ro:1, ru:5, rw:1, sg:1, si:23, sk:1, sl:1, sm:1, so:1, sq:1, ss:1, st:1, sv:1, sw:1, ta:24, te:25, th:26, ti:2, tl:1, tn:1, to:1, tr:1, ts:1, uk:5, ur:3, ve:1, vi:1, wo:1, xh:1, yi:10, zu:1, cpe:1, dsb:1, frs:1, gsw:1, hsb:1, kok:11, mai:11, men:1, nds:1, niu:1, nqo:27, nso:1, son:1, tem:1, tkl:1, tmh:1, tpi:1, tvl:1, zbl:28};
private static const SCRIPTS:Array = ["", "latn", "ethi", "arab", "beng", "cyrl", "thaa", "tibt", "grek", "gujr", "hebr", "deva", "armn", "jpan", "geor", "khmr", "knda", "kore", "laoo", "mlym", "mymr", "orya", "guru", "sinh", "taml", "telu", "thai", "nkoo", "blis", "hans", "hant", "mong", "syrc"];
private static const DEFAULT_REGION_BY_LANG_AND_SCRIPT:Object = {bg:{5:"bg"}, ca:{1:"es"}, zh:{30:"tw", 29:"cn"}, cs:{1:"cz"}, da:{1:"dk"}, de:{1:"de"}, el:{8:"gr"}, en:{1:"us"}, es:{1:"es"}, fi:{1:"fi"}, fr:{1:"fr"}, he:{10:"il"}, hu:{1:"hu"}, is:{1:"is"}, it:{1:"it"}, ja:{13:"jp"}, ko:{17:"kr"}, nl:{1:"nl"}, nb:{1:"no"}, pl:{1:"pl"}, pt:{1:"br"}, ro:{1:"ro"}, ru:{5:"ru"}, hr:{1:"hr"}, sk:{1:"sk"}, sq:{1:"al"}, sv:{1:"se"}, th:{26:"th"}, tr:{1:"tr"}, ur:{3:"pk"}, id:{1:"id"}, uk:{5:"ua"}, be:{5:"by"}, sl:{1:"si"}, et:{1:"ee"}, lv:{1:"lv"}, lt:{1:"lt"}, fa:{3:"ir"}, vi:{1:"vn"}, hy:{12:"am"}, az:{1:"az", 5:"az"}, eu:{1:"es"}, mk:{5:"mk"}, af:{1:"za"}, ka:{14:"ge"}, fo:{1:"fo"}, hi:{11:"in"}, ms:{1:"my"}, kk:{5:"kz"}, ky:{5:"kg"}, sw:{1:"ke"}, uz:{1:"uz", 5:"uz"}, tt:{5:"ru"}, pa:{22:"in"}, gu:{9:"in"}, ta:{24:"in"}, te:{25:"in"}, kn:{16:"in"}, mr:{11:"in"}, sa:{11:"in"}, mn:{5:"mn"}, gl:{1:"es"}, kok:{11:"in"}, syr:{32:"sy"}, dv:{6:"mv"}, nn:{1:"no"}, sr:{1:"cs", 5:"cs"}, cy:{1:"gb"}, mi:{1:"nz"}, mt:{1:"mt"}, quz:{1:"bo"}, tn:{1:"za"}, xh:{1:"za"}, zu:{1:"za"}, nso:{1:"za"}, se:{1:"no"}, smj:{1:"no"}, sma:{1:"no"}, sms:{1:"fi"}, smn:{1:"fi"}, bs:{1:"ba"}};
private static const SCRIPT_BY_ID:Object = {latn:1, ethi:2, arab:3, beng:4, cyrl:5, thaa:6, tibt:7, grek:8, gujr:9, hebr:10, deva:11, armn:12, jpan:13, geor:14, khmr:15, knda:16, kore:17, laoo:18, mlym:19, mymr:20, orya:21, guru:22, sinh:23, taml:24, telu:25, thai:26, nkoo:27, blis:28, hans:29, hant:30, mong:31, syrc:32};
private static const SCRIPT_ID_BY_LANG_AND_REGION:Object = {zh:{cn:29, sg:29, tw:30, hk:30, mo:30}, mn:{cn:31, sg:5}, pa:{pk:3, in:22}, ha:{gh:1, ne:1}};
private function LocaleRegistry(){
}
public static function getScriptByLangAndRegion(_arg1:String, _arg2:String):String{
var _local3:Object = SCRIPT_ID_BY_LANG_AND_REGION[_arg1];
if (_local3 == null){
return ("");
};
var _local4:Object = _local3[_arg2];
if (_local4 == null){
return ("");
};
return (SCRIPTS[int(_local4)].toLowerCase());
}
public static function getScriptByLang(_arg1:String):String{
var _local2:Object = SCRIPT_ID_BY_LANG[_arg1];
if (_local2 == null){
return ("");
};
return (SCRIPTS[int(_local2)].toLowerCase());
}
public static function getDefaultRegionForLangAndScript(_arg1:String, _arg2:String):String{
var _local3:Object = DEFAULT_REGION_BY_LANG_AND_SCRIPT[_arg1];
var _local4:Object = SCRIPT_BY_ID[_arg2];
if ((((_local3 == null)) || ((_local4 == null)))){
return ("");
};
return (((_local3[int(_local4)]) || ("")));
}
}
Section 65
//ResourceBundle (mx.resources.ResourceBundle)
package mx.resources {
import mx.core.*;
import flash.system.*;
import mx.utils.*;
public class ResourceBundle implements IResourceBundle {
mx_internal var _locale:String;
private var _content:Object;
mx_internal var _bundleName:String;
mx_internal static const VERSION:String = "3.3.0.4852";
mx_internal static var backupApplicationDomain:ApplicationDomain;
mx_internal static var locale:String;
public function ResourceBundle(_arg1:String=null, _arg2:String=null){
_content = {};
super();
mx_internal::_locale = _arg1;
mx_internal::_bundleName = _arg2;
_content = getContent();
}
protected function getContent():Object{
return ({});
}
public function getString(_arg1:String):String{
return (String(_getObject(_arg1)));
}
public function get content():Object{
return (_content);
}
public function getBoolean(_arg1:String, _arg2:Boolean=true):Boolean{
var _local3:String = _getObject(_arg1).toLowerCase();
if (_local3 == "false"){
return (false);
};
if (_local3 == "true"){
return (true);
};
return (_arg2);
}
public function getStringArray(_arg1:String):Array{
var _local2:Array = _getObject(_arg1).split(",");
var _local3:int = _local2.length;
var _local4:int;
while (_local4 < _local3) {
_local2[_local4] = StringUtil.trim(_local2[_local4]);
_local4++;
};
return (_local2);
}
public function getObject(_arg1:String):Object{
return (_getObject(_arg1));
}
private function _getObject(_arg1:String):Object{
var _local2:Object = content[_arg1];
if (!_local2){
throw (new Error(((("Key " + _arg1) + " was not found in resource bundle ") + bundleName)));
};
return (_local2);
}
public function get locale():String{
return (mx_internal::_locale);
}
public function get bundleName():String{
return (mx_internal::_bundleName);
}
public function getNumber(_arg1:String):Number{
return (Number(_getObject(_arg1)));
}
private static function getClassByName(_arg1:String, _arg2:ApplicationDomain):Class{
var _local3:Class;
if (_arg2.hasDefinition(_arg1)){
_local3 = (_arg2.getDefinition(_arg1) as Class);
};
return (_local3);
}
public static function getResourceBundle(_arg1:String, _arg2:ApplicationDomain=null):ResourceBundle{
var _local3:String;
var _local4:Class;
var _local5:Object;
var _local6:ResourceBundle;
if (!_arg2){
_arg2 = ApplicationDomain.currentDomain;
};
_local3 = (((mx_internal::locale + "$") + _arg1) + "_properties");
_local4 = getClassByName(_local3, _arg2);
if (!_local4){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, _arg2);
};
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, _arg2);
};
if (((!(_local4)) && (mx_internal::backupApplicationDomain))){
_local3 = (_arg1 + "_properties");
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
if (!_local4){
_local3 = _arg1;
_local4 = getClassByName(_local3, mx_internal::backupApplicationDomain);
};
};
if (_local4){
_local5 = new (_local4);
if ((_local5 is ResourceBundle)){
_local6 = ResourceBundle(_local5);
return (_local6);
};
};
throw (new Error(("Could not find resource bundle " + _arg1)));
}
}
}//package mx.resources
Section 66
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.3.0.4852";
private static var implClassDependency:ResourceManagerImpl;
private static var instance:IResourceManager;
public static function getInstance():IResourceManager{
if (!instance){
try {
instance = IResourceManager(Singleton.getInstance("mx.resources::IResourceManager"));
} catch(e:Error) {
instance = new ResourceManagerImpl();
};
};
return (instance);
}
}
}//package mx.resources
Section 67
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import flash.utils.*;
import mx.modules.*;
import mx.events.*;
import mx.utils.*;
public class ResourceManagerImpl extends EventDispatcher implements IResourceManager {
private var resourceModules:Object;
private var initializedForNonFrameworkApp:Boolean;// = false
private var localeMap:Object;
private var _localeChain:Array;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var instance:IResourceManager;
public function ResourceManagerImpl(){
localeMap = {};
resourceModules = {};
super();
}
public function get localeChain():Array{
return (_localeChain);
}
public function set localeChain(_arg1:Array):void{
_localeChain = _arg1;
update();
}
public function getStringArray(_arg1:String, _arg2:String, _arg3:String=null):Array{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
var _local6:Array = String(_local5).split(",");
var _local7:int = _local6.length;
var _local8:int;
while (_local8 < _local7) {
_local6[_local8] = StringUtil.trim(_local6[_local8]);
_local8++;
};
return (_local6);
}
mx_internal function installCompiledResourceBundle(_arg1:ApplicationDomain, _arg2:String, _arg3:String):void{
var _local4:String;
var _local5:String = _arg3;
var _local6:int = _arg3.indexOf(":");
if (_local6 != -1){
_local4 = _arg3.substring(0, _local6);
_local5 = _arg3.substring((_local6 + 1));
};
if (getResourceBundle(_arg2, _arg3)){
return;
};
var _local7 = (((_arg2 + "$") + _local5) + "_properties");
if (_local4 != null){
_local7 = ((_local4 + ".") + _local7);
};
var _local8:Class;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
if (!_local8){
_local7 = _arg3;
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
_local7 = (_arg3 + "_properties");
if (_arg1.hasDefinition(_local7)){
_local8 = Class(_arg1.getDefinition(_local7));
};
};
if (!_local8){
throw (new Error((((("Could not find compiled resource bundle '" + _arg3) + "' for locale '") + _arg2) + "'.")));
};
var _local9:ResourceBundle = ResourceBundle(new (_local8));
_local9.mx_internal::_locale = _arg2;
_local9.mx_internal::_bundleName = _arg3;
addResourceBundle(_local9);
}
public function getString(_arg1:String, _arg2:String, _arg3:Array=null, _arg4:String=null):String{
var _local5:IResourceBundle = findBundle(_arg1, _arg2, _arg4);
if (!_local5){
return (null);
};
var _local6:String = String(_local5.content[_arg2]);
if (_arg3){
_local6 = StringUtil.substitute(_local6, _arg3);
};
return (_local6);
}
public function loadResourceModule(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var moduleInfo:IModuleInfo;
var resourceEventDispatcher:ResourceEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var updateFlag = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
moduleInfo = ModuleManager.getModule(url);
resourceEventDispatcher = new ResourceEventDispatcher(moduleInfo);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:* = _arg1.module.factory.create();
resourceModules[_arg1.module.url].resourceModule = _local2;
if (updateFlag){
update();
};
};
moduleInfo.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:ResourceEvent;
var _local2:String = ("Unable to load resource module from " + url);
if (resourceEventDispatcher.willTrigger(ResourceEvent.ERROR)){
_local3 = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
resourceEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
moduleInfo.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
resourceModules[url] = new ResourceModuleInfo(moduleInfo, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
moduleInfo.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (resourceEventDispatcher);
}
public function getLocales():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in localeMap) {
_local1.push(_local2);
};
return (_local1);
}
public function removeResourceBundlesForLocale(_arg1:String):void{
delete localeMap[_arg1];
}
public function getResourceBundle(_arg1:String, _arg2:String):IResourceBundle{
var _local3:Object = localeMap[_arg1];
if (!_local3){
return (null);
};
return (_local3[_arg2]);
}
private function dumpResourceModule(_arg1):void{
var _local2:ResourceBundle;
var _local3:String;
for each (_local2 in _arg1.resourceBundles) {
trace(_local2.locale, _local2.bundleName);
for (_local3 in _local2.content) {
};
};
}
public function addResourceBundle(_arg1:IResourceBundle):void{
var _local2:String = _arg1.locale;
var _local3:String = _arg1.bundleName;
if (!localeMap[_local2]){
localeMap[_local2] = {};
};
localeMap[_local2][_local3] = _arg1;
}
public function getObject(_arg1:String, _arg2:String, _arg3:String=null){
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (undefined);
};
return (_local4.content[_arg2]);
}
public function getInt(_arg1:String, _arg2:String, _arg3:String=null):int{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (int(_local5));
}
private function findBundle(_arg1:String, _arg2:String, _arg3:String):IResourceBundle{
supportNonFrameworkApps();
return (((_arg3)!=null) ? getResourceBundle(_arg3, _arg1) : findResourceBundleWithResource(_arg1, _arg2));
}
private function supportNonFrameworkApps():void{
if (initializedForNonFrameworkApp){
return;
};
initializedForNonFrameworkApp = true;
if (getLocales().length > 0){
return;
};
var _local1:ApplicationDomain = ApplicationDomain.currentDomain;
if (!_local1.hasDefinition("_CompiledResourceBundleInfo")){
return;
};
var _local2:Class = Class(_local1.getDefinition("_CompiledResourceBundleInfo"));
var _local3:Array = _local2.compiledLocales;
var _local4:Array = _local2.compiledResourceBundleNames;
installCompiledResourceBundles(_local1, _local3, _local4);
localeChain = _local3;
}
public function getBundleNamesForLocale(_arg1:String):Array{
var _local3:String;
var _local2:Array = [];
for (_local3 in localeMap[_arg1]) {
_local2.push(_local3);
};
return (_local2);
}
public function getPreferredLocaleChain():Array{
return (LocaleSorter.sortLocalesByPreference(getLocales(), getSystemPreferredLocales(), null, true));
}
public function getNumber(_arg1:String, _arg2:String, _arg3:String=null):Number{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (NaN);
};
var _local5:* = _local4.content[_arg2];
return (Number(_local5));
}
public function update():void{
dispatchEvent(new Event(Event.CHANGE));
}
public function getClass(_arg1:String, _arg2:String, _arg3:String=null):Class{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (null);
};
var _local5:* = _local4.content[_arg2];
return ((_local5 as Class));
}
public function removeResourceBundle(_arg1:String, _arg2:String):void{
delete localeMap[_arg1][_arg2];
if (getBundleNamesForLocale(_arg1).length == 0){
delete localeMap[_arg1];
};
}
public function initializeLocaleChain(_arg1:Array):void{
localeChain = LocaleSorter.sortLocalesByPreference(_arg1, getSystemPreferredLocales(), null, true);
}
public function findResourceBundleWithResource(_arg1:String, _arg2:String):IResourceBundle{
var _local5:String;
var _local6:Object;
var _local7:ResourceBundle;
if (!_localeChain){
return (null);
};
var _local3:int = _localeChain.length;
var _local4:int;
while (_local4 < _local3) {
_local5 = localeChain[_local4];
_local6 = localeMap[_local5];
if (!_local6){
} else {
_local7 = _local6[_arg1];
if (!_local7){
} else {
if ((_arg2 in _local7.content)){
return (_local7);
};
};
};
_local4++;
};
return (null);
}
public function getUint(_arg1:String, _arg2:String, _arg3:String=null):uint{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (0);
};
var _local5:* = _local4.content[_arg2];
return (uint(_local5));
}
private function getSystemPreferredLocales():Array{
var _local1:Array;
if (Capabilities["languages"]){
_local1 = Capabilities["languages"];
} else {
_local1 = [Capabilities.language];
};
return (_local1);
}
public function installCompiledResourceBundles(_arg1:ApplicationDomain, _arg2:Array, _arg3:Array):void{
var _local7:String;
var _local8:int;
var _local9:String;
var _local4:int = (_arg2) ? _arg2.length : 0;
var _local5:int = (_arg3) ? _arg3.length : 0;
var _local6:int;
while (_local6 < _local4) {
_local7 = _arg2[_local6];
_local8 = 0;
while (_local8 < _local5) {
_local9 = _arg3[_local8];
mx_internal::installCompiledResourceBundle(_arg1, _local7, _local9);
_local8++;
};
_local6++;
};
}
public function getBoolean(_arg1:String, _arg2:String, _arg3:String=null):Boolean{
var _local4:IResourceBundle = findBundle(_arg1, _arg2, _arg3);
if (!_local4){
return (false);
};
var _local5:* = _local4.content[_arg2];
return ((String(_local5).toLowerCase() == "true"));
}
public function unloadResourceModule(_arg1:String, _arg2:Boolean=true):void{
throw (new Error("unloadResourceModule() is not yet implemented."));
}
public static function getInstance():IResourceManager{
if (!instance){
instance = new (ResourceManagerImpl);
};
return (instance);
}
}
}//package mx.resources
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class ResourceModuleInfo {
public var resourceModule:IResourceModule;
public var errorHandler:Function;
public var readyHandler:Function;
public var moduleInfo:IModuleInfo;
private function ResourceModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.moduleInfo = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
class ResourceEventDispatcher extends EventDispatcher {
private function ResourceEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:ResourceEvent = new ResourceEvent(ResourceEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
Section 68
//HaloBorder (mx.skins.halo.HaloBorder)
package mx.skins.halo {
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import mx.skins.*;
import mx.graphics.*;
import mx.utils.*;
public class HaloBorder extends RectangularBorder {
mx_internal var radiusObj:Object;
mx_internal var backgroundHole:Object;
mx_internal var radius:Number;
mx_internal var bRoundedCorners:Boolean;
mx_internal var backgroundColor:Object;
private var dropShadow:RectangularDropShadow;
protected var _borderMetrics:EdgeMetrics;
mx_internal var backgroundAlphaName:String;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var BORDER_WIDTHS:Object = {none:0, solid:1, inset:2, outset:2, alert:3, dropdown:2, menuBorder:1, comboNonEdit:2};
public function HaloBorder(){
BORDER_WIDTHS["default"] = 3;
}
override public function styleChanged(_arg1:String):void{
if ((((((((((_arg1 == null)) || ((_arg1 == "styleName")))) || ((_arg1 == "borderStyle")))) || ((_arg1 == "borderThickness")))) || ((_arg1 == "borderSides")))){
_borderMetrics = null;
};
invalidateDisplayList();
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
if (((isNaN(_arg1)) || (isNaN(_arg2)))){
return;
};
super.updateDisplayList(_arg1, _arg2);
backgroundColor = getBackgroundColor();
bRoundedCorners = false;
backgroundAlphaName = "backgroundAlpha";
backgroundHole = null;
radius = 0;
radiusObj = null;
drawBorder(_arg1, _arg2);
drawBackground(_arg1, _arg2);
}
mx_internal function drawBorder(_arg1:Number, _arg2:Number):void{
var _local5:Number;
var _local6:uint;
var _local7:uint;
var _local8:String;
var _local9:Number;
var _local10:uint;
var _local11:Boolean;
var _local12:uint;
var _local13:Array;
var _local14:Array;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
var _local19:Boolean;
var _local20:Object;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Object;
var _local27:Number;
var _local28:Number;
var _local29:IContainer;
var _local30:EdgeMetrics;
var _local31:Boolean;
var _local32:Number;
var _local33:Array;
var _local34:uint;
var _local35:Boolean;
var _local36:Number;
var _local3:String = getStyle("borderStyle");
var _local4:Array = getStyle("highlightAlphas");
var _local21:Boolean;
var _local26:Graphics = graphics;
_local26.clear();
if (_local3){
switch (_local3){
case "none":
break;
case "inset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, 25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local22, _local24, Number(_local25), Number(_local25), Number(_local25));
break;
case "outset":
_local7 = getStyle("borderColor");
_local22 = ColorUtil.adjustBrightness2(_local7, -40);
_local23 = ColorUtil.adjustBrightness2(_local7, -25);
_local24 = ColorUtil.adjustBrightness2(_local7, 40);
_local25 = backgroundColor;
if ((((_local25 === null)) || ((_local25 === "")))){
_local25 = _local7;
};
draw3dBorder(_local23, _local24, _local22, Number(_local25), Number(_local25), Number(_local25));
break;
case "alert":
case "default":
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_local27 = getStyle("backgroundAlpha");
_local5 = getStyle("borderAlpha");
backgroundAlphaName = "borderAlpha";
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local28 = (bRoundedCorners) ? radius : 0;
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, _local28, _local28);
if (!bRoundedCorners){
radiusObj = {};
};
_local29 = (parent as IContainer);
if (_local29){
_local30 = _local29.viewMetrics;
backgroundHole = {x:_local30.left, y:_local30.top, w:Math.max(0, ((_arg1 - _local30.left) - _local30.right)), h:Math.max(0, ((_arg2 - _local30.top) - _local30.bottom)), r:0};
if ((((backgroundHole.w > 0)) && ((backgroundHole.h > 0)))){
if (_local27 != _local5){
drawDropShadow(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h, 0, 0, 0, 0);
};
_local26.beginFill(Number(backgroundColor), _local27);
_local26.drawRect(backgroundHole.x, backgroundHole.y, backgroundHole.w, backgroundHole.h);
_local26.endFill();
};
};
backgroundColor = getStyle("borderColor");
};
break;
case "dropdown":
_local12 = getStyle("dropdownBorderColor");
drawDropShadow(0, 0, _arg1, _arg2, 4, 0, 0, 4);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, 5068126, 1);
drawRoundRect(0, 0, _arg1, _arg2, {tl:4, tr:0, br:0, bl:4}, [0xFFFFFF, 0xFFFFFF], [0.7, 0], verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
if (!isNaN(_local12)){
drawRoundRect(0, 0, (_arg1 + 1), _arg2, {tl:4, tr:0, br:0, bl:4}, _local12, 0.5);
drawRoundRect(1, 1, (_arg1 - 1), (_arg2 - 2), {tl:3, tr:0, br:0, bl:3}, 0xFFFFFF, 1);
drawRoundRect(1, 2, (_arg1 - 1), (_arg2 - 3), {tl:3, tr:0, br:0, bl:3}, [0xEEEEEE, 0xFFFFFF], 1, verticalGradientMatrix(0, 0, (_arg1 - 1), (_arg2 - 3)));
};
backgroundColor = null;
break;
case "menuBorder":
_local7 = getStyle("borderColor");
drawRoundRect(0, 0, _arg1, _arg2, 0, _local7, 1);
drawDropShadow(1, 1, (_arg1 - 2), (_arg2 - 2), 0, 0, 0, 0);
break;
case "comboNonEdit":
break;
case "controlBar":
if ((((_arg1 == 0)) || ((_arg2 == 0)))){
backgroundColor = null;
break;
};
_local14 = getStyle("footerColors");
_local31 = !((_local14 == null));
_local32 = getStyle("borderAlpha");
if (_local31){
_local26.lineStyle(0, ((_local14.length > 0)) ? _local14[1] : _local14[0], _local32);
_local26.moveTo(0, 0);
_local26.lineTo(_arg1, 0);
_local26.lineStyle(0, 0, 0);
if (((((parent) && (parent.parent))) && ((parent.parent is IStyleClient)))){
radius = IStyleClient(parent.parent).getStyle("cornerRadius");
_local32 = IStyleClient(parent.parent).getStyle("borderAlpha");
};
if (isNaN(radius)){
radius = 0;
};
if (IStyleClient(parent.parent).getStyle("roundedBottomCorners").toString().toLowerCase() != "true"){
radius = 0;
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
if ((((_local14.length > 1)) && (!((_local14[0] == _local14[1]))))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:0, tr:0, bl:radius, br:radius}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(1, 2, (_arg1 - 2), (_arg2 - 3), {tl:0, tr:0, bl:(radius - 1), br:(radius - 1)}, _local14, _local32, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
};
backgroundColor = null;
break;
case "applicationControlBar":
_local13 = getStyle("fillColors");
_local5 = getStyle("backgroundAlpha");
_local4 = getStyle("highlightAlphas");
_local33 = getStyle("fillAlphas");
_local11 = getStyle("docked");
_local34 = uint(backgroundColor);
radius = getStyle("cornerRadius");
if (!radius){
radius = 0;
};
drawDropShadow(0, 1, _arg1, (_arg2 - 1), radius, radius, radius, radius);
if (((!((backgroundColor === null))) && (StyleManager.isValidStyleValue(backgroundColor)))){
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local34, _local5, verticalGradientMatrix(0, 0, _arg1, _arg2));
};
drawRoundRect(0, 1, _arg1, (_arg2 - 1), radius, _local13, _local33, verticalGradientMatrix(0, 0, _arg1, _arg2));
drawRoundRect(0, 1, _arg1, ((_arg2 / 2) - 1), {tl:radius, tr:radius, bl:0, br:0}, [0xFFFFFF, 0xFFFFFF], _local4, verticalGradientMatrix(0, 0, _arg1, ((_arg2 / 2) - 1)));
drawRoundRect(0, 1, _arg1, (_arg2 - 1), {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, 0.3, null, GradientType.LINEAR, null, {x:0, y:2, w:_arg1, h:(_arg2 - 2), r:{tl:radius, tr:radius, bl:0, br:0}});
backgroundColor = null;
break;
default:
_local7 = getStyle("borderColor");
_local9 = getStyle("borderThickness");
_local8 = getStyle("borderSides");
_local35 = true;
radius = getStyle("cornerRadius");
bRoundedCorners = (getStyle("roundedBottomCorners").toString().toLowerCase() == "true");
_local36 = Math.max((radius - _local9), 0);
_local20 = {x:_local9, y:_local9, w:(_arg1 - (_local9 * 2)), h:(_arg2 - (_local9 * 2)), r:_local36};
if (!bRoundedCorners){
radiusObj = {tl:radius, tr:radius, bl:0, br:0};
_local20.r = {tl:_local36, tr:_local36, bl:0, br:0};
};
if (_local8 != "left top right bottom"){
_local20.r = {tl:_local36, tr:_local36, bl:(bRoundedCorners) ? _local36 : 0, br:(bRoundedCorners) ? _local36 : 0};
radiusObj = {tl:radius, tr:radius, bl:(bRoundedCorners) ? radius : 0, br:(bRoundedCorners) ? radius : 0};
_local8 = _local8.toLowerCase();
if (_local8.indexOf("left") == -1){
_local20.x = 0;
_local20.w = (_local20.w + _local9);
_local20.r.tl = 0;
_local20.r.bl = 0;
radiusObj.tl = 0;
radiusObj.bl = 0;
_local35 = false;
};
if (_local8.indexOf("top") == -1){
_local20.y = 0;
_local20.h = (_local20.h + _local9);
_local20.r.tl = 0;
_local20.r.tr = 0;
radiusObj.tl = 0;
radiusObj.tr = 0;
_local35 = false;
};
if (_local8.indexOf("right") == -1){
_local20.w = (_local20.w + _local9);
_local20.r.tr = 0;
_local20.r.br = 0;
radiusObj.tr = 0;
radiusObj.br = 0;
_local35 = false;
};
if (_local8.indexOf("bottom") == -1){
_local20.h = (_local20.h + _local9);
_local20.r.bl = 0;
_local20.r.br = 0;
radiusObj.bl = 0;
radiusObj.br = 0;
_local35 = false;
};
};
if ((((radius == 0)) && (_local35))){
drawDropShadow(0, 0, _arg1, _arg2, 0, 0, 0, 0);
_local26.beginFill(_local7);
_local26.drawRect(0, 0, _arg1, _arg2);
_local26.drawRect(_local9, _local9, (_arg1 - (2 * _local9)), (_arg2 - (2 * _local9)));
_local26.endFill();
} else {
if (radiusObj){
drawDropShadow(0, 0, _arg1, _arg2, radiusObj.tl, radiusObj.tr, radiusObj.br, radiusObj.bl);
drawRoundRect(0, 0, _arg1, _arg2, radiusObj, _local7, 1, null, null, null, _local20);
radiusObj.tl = Math.max((radius - _local9), 0);
radiusObj.tr = Math.max((radius - _local9), 0);
radiusObj.bl = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
radiusObj.br = (bRoundedCorners) ? Math.max((radius - _local9), 0) : 0;
} else {
drawDropShadow(0, 0, _arg1, _arg2, radius, radius, radius, radius);
drawRoundRect(0, 0, _arg1, _arg2, radius, _local7, 1, null, null, null, _local20);
radius = Math.max((getStyle("cornerRadius") - _local9), 0);
};
};
};
};
}
mx_internal function drawBackground(_arg1:Number, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:EdgeMetrics;
var _local7:Graphics;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Number;
if (((((((!((backgroundColor === null))) && (!((backgroundColor === ""))))) || (getStyle("mouseShield")))) || (getStyle("mouseShieldChildren")))){
_local4 = Number(backgroundColor);
_local5 = 1;
_local6 = getBackgroundColorMetrics();
_local7 = graphics;
if (((((isNaN(_local4)) || ((backgroundColor === "")))) || ((backgroundColor === null)))){
_local5 = 0;
_local4 = 0xFFFFFF;
} else {
_local5 = getStyle(backgroundAlphaName);
};
if (((!((radius == 0))) || (backgroundHole))){
_local8 = _local6.bottom;
if (radiusObj){
_local9 = (bRoundedCorners) ? radius : 0;
radiusObj = {tl:radius, tr:radius, bl:_local9, br:_local9};
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radiusObj, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
} else {
drawRoundRect(_local6.left, _local6.top, (width - (_local6.left + _local6.right)), (height - (_local6.top + _local8)), radius, _local4, _local5, null, GradientType.LINEAR, null, backgroundHole);
};
} else {
_local7.beginFill(_local4, _local5);
_local7.drawRect(_local6.left, _local6.top, ((_arg1 - _local6.right) - _local6.left), ((_arg2 - _local6.bottom) - _local6.top));
_local7.endFill();
};
};
var _local3:String = getStyle("borderStyle");
if ((((((FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)) && ((((_local3 == "alert")) || ((_local3 == "default")))))) && ((getStyle("headerColors") == null)))){
_local10 = getStyle("highlightAlphas");
_local11 = (_local10) ? _local10[0] : 0.3;
drawRoundRect(0, 0, _arg1, _arg2, {tl:radius, tr:radius, bl:0, br:0}, 0xFFFFFF, _local11, null, GradientType.LINEAR, null, {x:0, y:1, w:_arg1, h:(_arg2 - 1), r:{tl:radius, tr:radius, bl:0, br:0}});
};
}
mx_internal function drawDropShadow(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{
var _local11:Number;
var _local12:Boolean;
if ((((((((getStyle("dropShadowEnabled") == false)) || ((getStyle("dropShadowEnabled") == "false")))) || ((_arg3 == 0)))) || ((_arg4 == 0)))){
return;
};
var _local9:Number = getStyle("shadowDistance");
var _local10:String = getStyle("shadowDirection");
if (getStyle("borderStyle") == "applicationControlBar"){
_local12 = getStyle("docked");
_local11 = (_local12) ? 90 : getDropShadowAngle(_local9, _local10);
_local9 = Math.abs(_local9);
} else {
_local11 = getDropShadowAngle(_local9, _local10);
_local9 = (Math.abs(_local9) + 2);
};
if (!dropShadow){
dropShadow = new RectangularDropShadow();
};
dropShadow.distance = _local9;
dropShadow.angle = _local11;
dropShadow.color = getStyle("dropShadowColor");
dropShadow.alpha = 0.4;
dropShadow.tlRadius = _arg5;
dropShadow.trRadius = _arg6;
dropShadow.blRadius = _arg8;
dropShadow.brRadius = _arg7;
dropShadow.drawShadow(graphics, _arg1, _arg2, _arg3, _arg4);
}
mx_internal function getBackgroundColor():Object{
var _local2:Object;
var _local1:IUIComponent = (parent as IUIComponent);
if (((_local1) && (!(_local1.enabled)))){
_local2 = getStyle("backgroundDisabledColor");
if (((!((_local2 === null))) && (StyleManager.isValidStyleValue(_local2)))){
return (_local2);
};
};
return (getStyle("backgroundColor"));
}
mx_internal function draw3dBorder(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = width;
var _local8:Number = height;
drawDropShadow(0, 0, width, height, 0, 0, 0, 0);
var _local9:Graphics = graphics;
_local9.beginFill(_arg1);
_local9.drawRect(0, 0, _local7, _local8);
_local9.drawRect(1, 0, (_local7 - 2), _local8);
_local9.endFill();
_local9.beginFill(_arg2);
_local9.drawRect(1, 0, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg3);
_local9.drawRect(1, (_local8 - 1), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg4);
_local9.drawRect(1, 1, (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg5);
_local9.drawRect(1, (_local8 - 2), (_local7 - 2), 1);
_local9.endFill();
_local9.beginFill(_arg6);
_local9.drawRect(1, 2, (_local7 - 2), (_local8 - 4));
_local9.drawRect(2, 2, (_local7 - 4), (_local8 - 4));
_local9.endFill();
}
mx_internal function getBackgroundColorMetrics():EdgeMetrics{
return (borderMetrics);
}
mx_internal function getDropShadowAngle(_arg1:Number, _arg2:String):Number{
if (_arg2 == "left"){
return (((_arg1 >= 0)) ? 135 : 225);
//unresolved jump
};
if (_arg2 == "right"){
return (((_arg1 >= 0)) ? 45 : 315);
//unresolved jump
};
return (((_arg1 >= 0)) ? 90 : 270);
}
override public function get borderMetrics():EdgeMetrics{
var _local1:Number;
var _local3:String;
if (_borderMetrics){
return (_borderMetrics);
};
var _local2:String = getStyle("borderStyle");
if ((((_local2 == "default")) || ((_local2 == "alert")))){
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
_borderMetrics = new EdgeMetrics(0, 0, 0, 0);
} else {
return (EdgeMetrics.EMPTY);
};
} else {
if ((((_local2 == "controlBar")) || ((_local2 == "applicationControlBar")))){
_borderMetrics = new EdgeMetrics(1, 1, 1, 1);
} else {
if (_local2 == "solid"){
_local1 = getStyle("borderThickness");
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
_local3 = getStyle("borderSides");
if (_local3 != "left top right bottom"){
if (_local3.indexOf("left") == -1){
_borderMetrics.left = 0;
};
if (_local3.indexOf("top") == -1){
_borderMetrics.top = 0;
};
if (_local3.indexOf("right") == -1){
_borderMetrics.right = 0;
};
if (_local3.indexOf("bottom") == -1){
_borderMetrics.bottom = 0;
};
};
} else {
_local1 = BORDER_WIDTHS[_local2];
if (isNaN(_local1)){
_local1 = 0;
};
_borderMetrics = new EdgeMetrics(_local1, _local1, _local1, _local1);
};
};
};
return (_borderMetrics);
}
}
}//package mx.skins.halo
Section 69
//HaloFocusRect (mx.skins.halo.HaloFocusRect)
package mx.skins.halo {
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import mx.skins.*;
import mx.utils.*;
public class HaloFocusRect extends ProgrammaticSkin implements IStyleClient {
private var _focusColor:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
public function get inheritingStyles():Object{
return (styleName.inheritingStyles);
}
public function set inheritingStyles(_arg1:Object):void{
}
public function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void{
}
public function registerEffects(_arg1:Array):void{
}
public function regenerateStyleCache(_arg1:Boolean):void{
}
public function get styleDeclaration():CSSStyleDeclaration{
return (CSSStyleDeclaration(styleName));
}
public function getClassStyleDeclarations():Array{
return ([]);
}
public function get className():String{
return ("HaloFocusRect");
}
public function clearStyle(_arg1:String):void{
if (_arg1 == "focusColor"){
_focusColor = NaN;
};
}
public function setStyle(_arg1:String, _arg2):void{
if (_arg1 == "focusColor"){
_focusColor = _arg2;
};
}
public function set nonInheritingStyles(_arg1:Object):void{
}
public function get nonInheritingStyles():Object{
return (styleName.nonInheritingStyles);
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
super.updateDisplayList(_arg1, _arg2);
var _local3:String = getStyle("focusBlendMode");
var _local4:Number = getStyle("focusAlpha");
var _local5:Number = getStyle("focusColor");
var _local6:Number = getStyle("cornerRadius");
var _local7:Number = getStyle("focusThickness");
var _local8:String = getStyle("focusRoundedCorners");
var _local9:Number = getStyle("themeColor");
var _local10:Number = _local5;
if (isNaN(_local10)){
_local10 = _local9;
};
var _local11:Graphics = graphics;
_local11.clear();
if (_local3){
blendMode = _local3;
};
if (((!((_local8 == "tl tr bl br"))) && ((_local6 > 0)))){
_local12 = 0;
_local13 = 0;
_local14 = 0;
_local15 = 0;
_local16 = (_local6 + _local7);
if (_local8.indexOf("tl") >= 0){
_local12 = _local16;
};
if (_local8.indexOf("tr") >= 0){
_local14 = _local16;
};
if (_local8.indexOf("bl") >= 0){
_local13 = _local16;
};
if (_local8.indexOf("br") >= 0){
_local15 = _local16;
};
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, 0, 0, _arg1, _arg2, _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
_local16 = (_local6 + (_local7 / 2));
_local12 = (_local12) ? _local16 : 0;
_local14 = (_local14) ? _local16 : 0;
_local13 = (_local13) ? _local16 : 0;
_local15 = (_local15) ? _local16 : 0;
_local11.beginFill(_local10, _local4);
GraphicsUtil.drawRoundRectComplex(_local11, (_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local12, _local14, _local13, _local15);
_local12 = (_local12) ? _local6 : 0;
_local14 = (_local14) ? _local6 : 0;
_local13 = (_local13) ? _local6 : 0;
_local15 = (_local15) ? _local6 : 0;
GraphicsUtil.drawRoundRectComplex(_local11, _local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local12, _local14, _local13, _local15);
_local11.endFill();
} else {
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + _local7) : 0 * 2);
_local11.drawRoundRect(0, 0, _arg1, _arg2, _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
_local11.beginFill(_local10, _local4);
_local17 = (((_local6 > 0)) ? (_local6 + (_local7 / 2)) : 0 * 2);
_local11.drawRoundRect((_local7 / 2), (_local7 / 2), (_arg1 - _local7), (_arg2 - _local7), _local17, _local17);
_local17 = (_local6 * 2);
_local11.drawRoundRect(_local7, _local7, (_arg1 - (2 * _local7)), (_arg2 - (2 * _local7)), _local17, _local17);
_local11.endFill();
};
}
override public function getStyle(_arg1:String){
return (((_arg1 == "focusColor")) ? _focusColor : super.getStyle(_arg1));
}
public function set styleDeclaration(_arg1:CSSStyleDeclaration):void{
}
}
}//package mx.skins.halo
Section 70
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.3.0.4852";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 71
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import flash.geom.*;
import mx.managers.*;
import mx.utils.*;
public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient, IProgrammaticSkin {
private var _initialized:Boolean;// = false
private var _height:Number;
private var invalidateDisplayListFlag:Boolean;// = false
private var _styleName:IStyleClient;
private var _nestLevel:int;// = 0
private var _processedDescriptors:Boolean;// = false
private var _updateCompletePendingFlag:Boolean;// = true
private var _width:Number;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var tempMatrix:Matrix = new Matrix();
public function ProgrammaticSkin(){
_width = measuredWidth;
_height = measuredHeight;
}
public function getStyle(_arg1:String){
return ((_styleName) ? _styleName.getStyle(_arg1) : null);
}
protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
}
public function get nestLevel():int{
return (_nestLevel);
}
public function set nestLevel(_arg1:int):void{
_nestLevel = _arg1;
invalidateDisplayList();
}
override public function get height():Number{
return (_height);
}
public function get updateCompletePendingFlag():Boolean{
return (_updateCompletePendingFlag);
}
protected function verticalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 90));
}
public function validateSize(_arg1:Boolean=false):void{
}
public function invalidateDisplayList():void{
if (((!(invalidateDisplayListFlag)) && ((nestLevel > 0)))){
invalidateDisplayListFlag = true;
UIComponentGlobals.layoutManager.invalidateDisplayList(this);
};
}
public function set updateCompletePendingFlag(_arg1:Boolean):void{
_updateCompletePendingFlag = _arg1;
}
protected function horizontalGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Matrix{
return (rotatedGradientMatrix(_arg1, _arg2, _arg3, _arg4, 0));
}
override public function set height(_arg1:Number):void{
_height = _arg1;
invalidateDisplayList();
}
public function set processedDescriptors(_arg1:Boolean):void{
_processedDescriptors = _arg1;
}
public function validateDisplayList():void{
invalidateDisplayListFlag = false;
updateDisplayList(width, height);
}
public function get measuredWidth():Number{
return (0);
}
override public function set width(_arg1:Number):void{
_width = _arg1;
invalidateDisplayList();
}
public function get measuredHeight():Number{
return (0);
}
public function set initialized(_arg1:Boolean):void{
_initialized = _arg1;
}
protected function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null, _arg6:Object=null, _arg7:Object=null, _arg8:Matrix=null, _arg9:String="linear", _arg10:Array=null, _arg11:Object=null):void{
var _local13:Number;
var _local14:Array;
var _local15:Object;
var _local12:Graphics = graphics;
if ((((_arg3 == 0)) || ((_arg4 == 0)))){
return;
};
if (_arg6 !== null){
if ((_arg6 is uint)){
_local12.beginFill(uint(_arg6), Number(_arg7));
} else {
if ((_arg6 is Array)){
_local14 = ((_arg7 is Array)) ? (_arg7 as Array) : [_arg7, _arg7];
if (!_arg10){
_arg10 = [0, 0xFF];
};
_local12.beginGradientFill(_arg9, (_arg6 as Array), _local14, _arg10, _arg8);
};
};
};
if (!_arg5){
_local12.drawRect(_arg1, _arg2, _arg3, _arg4);
} else {
if ((_arg5 is Number)){
_local13 = (Number(_arg5) * 2);
_local12.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg1, _arg2, _arg3, _arg4, _arg5.tl, _arg5.tr, _arg5.bl, _arg5.br);
};
};
if (_arg11){
_local15 = _arg11.r;
if ((_local15 is Number)){
_local13 = (Number(_local15) * 2);
_local12.drawRoundRect(_arg11.x, _arg11.y, _arg11.w, _arg11.h, _local13, _local13);
} else {
GraphicsUtil.drawRoundRectComplex(_local12, _arg11.x, _arg11.y, _arg11.w, _arg11.h, _local15.tl, _local15.tr, _local15.bl, _local15.br);
};
};
if (_arg6 !== null){
_local12.endFill();
};
}
public function get processedDescriptors():Boolean{
return (_processedDescriptors);
}
public function set styleName(_arg1:Object):void{
if (_styleName != _arg1){
_styleName = (_arg1 as IStyleClient);
invalidateDisplayList();
};
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
var _local3:Boolean;
if (_width != _arg1){
_width = _arg1;
_local3 = true;
};
if (_height != _arg2){
_height = _arg2;
_local3 = true;
};
if (_local3){
invalidateDisplayList();
};
}
public function styleChanged(_arg1:String):void{
invalidateDisplayList();
}
override public function get width():Number{
return (_width);
}
public function invalidateProperties():void{
}
public function get initialized():Boolean{
return (_initialized);
}
protected function rotatedGradientMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Matrix{
tempMatrix.createGradientBox(_arg3, _arg4, ((_arg5 * Math.PI) / 180), _arg1, _arg2);
return (tempMatrix);
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
public function get styleName():Object{
return (_styleName);
}
public function validateNow():void{
if (invalidateDisplayListFlag){
validateDisplayList();
};
}
public function invalidateSize():void{
}
public function validateProperties():void{
}
}
}//package mx.skins
Section 72
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import mx.styles.*;
import flash.system.*;
import flash.geom.*;
import flash.utils.*;
import flash.net.*;
import mx.resources.*;
public class RectangularBorder extends Border implements IRectangularBorder {
private var backgroundImage:DisplayObject;
private var backgroundImageHeight:Number;
private var _backgroundImageBounds:Rectangle;
private var backgroundImageStyle:Object;
private var backgroundImageWidth:Number;
private var resourceManager:IResourceManager;
mx_internal static const VERSION:String = "3.3.0.4852";
public function RectangularBorder(){
resourceManager = ResourceManager.getInstance();
super();
addEventListener(Event.REMOVED, removedHandler);
}
public function layoutBackgroundImage():void{
var _local4:Number;
var _local5:Number;
var _local7:Number;
var _local8:Number;
var _local14:Number;
var _local15:Graphics;
var _local1:DisplayObject = parent;
var _local2:EdgeMetrics = ((_local1 is IContainer)) ? IContainer(_local1).viewMetrics : borderMetrics;
var _local3 = !((getStyle("backgroundAttachment") == "fixed"));
if (_backgroundImageBounds){
_local4 = _backgroundImageBounds.width;
_local5 = _backgroundImageBounds.height;
} else {
_local4 = ((width - _local2.left) - _local2.right);
_local5 = ((height - _local2.top) - _local2.bottom);
};
var _local6:Number = getBackgroundSize();
if (isNaN(_local6)){
_local7 = 1;
_local8 = 1;
} else {
_local14 = (_local6 * 0.01);
_local7 = ((_local14 * _local4) / backgroundImageWidth);
_local8 = ((_local14 * _local5) / backgroundImageHeight);
};
backgroundImage.scaleX = _local7;
backgroundImage.scaleY = _local8;
var _local9:Number = Math.round((0.5 * (_local4 - (backgroundImageWidth * _local7))));
var _local10:Number = Math.round((0.5 * (_local5 - (backgroundImageHeight * _local8))));
backgroundImage.x = _local2.left;
backgroundImage.y = _local2.top;
var _local11:Shape = Shape(backgroundImage.mask);
_local11.x = _local2.left;
_local11.y = _local2.top;
if (((_local3) && ((_local1 is IContainer)))){
_local9 = (_local9 - IContainer(_local1).horizontalScrollPosition);
_local10 = (_local10 - IContainer(_local1).verticalScrollPosition);
};
backgroundImage.alpha = getStyle("backgroundAlpha");
backgroundImage.x = (backgroundImage.x + _local9);
backgroundImage.y = (backgroundImage.y + _local10);
var _local12:Number = ((width - _local2.left) - _local2.right);
var _local13:Number = ((height - _local2.top) - _local2.bottom);
if (((!((_local11.width == _local12))) || (!((_local11.height == _local13))))){
_local15 = _local11.graphics;
_local15.clear();
_local15.beginFill(0xFFFFFF);
_local15.drawRect(0, 0, _local12, _local13);
_local15.endFill();
};
}
public function set backgroundImageBounds(_arg1:Rectangle):void{
_backgroundImageBounds = _arg1;
invalidateDisplayList();
}
private function getBackgroundSize():Number{
var _local3:int;
var _local1:Number = NaN;
var _local2:Object = getStyle("backgroundSize");
if (((_local2) && ((_local2 is String)))){
_local3 = _local2.indexOf("%");
if (_local3 != -1){
_local1 = Number(_local2.substr(0, _local3));
};
};
return (_local1);
}
private function removedHandler(_arg1:Event):void{
var _local2:IChildList;
if (backgroundImage){
_local2 = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
_local2.removeChild(backgroundImage.mask);
_local2.removeChild(backgroundImage);
backgroundImage = null;
};
}
private function initBackgroundImage(_arg1:DisplayObject):void{
backgroundImage = _arg1;
if ((_arg1 is Loader)){
backgroundImageWidth = Loader(_arg1).contentLoaderInfo.width;
backgroundImageHeight = Loader(_arg1).contentLoaderInfo.height;
} else {
backgroundImageWidth = backgroundImage.width;
backgroundImageHeight = backgroundImage.height;
if ((_arg1 is ISimpleStyleClient)){
ISimpleStyleClient(_arg1).styleName = styleName;
};
};
var _local2:IChildList = ((parent is IRawChildrenContainer)) ? IRawChildrenContainer(parent).rawChildren : IChildList(parent);
var _local3:Shape = new FlexShape();
_local3.name = "backgroundMask";
_local3.x = 0;
_local3.y = 0;
_local2.addChild(_local3);
var _local4:int = _local2.getChildIndex(this);
_local2.addChildAt(backgroundImage, (_local4 + 1));
backgroundImage.mask = _local3;
}
public function get backgroundImageBounds():Rectangle{
return (_backgroundImageBounds);
}
public function get hasBackgroundImage():Boolean{
return (!((backgroundImage == null)));
}
private function completeEventHandler(_arg1:Event):void{
if (!parent){
return;
};
var _local2:DisplayObject = DisplayObject(LoaderInfo(_arg1.target).loader);
initBackgroundImage(_local2);
layoutBackgroundImage();
dispatchEvent(_arg1.clone());
}
override protected function updateDisplayList(_arg1:Number, _arg2:Number):void{
var cls:Class;
var newStyleObj:DisplayObject;
var loader:Loader;
var loaderContext:LoaderContext;
var message:String;
var unscaledWidth = _arg1;
var unscaledHeight = _arg2;
if (!parent){
return;
};
var newStyle:Object = getStyle("backgroundImage");
if (newStyle != backgroundImageStyle){
removedHandler(null);
backgroundImageStyle = newStyle;
if (((newStyle) && ((newStyle as Class)))){
cls = Class(newStyle);
initBackgroundImage(new (cls));
} else {
if (((newStyle) && ((newStyle is String)))){
try {
cls = Class(getDefinitionByName(String(newStyle)));
} catch(e:Error) {
};
if (cls){
newStyleObj = new (cls);
initBackgroundImage(newStyleObj);
} else {
loader = new FlexLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeEventHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler);
loader.contentLoaderInfo.addEventListener(ErrorEvent.ERROR, errorEventHandler);
loaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(new URLRequest(String(newStyle)), loaderContext);
};
} else {
if (newStyle){
message = resourceManager.getString("skins", "notLoaded", [newStyle]);
throw (new Error(message));
};
};
};
};
if (backgroundImage){
layoutBackgroundImage();
};
}
private function errorEventHandler(_arg1:Event):void{
}
}
}//package mx.skins
Section 73
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.display.*;
import flash.utils.*;
import mx.managers.*;
public class CSSStyleDeclaration extends EventDispatcher {
mx_internal var effects:Array;
protected var overrides:Object;
public var defaultFactory:Function;
public var factory:Function;
mx_internal var selectorRefCount:int;// = 0
private var styleManager:IStyleManager2;
private var clones:Dictionary;
mx_internal static const VERSION:String = "3.3.0.4852";
private static const NOT_A_COLOR:uint = 4294967295;
private static const FILTERMAP_PROP:String = "__reserved__filterMap";
public function CSSStyleDeclaration(_arg1:String=null){
clones = new Dictionary(true);
super();
if (_arg1){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
styleManager.setStyleDeclaration(_arg1, this, false);
};
}
mx_internal function addStyleToProtoChain(_arg1:Object, _arg2:DisplayObject, _arg3:Object=null):Object{
var p:String;
var emptyObjectFactory:Function;
var filteredChain:Object;
var filterObjectFactory:Function;
var i:String;
var chain = _arg1;
var target = _arg2;
var filterMap = _arg3;
var nodeAddedToChain:Boolean;
var originalChain:Object = chain;
if (filterMap){
chain = {};
};
if (defaultFactory != null){
defaultFactory.prototype = chain;
chain = new defaultFactory();
nodeAddedToChain = true;
};
if (factory != null){
factory.prototype = chain;
chain = new factory();
nodeAddedToChain = true;
};
if (overrides){
if ((((defaultFactory == null)) && ((factory == null)))){
emptyObjectFactory = function ():void{
};
emptyObjectFactory.prototype = chain;
chain = new (emptyObjectFactory);
nodeAddedToChain = true;
};
for (p in overrides) {
if (overrides[p] === undefined){
delete chain[p];
} else {
chain[p] = overrides[p];
};
};
};
if (filterMap){
if (nodeAddedToChain){
filteredChain = {};
filterObjectFactory = function ():void{
};
filterObjectFactory.prototype = originalChain;
filteredChain = new (filterObjectFactory);
for (i in chain) {
if (filterMap[i] != null){
filteredChain[filterMap[i]] = chain[i];
};
};
chain = filteredChain;
chain[FILTERMAP_PROP] = filterMap;
} else {
chain = originalChain;
};
};
if (nodeAddedToChain){
clones[chain] = 1;
};
return (chain);
}
public function getStyle(_arg1:String){
var _local2:*;
var _local3:*;
if (overrides){
if ((((_arg1 in overrides)) && ((overrides[_arg1] === undefined)))){
return (undefined);
};
_local3 = overrides[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (factory != null){
factory.prototype = {};
_local2 = new factory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
if (defaultFactory != null){
defaultFactory.prototype = {};
_local2 = new defaultFactory();
_local3 = _local2[_arg1];
if (_local3 !== undefined){
return (_local3);
};
};
return (undefined);
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, undefined);
}
public function setStyle(_arg1:String, _arg2):void{
var _local7:int;
var _local8:Object;
var _local3:Object = getStyle(_arg1);
var _local4:Boolean;
if ((((((((((selectorRefCount > 0)) && ((factory == null)))) && ((defaultFactory == null)))) && (!(overrides)))) && (!((_local3 === _arg2))))){
_local4 = true;
};
if (_arg2 !== undefined){
setStyle(_arg1, _arg2);
} else {
if (_arg2 == _local3){
return;
};
setStyle(_arg1, _arg2);
};
var _local5:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local6:int = _local5.length;
if (_local4){
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.regenerateStyleCache(true);
_local7++;
};
};
_local7 = 0;
while (_local7 < _local6) {
_local8 = _local5[_local7];
_local8.notifyStyleChangeInChildren(_arg1, true);
_local7++;
};
}
private function clearStyleAttr(_arg1:String):void{
var _local2:*;
if (!overrides){
overrides = {};
};
overrides[_arg1] = undefined;
for (_local2 in clones) {
delete _local2[_arg1];
};
}
mx_internal function createProtoChainRoot():Object{
var _local1:Object = {};
if (defaultFactory != null){
defaultFactory.prototype = _local1;
_local1 = new defaultFactory();
};
if (factory != null){
factory.prototype = _local1;
_local1 = new factory();
};
clones[_local1] = 1;
return (_local1);
}
mx_internal function clearOverride(_arg1:String):void{
if (((overrides) && (overrides[_arg1]))){
delete overrides[_arg1];
};
}
mx_internal function setStyle(_arg1:String, _arg2):void{
var _local3:Object;
var _local4:*;
var _local5:Number;
var _local6:Object;
if (_arg2 === undefined){
clearStyleAttr(_arg1);
return;
};
if ((_arg2 is String)){
if (!styleManager){
styleManager = (Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2);
};
_local5 = styleManager.getColorName(_arg2);
if (_local5 != NOT_A_COLOR){
_arg2 = _local5;
};
};
if (defaultFactory != null){
_local3 = new defaultFactory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if (factory != null){
_local3 = new factory();
if (_local3[_arg1] !== _arg2){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
} else {
if (overrides){
delete overrides[_arg1];
};
};
};
if ((((defaultFactory == null)) && ((factory == null)))){
if (!overrides){
overrides = {};
};
overrides[_arg1] = _arg2;
};
for (_local4 in clones) {
_local6 = _local4[FILTERMAP_PROP];
if (_local6){
if (_local6[_arg1] != null){
_local4[_local6[_arg1]] = _arg2;
};
} else {
_local4[_arg1] = _arg2;
};
};
}
}
}//package mx.styles
Section 74
//ISimpleStyleClient (mx.styles.ISimpleStyleClient)
package mx.styles {
public interface ISimpleStyleClient {
function set styleName(_arg1:Object):void;
function styleChanged(_arg1:String):void;
function get styleName():Object;
}
}//package mx.styles
Section 75
//IStyleClient (mx.styles.IStyleClient)
package mx.styles {
public interface IStyleClient extends ISimpleStyleClient {
function regenerateStyleCache(_arg1:Boolean):void;
function get className():String;
function clearStyle(_arg1:String):void;
function getClassStyleDeclarations():Array;
function get inheritingStyles():Object;
function set nonInheritingStyles(_arg1:Object):void;
function setStyle(_arg1:String, _arg2):void;
function get styleDeclaration():CSSStyleDeclaration;
function set styleDeclaration(_arg1:CSSStyleDeclaration):void;
function get nonInheritingStyles():Object;
function set inheritingStyles(_arg1:Object):void;
function getStyle(_arg1:String);
function notifyStyleChangeInChildren(_arg1:String, _arg2:Boolean):void;
function registerEffects(_arg1:Array):void;
}
}//package mx.styles
Section 76
//IStyleManager (mx.styles.IStyleManager)
package mx.styles {
import flash.events.*;
public interface IStyleManager {
function isColorName(_arg1:String):Boolean;
function registerParentDisplayListInvalidatingStyle(_arg1:String):void;
function registerInheritingStyle(_arg1:String):void;
function set stylesRoot(_arg1:Object):void;
function get typeSelectorCache():Object;
function styleDeclarationsChanged():void;
function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void;
function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean;
function isSizeInvalidatingStyle(_arg1:String):Boolean;
function get inheritingStyles():Object;
function isValidStyleValue(_arg1):Boolean;
function isParentSizeInvalidatingStyle(_arg1:String):Boolean;
function getColorName(_arg1:Object):uint;
function set typeSelectorCache(_arg1:Object):void;
function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void;
function getColorNames(_arg1:Array):void;
function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher;
function isInheritingStyle(_arg1:String):Boolean;
function set inheritingStyles(_arg1:Object):void;
function get stylesRoot():Object;
function initProtoChainRoots():void;
function registerColorName(_arg1:String, _arg2:uint):void;
function registerParentSizeInvalidatingStyle(_arg1:String):void;
function registerSizeInvalidatingStyle(_arg1:String):void;
function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void;
function isInheritingTextFormatStyle(_arg1:String):Boolean;
function getStyleDeclaration(_arg1:String):CSSStyleDeclaration;
}
}//package mx.styles
Section 77
//IStyleManager2 (mx.styles.IStyleManager2)
package mx.styles {
import flash.events.*;
import flash.system.*;
public interface IStyleManager2 extends IStyleManager {
function get selectors():Array;
function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher;
}
}//package mx.styles
Section 78
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 79
//StyleManager (mx.styles.StyleManager)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
public class StyleManager {
mx_internal static const VERSION:String = "3.3.0.4852";
public static const NOT_A_COLOR:uint = 4294967295;
private static var _impl:IStyleManager2;
private static var implClassDependency:StyleManagerImpl;
public static function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentSizeInvalidatingStyle(_arg1));
}
public static function registerInheritingStyle(_arg1:String):void{
impl.registerInheritingStyle(_arg1);
}
mx_internal static function set stylesRoot(_arg1:Object):void{
impl.stylesRoot = _arg1;
}
mx_internal static function get inheritingStyles():Object{
return (impl.inheritingStyles);
}
mx_internal static function styleDeclarationsChanged():void{
impl.styleDeclarationsChanged();
}
public static function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
impl.setStyleDeclaration(_arg1, _arg2, _arg3);
}
public static function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
impl.registerParentDisplayListInvalidatingStyle(_arg1);
}
mx_internal static function get typeSelectorCache():Object{
return (impl.typeSelectorCache);
}
mx_internal static function set inheritingStyles(_arg1:Object):void{
impl.inheritingStyles = _arg1;
}
public static function isColorName(_arg1:String):Boolean{
return (impl.isColorName(_arg1));
}
public static function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return (impl.isParentDisplayListInvalidatingStyle(_arg1));
}
public static function isSizeInvalidatingStyle(_arg1:String):Boolean{
return (impl.isSizeInvalidatingStyle(_arg1));
}
public static function getColorName(_arg1:Object):uint{
return (impl.getColorName(_arg1));
}
mx_internal static function set typeSelectorCache(_arg1:Object):void{
impl.typeSelectorCache = _arg1;
}
public static function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
impl.unloadStyleDeclarations(_arg1, _arg2);
}
public static function getColorNames(_arg1:Array):void{
impl.getColorNames(_arg1);
}
public static function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:ApplicationDomain=null, _arg5:SecurityDomain=null):IEventDispatcher{
return (impl.loadStyleDeclarations2(_arg1, _arg2, _arg4, _arg5));
}
private static function get impl():IStyleManager2{
if (!_impl){
_impl = IStyleManager2(Singleton.getInstance("mx.styles::IStyleManager2"));
};
return (_impl);
}
public static function isValidStyleValue(_arg1):Boolean{
return (impl.isValidStyleValue(_arg1));
}
mx_internal static function get stylesRoot():Object{
return (impl.stylesRoot);
}
public static function isInheritingStyle(_arg1:String):Boolean{
return (impl.isInheritingStyle(_arg1));
}
mx_internal static function initProtoChainRoots():void{
impl.initProtoChainRoots();
}
public static function registerParentSizeInvalidatingStyle(_arg1:String):void{
impl.registerParentSizeInvalidatingStyle(_arg1);
}
public static function get selectors():Array{
return (impl.selectors);
}
public static function registerSizeInvalidatingStyle(_arg1:String):void{
impl.registerSizeInvalidatingStyle(_arg1);
}
public static function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
impl.clearStyleDeclaration(_arg1, _arg2);
}
public static function registerColorName(_arg1:String, _arg2:uint):void{
impl.registerColorName(_arg1, _arg2);
}
public static function isInheritingTextFormatStyle(_arg1:String):Boolean{
return (impl.isInheritingTextFormatStyle(_arg1));
}
public static function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
return (impl.getStyleDeclaration(_arg1));
}
}
}//package mx.styles
Section 80
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.system.*;
import flash.utils.*;
import mx.modules.*;
import mx.events.*;
import mx.resources.*;
import mx.managers.*;
public class StyleManagerImpl implements IStyleManager2 {
private var _stylesRoot:Object;
private var _selectors:Object;
private var styleModules:Object;
private var _inheritingStyles:Object;
private var resourceManager:IResourceManager;
private var _typeSelectorCache:Object;
mx_internal static const VERSION:String = "3.3.0.4852";
private static var parentSizeInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var colorNames:Object = {transparent:"transparent", black:0, blue:0xFF, green:0x8000, gray:0x808080, silver:0xC0C0C0, lime:0xFF00, olive:0x808000, white:0xFFFFFF, yellow:0xFFFF00, maroon:0x800000, navy:128, red:0xFF0000, purple:0x800080, teal:0x8080, fuchsia:0xFF00FF, aqua:0xFFFF, magenta:0xFF00FF, cyan:0xFFFF, halogreen:8453965, haloblue:40447, haloorange:0xFFB600, halosilver:11455193};
private static var inheritingTextFormatStyles:Object = {align:true, bold:true, color:true, font:true, indent:true, italic:true, size:true};
private static var instance:IStyleManager2;
private static var parentDisplayListInvalidatingStyles:Object = {bottom:true, horizontalCenter:true, left:true, right:true, top:true, verticalCenter:true, baseline:true};
private static var sizeInvalidatingStyles:Object = {borderStyle:true, borderThickness:true, fontAntiAliasType:true, fontFamily:true, fontGridFitType:true, fontSharpness:true, fontSize:true, fontStyle:true, fontThickness:true, fontWeight:true, headerHeight:true, horizontalAlign:true, horizontalGap:true, kerning:true, leading:true, letterSpacing:true, paddingBottom:true, paddingLeft:true, paddingRight:true, paddingTop:true, strokeWidth:true, tabHeight:true, tabWidth:true, verticalAlign:true, verticalGap:true};
public function StyleManagerImpl(){
_selectors = {};
styleModules = {};
resourceManager = ResourceManager.getInstance();
_inheritingStyles = {};
_typeSelectorCache = {};
super();
}
public function setStyleDeclaration(_arg1:String, _arg2:CSSStyleDeclaration, _arg3:Boolean):void{
_arg2.selectorRefCount++;
_selectors[_arg1] = _arg2;
typeSelectorCache = {};
if (_arg3){
styleDeclarationsChanged();
};
}
public function registerParentDisplayListInvalidatingStyle(_arg1:String):void{
parentDisplayListInvalidatingStyles[_arg1] = true;
}
public function getStyleDeclaration(_arg1:String):CSSStyleDeclaration{
var _local2:int;
if (_arg1.charAt(0) != "."){
_local2 = _arg1.lastIndexOf(".");
if (_local2 != -1){
_arg1 = _arg1.substr((_local2 + 1));
};
};
return (_selectors[_arg1]);
}
public function set typeSelectorCache(_arg1:Object):void{
_typeSelectorCache = _arg1;
}
public function isColorName(_arg1:String):Boolean{
return (!((colorNames[_arg1.toLowerCase()] === undefined)));
}
public function set inheritingStyles(_arg1:Object):void{
_inheritingStyles = _arg1;
}
public function getColorNames(_arg1:Array):void{
var _local4:uint;
if (!_arg1){
return;
};
var _local2:int = _arg1.length;
var _local3:int;
while (_local3 < _local2) {
if (((!((_arg1[_local3] == null))) && (isNaN(_arg1[_local3])))){
_local4 = getColorName(_arg1[_local3]);
if (_local4 != StyleManager.NOT_A_COLOR){
_arg1[_local3] = _local4;
};
};
_local3++;
};
}
public function isInheritingTextFormatStyle(_arg1:String):Boolean{
return ((inheritingTextFormatStyles[_arg1] == true));
}
public function registerParentSizeInvalidatingStyle(_arg1:String):void{
parentSizeInvalidatingStyles[_arg1] = true;
}
public function registerColorName(_arg1:String, _arg2:uint):void{
colorNames[_arg1.toLowerCase()] = _arg2;
}
public function isParentSizeInvalidatingStyle(_arg1:String):Boolean{
return ((parentSizeInvalidatingStyles[_arg1] == true));
}
public function registerInheritingStyle(_arg1:String):void{
inheritingStyles[_arg1] = true;
}
public function set stylesRoot(_arg1:Object):void{
_stylesRoot = _arg1;
}
public function get typeSelectorCache():Object{
return (_typeSelectorCache);
}
public function isParentDisplayListInvalidatingStyle(_arg1:String):Boolean{
return ((parentDisplayListInvalidatingStyles[_arg1] == true));
}
public function isSizeInvalidatingStyle(_arg1:String):Boolean{
return ((sizeInvalidatingStyles[_arg1] == true));
}
public function styleDeclarationsChanged():void{
var _local4:Object;
var _local1:Array = SystemManagerGlobals.topLevelSystemManagers;
var _local2:int = _local1.length;
var _local3:int;
while (_local3 < _local2) {
_local4 = _local1[_local3];
_local4.regenerateStyleCache(true);
_local4.notifyStyleChangeInChildren(null, true);
_local3++;
};
}
public function isValidStyleValue(_arg1):Boolean{
return (!((_arg1 === undefined)));
}
public function loadStyleDeclarations(_arg1:String, _arg2:Boolean=true, _arg3:Boolean=false):IEventDispatcher{
return (loadStyleDeclarations2(_arg1, _arg2));
}
public function get inheritingStyles():Object{
return (_inheritingStyles);
}
public function unloadStyleDeclarations(_arg1:String, _arg2:Boolean=true):void{
var _local4:IModuleInfo;
var _local3:StyleModuleInfo = styleModules[_arg1];
if (_local3){
_local3.styleModule.unload();
_local4 = _local3.module;
_local4.unload();
_local4.removeEventListener(ModuleEvent.READY, _local3.readyHandler);
_local4.removeEventListener(ModuleEvent.ERROR, _local3.errorHandler);
styleModules[_arg1] = null;
};
if (_arg2){
styleDeclarationsChanged();
};
}
public function getColorName(_arg1:Object):uint{
var _local2:Number;
var _local3:*;
if ((_arg1 is String)){
if (_arg1.charAt(0) == "#"){
_local2 = Number(("0x" + _arg1.slice(1)));
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
if ((((_arg1.charAt(1) == "x")) && ((_arg1.charAt(0) == "0")))){
_local2 = Number(_arg1);
return ((isNaN(_local2)) ? StyleManager.NOT_A_COLOR : uint(_local2));
};
_local3 = colorNames[_arg1.toLowerCase()];
if (_local3 === undefined){
return (StyleManager.NOT_A_COLOR);
};
return (uint(_local3));
};
return (uint(_arg1));
}
public function isInheritingStyle(_arg1:String):Boolean{
return ((inheritingStyles[_arg1] == true));
}
public function get stylesRoot():Object{
return (_stylesRoot);
}
public function initProtoChainRoots():void{
if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0){
delete _inheritingStyles["textDecoration"];
delete _inheritingStyles["leading"];
};
if (!stylesRoot){
stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
};
}
public function loadStyleDeclarations2(_arg1:String, _arg2:Boolean=true, _arg3:ApplicationDomain=null, _arg4:SecurityDomain=null):IEventDispatcher{
var module:IModuleInfo;
var styleEventDispatcher:StyleEventDispatcher;
var timer:Timer;
var timerHandler:Function;
var url = _arg1;
var update = _arg2;
var applicationDomain = _arg3;
var securityDomain = _arg4;
module = ModuleManager.getModule(url);
var readyHandler:Function = function (_arg1:ModuleEvent):void{
var _local2:IStyleModule = IStyleModule(_arg1.module.factory.create());
styleModules[_arg1.module.url].styleModule = _local2;
if (update){
styleDeclarationsChanged();
};
};
module.addEventListener(ModuleEvent.READY, readyHandler, false, 0, true);
styleEventDispatcher = new StyleEventDispatcher(module);
var errorHandler:Function = function (_arg1:ModuleEvent):void{
var _local3:StyleEvent;
var _local2:String = resourceManager.getString("styles", "unableToLoad", [_arg1.errorText, url]);
if (styleEventDispatcher.willTrigger(StyleEvent.ERROR)){
_local3 = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local3.bytesLoaded = 0;
_local3.bytesTotal = 0;
_local3.errorText = _local2;
styleEventDispatcher.dispatchEvent(_local3);
} else {
throw (new Error(_local2));
};
};
module.addEventListener(ModuleEvent.ERROR, errorHandler, false, 0, true);
styleModules[url] = new StyleModuleInfo(module, readyHandler, errorHandler);
timer = new Timer(0);
timerHandler = function (_arg1:TimerEvent):void{
timer.removeEventListener(TimerEvent.TIMER, timerHandler);
timer.stop();
module.load(applicationDomain, securityDomain);
};
timer.addEventListener(TimerEvent.TIMER, timerHandler, false, 0, true);
timer.start();
return (styleEventDispatcher);
}
public function registerSizeInvalidatingStyle(_arg1:String):void{
sizeInvalidatingStyles[_arg1] = true;
}
public function clearStyleDeclaration(_arg1:String, _arg2:Boolean):void{
var _local3:CSSStyleDeclaration = getStyleDeclaration(_arg1);
if (((_local3) && ((_local3.selectorRefCount > 0)))){
_local3.selectorRefCount--;
};
delete _selectors[_arg1];
if (_arg2){
styleDeclarationsChanged();
};
}
public function get selectors():Array{
var _local2:String;
var _local1:Array = [];
for (_local2 in _selectors) {
_local1.push(_local2);
};
return (_local1);
}
public static function getInstance():IStyleManager2{
if (!instance){
instance = new (StyleManagerImpl);
};
return (instance);
}
}
}//package mx.styles
import flash.events.*;
import mx.modules.*;
import mx.events.*;
class StyleEventDispatcher extends EventDispatcher {
private function StyleEventDispatcher(_arg1:IModuleInfo){
_arg1.addEventListener(ModuleEvent.ERROR, moduleInfo_errorHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.PROGRESS, moduleInfo_progressHandler, false, 0, true);
_arg1.addEventListener(ModuleEvent.READY, moduleInfo_readyHandler, false, 0, true);
}
private function moduleInfo_progressHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.PROGRESS, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
dispatchEvent(_local2);
}
private function moduleInfo_readyHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.COMPLETE);
dispatchEvent(_local2);
}
private function moduleInfo_errorHandler(_arg1:ModuleEvent):void{
var _local2:StyleEvent = new StyleEvent(StyleEvent.ERROR, _arg1.bubbles, _arg1.cancelable);
_local2.bytesLoaded = _arg1.bytesLoaded;
_local2.bytesTotal = _arg1.bytesTotal;
_local2.errorText = _arg1.errorText;
dispatchEvent(_local2);
}
}
class StyleModuleInfo {
public var errorHandler:Function;
public var readyHandler:Function;
public var module:IModuleInfo;
public var styleModule:IStyleModule;
private function StyleModuleInfo(_arg1:IModuleInfo, _arg2:Function, _arg3:Function){
this.module = _arg1;
this.readyHandler = _arg2;
this.errorHandler = _arg3;
}
}
Section 81
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
import mx.core.*;
public class ColorUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function adjustBrightness2(_arg1:uint, _arg2:Number):uint{
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (_arg2 == 0){
return (_arg1);
};
if (_arg2 < 0){
_arg2 = ((100 + _arg2) / 100);
_local3 = (((_arg1 >> 16) & 0xFF) * _arg2);
_local4 = (((_arg1 >> 8) & 0xFF) * _arg2);
_local5 = ((_arg1 & 0xFF) * _arg2);
} else {
_arg2 = (_arg2 / 100);
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
_local3 = (_local3 + ((0xFF - _local3) * _arg2));
_local4 = (_local4 + ((0xFF - _local4) * _arg2));
_local5 = (_local5 + ((0xFF - _local5) * _arg2));
_local3 = Math.min(_local3, 0xFF);
_local4 = Math.min(_local4, 0xFF);
_local5 = Math.min(_local5, 0xFF);
};
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
public static function rgbMultiply(_arg1:uint, _arg2:uint):uint{
var _local3:Number = ((_arg1 >> 16) & 0xFF);
var _local4:Number = ((_arg1 >> 8) & 0xFF);
var _local5:Number = (_arg1 & 0xFF);
var _local6:Number = ((_arg2 >> 16) & 0xFF);
var _local7:Number = ((_arg2 >> 8) & 0xFF);
var _local8:Number = (_arg2 & 0xFF);
return ((((((_local3 * _local6) / 0xFF) << 16) | (((_local4 * _local7) / 0xFF) << 8)) | ((_local5 * _local8) / 0xFF)));
}
public static function adjustBrightness(_arg1:uint, _arg2:Number):uint{
var _local3:Number = Math.max(Math.min((((_arg1 >> 16) & 0xFF) + _arg2), 0xFF), 0);
var _local4:Number = Math.max(Math.min((((_arg1 >> 8) & 0xFF) + _arg2), 0xFF), 0);
var _local5:Number = Math.max(Math.min(((_arg1 & 0xFF) + _arg2), 0xFF), 0);
return ((((_local3 << 16) | (_local4 << 8)) | _local5));
}
}
}//package mx.utils
Section 82
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import mx.core.*;
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function drawRoundRectComplex(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number):void{
var _local10:Number = (_arg2 + _arg4);
var _local11:Number = (_arg3 + _arg5);
var _local12:Number = ((_arg4 < _arg5)) ? (_arg4 * 2) : (_arg5 * 2);
_arg6 = ((_arg6 < _local12)) ? _arg6 : _local12;
_arg7 = ((_arg7 < _local12)) ? _arg7 : _local12;
_arg8 = ((_arg8 < _local12)) ? _arg8 : _local12;
_arg9 = ((_arg9 < _local12)) ? _arg9 : _local12;
var _local13:Number = (_arg9 * 0.292893218813453);
var _local14:Number = (_arg9 * 0.585786437626905);
_arg1.moveTo(_local10, (_local11 - _arg9));
_arg1.curveTo(_local10, (_local11 - _local14), (_local10 - _local13), (_local11 - _local13));
_arg1.curveTo((_local10 - _local14), _local11, (_local10 - _arg9), _local11);
_local13 = (_arg8 * 0.292893218813453);
_local14 = (_arg8 * 0.585786437626905);
_arg1.lineTo((_arg2 + _arg8), _local11);
_arg1.curveTo((_arg2 + _local14), _local11, (_arg2 + _local13), (_local11 - _local13));
_arg1.curveTo(_arg2, (_local11 - _local14), _arg2, (_local11 - _arg8));
_local13 = (_arg6 * 0.292893218813453);
_local14 = (_arg6 * 0.585786437626905);
_arg1.lineTo(_arg2, (_arg3 + _arg6));
_arg1.curveTo(_arg2, (_arg3 + _local14), (_arg2 + _local13), (_arg3 + _local13));
_arg1.curveTo((_arg2 + _local14), _arg3, (_arg2 + _arg6), _arg3);
_local13 = (_arg7 * 0.292893218813453);
_local14 = (_arg7 * 0.585786437626905);
_arg1.lineTo((_local10 - _arg7), _arg3);
_arg1.curveTo((_local10 - _local14), _arg3, (_local10 - _local13), (_arg3 + _local13));
_arg1.curveTo(_local10, (_arg3 + _local14), _local10, (_arg3 + _arg7));
_arg1.lineTo(_local10, (_local11 - _arg9));
}
}
}//package mx.utils
Section 83
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import mx.core.*;
import flash.display.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var result:String;
var o:DisplayObject;
var s:String;
var indices:Array;
var displayObject = _arg1;
try {
o = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
} catch(e:SecurityError) {
};
return (result);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 84
//StringUtil (mx.utils.StringUtil)
package mx.utils {
import mx.core.*;
public class StringUtil {
mx_internal static const VERSION:String = "3.3.0.4852";
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
var _local2:int;
while (isWhitespace(_arg1.charAt(_local2))) {
_local2++;
};
var _local3:int = (_arg1.length - 1);
while (isWhitespace(_arg1.charAt(_local3))) {
_local3--;
};
if (_local3 >= _local2){
return (_arg1.slice(_local2, (_local3 + 1)));
};
return ("");
}
public static function isWhitespace(_arg1:String):Boolean{
switch (_arg1){
case " ":
case "\t":
case "\r":
case "\n":
case "\f":
return (true);
default:
return (false);
};
}
public static function substitute(_arg1:String, ... _args):String{
var _local4:Array;
if (_arg1 == null){
return ("");
};
var _local3:uint = _args.length;
if ((((_local3 == 1)) && ((_args[0] is Array)))){
_local4 = (_args[0] as Array);
_local3 = _local4.length;
} else {
_local4 = _args;
};
var _local5:int;
while (_local5 < _local3) {
_arg1 = _arg1.replace(new RegExp((("\\{" + _local5) + "\\}"), "g"), _local4[_local5]);
_local5++;
};
return (_arg1);
}
public static function trimArrayElements(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:int;
var _local5:int;
if (((!((_arg1 == ""))) && (!((_arg1 == null))))){
_local3 = _arg1.split(_arg2);
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local3[_local5] = StringUtil.trim(_local3[_local5]);
_local5++;
};
if (_local4 > 0){
_arg1 = _local3.join(_arg2);
};
};
return (_arg1);
}
}
}//package mx.utils
Section 85
//_activeButtonStyleStyle (_activeButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 86
//_activeTabStyleStyle (_activeTabStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _activeTabStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".activeTabStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".activeTabStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 87
//_alertButtonStyleStyle (_alertButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _alertButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".alertButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".alertButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 734012;
};
};
}
}
}//package
Section 88
//_comboDropdownStyle (_comboDropdownStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _comboDropdownStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".comboDropdown");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".comboDropdown", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.shadowDirection = "center";
this.fontWeight = "normal";
this.dropShadowEnabled = true;
this.leading = 0;
this.backgroundColor = 0xFFFFFF;
this.shadowDistance = 1;
this.cornerRadius = 0;
this.borderThickness = 0;
this.paddingLeft = 5;
this.paddingRight = 5;
};
};
}
}
}//package
Section 89
//_dataGridStylesStyle (_dataGridStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dataGridStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dataGridStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dataGridStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 90
//_dateFieldPopupStyle (_dateFieldPopupStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _dateFieldPopupStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".dateFieldPopup");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".dateFieldPopup", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.dropShadowEnabled = true;
this.backgroundColor = 0xFFFFFF;
this.borderThickness = 0;
};
};
}
}
}//package
Section 91
//_errorTipStyle (_errorTipStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _errorTipStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".errorTip");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".errorTip", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.borderStyle = "errorTipRight";
this.paddingTop = 4;
this.borderColor = 13510953;
this.color = 0xFFFFFF;
this.fontSize = 9;
this.shadowColor = 0;
this.paddingLeft = 4;
this.paddingBottom = 4;
this.paddingRight = 4;
};
};
}
}
}//package
Section 92
//_globalStyle (_globalStyle)
package {
import mx.core.*;
import mx.styles.*;
import mx.skins.halo.*;
public class _globalStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration("global");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration("global", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fillColor = 0xFFFFFF;
this.kerning = false;
this.iconColor = 0x111111;
this.textRollOverColor = 2831164;
this.horizontalAlign = "left";
this.shadowCapColor = 14015965;
this.backgroundAlpha = 1;
this.filled = true;
this.textDecoration = "none";
this.roundedBottomCorners = true;
this.fontThickness = 0;
this.focusBlendMode = "normal";
this.fillColors = [0xFFFFFF, 0xCCCCCC, 0xFFFFFF, 0xEEEEEE];
this.horizontalGap = 8;
this.borderCapColor = 9542041;
this.buttonColor = 7305079;
this.indentation = 17;
this.selectionDisabledColor = 0xDDDDDD;
this.closeDuration = 250;
this.embedFonts = false;
this.paddingTop = 0;
this.letterSpacing = 0;
this.focusAlpha = 0.4;
this.bevel = true;
this.fontSize = 10;
this.shadowColor = 0xEEEEEE;
this.borderAlpha = 1;
this.paddingLeft = 0;
this.fontWeight = "normal";
this.indicatorGap = 14;
this.focusSkin = HaloFocusRect;
this.dropShadowEnabled = false;
this.leading = 2;
this.borderSkin = HaloBorder;
this.fontSharpness = 0;
this.modalTransparencyDuration = 100;
this.borderThickness = 1;
this.backgroundSize = "auto";
this.borderStyle = "inset";
this.borderColor = 12040892;
this.fontAntiAliasType = "advanced";
this.errorColor = 0xFF0000;
this.shadowDistance = 2;
this.horizontalGridLineColor = 0xF7F7F7;
this.stroked = false;
this.modalTransparencyColor = 0xDDDDDD;
this.cornerRadius = 0;
this.verticalAlign = "top";
this.textIndent = 0;
this.fillAlphas = [0.6, 0.4, 0.75, 0.65];
this.verticalGridLineColor = 14015965;
this.themeColor = 40447;
this.version = "3.0.0";
this.shadowDirection = "center";
this.modalTransparency = 0.5;
this.repeatInterval = 35;
this.openDuration = 250;
this.textAlign = "left";
this.fontFamily = "Verdana";
this.textSelectedColor = 2831164;
this.paddingBottom = 0;
this.strokeWidth = 1;
this.fontGridFitType = "pixel";
this.horizontalGridLines = false;
this.useRollOver = true;
this.verticalGridLines = true;
this.repeatDelay = 500;
this.fontStyle = "normal";
this.dropShadowColor = 0;
this.focusThickness = 2;
this.verticalGap = 6;
this.disabledColor = 11187123;
this.paddingRight = 0;
this.focusRoundedCorners = "tl tr bl br";
this.borderSides = "left top right bottom";
this.disabledIconColor = 0x999999;
this.modalTransparencyBlur = 3;
this.color = 734012;
this.selectionDuration = 250;
this.highlightAlphas = [0.3, 0];
};
};
}
}
}//package
Section 93
//_headerDateTextStyle (_headerDateTextStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDateTextStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDateText");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDateText", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 94
//_headerDragProxyStyleStyle (_headerDragProxyStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _headerDragProxyStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".headerDragProxyStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".headerDragProxyStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 95
//_linkButtonStyleStyle (_linkButtonStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _linkButtonStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".linkButtonStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".linkButtonStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 2;
this.paddingLeft = 2;
this.paddingBottom = 2;
this.paddingRight = 2;
};
};
}
}
}//package
Section 96
//_opaquePanelStyle (_opaquePanelStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _opaquePanelStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".opaquePanel");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".opaquePanel", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderColor = 0xFFFFFF;
this.backgroundColor = 0xFFFFFF;
this.headerColors = [0xE7E7E7, 0xD9D9D9];
this.footerColors = [0xE7E7E7, 0xC7C7C7];
this.borderAlpha = 1;
};
};
}
}
}//package
Section 97
//_plainStyle (_plainStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _plainStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".plain");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".plain", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.paddingTop = 0;
this.backgroundColor = 0xFFFFFF;
this.backgroundImage = "";
this.horizontalAlign = "left";
this.paddingLeft = 0;
this.paddingBottom = 0;
this.paddingRight = 0;
};
};
}
}
}//package
Section 98
//_popUpMenuStyle (_popUpMenuStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _popUpMenuStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".popUpMenu");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".popUpMenu", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "normal";
this.textAlign = "left";
};
};
}
}
}//package
Section 99
//_richTextEditorTextAreaStyleStyle (_richTextEditorTextAreaStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _richTextEditorTextAreaStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".richTextEditorTextAreaStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".richTextEditorTextAreaStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 100
//_swatchPanelTextFieldStyle (_swatchPanelTextFieldStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _swatchPanelTextFieldStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".swatchPanelTextField");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".swatchPanelTextField", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.borderStyle = "inset";
this.borderColor = 14015965;
this.highlightColor = 12897484;
this.backgroundColor = 0xFFFFFF;
this.shadowCapColor = 14015965;
this.shadowColor = 14015965;
this.paddingLeft = 5;
this.buttonColor = 7305079;
this.borderCapColor = 9542041;
this.paddingRight = 5;
};
};
}
}
}//package
Section 101
//_textAreaHScrollBarStyleStyle (_textAreaHScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaHScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaHScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaHScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 102
//_textAreaVScrollBarStyleStyle (_textAreaVScrollBarStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _textAreaVScrollBarStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".textAreaVScrollBarStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".textAreaVScrollBarStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
};
};
}
}
}//package
Section 103
//_todayStyleStyle (_todayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _todayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".todayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".todayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0xFFFFFF;
this.textAlign = "center";
};
};
}
}
}//package
Section 104
//_weekDayStyleStyle (_weekDayStyleStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _weekDayStyleStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".weekDayStyle");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".weekDayStyle", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
this.textAlign = "center";
};
};
}
}
}//package
Section 105
//_windowStatusStyle (_windowStatusStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStatusStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStatus");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStatus", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.color = 0x666666;
};
};
}
}
}//package
Section 106
//_windowStylesStyle (_windowStylesStyle)
package {
import mx.core.*;
import mx.styles.*;
public class _windowStylesStyle {
public static function init(_arg1:IFlexModuleFactory):void{
var fbs = _arg1;
var style:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".windowStyles");
if (!style){
style = new CSSStyleDeclaration();
StyleManager.setStyleDeclaration(".windowStyles", style, false);
};
if (style.defaultFactory == null){
style.defaultFactory = function ():void{
this.fontWeight = "bold";
};
};
}
}
}//package
Section 107
//ApiMovieClip (ApiMovieClip)
package {
import flash.display.*;
public dynamic class ApiMovieClip extends MovieClip {
public var saveBtn:SaveBtnMc;
}
}//package
Section 108
//baner_logo_mc (baner_logo_mc)
package {
import flash.display.*;
public dynamic class baner_logo_mc extends MovieClip {
public var btn1:SimpleButton;
public var btn2:SimpleButton;
public var btn3:SimpleButton;
}
}//package
Section 109
//ControlPanel (ControlPanel)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class ControlPanel extends Sprite {
public const _x:int = 380;
public const _y:int = 25;
public var _content:ControlPanelMC;
public function ControlPanel(){
_content = new ControlPanelMC();
super();
addChild(_content);
_content.btnFoto.addEventListener(MouseEvent.CLICK, onFoto);
_content.btnReset.addEventListener(MouseEvent.CLICK, onReset);
_content.btnLogo.addEventListener(MouseEvent.CLICK, onLogo);
_content.btnBack.addEventListener(MouseEvent.CLICK, onBack);
_content.btnBack.visible = false;
_content.btnLogo.visible = false;
}
private function onReset(_arg1:MouseEvent):void{
Main.d.resetAll();
_content.btnReset.visible = false;
_content.btnLogo.visible = true;
_content.btnLogo.x = (_content.btnReset.x - 5);
_content.btnLogo.y = (_content.btnReset.y - 15);
}
private function onFoto(_arg1:MouseEvent):void{
Main.d.mainMc.buttons.visible = false;
_content.btnBack.visible = true;
_content.btnBack.x = (_content.btnReset.x + 10);
_content.btnBack.y = (_content.btnReset.y - 20);
_content.btnFoto.visible = false;
_content.btnLogo.visible = true;
_content.btnLogo.x = (_content.btnFoto.x - 40);
_content.btnLogo.y = (_content.btnFoto.y - 10);
_content.btnReset.visible = false;
}
private function onBack(_arg1:MouseEvent):void{
Main.d.mainMc.buttons.visible = true;
_content.btnFoto.visible = true;
_content.btnLogo.visible = false;
_content.btnLogo.x = _x;
_content.btnLogo.y = _y;
_content.btnBack.visible = false;
_content.btnReset.visible = true;
}
private function onLogo(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.girlgames.com/"), "_blank");
}
public function hideLogoBtn():void{
if (_content.btnLogo.visible){
_content.btnLogo.visible = false;
_content.btnReset.visible = true;
};
}
}
}//package
Section 110
//ControlPanelMC (ControlPanelMC)
package {
import flash.display.*;
public dynamic class ControlPanelMC extends MovieClip {
public var btnFoto:SimpleButton;
public var btnReset:SimpleButton;
public var btnBack:SimpleButton;
public var btnLogo:SimpleButton;
}
}//package
Section 111
//Dressup (Dressup)
package {
import flash.events.*;
import flash.display.*;
import com.girlgames.dressup.*;
import flash.geom.*;
public class Dressup extends DressupGame {
private var cp:ControlPanel;
public var mainMc:MainMovie;
public function Dressup(){
var _local5:DisplayObject;
var _local6:Clothes;
mainMc = new MainMovie();
cp = new ControlPanel();
super(760, 550);
mainMc.scrollRect = new Rectangle(0, 0, 760, 550);
addChild(mainMc);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
addChild(cp);
skipClip(mainMc.mc.girl);
var _local1:MovieClip = mainMc.mc;
var _local2:int;
while (_local2 < _local1.numChildren) {
_local5 = _local1.getChildAt(_local2);
if (((((((_local5.name) && ((_local5.name.indexOf("instance") < 0)))) && ((_local5 is MovieClip)))) && ((skipClips.indexOf(_local5) < 0)))){
_local6 = new Clothes((_local5 as MovieClip), this);
addClothes(_local6);
};
_local2++;
};
var _local3:Clothes = getClothesByName("bg");
_local3.setDefaultVisibleFirstElement();
_local3.buttonMode = false;
_local3.useHandCursor = false;
_local3.canDisapear = false;
var _local4:Clothes = getClothesByName("hair");
_local4.setDefaultVisibleFirstElement();
_local4.canDisapear = false;
_local4.useHandCursor = false;
_local4.buttonMode = false;
_local2 = 0;
while (_local2 < mainMc.buttons.numChildren) {
_local5 = mainMc.buttons.getChildAt(_local2);
if ((((_local5 is SimpleButton)) && ((_local5.name.indexOf("instance") < 0)))){
_local5.addEventListener(MouseEvent.CLICK, onButtonClick);
};
_local2++;
};
}
public function resetAll():void{
var _local1:Clothes;
for each (_local1 in clothes) {
trace(_local1.name);
if (((!((_local1.name == "hair"))) && (!((_local1.name == "bg"))))){
_local1.turnOffCurrentVisible();
};
};
}
private function onButtonClick(_arg1:MouseEvent):void{
var _local4:Clothes;
cp.hideLogoBtn();
var _local2:String = _arg1.target.name;
if (_local2 == "pants"){
_local4 = getClothesByName("skirt");
_local4.turnOffCurrentVisible();
};
if (_local2 == "skirt"){
_local4 = getClothesByName("pants");
_local4.turnOffCurrentVisible();
};
var _local3:Clothes = getClothesByName(_arg1.target.name);
_local3.setNextVisible();
}
private function onAddedToStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
init(mainMc.mc);
}
}
}//package
Section 112
//en_US$core_properties (en_US$core_properties)
package {
import mx.resources.*;
public class en_US$core_properties extends ResourceBundle {
public function en_US$core_properties(){
super("en_US", "core");
}
override protected function getContent():Object{
var _local1:Object = {multipleChildSets_ClassAndInstance:"Multiple sets of visual children have been specified for this component (component definition and component instance).", truncationIndicator:"...", notExecuting:"Repeater is not executing.", versionAlreadyRead:"Compatibility version has already been read.", multipleChildSets_ClassAndSubclass:"Multiple sets of visual children have been specified for this component (base component definition and derived component definition).", viewSource:"View Source", badFile:"File does not exist.", stateUndefined:"Undefined state '{0}'.", versionAlreadySet:"Compatibility version has already been set."};
return (_local1);
}
}
}//package
Section 113
//en_US$skins_properties (en_US$skins_properties)
package {
import mx.resources.*;
public class en_US$skins_properties extends ResourceBundle {
public function en_US$skins_properties(){
super("en_US", "skins");
}
override protected function getContent():Object{
var _local1:Object = {notLoaded:"Unable to load '{0}'."};
return (_local1);
}
}
}//package
Section 114
//en_US$styles_properties (en_US$styles_properties)
package {
import mx.resources.*;
public class en_US$styles_properties extends ResourceBundle {
public function en_US$styles_properties(){
super("en_US", "styles");
}
override protected function getContent():Object{
var _local1:Object = {unableToLoad:"Unable to load style({0}): {1}."};
return (_local1);
}
}
}//package
Section 115
//ErrorMessageMc (ErrorMessageMc)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ErrorMessageMc extends MovieClip {
public var yesBtn:SimpleButton;
public var msgtxt:TextField;
}
}//package
Section 116
//intro (intro)
package {
import flash.display.*;
public dynamic class intro extends MovieClip {
}
}//package
Section 117
//LinkBaner (LinkBaner)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class LinkBaner extends Sprite {
private var _content:baner_logo_mc;
public function LinkBaner(){
_content = new baner_logo_mc();
super();
addChild(_content);
_content.x = 0;
_content.y = 0;
init();
}
private function init():void{
_content.btn1.addEventListener(MouseEvent.CLICK, gotoGirlGames);
_content.btn2.addEventListener(MouseEvent.CLICK, gotoGirlGames);
_content.btn3.addEventListener(MouseEvent.CLICK, gotoGirlGamesFree);
}
private function gotoGirlGames(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.girlgames.com/"), "_blank");
}
private function gotoGirlGamesFree(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.girlgames.com/free-girl-games/"), "_blank");
}
}
}//package
Section 118
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Main extends Sprite {
public var intr:intro;
public static var d:Dressup;
public function Main():void{
intr = new intro();
super();
if (stage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
};
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
var _local2:LinkBaner = new LinkBaner();
addChild(_local2);
_local2.y = 550;
addChild(intr);
intr.scrollRect = new Rectangle(0, 0, 760, 550);
intr.play();
addEventListener(Event.ENTER_FRAME, onIntroCompile);
}
private function onIntroCompile(_arg1:Event):void{
if (intr.currentFrame == intr.totalFrames){
intr.stop();
removeChild(intr);
d = new Dressup();
addChild(d);
removeEventListener(Event.ENTER_FRAME, onIntroCompile);
};
}
}
}//package
Section 119
//MainMovie (MainMovie)
package {
import flash.display.*;
public dynamic class MainMovie extends MovieClip {
public var buttons:MovieClip;
public var mc:MovieClip;
}
}//package
Section 120
//McMovePointer (McMovePointer)
package {
import flash.display.*;
public dynamic class McMovePointer extends MovieClip {
}
}//package
Section 121
//McResizePointer (McResizePointer)
package {
import flash.display.*;
public dynamic class McResizePointer extends MovieClip {
}
}//package
Section 122
//McSelection (McSelection)
package {
import flash.display.*;
public dynamic class McSelection extends MovieClip {
public var mcBottomLeft:MovieClip;
public var mcBottomRight:MovieClip;
public var mcTopRight:MovieClip;
public var mcTopLeft:MovieClip;
public var mcRect:MovieClip;
}
}//package
Section 123
//Preloader (Preloader)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.utils.*;
public class Preloader extends Sprite {
private var mainClassFound:Boolean;// = false
private var startInterval:int;
private var preloader:PreloaderMC;
private var tp:int;// = 0
public function Preloader(){
preloader = new PreloaderMC();
super();
if (stage){
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
};
}
private function gotoGirlGames(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.girlgames.com/"), "_blank");
}
private function onEnd(_arg1:Event):void{
if (preloader.anim.currentFrame == preloader.anim.totalFrames){
preloader.anim.stop();
preloader.anim.removeEventListener(Event.ENTER_FRAME, onEnd);
startUp();
preloader.visible = false;
removeChild(preloader);
};
}
private function updatePreloader(_arg1:Event):void{
var mainClass:Class;
var e = _arg1;
var perc:Number = Math.floor(((this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal) * 100));
if (((((isNaN(perc)) || ((perc == Number.POSITIVE_INFINITY)))) || ((perc == Number.NEGATIVE_INFINITY)))){
perc = Math.floor(((this.stage.loaderInfo.bytesLoaded / this.stage.loaderInfo.bytesTotal) * 100));
};
if (((((isNaN(perc)) || ((perc == Number.POSITIVE_INFINITY)))) || ((perc == Number.NEGATIVE_INFINITY)))){
try {
mainClass = (getDefinitionByName("Main") as Class);
mainClassFound = true;
} catch(e:Error) {
};
} else {
if (preloader.loader){
preloader.loader.barMask.scaleX = (perc / 100);
};
};
if ((((perc == 100)) || (mainClassFound))){
preloader.removeEventListener(Event.ENTER_FRAME, updatePreloader);
preloader.anim.visible = true;
preloader.anim.play();
preloader.anim.addEventListener(Event.ENTER_FRAME, onEnd);
};
}
private function init(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, init);
addChild(preloader);
preloader.addEventListener(MouseEvent.MOUSE_DOWN, gotoGirlGames, false);
preloader.useHandCursor = true;
preloader.buttonMode = true;
preloader.anim.visible = false;
preloader.anim.gotoAndStop(1);
preloader.addEventListener(Event.ENTER_FRAME, updatePreloader, false, 0, true);
preloader.anim.addEventListener(MouseEvent.MOUSE_DOWN, gotoGirlGames, false);
preloader.anim2.addEventListener(MouseEvent.MOUSE_DOWN, gotoGirlGames, false);
preloader.anim.useHandCursor = true;
preloader.anim2.useHandCursor = true;
preloader.anim.buttonMode = true;
preloader.anim2.buttonMode = true;
}
private function startUp():void{
var mainClass:Class;
try {
mainClass = (getDefinitionByName("Main") as Class);
} catch(e:Error) {
startInterval = setTimeout(startUp, 200);
return;
};
addChild((new (mainClass) as DisplayObject));
}
}
}//package
Section 124
//PreloaderMC (PreloaderMC)
package {
import flash.display.*;
public dynamic class PreloaderMC extends MovieClip {
public var anim2:MovieClip;
public var loader:MovieClip;
public var anim:MovieClip;
}
}//package
Section 125
//SaveBtnMc (SaveBtnMc)
package {
import flash.display.*;
public dynamic class SaveBtnMc extends MovieClip {
}
}//package
Section 126
//SaveBtnWinMc (SaveBtnWinMc)
package {
import flash.display.*;
public dynamic class SaveBtnWinMc extends MovieClip {
}
}//package
Section 127
//SelectScreenShotMc (SelectScreenShotMc)
package {
import flash.display.*;
public dynamic class SelectScreenShotMc extends MovieClip {
public var yesBtn:SimpleButton;
public var noBtn:SimpleButton;
}
}//package
Section 128
//SignUpMessageMc (SignUpMessageMc)
package {
import flash.display.*;
public dynamic class SignUpMessageMc extends MovieClip {
public var yesBtn:SimpleButton;
public var noBtn:SimpleButton;
}
}//package