Section 1
//ColorMatrix (com.quasimondo.geom.ColorMatrix)
package com.quasimondo.geom {
import flash.filters.*;
public class ColorMatrix {
public var matrix:Array;
private var preHue:ColorMatrix;
private var postHue:ColorMatrix;
private var hueInitialized:Boolean;
private static const ONETHIRD:Number = 0;
private static const LUMA_G:Number = 0.71516;
private static const LUMA_B:Number = 0.072169;
private static const LUMA_R2:Number = 0.3086;
private static const LUMA_G2:Number = 0.6094;
private static const LUMA_R:Number = 0.212671;
private static const LUMA_B2:Number = 0.082;
private static const RAD:Number = 0.0174532925199433;
private static const IDENTITY:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
public static const COLOR_DEFICIENCY_TYPES:Array = ["Protanopia", "Protanomaly", "Deuteranopia", "Deuteranomaly", "Tritanopia", "Tritanomaly", "Achromatopsia", "Achromatomaly"];
public function ColorMatrix(_arg1:Object=null){
if ((_arg1 is ColorMatrix)){
matrix = _arg1.matrix.concat();
} else {
if ((_arg1 is Array)){
matrix = _arg1.concat();
} else {
reset();
};
};
}
public function adjustBrightness(_arg1:Number, _arg2:Number=NaN, _arg3:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1;
};
if (isNaN(_arg3)){
_arg3 = _arg1;
};
concat([1, 0, 0, 0, _arg1, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg3, 0, 0, 0, 1, 0]);
}
public function averageRGB2Alpha():void{
concat([0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, ONETHIRD, ONETHIRD, ONETHIRD, 0, 0]);
}
public function luminance2Alpha():void{
concat([0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, LUMA_R, LUMA_G, LUMA_B, 0, 0]);
}
public function rotateRed(_arg1:Number):void{
rotateColor(_arg1, 2, 1);
}
public function get filter():ColorMatrixFilter{
return (new ColorMatrixFilter(matrix));
}
public function adjustSaturation(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = (1 - _arg1);
_local3 = (_local2 * LUMA_R);
_local4 = (_local2 * LUMA_G);
_local5 = (_local2 * LUMA_B);
concat([(_local3 + _arg1), _local4, _local5, 0, 0, _local3, (_local4 + _arg1), _local5, 0, 0, _local3, _local4, (_local5 + _arg1), 0, 0, 0, 0, 0, 1, 0]);
}
public function adjustAlphaContrast(_arg1:Number):void{
_arg1 = (_arg1 + 1);
concat([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, _arg1, (128 * (1 - _arg1))]);
}
public function reset():void{
matrix = IDENTITY.concat();
}
public function blend(_arg1:ColorMatrix, _arg2:Number):void{
var _local3:Number = (1 - _arg2);
var _local4:int;
while (_local4 < 20) {
matrix[_local4] = ((_local3 * Number(matrix[_local4])) + (_arg2 * Number(_arg1.matrix[_local4])));
_local4++;
};
}
public function setChannels(_arg1:int=1, _arg2:int=2, _arg3:int=4, _arg4:int=8):void{
var _local5:Number = (((((((_arg1 & 1) == 1)) ? 1 : ((0 + ((_arg1 & 2) == 2))) ? 1 : 0 + ((_arg1 & 4) == 4))) ? 1 : 0 + ((_arg1 & 8) == 8))) ? 1 : 0;
if (_local5 > 0){
_local5 = (1 / _local5);
};
var _local6:Number = (((((((_arg2 & 1) == 1)) ? 1 : ((0 + ((_arg2 & 2) == 2))) ? 1 : 0 + ((_arg2 & 4) == 4))) ? 1 : 0 + ((_arg2 & 8) == 8))) ? 1 : 0;
if (_local6 > 0){
_local6 = (1 / _local6);
};
var _local7:Number = (((((((_arg3 & 1) == 1)) ? 1 : ((0 + ((_arg3 & 2) == 2))) ? 1 : 0 + ((_arg3 & 4) == 4))) ? 1 : 0 + ((_arg3 & 8) == 8))) ? 1 : 0;
if (_local7 > 0){
_local7 = (1 / _local7);
};
var _local8:Number = (((((((_arg4 & 1) == 1)) ? 1 : ((0 + ((_arg4 & 2) == 2))) ? 1 : 0 + ((_arg4 & 4) == 4))) ? 1 : 0 + ((_arg4 & 8) == 8))) ? 1 : 0;
if (_local8 > 0){
_local8 = (1 / _local8);
};
concat([(((_arg1 & 1) == 1)) ? _local5 : 0, (((_arg1 & 2) == 2)) ? _local5 : 0, (((_arg1 & 4) == 4)) ? _local5 : 0, (((_arg1 & 8) == 8)) ? _local5 : 0, 0, (((_arg2 & 1) == 1)) ? _local6 : 0, (((_arg2 & 2) == 2)) ? _local6 : 0, (((_arg2 & 4) == 4)) ? _local6 : 0, (((_arg2 & 8) == 8)) ? _local6 : 0, 0, (((_arg3 & 1) == 1)) ? _local7 : 0, (((_arg3 & 2) == 2)) ? _local7 : 0, (((_arg3 & 4) == 4)) ? _local7 : 0, (((_arg3 & 8) == 8)) ? _local7 : 0, 0, (((_arg4 & 1) == 1)) ? _local8 : 0, (((_arg4 & 2) == 2)) ? _local8 : 0, (((_arg4 & 4) == 4)) ? _local8 : 0, (((_arg4 & 8) == 8)) ? _local8 : 0, 0]);
}
public function randomize(_arg1:Number=1):void{
var _local2:Number = (1 - _arg1);
var _local3:Number = (_local2 + (_arg1 * (Math.random() - Math.random())));
var _local4:Number = (_arg1 * (Math.random() - Math.random()));
var _local5:Number = (_arg1 * (Math.random() - Math.random()));
var _local6:Number = ((_arg1 * 0xFF) * (Math.random() - Math.random()));
var _local7:Number = (_arg1 * (Math.random() - Math.random()));
var _local8:Number = (_local2 + (_arg1 * (Math.random() - Math.random())));
var _local9:Number = (_arg1 * (Math.random() - Math.random()));
var _local10:Number = ((_arg1 * 0xFF) * (Math.random() - Math.random()));
var _local11:Number = (_arg1 * (Math.random() - Math.random()));
var _local12:Number = (_arg1 * (Math.random() - Math.random()));
var _local13:Number = (_local2 + (_arg1 * (Math.random() - Math.random())));
var _local14:Number = ((_arg1 * 0xFF) * (Math.random() - Math.random()));
concat([_local3, _local4, _local5, 0, _local6, _local7, _local8, _local9, 0, _local10, _local11, _local12, _local13, 0, _local14, 0, 0, 0, 1, 0]);
}
public function concat(_arg1:Array):void{
var _local4:int;
var _local5:int;
var _local2:Array = [];
var _local3:int;
_local5 = 0;
while (_local5 < 4) {
_local4 = 0;
while (_local4 < 5) {
_local2[int((_local3 + _local4))] = (((((Number(_arg1[_local3]) * Number(matrix[_local4])) + (Number(_arg1[int((_local3 + 1))]) * Number(matrix[int((_local4 + 5))]))) + (Number(_arg1[int((_local3 + 2))]) * Number(matrix[int((_local4 + 10))]))) + (Number(_arg1[int((_local3 + 3))]) * Number(matrix[int((_local4 + 15))]))) + ((_local4 == 4)) ? Number(_arg1[int((_local3 + 4))]) : 0);
_local4++;
};
_local3 = (_local3 + 5);
_local5++;
};
matrix = _local2;
}
public function invert():void{
concat([-1, 0, 0, 0, 0xFF, 0, -1, 0, 0, 0xFF, 0, 0, -1, 0, 0xFF, 0, 0, 0, 1, 0]);
}
private function rotateColor(_arg1:Number, _arg2:int, _arg3:int):void{
_arg1 = (_arg1 * RAD);
var _local4:Array = IDENTITY.concat();
_local4[(_arg2 + (_arg2 * 5))] = (_local4[(_arg3 + (_arg3 * 5))] = Math.cos(_arg1));
_local4[(_arg3 + (_arg2 * 5))] = Math.sin(_arg1);
_local4[(_arg2 + (_arg3 * 5))] = -(Math.sin(_arg1));
concat(_local4);
}
public function colorize(_arg1:int, _arg2:Number=1):void{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local3 = (((_arg1 >> 16) & 0xFF) / 0xFF);
_local4 = (((_arg1 >> 8) & 0xFF) / 0xFF);
_local5 = ((_arg1 & 0xFF) / 0xFF);
_local6 = (1 - _arg2);
concat([(_local6 + ((_arg2 * _local3) * LUMA_R)), ((_arg2 * _local3) * LUMA_G), ((_arg2 * _local3) * LUMA_B), 0, 0, ((_arg2 * _local4) * LUMA_R), (_local6 + ((_arg2 * _local4) * LUMA_G)), ((_arg2 * _local4) * LUMA_B), 0, 0, ((_arg2 * _local5) * LUMA_R), ((_arg2 * _local5) * LUMA_G), (_local6 + ((_arg2 * _local5) * LUMA_B)), 0, 0, 0, 0, 0, 1, 0]);
}
public function rgb2Alpha(_arg1:Number, _arg2:Number, _arg3:Number):void{
concat([0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, 0, 0, 0, 0, 0xFF, _arg1, _arg2, _arg3, 0, 0]);
}
private function shearColor(_arg1:int, _arg2:int, _arg3:Number, _arg4:int, _arg5:Number):void{
var _local6:Array = IDENTITY.concat();
_local6[(_arg2 + (_arg1 * 5))] = _arg3;
_local6[(_arg4 + (_arg1 * 5))] = _arg5;
concat(_local6);
}
public function shearBlue(_arg1:Number, _arg2:Number):void{
shearColor(2, 0, _arg1, 1, _arg2);
}
public function setAlpha(_arg1:Number):void{
concat([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, _arg1, 0]);
}
public function rotateHue(_arg1:Number):void{
initHue();
concat(preHue.matrix);
rotateBlue(_arg1);
concat(postHue.matrix);
}
public function applyMatrix(_arg1:uint):uint{
var _local2:Number = ((_arg1 >>> 24) & 0xFF);
var _local3:Number = ((_arg1 >>> 16) & 0xFF);
var _local4:Number = ((_arg1 >>> 8) & 0xFF);
var _local5:Number = (_arg1 & 0xFF);
var _local6:int = (((((0.5 + (_local3 * matrix[0])) + (_local4 * matrix[1])) + (_local5 * matrix[2])) + (_local2 * matrix[3])) + matrix[4]);
var _local7:int = (((((0.5 + (_local3 * matrix[5])) + (_local4 * matrix[6])) + (_local5 * matrix[7])) + (_local2 * matrix[8])) + matrix[9]);
var _local8:int = (((((0.5 + (_local3 * matrix[10])) + (_local4 * matrix[11])) + (_local5 * matrix[12])) + (_local2 * matrix[13])) + matrix[14]);
var _local9:int = (((((0.5 + (_local3 * matrix[15])) + (_local4 * matrix[16])) + (_local5 * matrix[17])) + (_local2 * matrix[18])) + matrix[19]);
if (_local9 < 0){
_local9 = 0;
};
if (_local9 > 0xFF){
_local9 = 0xFF;
};
if (_local6 < 0){
_local6 = 0;
};
if (_local6 > 0xFF){
_local6 = 0xFF;
};
if (_local7 < 0){
_local7 = 0;
};
if (_local7 > 0xFF){
_local7 = 0xFF;
};
if (_local8 < 0){
_local8 = 0;
};
if (_local8 > 0xFF){
_local8 = 0xFF;
};
return (((((_local9 << 24) | (_local6 << 16)) | (_local7 << 8)) | _local8));
}
private function initHue():void{
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local1:Number = 39.182655;
if (!hueInitialized){
hueInitialized = true;
preHue = new ColorMatrix();
preHue.rotateRed(45);
preHue.rotateGreen(-(_local1));
_local2 = [LUMA_R2, LUMA_G2, LUMA_B2, 1];
preHue.transformVector(_local2);
_local3 = (_local2[0] / _local2[2]);
_local4 = (_local2[1] / _local2[2]);
preHue.shearBlue(_local3, _local4);
postHue = new ColorMatrix();
postHue.shearBlue(-(_local3), -(_local4));
postHue.rotateGreen(_local1);
postHue.rotateRed(-45);
};
}
public function shearGreen(_arg1:Number, _arg2:Number):void{
shearColor(1, 0, _arg1, 2, _arg2);
}
public function shearRed(_arg1:Number, _arg2:Number):void{
shearColor(0, 1, _arg1, 2, _arg2);
}
public function average(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0):void{
concat([_arg1, _arg2, _arg3, 0, 0, _arg1, _arg2, _arg3, 0, 0, _arg1, _arg2, _arg3, 0, 0, 0, 0, 0, 1, 0]);
}
public function transformVector(_arg1:Array):void{
if (_arg1.length != 4){
return;
};
var _local2:Number = (((((_arg1[0] * matrix[0]) + (_arg1[1] * matrix[1])) + (_arg1[2] * matrix[2])) + (_arg1[3] * matrix[3])) + matrix[4]);
var _local3:Number = (((((_arg1[0] * matrix[5]) + (_arg1[1] * matrix[6])) + (_arg1[2] * matrix[7])) + (_arg1[3] * matrix[8])) + matrix[9]);
var _local4:Number = (((((_arg1[0] * matrix[10]) + (_arg1[1] * matrix[11])) + (_arg1[2] * matrix[12])) + (_arg1[3] * matrix[13])) + matrix[14]);
var _local5:Number = (((((_arg1[0] * matrix[15]) + (_arg1[1] * matrix[16])) + (_arg1[2] * matrix[17])) + (_arg1[3] * matrix[18])) + matrix[19]);
_arg1[0] = _local2;
_arg1[1] = _local3;
_arg1[2] = _local4;
_arg1[3] = _local5;
}
public function invertAlpha():void{
concat([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0xFF]);
}
public function adjustHue(_arg1:Number):void{
_arg1 = (_arg1 * RAD);
var _local2:Number = Math.cos(_arg1);
var _local3:Number = Math.sin(_arg1);
concat([((LUMA_R + (_local2 * (1 - LUMA_R))) + (_local3 * -(LUMA_R))), ((LUMA_G + (_local2 * -(LUMA_G))) + (_local3 * -(LUMA_G))), ((LUMA_B + (_local2 * -(LUMA_B))) + (_local3 * (1 - LUMA_B))), 0, 0, ((LUMA_R + (_local2 * -(LUMA_R))) + (_local3 * 0.143)), ((LUMA_G + (_local2 * (1 - LUMA_G))) + (_local3 * 0.14)), ((LUMA_B + (_local2 * -(LUMA_B))) + (_local3 * -0.283)), 0, 0, ((LUMA_R + (_local2 * -(LUMA_R))) + (_local3 * -((1 - LUMA_R)))), ((LUMA_G + (_local2 * -(LUMA_G))) + (_local3 * LUMA_G)), ((LUMA_B + (_local2 * (1 - LUMA_B))) + (_local3 * LUMA_B)), 0, 0, 0, 0, 0, 1, 0]);
}
public function threshold(_arg1:Number, _arg2:Number=0x0100):void{
concat([(LUMA_R * _arg2), (LUMA_G * _arg2), (LUMA_B * _arg2), 0, (-(_arg2) * _arg1), (LUMA_R * _arg2), (LUMA_G * _arg2), (LUMA_B * _arg2), 0, (-(_arg2) * _arg1), (LUMA_R * _arg2), (LUMA_G * _arg2), (LUMA_B * _arg2), 0, (-(_arg2) * _arg1), 0, 0, 0, 1, 0]);
}
public function clone():ColorMatrix{
return (new ColorMatrix(matrix));
}
public function rotateBlue(_arg1:Number):void{
rotateColor(_arg1, 1, 0);
}
public function rotateGreen(_arg1:Number):void{
rotateColor(_arg1, 0, 2);
}
public function desaturate():void{
concat([LUMA_R, LUMA_G, LUMA_B, 0, 0, LUMA_R, LUMA_G, LUMA_B, 0, 0, LUMA_R, LUMA_G, LUMA_B, 0, 0, 0, 0, 0, 1, 0]);
}
public function adjustContrast(_arg1:Number, _arg2:Number=NaN, _arg3:Number=NaN):void{
if (isNaN(_arg2)){
_arg2 = _arg1;
};
if (isNaN(_arg3)){
_arg3 = _arg1;
};
_arg1 = (_arg1 + 1);
_arg2 = (_arg2 + 1);
_arg3 = (_arg3 + 1);
concat([_arg1, 0, 0, 0, (128 * (1 - _arg1)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg3, 0, (128 * (1 - _arg3)), 0, 0, 0, 1, 0]);
}
public function setMultiplicators(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1):void{
var _local5:Array = new Array(_arg1, 0, 0, 0, 0, 0, _arg2, 0, 0, 0, 0, 0, _arg3, 0, 0, 0, 0, 0, _arg4, 0);
concat(_local5);
}
public function thresholdAlpha(_arg1:Number, _arg2:Number=0x0100):void{
concat([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, _arg2, (-(_arg2) * _arg1)]);
}
public function clearChannels(_arg1:Boolean=false, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false):void{
if (_arg1){
matrix[0] = (matrix[1] = (matrix[2] = (matrix[3] = (matrix[4] = 0))));
};
if (_arg2){
matrix[5] = (matrix[6] = (matrix[7] = (matrix[8] = (matrix[9] = 0))));
};
if (_arg3){
matrix[10] = (matrix[11] = (matrix[12] = (matrix[13] = (matrix[14] = 0))));
};
if (_arg4){
matrix[15] = (matrix[16] = (matrix[17] = (matrix[18] = (matrix[19] = 0))));
};
}
public function applyColorDeficiency(_arg1:String):void{
switch (_arg1){
case "Protanopia":
concat([0.567, 0.433, 0, 0, 0, 0.558, 0.442, 0, 0, 0, 0, 0.242, 0.758, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Protanomaly":
concat([0.817, 0.183, 0, 0, 0, 0.333, 0.667, 0, 0, 0, 0, 0.125, 0.875, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Deuteranopia":
concat([0.625, 0.375, 0, 0, 0, 0.7, 0.3, 0, 0, 0, 0, 0.3, 0.7, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Deuteranomaly":
concat([0.8, 0.2, 0, 0, 0, 0.258, 0.742, 0, 0, 0, 0, 0.142, 0.858, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Tritanopia":
concat([0.95, 0.05, 0, 0, 0, 0, 0.433, 0.567, 0, 0, 0, 0.475, 0.525, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Tritanomaly":
concat([0.967, 0.033, 0, 0, 0, 0, 0.733, 0.267, 0, 0, 0, 0.183, 0.817, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Achromatopsia":
concat([0.299, 0.587, 0.114, 0, 0, 0.299, 0.587, 0.114, 0, 0, 0.299, 0.587, 0.114, 0, 0, 0, 0, 0, 1, 0]);
break;
case "Achromatomaly":
concat([0.618, 0.32, 0.062, 0, 0, 0.163, 0.775, 0.062, 0, 0, 0.163, 0.32, 0.516, 0, 0, 0, 0, 0, 1, 0]);
break;
};
}
}
}//package com.quasimondo.geom
Section 2
//GFontCharDef (engine.GFontCharDef)
package engine {
public class GFontCharDef {
public var mi_wt:int;
public var mi_x:int;
public var mi_y:int;
public function GFontCharDef(_arg1:int, _arg2:int, _arg3:int):void{
mi_x = _arg1;
mi_y = _arg2;
mi_wt = _arg3;
}
}
}//package engine
Section 3
//GFontData (engine.GFontData)
package engine {
import flash.display.*;
import flib.*;
public final class GFontData {
private var mi_hzSpc:uint;
private var mi_hue:int;
private var mao_colors:Array;
private var mo_bmpD:BitmapData;
private var mi_width:uint;
private var mi_vtSpc:uint;
private var mao_charDefs:Array;
private var mi_height:uint;
private var map_sctrsPct:Array;
public function GFontData(){
mi_hue = -1;
}
public function get charDefs():Array{
return (FCopy.CopyArray(mao_charDefs));
}
public function set horizontalSpacing(_arg1:uint):void{
mi_hzSpc = _arg1;
}
public function get hue():int{
return (mi_hue);
}
public function set charDefs(_arg1:Array):void{
mao_charDefs = FCopy.CopyArray(_arg1);
}
public function set width(_arg1:uint):void{
mi_width = _arg1;
}
public function get width():uint{
return (mi_width);
}
public function set height(_arg1:uint):void{
mi_height = _arg1;
}
public function get horizontalSpacing():uint{
return (mi_hzSpc);
}
public function set verticalSpacing(_arg1:uint):void{
mi_vtSpc = _arg1;
}
public function clone(_arg1:Boolean=true):GFontData{
var _local2:GFontData = new GFontData();
_local2.bitmapData = (((_arg1) && (mo_bmpD))) ? mo_bmpD.clone() : mo_bmpD;
_local2.colors = mao_colors;
_local2.mi_height = mi_height;
_local2.horizontalSpacing = mi_hzSpc;
_local2.mi_hue = mi_hue;
_local2.sectorsPercents = map_sctrsPct;
_local2.verticalSpacing = mi_vtSpc;
_local2.mi_width = mi_width;
_local2.charDefs = mao_charDefs;
return (_local2);
}
public function set colors(_arg1:Array):void{
mao_colors = FCopy.CopyArray(_arg1);
}
public function get height():uint{
return (mi_height);
}
public function get verticalSpacing():uint{
return (mi_vtSpc);
}
public function get colors():Array{
return (FCopy.CopyArray(mao_colors));
}
public function set bitmapData(_arg1:BitmapData):void{
mo_bmpD = _arg1;
}
public function set sectorsPercents(_arg1:Array):void{
map_sctrsPct = FCopy.CopyArray(_arg1);
}
public function set hue(_arg1:int):void{
mi_hue = _arg1;
}
public function get bitmapData():BitmapData{
return (mo_bmpD);
}
public function get sectorsPercents():Array{
return (FCopy.CopyArray(map_sctrsPct));
}
}
}//package engine
Section 4
//GUIControl (engine.GUIControl)
package engine {
import flash.display.*;
import flash.events.*;
import flib.*;
import flash.geom.*;
public class GUIControl extends FImage {
private var mi_state:int;
public static const CF_MOUSE_OVER:int = 1;
public static const CF_MOUSE_DOWN:int = 2;
private static const scmao_evtInfo:Array = [[MouseEvent.CLICK, "onClick"], [MouseEvent.DOUBLE_CLICK, "onDoubleClick"], [KeyboardEvent.KEY_DOWN, "onKeyDown"], [KeyboardEvent.KEY_UP, "onKeyUp"], [MouseEvent.MOUSE_DOWN, "_onMouseDown"], [MouseEvent.MOUSE_UP, "_onMouseUp"], [MouseEvent.MOUSE_WHEEL, "onMouseWheel"], [MouseEvent.ROLL_OUT, "_onRollOut"], [MouseEvent.ROLL_OVER, "_onRollOver"]];
public static const CF_MOUSE_HOLD_OVER:int = 4;
public static const CF_PIXEL_DETECT:int = 8;
private static var smo_ctrCapture:GUIControl = null;
private static var smo_ctrsPixel:FList;
public function GUIControl():void{
enableListeners(true);
}
protected function onMouseUp(_arg1:MouseEvent):void{
}
protected function onKeyDown(_arg1:KeyboardEvent):void{
}
public function remove():void{
pixelDetectEnabled = false;
enableListeners(false);
if (parent){
parent.removeChild(this);
};
}
override public function set mouseEnabled(_arg1:Boolean):void{
if ((mi_state & CF_PIXEL_DETECT) == 0){
enableListeners(_arg1);
};
super.mouseEnabled = _arg1;
}
protected function onMouseDown(_arg1:MouseEvent):void{
}
private function _onMouseDown(_arg1:MouseEvent):void{
mi_state = (mi_state | CF_MOUSE_DOWN);
SetMouseCapture(this);
onMouseDown(_arg1);
}
private function _onRollOver(_arg1:MouseEvent):void{
var _local2:GUIControl = GetMouseCapture();
if (((((!(_local2)) && (!(_arg1.buttonDown)))) || ((_local2 == this)))){
mi_state = (mi_state | CF_MOUSE_OVER);
onRollOver(_arg1);
};
if (_arg1.buttonDown){
mi_state = (mi_state | CF_MOUSE_HOLD_OVER);
};
}
public function get state():int{
return (mi_state);
}
protected function onDoubleClick(_arg1:MouseEvent):void{
}
private function _onMouseUp(_arg1:MouseEvent):void{
var _local3:int;
var _local2:GUIControl = GetMouseCapture();
if (_local2 != null){
_local2.mi_state = (_local2.mi_state & ~(CF_MOUSE_DOWN));
_local3 = _local2.mi_state;
if ((_local3 & CF_PIXEL_DETECT)){
if ((_local3 & CF_MOUSE_OVER) > 0){
_local2.onMouseUp(_arg1);
} else {
_local2.onMouseUpOutside(_arg1);
};
} else {
if (_local2 == _arg1.target){
onMouseUp(_arg1);
} else {
_local2.onMouseUpOutside(_arg1);
};
};
SetMouseCapture(null);
};
if ((mi_state & CF_MOUSE_HOLD_OVER)){
mi_state = (mi_state & ~(CF_MOUSE_HOLD_OVER));
mi_state = (mi_state | CF_MOUSE_OVER);
onRollOver(_arg1);
};
}
override public function get mouseEnabled():Boolean{
if ((mi_state & CF_PIXEL_DETECT) == 0){
return (super.mouseEnabled);
};
var _local1:Boolean = super.mouseEnabled;
var _local2:DisplayObjectContainer = parent;
while (_local1) {
if (_local2){
_local1 = ((_local1) && (((_local2.mouseEnabled) && (_local2.mouseChildren))));
_local2 = _local2.parent;
} else {
break;
};
};
return (_local1);
}
private function pxHitTest(_arg1:int, _arg2:int, _arg3:Point, _arg4:Point):Boolean{
var _local5:Boolean;
var _local6:BitmapData = bitmapData;
if (_local6){
_arg4.x = mouseX;
_arg4.y = mouseY;
_local5 = _local6.hitTest(_arg3, 0xFF, _arg4);
} else {
_local5 = hitTestPoint(_arg1, _arg2, true);
};
return (_local5);
}
protected function onMouseUpOutside(_arg1:MouseEvent):void{
}
protected function onClick(_arg1:MouseEvent):void{
}
public function set pixelDetectEnabled(_arg1:Boolean):void{
var _local2:Stage = FDisplay.StageRef;
if (_arg1){
if ((mi_state & CF_PIXEL_DETECT)){
return;
};
enableListeners(false);
if (!smo_ctrsPixel){
smo_ctrsPixel = new FList();
_local2.addEventListener(MouseEvent.MOUSE_MOVE, pxOnMouseMove, false, 0, true);
_local2.addEventListener(MouseEvent.MOUSE_UP, pxOnMouseUp, false, 0, true);
_local2.addEventListener(MouseEvent.MOUSE_DOWN, pxOnMouseDown, false, 0, true);
_local2.addEventListener(MouseEvent.CLICK, pxOnMouseClick, false, 0, true);
};
smo_ctrsPixel.addHead(this);
mi_state = (mi_state | CF_PIXEL_DETECT);
} else {
if ((mi_state & CF_PIXEL_DETECT) == 0){
return;
};
mi_state = (mi_state & ~(CF_PIXEL_DETECT));
smo_ctrsPixel.remove(this);
if (smo_ctrsPixel.numItems == 0){
_local2.removeEventListener(MouseEvent.MOUSE_MOVE, pxOnMouseMove);
_local2.removeEventListener(MouseEvent.MOUSE_UP, pxOnMouseUp);
_local2.removeEventListener(MouseEvent.MOUSE_DOWN, pxOnMouseDown);
_local2.removeEventListener(MouseEvent.CLICK, pxOnMouseClick);
smo_ctrsPixel = null;
};
enableListeners(true);
};
}
protected function onRollOut(_arg1:MouseEvent):void{
}
private function _onRollOut(_arg1:MouseEvent):void{
var _local2:GUIControl = GetMouseCapture();
if (((!(_local2)) || ((_local2 == this)))){
mi_state = (mi_state & ~(CF_MOUSE_OVER));
onRollOut(_arg1);
};
mi_state = (mi_state & ~(CF_MOUSE_HOLD_OVER));
}
protected function onMouseWheel(_arg1:MouseEvent):void{
}
protected function onMouseMove(_arg1:MouseEvent):void{
}
public function get pixelDetectEnabled():Boolean{
return (((mi_state & CF_PIXEL_DETECT) > 0));
}
protected function onKeyUp(_arg1:KeyboardEvent):void{
}
private function enableListeners(_arg1:Boolean):void{
var _local2:Array;
if (_arg1){
for each (_local2 in scmao_evtInfo) {
addEventListener(_local2[0], this[_local2[1]], false, 0, true);
};
} else {
for each (_local2 in scmao_evtInfo) {
removeEventListener(_local2[0], this[_local2[1]]);
};
};
}
protected function onRollOver(_arg1:MouseEvent):void{
}
private static function pxOnMouseDown(_arg1:MouseEvent):void{
var _local2:Boolean;
var _local3:int;
var _local4:GUIControl = smo_ctrsPixel.head;
do {
if (_local4.mouseEnabled){
_local3 = _local4.mi_state;
_local2 = ((_local3 & CF_MOUSE_OVER) > 0);
if (_local2){
if ((_local3 & CF_MOUSE_DOWN) == 0){
_local4._onMouseDown(_arg1);
return;
};
};
};
_local4 = smo_ctrsPixel.next(_local4);
} while (_local4);
}
public static function get PixelControls():FList{
return (smo_ctrsPixel);
}
public static function GetMouseCapture():GUIControl{
return (smo_ctrCapture);
}
private static function _onMouseMove(_arg1:MouseEvent):void{
var _local2:GUIControl = GetMouseCapture();
if (_local2){
_local2.onMouseMove(_arg1);
};
}
private static function pxOnMouseUp(_arg1:MouseEvent):void{
var _local2 = (CF_MOUSE_DOWN | CF_MOUSE_HOLD_OVER);
var _local3:GUIControl = smo_ctrsPixel.head;
do {
if ((_local3.mi_state & _local2) > 0){
_local3._onMouseUp(_arg1);
return;
};
_local3 = smo_ctrsPixel.next(_local3);
} while (_local3);
}
public static function SetMouseCapture(_arg1:GUIControl):GUIControl{
var _local2:Stage = FDisplay.StageRef;
if (!_local2){
return (smo_ctrCapture);
};
if (smo_ctrCapture){
_local2.removeEventListener(MouseEvent.MOUSE_MOVE, GUIControl._onMouseMove);
_local2.removeEventListener(MouseEvent.MOUSE_UP, smo_ctrCapture._onMouseUp);
};
if (_arg1){
_local2.addEventListener(MouseEvent.MOUSE_MOVE, GUIControl._onMouseMove, false, 0, true);
_local2.addEventListener(MouseEvent.MOUSE_UP, _arg1._onMouseUp, false, 0, true);
};
var _local3:GUIControl = smo_ctrCapture;
smo_ctrCapture = _arg1;
return (_local3);
}
private static function pxOnMouseMove(_arg1:MouseEvent):void{
var _local8:Boolean;
var _local9:Boolean;
var _local2 = (CF_MOUSE_OVER | CF_MOUSE_HOLD_OVER);
var _local3:Stage = FDisplay.StageRef;
var _local4:int = _local3.mouseX;
var _local5:int = _local3.mouseY;
var _local6:Point = new Point();
var _local7:Point = new Point();
var _local10:GUIControl = smo_ctrsPixel.head;
do {
if (_local10.mouseEnabled){
_local8 = ((_local10.mi_state & _local2) > 0);
_local9 = _local10.pxHitTest(_local4, _local5, _local6, _local7);
if (_local9){
if (!_local8){
_local10._onRollOver(_arg1);
};
} else {
if (_local8){
_local10._onRollOut(_arg1);
};
};
};
_local10 = smo_ctrsPixel.next(_local10);
} while (_local10);
}
private static function pxOnMouseClick(_arg1:MouseEvent):void{
var _local2:Stage = FDisplay.StageRef;
var _local3:int = _local2.mouseX;
var _local4:int = _local2.mouseY;
var _local5:Point = new Point();
var _local6:Point = new Point();
var _local7:GUIControl = smo_ctrsPixel.head;
do {
if (_local7.mouseEnabled){
if (_local7.pxHitTest(_local3, _local4, _local5, _local6)){
_local7.onClick(_arg1);
return;
};
};
_local7 = smo_ctrsPixel.next(_local7);
} while (_local7);
}
}
}//package engine
Section 5
//GUIFont (engine.GUIFont)
package engine {
import flash.display.*;
import flib.*;
import flash.geom.*;
import com.quasimondo.geom.*;
public final class GUIFont {
private var mo_pt:Point;
private var mo_wrap:FWordWrap;
private var mi_ht:int;
private var mi_hzSpc:int;
private var mao_colors:Array;
private var mi_hue:int;
private var mi_wt:int;
private var mo_rect:Rectangle;
private var mi_vtSpc:int;
private var mao_charDefs:Array;
private var mo_bmpData:BitmapData;
private var map_sctrsPct:Array;
public static const MAX_CHARS:int = 128;
public function GUIFont(_arg1:GFontData){
mo_pt = new Point();
setFontData(_arg1);
}
public function get width():int{
return (mi_wt);
}
public function clear(_arg1:Boolean=true):void{
if (mo_bmpData){
if (_arg1){
mo_bmpData.dispose();
};
mo_bmpData = null;
};
mao_colors = (map_sctrsPct = (mao_charDefs = null));
}
public function get isLoaded():Boolean{
return (!((mo_bmpData == null)));
}
public function get hzSpacing():int{
return (mi_hzSpc);
}
public function get fontData():GFontData{
var _local1:GFontData = new GFontData();
_local1.bitmapData = mo_bmpData;
_local1.colors = mao_colors;
_local1.height = mi_ht;
_local1.horizontalSpacing = mi_hzSpc;
_local1.hue = mi_hue;
_local1.sectorsPercents = map_sctrsPct;
_local1.verticalSpacing = mi_vtSpc;
_local1.width = mi_wt;
_local1.charDefs = mao_charDefs;
return (_local1);
}
public function setFontData(_arg1:GFontData, _arg2:Boolean=true):Boolean{
var _local10:ColorMatrix;
var _local3:BitmapData = (_arg1) ? _arg1.bitmapData : null;
if (!_local3){
return (false);
};
if (_arg2){
if (((((mo_bmpData) && ((mo_bmpData.width == _local3.width)))) && ((mo_bmpData.height == _local3.height)))){
mo_pt.x = (mo_pt.y = 0);
mo_bmpData.copyPixels(_local3, _local3.rect, mo_pt);
} else {
if (mo_bmpData){
mo_bmpData.dispose();
};
mo_bmpData = _local3.clone();
};
} else {
mo_bmpData = _local3;
};
mi_wt = _arg1.width;
mi_ht = _arg1.height;
mi_hzSpc = _arg1.horizontalSpacing;
mi_vtSpc = _arg1.verticalSpacing;
mao_charDefs = _arg1.charDefs;
var _local4:int;
var _local5:int = MAX_CHARS;
var _local6:int;
var _local7:int;
var _local8:int = _local3.width;
var _local9:int = _local3.height;
if (!mao_charDefs){
mao_charDefs = new Array(_local5);
do {
mao_charDefs[int(_local4)] = new GFontCharDef(_local6, _local7, mi_wt);
_local6 = (_local6 + mi_wt);
if (_local6 >= _local8){
_local6 = 0;
_local7 = (_local7 + mi_ht);
if (_local7 >= _local9){
_local7 = 0;
};
};
++_local4;
} while (_local4 < _local5);
};
mi_hue = _arg1.hue;
mao_colors = _arg1.colors;
map_sctrsPct = _arg1.sectorsPercents;
if (mi_hue >= 0){
_local10 = new ColorMatrix();
_local10.adjustHue(mi_hue);
mo_bmpData.applyFilter(_local3, _local3.rect, new Point(), _local10.filter);
} else {
if (((!((mao_colors == null))) && (!((map_sctrsPct == null))))){
FDisplay.BmpGSGradMap(mo_bmpData, mao_colors, map_sctrsPct);
};
};
if (!mo_rect){
mo_rect = new Rectangle(0, 0, mi_wt, mi_ht);
} else {
mo_rect.x = (mo_rect.y = 0);
mo_rect.width = mi_wt;
mo_rect.height = mi_ht;
};
return (true);
}
public function calcHeight(_arg1:String, _arg2:int=0, _arg3:int=0):int{
var _local4:int;
var _local5:int;
var _local7:int;
if (_arg3 > 0){
if (!mo_wrap){
mo_wrap = new FWordWrap();
};
if (!mo_wrap.run(_arg1, this, _arg3)){
return (0);
};
_arg2 = mo_wrap.lineCount;
};
if (_arg2 > 0){
return (((_arg2 * mi_ht) + (mi_vtSpc * (_arg2 - 1))));
};
var _local6:int = (_arg1) ? _arg1.length : 0;
var _local8 = -1;
while (_local4 < _local6) {
_local7 = _arg1.charCodeAt(_local4);
if ((((_local7 == 10)) || ((_local7 == 13)))){
_local5 = (_local5 + mi_ht);
_local8++;
};
_local4++;
};
_local5 = (_local5 + mi_ht);
if (_local8 > 0){
_local5 = (_local5 + (_local8 * mi_vtSpc));
};
return (_local5);
}
public function clone(_arg1:Array=null, _arg2:Array=null, _arg3:int=-1):GUIFont{
var _local4:GFontData = fontData;
if (_arg3 > -1){
_local4.hue = _arg3;
};
if (_arg1){
_local4.colors = _arg1;
};
if (_arg2){
_local4.sectorsPercents = _arg2;
};
return (new GUIFont(_local4));
}
public function get height():int{
return (mi_ht);
}
public function set hzSpacing(_arg1:int):void{
mi_hzSpc = _arg1;
}
public function get vtSpacing():int{
return (mi_vtSpc);
}
public function renderWrap(_arg1:String, _arg2:BitmapData, _arg3:int, _arg4:int, _arg5:int, _arg6:int):Boolean{
var _local13:int;
var _local14:FWWLine;
var _local15:int;
var _local16:int;
var _local17:int;
var _local18:int;
var _local20:int;
var _local21:int;
var _local22:GFontCharDef;
if (((((!(mo_bmpData)) || (!(_arg2)))) || (!(_arg1)))){
return (false);
};
var _local7:int = _arg3;
var _local8:int = _arg4;
var _local9:int = ((_arg3 + _arg5) - 1);
var _local10:int = ((_arg4 + _arg6) - 1);
if ((((_local7 >= _local9)) || ((_local8 >= _local10)))){
return (true);
};
if (!mo_wrap){
mo_wrap = new FWordWrap();
};
if (!mo_wrap.run(_arg1, this, _arg5)){
return (false);
};
var _local11:Array = mo_wrap.lines;
var _local12:int = (_local11) ? _local11.length : 0;
if (!_local12){
return (true);
};
var _local19:int = (mi_ht + mi_vtSpc);
mo_pt.y = _local8;
do {
_local14 = _local11[_local13];
_local15 = _local14.mi_idx;
_local17 = _local14.mi_len;
if (_local17 > 0){
mo_pt.x = _local7;
do {
var _temp1 = _local15;
_local15 = (_local15 + 1);
_local20 = _arg1.charCodeAt(_temp1);
_local21 = (_local20 - 32);
_local22 = mao_charDefs[int(_local21)];
mo_rect.x = _local22.mi_x;
mo_rect.y = _local22.mi_y;
_local18 = (mo_rect.width = _local22.mi_wt);
_arg2.copyPixels(mo_bmpData, mo_rect, mo_pt, null, null, true);
mo_pt.x = (mo_pt.x + (mi_hzSpc + _local18));
++_local16;
} while ((((_local16 < _local17)) && ((mo_pt.x < _local9))));
_local16 = 0;
};
mo_pt.y = (mo_pt.y + _local19);
++_local13;
} while ((((_local13 < _local12)) && ((mo_pt.y < _local10))));
return (true);
}
public function render(_arg1:String, _arg2:BitmapData, _arg3:int, _arg4:int, _arg5:int, _arg6:int):Boolean{
var _local15:int;
var _local16:Number;
var _local17:int;
var _local18:GFontCharDef;
if (((((!(mo_bmpData)) || (!(_arg2)))) || (!(_arg1)))){
return (false);
};
var _local7:int = _arg3;
var _local8:int = _arg4;
var _local9:int = ((_arg3 + _arg5) - 1);
var _local10:int = ((_arg4 + _arg6) - 1);
if ((((_local7 >= _local9)) || ((_local8 >= _local10)))){
return (true);
};
var _local11:Number = MAX_CHARS;
var _local12:int = _arg1.length;
var _local13:int = (mi_ht + mi_vtSpc);
var _local14:Number = 0;
mo_pt.y = _local8;
while (_local14 < _local12) {
_local16 = _arg1.charCodeAt(_local14);
if ((((_local16 > 0)) && ((_local16 < _local11)))){
if ((((_local16 == 10)) || ((_local16 == 13)))){
_local7 = _arg3;
_local8 = (_local8 + _local13);
mo_pt.y = _local8;
} else {
_local17 = (_local16 - 32);
_local18 = mao_charDefs[int(_local17)];
if (_local7 >= _local9){
_local7 = _arg3;
_local8 = (_local8 + _local13);
mo_pt.y = _local8;
};
if (_local18){
mo_rect.x = _local18.mi_x;
mo_rect.y = _local18.mi_y;
_local15 = (mo_rect.width = _local18.mi_wt);
mo_pt.x = _local7;
_arg2.copyPixels(mo_bmpData, mo_rect, mo_pt, null, null, true);
_local7 = (_local7 + (_local15 + mi_hzSpc));
};
};
} else {
if (_local16 == 0){
break;
};
};
if (_local8 >= _local10){
break;
};
_local14++;
};
return (true);
}
public function calcWidth(_arg1:String, _arg2:int=0):int{
var _local3:GFontCharDef;
var _local4:int;
var _local5:int;
var _local6:int;
var _local8:int;
if (_arg2 > 0){
return (((_arg2 * mi_wt) + (mi_hzSpc * (_arg2 - 1))));
};
var _local7:int = (_arg1) ? _arg1.length : 0;
var _local9 = -1;
while (_local4 < _local7) {
_local8 = _arg1.charCodeAt(_local4);
if ((((_local8 == 10)) || ((_local8 == 13)))){
if (_local9 > 0){
_local5 = (_local5 + (_local9 * mi_hzSpc));
_local9 = -1;
};
if (_local5 > _local6){
_local6 = _local5;
};
_local5 = 0;
} else {
_local3 = mao_charDefs[int((_local8 - 32))];
if (_local3){
_local5 = (_local5 + _local3.mi_wt);
_local9++;
} else {
_local5 = (_local5 + mi_wt);
};
};
_local4++;
};
if (_local9 > 0){
_local5 = (_local5 + (_local9 * mi_hzSpc));
};
if (_local5 > _local6){
_local6 = _local5;
};
return (_local6);
}
public function set vtSpacing(_arg1:int):void{
mi_vtSpc = _arg1;
}
public function get bitmapData():BitmapData{
return (mo_bmpData);
}
}
}//package engine
Section 6
//GUILabel (engine.GUILabel)
package engine {
import flash.display.*;
import flash.geom.*;
public class GUILabel extends GUIControl {
private var mb_render:Boolean;
private var mi_xofs:int;
private var mo_font:GUIFont;
private var mi_backColor:int;
private var mo_rBack:Rectangle;
private var mb_wordWrap:Boolean;
private var mi_width:uint;
private var ms_text:String;
private var mo_bmp:Bitmap;
private var mi_height:uint;
private var mi_yofs:int;
private var mo_bmpData:BitmapData;
private var mb_autoSize:Boolean;
public function GUILabel(){
mb_render = true;
mb_autoSize = true;
}
public function get backColor():int{
return (mi_backColor);
}
override public function remove():void{
mo_font = null;
clear();
if (mo_bmp){
removeChild(mo_bmp);
mo_bmp = null;
};
if (mo_bmpData){
mo_bmpData.dispose();
mo_bmpData = null;
};
super.remove();
}
public function get sizeWidth():uint{
return (mi_width);
}
public function get sizeHeight():uint{
return (mi_height);
}
public function get enableRendering():Boolean{
return (mb_render);
}
public function setSize(_arg1:uint, _arg2:uint):Boolean{
var o_bmpData:BitmapData;
var i_width = _arg1;
var i_height = _arg2;
if (((!(i_width)) || (!(i_height)))){
return (false);
};
try {
o_bmpData = new BitmapData(i_width, i_height, true, 0);
} catch(o_exc:ArgumentError) {
return (false);
};
if (mo_bmpData){
mo_bmpData.dispose();
};
bitmapData = (mo_bmpData = o_bmpData);
if (!mo_bmp){
mo_bmp = new Bitmap(null, "never");
addChild(mo_bmp);
};
mo_bmp.bitmapData = mo_bmpData;
mi_width = i_width;
mi_height = i_height;
if (!mo_rBack){
mo_rBack = new Rectangle(0, 0);
};
mo_rBack.width = mi_width;
mo_rBack.height = mi_height;
render();
return (true);
}
public function setFont(_arg1:GUIFont):Boolean{
if (((_arg1) && (!(_arg1.isLoaded)))){
return (false);
};
mo_font = _arg1;
render();
return (true);
}
public function set enableRendering(_arg1:Boolean):void{
mb_render = _arg1;
render();
}
public function get font():GUIFont{
return (mo_font);
}
public function get autoSize():Boolean{
return (mb_autoSize);
}
public function get text():String{
return (ms_text);
}
public function render():Boolean{
if (((((!(mb_render)) || (!(mo_font)))) || (!(mo_bmpData)))){
return (false);
};
mo_bmpData.fillRect(mo_rBack, mi_backColor);
return ((mb_wordWrap) ? mo_font.renderWrap(ms_text, mo_bmpData, mi_xofs, mi_yofs, mi_width, mi_height) : mo_font.render(ms_text, mo_bmpData, mi_xofs, mi_yofs, mi_width, mi_height));
}
public function set autoSize(_arg1:Boolean):void{
mb_autoSize = _arg1;
applyAutoSize();
}
public function set text(_arg1:String):void{
ms_text = _arg1;
if (((((mb_autoSize) && (!(mb_wordWrap)))) && (mo_font))){
setSize(mo_font.calcWidth(ms_text), mo_font.calcHeight(ms_text));
} else {
render();
};
}
private function applyAutoSize():Boolean{
var _local1:Boolean;
if (((((mb_autoSize) && (!(mb_wordWrap)))) && (mo_font))){
_local1 = setSize(mo_font.calcWidth(ms_text), mo_font.calcHeight(ms_text));
};
return (_local1);
}
public function set wordWrap(_arg1:Boolean):void{
if (mb_wordWrap != _arg1){
mb_wordWrap = _arg1;
render();
};
}
public function get wordWrap():Boolean{
return (wordWrap);
}
public function set backColor(_arg1:int):void{
mi_backColor = _arg1;
render();
}
public static function Create(_arg1:GUIFont, _arg2:String, _arg3:uint=0, _arg4:uint=0, _arg5:Boolean=false, _arg6:Boolean=false, _arg7:Class=null):GUILabel{
if (_arg7 == null){
_arg7 = GUILabel;
};
var _local8:GUILabel = (new (_arg7) as GUILabel);
if (_local8){
_local8.text = _arg2;
_local8.setFont(_arg1);
_local8.wordWrap = _arg5;
_local8.mb_autoSize = _arg6;
if (!_local8.applyAutoSize()){
if (_arg1.isLoaded){
if (_arg3 == 0){
_arg3 = _arg1.calcWidth(_arg2);
};
if (_arg4 == 0){
if (_arg5){
if (_arg3){
_arg4 = _arg1.calcHeight(_arg2, 0, _arg3);
};
} else {
_arg4 = _arg1.calcHeight(_arg2);
};
};
};
_local8.setSize(_arg3, _arg4);
};
};
return (_local8);
}
}
}//package engine
Section 7
//GUILifeBar (engine.GUILifeBar)
package engine {
import flash.display.*;
import flib.*;
import flash.geom.*;
public class GUILifeBar extends GUIControl {
private var mo_bmpEmpty:Bitmap;
private var mo_imgBar:FImage;
private var mo_bmpDEmpty:BitmapData;
private var mp_value:Number;
private var mo_rScr:Rectangle;
private var mo_imgFrame:FImage;
private var mi_dir:int;
private var mo_ptOfs:Point;
public static const DIR_DOWN:int = 1;
private static const PT_0:Point = new Point();
public static const DIR_LEFT:int = 2;
public static const DIR_RIGHT:int = 3;
public static const DIR_UP:int = 0;
public function GUILifeBar(_arg1:FImage, _arg2:FImage, _arg3:Number, _arg4:int, _arg5:Point):void{
mo_ptOfs = (_arg5) ? _arg5.clone() : new Point();
mo_rScr = new Rectangle();
mo_bmpEmpty = new Bitmap();
addChild(mo_bmpEmpty);
value = _arg3;
direction = _arg4;
imageFrame = _arg1;
imageBar = _arg2;
}
public function set ofsPt(_arg1:Point):void{
if (_arg1){
mo_ptOfs.x = _arg1.x;
mo_ptOfs.y = _arg1.y;
} else {
mo_ptOfs.x = (mo_ptOfs.y = 0);
};
if (mo_imgBar){
mo_imgBar.x = mo_ptOfs.x;
mo_imgBar.y = mo_ptOfs.y;
};
buildEmptyBar();
}
public function get value():Number{
return (mp_value);
}
public function get imageFrame():FImage{
return (mo_imgFrame);
}
private function buildEmptyBar():void{
if (mo_bmpDEmpty){
mo_bmpDEmpty.dispose();
mo_bmpEmpty.bitmapData = (mo_bmpDEmpty = null);
};
if (((!((mo_imgBar == null))) && (!((mo_imgFrame == null))))){
switch (mi_dir){
case DIR_RIGHT:
mo_rScr.x = int((mo_ptOfs.x + (mo_imgBar.width * mp_value)));
mo_rScr.y = int(mo_ptOfs.y);
mo_rScr.width = ((mo_imgBar.width - mo_rScr.x) + mo_ptOfs.x);
mo_rScr.height = mo_imgBar.height;
break;
case DIR_DOWN:
mo_rScr.y = int((mo_ptOfs.y + (mo_imgBar.height * mp_value)));
mo_rScr.x = int(mo_ptOfs.x);
mo_rScr.height = ((mo_imgBar.height - mo_rScr.y) + mo_ptOfs.y);
mo_rScr.width = mo_imgBar.width;
break;
case DIR_LEFT:
mo_rScr.x = int(mo_ptOfs.x);
mo_rScr.y = int(mo_ptOfs.y);
mo_rScr.width = int((mo_imgBar.width * (1 - mp_value)));
mo_rScr.height = mo_imgBar.height;
break;
case DIR_UP:
mo_rScr.x = int(mo_ptOfs.x);
mo_rScr.y = int(mo_ptOfs.y);
mo_rScr.height = int((mo_imgBar.height * (1 - mp_value)));
mo_rScr.width = mo_imgBar.width;
};
mo_rScr.width = int(mo_rScr.width);
mo_rScr.height = int(mo_rScr.height);
} else {
mo_rScr.setEmpty();
};
if (!mo_rScr.isEmpty()){
mo_bmpDEmpty = new BitmapData(mo_rScr.width, mo_rScr.height, false);
mo_bmpDEmpty.copyPixels(mo_imgFrame.bitmapData, mo_rScr, PT_0);
mo_bmpEmpty.bitmapData = mo_bmpDEmpty;
mo_bmpEmpty.x = mo_rScr.x;
mo_bmpEmpty.y = mo_rScr.y;
setChildIndex(mo_bmpEmpty, (numChildren - 1));
};
}
public function get ofsPt():Point{
return (mo_ptOfs.clone());
}
public function set imageFrame(_arg1:FImage):void{
if (((!((mo_imgFrame == null))) && (contains(mo_imgFrame)))){
removeChild(mo_imgFrame);
};
mo_imgFrame = _arg1;
if (mo_imgFrame){
addChildAt(mo_imgFrame, 0);
};
buildEmptyBar();
}
public function set value(_arg1:Number):void{
if (!isNaN(_arg1)){
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < 0){
_arg1 = 0;
};
};
mp_value = _arg1;
buildEmptyBar();
};
}
public function set imageBar(_arg1:FImage):void{
if (((!((mo_imgBar == null))) && (contains(mo_imgBar)))){
mo_imgBar.scrollRect = null;
removeChild(mo_imgBar);
};
mo_imgBar = _arg1;
if (mo_imgBar){
addChildAt(mo_imgBar, getChildIndex(mo_bmpEmpty));
mo_imgBar.x = mo_ptOfs.x;
mo_imgBar.y = mo_ptOfs.y;
};
buildEmptyBar();
}
public function get imageBar():FImage{
return (mo_imgBar);
}
public function set direction(_arg1:int):void{
switch (_arg1){
case DIR_DOWN:
case DIR_LEFT:
case DIR_RIGHT:
mi_dir = _arg1;
break;
case DIR_UP:
default:
mi_dir = DIR_UP;
break;
};
buildEmptyBar();
}
public function get direction():int{
return (mi_dir);
}
}
}//package engine
Section 8
//FAssets (flib.FAssets)
package flib {
import flash.display.*;
import flash.utils.*;
import flash.media.*;
public final class FAssets {
private static var smo_assets:Dictionary = new Dictionary();
public static function Remove(_arg1:Class):Boolean{
return (delete smo_assets[_arg1]);
}
public static function LoadBitmap(_arg1:Class, _arg2:Boolean=false):Bitmap{
var _local3:Bitmap;
if (!_arg1){
return (null);
};
if (_arg2){
_local3 = new (_arg1);
} else {
_local3 = smo_assets[_arg1];
if (!_local3){
_local3 = (smo_assets[_arg1] = new (_arg1));
};
};
return (_local3);
}
public static function LoadSound(_arg1:Class, _arg2:Boolean=false):Sound{
var _local3:Sound;
if (!_arg1){
return (null);
};
if (_arg2){
_local3 = new (_arg1);
} else {
_local3 = smo_assets[_arg1];
if (!_local3){
_local3 = (smo_assets[_arg1] = new (_arg1));
};
};
return (_local3);
}
public static function LoadBitmapData(_arg1:Class, _arg2:Boolean=false):BitmapData{
return (LoadBitmap(_arg1, _arg2).bitmapData);
}
}
}//package flib
Section 9
//FCopy (flib.FCopy)
package flib {
public final class FCopy {
public static function CopyObject(_arg1:Object):Object{
var _local3:String;
var _local4:int;
var _local5:*;
if (_arg1 == null){
return (null);
};
var _local2:Object = new Object();
for (_local3 in _arg1) {
_local5 = _arg1[_local3];
if ((_local5 is Array)){
_local2[_local3] = CopyArray(_local5);
} else {
if (typeof(_local5) == "object"){
if (_local5 != null){
_local2[_local3] = (_local5.hasOwnProperty("clone")) ? _local5.clone() : CopyObject(_local5);
} else {
_local2[_local3] = null;
};
} else {
_local2[_local3] = _local5;
};
};
_local4++;
};
return ((_local4) ? _local2 : _arg1);
}
public static function CopyArray(_arg1:Array):Array{
var _local5:*;
if (!_arg1){
return (null);
};
var _local2:int;
var _local3:int = _arg1.length;
var _local4:Array = new Array(_local3);
do {
_local5 = _arg1[_local2];
if ((_local5 is Array)){
_local4[_local2] = CopyArray(_local5);
} else {
if (typeof(_local5) == "object"){
_local4[_local2] = CopyObject(_local5);
} else {
_local4[_local2] = _local5;
};
};
++_local2;
} while (_local2 < _local3);
return (_local4);
}
public static function MergeObjects(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:*;
if (!_arg1){
if (!_arg2){
return (null);
};
return (CopyObject(_arg2));
};
var _local3:Object = CopyObject(_arg1);
for (_local4 in _arg2) {
_local5 = _arg2[_local4];
if ((_local5 is Array)){
_local3[_local4] = CopyArray(_local5);
} else {
if (typeof(_local5) == "object"){
_local3[_local4] = (_local5.hasOwnProperty("clone")) ? _local5.clone() : CopyObject(_local5);
} else {
_local3[_local4] = _local5;
};
};
};
return (_local3);
}
}
}//package flib
Section 10
//FCryptRl (flib.FCryptRl)
package flib {
import flash.utils.*;
public final class FCryptRl {
public static const KEY_SIZE:uint = 16;
private static const smi_numMangles:uint = smafi_mangles.length;
private static const smai_sinesCosines:Array = [[0, 214, 231, 35, 192, 244, 71, 167, 252, 105, 138, 254, 136, 107, 252, 165, 73, 245, 191, 38, 232, 213, 2, 215, 230, 33, 194, 243, 69, 169, 251, 103, 140, 254, 134, 109, 252, 164, 75, 245, 190, 40, 233, 212, 4, 216, 229, 31, 195, 243, 66, 170, 251, 100, 142, 254, 132, 111, 253, 162, 77, 246, 188, 42, 234, 210, 6, 218, 228, 29, 197, 242, 64, 172, 251, 98, 144, 254, 131, 113, 253, 160, 79, 246, 186, 44, 235, 209, 9, 219, 227, 27, 198, 241, 62, 174, 250, 96, 146, 254, 129, 115, 253, 158, 82, 247, 185, 47, 236, 208, 11, 220, 226, 24, 200, 241, 60, 175, 250, 94, 148, 254, 127, 117, 253, 157, 84, 248, 183, 49, 237, 206, 13, 221, 225, 22, 201, 240, 58, 177, 249, 92, 149, 254, 125, 119, 254, 155, 86, 248, 182, 51, 237, 205, 15, 222, 224, 20, 202, 239, 55, 179, 249, 90, 151, 254, 123, 121, 254, 153, 88, 249, 180, 53, 238, 204, 18, 223, 223, 18, 204, 238, 53, 180, 249, 88, 153, 254, 121, 123, 254, 151, 90, 249, 179, 55, 239, 202, 20, 224, 222, 15, 205, 237, 51, 182, 248, 86, 155, 254, 119, 125, 254, 149, 92, 249, 177, 58, 240, 201, 22, 225, 221, 13, 206, 237, 49, 183, 248, 84, 157, 253, 117, 127, 254, 148, 94, 250, 175, 60, 241, 200, 24, 226, 220, 11, 208, 236, 47, 185, 247, 82, 158, 253, 115, 129], [0xFF, 137, 106, 252, 166, 72, 244, 192, 37, 232, 213, 1, 215, 231, 34, 193, 244, 70, 168, 252, 104, 139, 254, 135, 108, 252, 164, 74, 245, 190, 39, 233, 212, 3, 216, 230, 32, 195, 243, 67, 170, 251, 101, 141, 254, 133, 110, 253, 163, 76, 246, 189, 41, 234, 211, 5, 217, 229, 30, 196, 242, 65, 171, 251, 99, 143, 254, 132, 112, 253, 161, 78, 246, 187, 43, 235, 210, 7, 218, 228, 28, 198, 242, 63, 173, 251, 97, 145, 254, 130, 114, 253, 159, 80, 247, 186, 46, 235, 208, 10, 219, 227, 25, 199, 241, 61, 175, 250, 95, 147, 254, 128, 116, 253, 157, 83, 247, 184, 48, 236, 207, 12, 221, 226, 23, 200, 240, 59, 176, 250, 93, 148, 254, 126, 118, 254, 156, 85, 248, 183, 50, 237, 206, 14, 222, 225, 21, 202, 239, 57, 178, 249, 91, 150, 254, 124, 120, 254, 154, 87, 248, 181, 52, 238, 204, 16, 223, 224, 19, 203, 239, 54, 179, 249, 89, 152, 254, 122, 122, 254, 152, 89, 249, 179, 54, 239, 203, 19, 224, 223, 16, 204, 238, 52, 181, 248, 87, 154, 254, 120, 124, 254, 150, 91, 249, 178, 57, 239, 202, 21, 225, 222, 14, 206, 237, 50, 183, 248, 85, 156, 254, 118, 126, 254, 148, 93, 250, 176, 59, 240, 200, 23, 226, 221, 12, 207, 236, 48, 184, 247, 83, 157, 253, 116, 128, 254]];
public static const BLOCK_SIZE:uint = 16;
private static const smao_orients:Array = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12], [12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3], [3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12], [0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15], [15, 11, 7, 3, 14, 10, 6, 2, 13, 9, 5, 1, 12, 8, 4, 0], [12, 13, 14, 15, 8, 9, 10, 11, 4, 5, 6, 7, 0, 1, 2, 3], [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]];
private static const smafi_mangles:Array = [mangle1, mangle2, mangle3, mangle4, mangle5];
private static const smai_orientsIdxRev:Array = [0, 2, 1, 3, 4, 5, 6, 7];
public static function Encrypt(_arg1:ByteArray, _arg2:ByteArray):ByteArray{
var _local10:uint;
var _local18:Array;
var _local23:*;
var _local24:uint;
var _local3:uint = (_arg1) ? _arg1.length : 0;
var _local4:uint = (_arg2) ? _arg2.length : 0;
if ((((_local3 == 0)) || (!((_local4 == KEY_SIZE))))){
return (null);
};
var _local5:uint;
var _local6:uint;
var _local7:ByteArray = new ByteArray();
_local7.length = BLOCK_SIZE;
do {
_local7.writeByte((Math.random() * 0x0100));
++_local5;
} while (_local5 < (BLOCK_SIZE - 4));
_local6 = (((_local7[0] + _local7[4]) + _local7[8]) & 0xFF);
_local7.writeByte((((_local3 & 4278190080) >> 24) ^ _local6));
_local6 = (((_local7[1] + _local7[5]) + _local7[9]) & 0xFF);
_local7.writeByte((((_local3 & 0xFF0000) >> 16) ^ _local6));
_local6 = (((_local7[2] + _local7[6]) + _local7[10]) & 0xFF);
_local7.writeByte((((_local3 & 0xFF00) >> 8) ^ _local6));
_local6 = (((_local7[3] + _local7[7]) + _local7[11]) & 0xFF);
_local7.writeByte(((_local3 & 0xFF) ^ _local6));
var _local8:ByteArray = new ByteArray();
var _local9:ByteArray = new ByteArray();
var _local11:uint;
_local8.length = (_local3 + BLOCK_SIZE);
_local9.length = BLOCK_SIZE;
var _local12:uint = (KEY_SIZE - 1);
var _local13:uint = (BLOCK_SIZE - 1);
_local6 = 0;
_local5 = _local6;
do {
_local6 = (_local6 + _arg2[_local5]);
++_local5;
} while (_local5 < KEY_SIZE);
var _local14:uint = ((_local6 & _local12) | 1);
var _local15:uint = _local14;
var _local16:uint = _local3;
var _local17:uint;
while (_local16 > BLOCK_SIZE) {
_local10 = (_arg2[_local15] & 7);
_local15 = ((_local15 + _local14) & _local12);
_local18 = smao_orients[_local10];
_local11 = (_arg2[_local15] & _local13);
_local15 = ((_local15 + _local14) & _local12);
_local5 = 0;
_local9.position = 0;
do {
_local23 = _arg1[(_local17 + ((_local18[_local5] + _local11) & _local13))];
_local9[_local5] = _local23;
++_local5;
} while (_local5 < BLOCK_SIZE);
_local8.writeBytes(_local9);
_local16 = (_local16 - BLOCK_SIZE);
_local17 = (_local17 + BLOCK_SIZE);
};
if (_local16 > 0){
_local24 = _local16;
_local5 = 0;
while (_local16 > 0) {
_local23 = _arg1[(_local17 + _local5)];
_local9[_local5] = _local23;
_local5++;
_local16--;
};
_local8.writeBytes(_local9, 0, _local24);
};
var _local19:ByteArray = _local7;
var _local20:uint;
var _local21:uint;
var _local22:uint;
_local15 = _local14;
_local5 = 0;
_local19 = _local7;
do {
_local22 = (_arg2[_local15] & 1);
if (_local5 == BLOCK_SIZE){
_local19 = _local8;
_local20 = BLOCK_SIZE;
};
_local8[_local5] = smafi_mangles[_local21](_local8[_local5], _arg2[_local15], _local19[(_local5 - _local20)], smai_sinesCosines[_local22][_local15]);
_local15 = ((_local15 + _local14) & _local12);
++_local21;
if (_local21 == smi_numMangles){
_local21 = 0;
};
++_local5;
} while (_local5 < _local3);
_local7.position = 0;
_local8.writeBytes(_local7);
_local8.position = 0;
return (_local8);
}
private static function mangle1(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
return (((_arg1 ^ ((_arg2 & _arg3) | _arg4)) & 0xFF));
}
private static function mangle2(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
return (((_arg1 ^ (~((_arg2 & _arg3)) | _arg4)) & 0xFF));
}
public static function Decrypt(_arg1:ByteArray, _arg2:ByteArray):ByteArray{
var _local11:uint;
var _local17:ByteArray;
var _local18:uint;
var _local19:uint;
var _local20:uint;
var _local21:uint;
var _local27:Array;
var _local28:*;
var _local29:*;
var _local3:uint = (_arg1) ? _arg1.length : 0;
var _local4:uint = (_arg2) ? _arg2.length : 0;
if ((((_local3 <= BLOCK_SIZE)) || (!((_local4 == KEY_SIZE))))){
return (null);
};
_local3 = (_local3 - BLOCK_SIZE);
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:ByteArray = new ByteArray();
_local8.length = BLOCK_SIZE;
_arg1.position = _local3;
_arg1.readBytes(_local8, 0, BLOCK_SIZE);
_local8.position = (BLOCK_SIZE - 4);
_local6 = (((_local8[0] + _local8[4]) + _local8[8]) & 0xFF);
_local7 = (_local7 | (((_local8.readByte() ^ _local6) & 0xFF) << 24));
_local6 = (((_local8[1] + _local8[5]) + _local8[9]) & 0xFF);
_local7 = (_local7 | (((_local8.readByte() ^ _local6) & 0xFF) << 16));
_local6 = (((_local8[2] + _local8[6]) + _local8[10]) & 0xFF);
_local7 = (_local7 | (((_local8.readByte() ^ _local6) & 0xFF) << 8));
_local6 = (((_local8[3] + _local8[7]) + _local8[11]) & 0xFF);
_local7 = (_local7 | ((_local8.readByte() ^ _local6) & 0xFF));
if (_local7 != _local3){
return (null);
};
var _local9:ByteArray = new ByteArray();
var _local10:ByteArray = new ByteArray();
var _local12:uint;
_local9.length = _local7;
_local10.length = BLOCK_SIZE;
var _local13:uint = (KEY_SIZE - 1);
var _local14:uint = (BLOCK_SIZE - 1);
_local6 = 0;
_local5 = _local6;
do {
_local6 = (_local6 + _arg2[_local5]);
++_local5;
} while (_local5 < KEY_SIZE);
var _local15:uint = ((_local6 & _local13) | 1);
var _local16:uint = (_local7 / BLOCK_SIZE);
if (_local16 > 0){
_local18 = ((_local16 - 1) * BLOCK_SIZE);
_local17 = _arg1;
} else {
_local18 = 0;
_local17 = _local8;
};
var _local22:uint = (_local16 * BLOCK_SIZE);
var _local23:uint;
_local5 = _local22;
_local19 = (_local5 % smi_numMangles);
_local20 = (((_local5 * _local15) + _local15) & _local13);
var _local24:uint = (_local7 - _local5);
while (_local24-- > 0) {
_local21 = (_arg2[_local20] & 1);
_local9[_local5] = smafi_mangles[_local19](_arg1[_local5], _arg2[_local20], _local17[(_local18 + _local23)], smai_sinesCosines[_local21][_local20]);
_local20 = ((_local20 + _local15) & _local13);
++_local19;
if (_local19 == smi_numMangles){
_local19 = 0;
};
_local23++;
_local5++;
};
if (_local16 > 0){
_local22 = (_local22 - BLOCK_SIZE);
while (_local22 >= BLOCK_SIZE) {
_local18 = (_local18 - BLOCK_SIZE);
_local20 = (((_local22 * _local15) + _local15) & _local13);
_local24 = BLOCK_SIZE;
_local5 = _local22;
_local19 = (_local5 % smi_numMangles);
_local23 = 0;
while (_local24-- > 0) {
_local21 = (_arg2[_local20] & 1);
_local9[_local5] = smafi_mangles[_local19](_arg1[_local5], _arg2[_local20], _local17[(_local18 + _local23)], smai_sinesCosines[_local21][_local20]);
_local20 = ((_local20 + _local15) & _local13);
++_local19;
if (_local19 == smi_numMangles){
_local19 = 0;
};
_local5++;
_local23++;
};
_local22 = (_local22 - BLOCK_SIZE);
};
};
if (_local7 >= BLOCK_SIZE){
_local18 = 0;
_local17 = _local8;
_local20 = (((_local22 * _local15) + _local15) & _local13);
_local24 = BLOCK_SIZE;
_local5 = _local22;
_local19 = (_local5 % smi_numMangles);
while (_local24-- > 0) {
_local21 = (_arg2[_local20] & 1);
_local9[_local5] = smafi_mangles[_local19](_arg1[_local5], _arg2[_local20], _local17[(_local18 + _local5)], smai_sinesCosines[_local21][_local20]);
_local20 = ((_local20 + _local15) & _local13);
++_local19;
if (_local19 == smi_numMangles){
_local19 = 0;
};
_local5++;
};
_local22 = (_local22 - BLOCK_SIZE);
};
var _local25:uint = _local3;
var _local26:uint;
_local20 = _local15;
while (_local25 > BLOCK_SIZE) {
_local11 = smai_orientsIdxRev[(_arg2[_local20] & 7)];
_local20 = ((_local20 + _local15) & _local13);
_local27 = smao_orients[_local11];
_local12 = (_arg2[_local20] & _local14);
_local20 = ((_local20 + _local15) & _local13);
_local5 = 0;
do {
_local28 = ((_local5 - _local12) & _local14);
_local29 = _local9[(_local26 + _local27[_local28])];
_local10[_local5] = _local29;
++_local5;
} while (_local5 < BLOCK_SIZE);
_local5 = 0;
do {
_local9[(_local26 + _local5)] = _local10[_local5];
++_local5;
} while (_local5 < BLOCK_SIZE);
_local25 = (_local25 - BLOCK_SIZE);
_local26 = (_local26 + BLOCK_SIZE);
};
_local9.position = 0;
return (_local9);
}
private static function mangle3(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
return (((_arg1 ^ ((_arg2 ^ _arg4) & _arg3)) & 0xFF));
}
private static function mangle5(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
return (((_arg1 ^ ((_arg2 | _arg3) ^ _arg4)) & 0xFF));
}
private static function mangle4(_arg1:uint, _arg2:uint, _arg3:uint, _arg4:uint):uint{
return (((_arg1 ^ (_arg2 | (_arg3 | _arg4))) & 0xFF));
}
}
}//package flib
Section 11
//FDisplay (flib.FDisplay)
package flib {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.ui.*;
public final class FDisplay {
private static const POINT0:Point = new Point();
private static const DIV255:Number = 0;
private static var smai_bndClrs:Array = new Array(0x0100);
private static var smo_imgCursor:FImage;
private static var smo_stage:Stage;
public static function get CursorImage():FImage{
return (smo_imgCursor);
}
public static function ConvertToBitmapData(_arg1:DisplayObject, _arg2:Boolean, _arg3:Number):BitmapData{
if (!_arg1){
return (null);
};
var _local4:BitmapData = new BitmapData(_arg1.width, _arg1.height, _arg2, 0);
var _local5:Rectangle = _arg1.getBounds(_arg1);
var _local6:Matrix = new Matrix();
_local6.translate(-(_local5.x), -(_local5.y));
if (_arg3 != 1){
_local6.scale(_arg3, _arg3);
};
_local4.draw(_arg1, _local6);
return (_local4);
}
public static function set CursorImage(_arg1:FImage):void{
if (!smo_stage){
return;
};
if (_arg1){
if (smo_imgCursor){
CursorImage = null;
};
smo_stage.addChild(_arg1);
_arg1.mouseChildren = (_arg1.mouseEnabled = false);
Mouse.hide();
_arg1.x = smo_stage.mouseX;
_arg1.y = smo_stage.mouseY;
smo_stage.addChild(_arg1);
smo_stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
} else {
smo_stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
smo_stage.removeChild(_arg1);
Mouse.show();
_arg1.mouseChildren = (_arg1.mouseEnabled = true);
};
smo_imgCursor = _arg1;
}
public static function get StageRef():Stage{
return (smo_stage);
}
private static function mouseMove(_arg1:MouseEvent):void{
smo_imgCursor.x = _arg1.stageX;
smo_imgCursor.y = _arg1.stageY;
_arg1.updateAfterEvent();
}
public static function set StageRef(_arg1:Stage):void{
smo_stage = _arg1;
}
public static function BmpGSGradMap(_arg1:BitmapData, _arg2:Array, _arg3:Array):Boolean{
var _local12:Number;
var _local13:Array;
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:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local28:int;
var _local29:int;
var _local30:int;
var _local31:int;
var _local32:int;
var _local33:int;
var _local34:int;
if (!_arg1){
return (false);
};
var _local4:int = (_arg2) ? _arg2.length : 0;
if (_local4 < 2){
return (false);
};
var _local5:int = _arg3.length;
if ((_local5 + 1) != _local4){
return (false);
};
var _local6:int = _arg1.width;
var _local7:int = _arg1.height;
var _local8:Array = smai_bndClrs;
var _local9:Number = 0;
var _local10:int;
var _local11:Number = 0;
var _local27:Number = 0;
while (_local10 < _local5) {
_local12 = int((0x0100 * _arg3[int(_local10)]));
if (_local12 <= 0){
return (false);
};
if (_local10 == (_local5 - 1)){
_local12 = (0x0100 - _local11);
} else {
_local11 = (_local11 + _local12);
};
_local13 = _arg2[int(_local10)];
_local18 = _local13[0];
_local19 = _local13[1];
_local20 = _local13[2];
_local14 = (1 / _local12);
_local15 = (_local18 * _local14);
_local16 = (_local19 * _local14);
_local17 = (_local20 * _local14);
_local13 = _arg2[int((_local10 + 1))];
_local21 = (_local13[0] * _local14);
_local22 = (_local13[1] * _local14);
_local23 = (_local13[2] * _local14);
_local26 = 0;
_local25 = _local26;
_local24 = _local25;
_local27 = 0;
while (_local27++ < _local12) {
_local28 = (_local18 + _local24);
_local29 = (_local19 + _local25);
_local30 = (_local20 + _local26);
if (_local28 > 0xFF){
_local28 = 0xFF;
};
if (_local29 > 0xFF){
_local29 = 0xFF;
};
if (_local30 > 0xFF){
_local30 = 0xFF;
};
var _temp1 = _local9;
_local9 = (_local9 + 1);
_local8[int(_temp1)] = (((_local28 << 16) | (_local29 << 8)) | _local30);
_local18 = (_local18 - _local15);
_local19 = (_local19 - _local16);
_local20 = (_local20 - _local17);
_local24 = (_local24 + _local21);
_local25 = (_local25 + _local22);
_local26 = (_local26 + _local23);
};
_local10++;
};
_local32 = 0;
while (_local32 < _local7) {
_local31 = 0;
while (_local31 < _local6) {
_local34 = (_arg1.getPixel(_local31, _local32) & 0xFF);
_arg1.setPixel(_local31, _local32, _local8[int(_local34)]);
_local31++;
};
_local32++;
};
return (true);
}
}
}//package flib
Section 12
//FImage (flib.FImage)
package flib {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class FImage extends Sprite {
private var mo_tsAlpha:FTimeScale;
private var mao_frames:Array;
private var mo_fs:FImageFrameset;
private var mo_mtx:Matrix;
private var mi_tmrPause:Number;
private var mi_flags:int;
private var mi_frLoopIdx:int;
private var mo_bmpData:BitmapData;
private var mi_bDuration:int;
private var mi_bTick:int;
private var mi_fsIdx:int;
private var mo_timeScales:Dictionary;
private var mao_framesets:Array;
private var mo_bmp:Bitmap;
private var mi_frIdx:int;
private var mi_tmr:Number;
private var mo_disObjCtr:DisplayObjectContainer;
private var mi_bRate:int;
public static const F_FS_LOOP:int = 4;
public static const F_FS_PAUSED:int = 2;
public static const F_USE_DRAW_U:int = 128;
public static const F_BLINKING_PAUSED:int = 32;
public static const F_PLAYING:int = 1;
private static const F_USE_DRAW_A:int = 64;
public static const F_BPREV_VIS:int = 8;
public static const F_BLINKING:int = 16;
private static var smo_imgsRun:Dictionary;
private static var smi_imgsRunCount:int;
public function FImage(_arg1:Bitmap=null, _arg2:BitmapData=null, _arg3:Class=null):void{
mao_framesets = new Array();
if (_arg1){
bitmapData = _arg1.bitmapData;
} else {
if (_arg2){
bitmapData = _arg2;
} else {
if (_arg3){
bitmapData = FAssets.LoadBitmapData(_arg3);
};
};
};
}
public function tsIsMember(_arg1:FTimeScale):Boolean{
return (((_arg1) && (((mo_timeScales) && (mo_timeScales[_arg1])))));
}
public function pause(_arg1:Boolean):void{
var _local2:FTimeScale;
fsPause(_arg1);
for each (_local2 in mo_timeScales) {
_local2.paused = _arg1;
};
}
public function get flags():int{
return (mi_flags);
}
public function run(_arg1:int=-1):void{
var _local2:FImageFrame;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
var _local6:int;
var _local7:Number;
var _local8:FImageFrame;
if ((((mi_flags & F_PLAYING)) && (!((mi_flags & F_FS_PAUSED))))){
if (mo_fs){
_local2 = mao_frames[mi_frIdx];
_local3 = false;
_local4 = false;
_local5 = false;
_local6 = mao_frames.length;
_arg1 = ((_arg1 > -1)) ? _arg1 : getTimer();
_local7 = (_arg1 - mi_tmr);
if (_local7 >= _local2.mi_length){
_local3 = true;
mi_tmr = (_arg1 - (_local7 - _local2.mi_length));
_local4 = (++mi_frIdx >= _local6);
};
if (_local3){
if (_local4){
if ((mi_flags & F_FS_LOOP)){
mi_frIdx = ((mi_frLoopIdx < _local6)) ? mi_frLoopIdx : 0;
} else {
_local5 = true;
fsPause(true);
mi_frIdx = (mao_frames.length - 1);
};
};
_local8 = mao_frames[mi_frIdx];
if (_local8){
setBmpData(_local8.mo_bmpData);
} else {
fsStop();
};
if (_local5){
runAddRemove();
dispatchEvent(new FImageEvent(FImageEvent.FRAMESET_DONE, this, mo_fs));
};
};
};
};
if ((mi_flags & F_BLINKING)){
if (mi_bTick > 0){
mi_bTick--;
} else {
mi_bTick = mi_bRate;
super.visible = !(visible);
};
if (mi_bDuration >= 0){
if (mi_bDuration > 0){
mi_bDuration--;
} else {
blink(false);
dispatchEvent(new FImageEvent(FImageEvent.BLINK_DONE, this, null));
};
};
};
}
public function fsInit(_arg1:Array, _arg2:int=-1, _arg3:int=-1):int{
var _local6:FImageFrameset;
var _local4:int;
var _local5:int = (_arg1) ? _arg1.length : 0;
if (_local5 > 0){
mao_framesets = new Array(_local5);
while (_local4 < _local5) {
_local6 = (_arg1[_local4] as FImageFrameset);
if (_local6){
mao_framesets[_local4] = _local6;
};
_local4++;
};
fsSelect(_arg2, _arg3);
};
return (_local5);
}
public function get frLoopIdx():int{
return (mi_frLoopIdx);
}
public function get timeScales():Dictionary{
if (!mo_timeScales){
mo_timeScales = new Dictionary();
};
return (mo_timeScales);
}
private function setBmpData(_arg1:BitmapData):void{
if (((!(mo_bmp)) && (_arg1))){
mo_bmp = new Bitmap();
addChild(mo_bmp);
};
if (mo_bmpData != _arg1){
mo_bmp.bitmapData = _arg1;
};
mo_bmpData = _arg1;
if (((!(mo_bmpData)) && (mo_bmp))){
removeChild(mo_bmp);
mo_bmp = null;
};
}
public function set frLoopIdx(_arg1:int):void{
mi_frLoopIdx = _arg1;
}
public function tsAdd(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Array, _arg5, _arg6:int, _arg7:int, _arg8:Boolean, _arg9:Boolean, _arg10:int):FTimeScale{
if (!_arg4){
return (null);
};
var _local11:FTimeScale = new FTimeScale(this, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10);
if (!mo_timeScales){
mo_timeScales = new Dictionary();
};
mo_timeScales[_local11] = _local11;
return (_local11);
}
public function fsPause(_arg1:Boolean):Boolean{
var _local2 = ((mi_flags & F_FS_PAUSED) > 0);
if ((mi_flags & F_PLAYING)){
if (_arg1){
mi_flags = (mi_flags | F_FS_PAUSED);
} else {
mi_flags = (mi_flags & ~(F_FS_PAUSED));
};
if ((mi_flags & F_FS_PAUSED)){
mi_tmrPause = (getTimer() - mi_tmr);
} else {
mi_tmr = (getTimer() - mi_tmrPause);
mi_tmrPause = 0;
};
runAddRemove();
};
return (_local2);
}
public function setFrameBmpData(_arg1:BitmapData, _arg2:int, _arg3:int):Boolean{
var _local4:FImageFrameset = (((mao_framesets) && ((_arg2 < mao_framesets.length)))) ? mao_framesets[_arg2] : null;
if (!_local4){
return (false);
};
var _local5:Array = _local4.frames;
var _local6:FImageFrame = ((_arg3 < _local5.length)) ? _local5[_arg3] : null;
if (!_local6){
return (false);
};
_local6.setBmpData(_arg1);
return (true);
}
public function set useDrawU(_arg1:Boolean):void{
if (_arg1){
mi_flags = (mi_flags | F_USE_DRAW_U);
if (!mo_mtx){
mo_mtx = new Matrix();
};
} else {
mi_flags = (mi_flags & ~(F_USE_DRAW_U));
mo_mtx = null;
};
}
public function get fsIdx():int{
return (mi_fsIdx);
}
public function get blinkPaused():Boolean{
return (((mi_flags & F_BLINKING_PAUSED) > 0));
}
public function fsRemoveAll(_arg1:Boolean=false, _arg2:Boolean=false):void{
var _local3:int = mao_framesets.length;
var _local4:int;
while (_local4 < _local3) {
var _temp1 = _local4;
_local4 = (_local4 + 1);
fsRemove(_temp1, _arg1, _arg2);
};
mao_framesets.splice(0);
mi_tmr = (mi_tmrPause = 0);
}
public function fsRemove(_arg1:int, _arg2:Boolean=false, _arg3:Boolean=false):Boolean{
var _local4:FImageFrameset = mao_framesets[_arg1];
if (!_local4){
return (false);
};
if (_arg2){
_local4.clear(_arg3);
};
mao_framesets[_arg1] = null;
if (_arg1 == mi_fsIdx){
fsStop();
if (!fsSelect(((mi_fsIdx > 0)) ? (mi_fsIdx - 1) : 0)){
mo_fs = null;
mao_frames = null;
setBmpData(null);
mi_fsIdx = (mi_frIdx = 0);
};
};
return (true);
}
public function fsPlay(_arg1:int=0):void{
if (!mo_fs){
return;
};
_arg1 = (_arg1 & F_FS_LOOP);
if (mi_tmrPause > 0){
mi_tmr = (getTimer() - mi_tmrPause);
mi_tmrPause = 0;
} else {
mi_tmr = getTimer();
};
mi_flags = (mi_flags | (F_PLAYING | _arg1));
mi_flags = (mi_flags & ~(F_FS_PAUSED));
runAddRemove();
}
override public function set alpha(_arg1:Number):void{
var _local2:ColorTransform = transform.colorTransform;
_local2.alphaMultiplier = _arg1;
transform.colorTransform = _local2;
super.alpha = _arg1;
if (_arg1 == 1){
mi_flags = (mi_flags & ~(F_USE_DRAW_A));
} else {
mi_flags = (mi_flags | F_USE_DRAW_A);
if (!mo_mtx){
mo_mtx = new Matrix();
};
};
}
public function get framesets():Array{
return (mao_framesets);
}
public function fsSelect(_arg1:int=-1, _arg2:int=-1):Boolean{
if (_arg1 < 0){
_arg1 = mi_fsIdx;
};
var _local3:FImageFrameset = ((_arg1 < mao_framesets.length)) ? mao_framesets[_arg1] : null;
if (!_local3){
return (false);
};
var _local4:Array = _local3.frames;
var _local5:int = (_local4) ? _local4.length : 0;
if (_arg2 < 0){
_arg2 = ((mi_frIdx >= _local5)) ? 0 : mi_frIdx;
} else {
if (_arg2 >= _local5){
_arg2 = 0;
};
};
var _local6:FImageFrame = _local4[_arg2];
var _local7:BitmapData = _local6.mo_bmpData;
mo_fs = _local3;
mao_frames = _local4;
setBmpData(_local7);
mi_fsIdx = _arg1;
mi_frIdx = _arg2;
return (true);
}
public function tsRemoveAll():void{
var _local1:FTimeScale;
for each (_local1 in mo_timeScales) {
tsRemove(_local1);
};
mo_timeScales = null;
runAddRemove();
}
public function fsGet(_arg1:int):FImageFrameset{
return (mao_framesets[_arg1]);
}
public function get useDrawU():Boolean{
return (((mi_flags & F_USE_DRAW_U) > 0));
}
public function get frIdx():int{
return (mi_frIdx);
}
private function runAddRemove():void{
var _local1:Boolean = (((mi_flags & F_PLAYING)) && (!((mi_flags & F_FS_PAUSED))));
var _local2:Boolean = ((((mi_flags & F_BLINKING) > 0)) && (!((mi_flags & F_BLINKING_PAUSED))));
if (((_local1) || (_local2))){
if (!smo_imgsRun){
smo_imgsRun = new Dictionary();
};
if (!smo_imgsRun[this]){
smo_imgsRun[this] = this;
smi_imgsRunCount++;
};
} else {
if (((smo_imgsRun) && (smo_imgsRun[this]))){
delete smo_imgsRun[this];
if (--smi_imgsRunCount == 0){
smo_imgsRun = null;
};
};
};
}
public function fsSet(_arg1:FImageFrameset, _arg2:int, _arg3:Boolean=false):Boolean{
if (!_arg1){
return (false);
};
var _local4:FImageFrameset = mao_framesets[_arg2];
if (((_local4) && (_arg3))){
_local4.clear(false);
};
mao_framesets[_arg2] = _arg1;
if (_arg2 == mi_fsIdx){
fsSelect();
};
return (true);
}
public function get matrix():Matrix{
return (mo_mtx);
}
public function set blinkPaused(_arg1:Boolean):void{
if ((mi_flags & F_BLINKING)){
if (_arg1){
mi_flags = (mi_flags | F_BLINKING_PAUSED);
} else {
mi_flags = (mi_flags & ~(F_BLINKING_PAUSED));
};
runAddRemove();
};
}
public function blink(_arg1:Boolean, _arg2:int=-1, _arg3:int=2):void{
if (_arg1){
if (!(mi_flags & F_BLINKING)){
if (visible){
mi_flags = (mi_flags | F_BPREV_VIS);
};
};
mi_flags = (mi_flags | F_BLINKING);
mi_flags = (mi_flags & ~(F_BLINKING_PAUSED));
mi_bDuration = _arg2;
mi_bRate = (mi_bTick = _arg3);
} else {
if ((mi_flags & F_BLINKING)){
visible = ((mi_flags & F_BPREV_VIS) > 0);
};
mi_flags = (mi_flags & ~(((F_BLINKING | F_BPREV_VIS) | F_BLINKING_PAUSED)));
runAddRemove();
};
runAddRemove();
}
public function clear():void{
fsRemoveAll();
mo_fs = null;
setBmpData(null);
tsRemoveAll();
mi_flags = 0;
}
public function tsRemove(_arg1:FTimeScale):Boolean{
if (!tsIsMember(_arg1)){
return (false);
};
_arg1.stop();
if (_arg1 == mo_tsAlpha){
mo_tsAlpha = null;
};
delete mo_timeScales[_arg1];
return (true);
}
public function get useDraw():Boolean{
return (((mi_flags & (F_USE_DRAW_U | F_USE_DRAW_A)) > 0));
}
public function fsStop():void{
mi_flags = (mi_flags & ~((F_PLAYING | F_FS_PAUSED)));
mi_tmrPause = 0;
runAddRemove();
}
public function set bitmapData(_arg1:BitmapData):void{
setBmpData(_arg1);
}
override public function set visible(_arg1:Boolean):void{
if ((mi_flags & F_BLINKING)){
if (_arg1){
mi_flags = (mi_flags | F_BPREV_VIS);
} else {
mi_flags = (mi_flags & ~(F_BPREV_VIS));
};
};
super.visible = _arg1;
}
public function get bitmapData():BitmapData{
return (mo_bmpData);
}
public function alphaFade(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Boolean=false, _arg5:Boolean=true, _arg6:Boolean=false, _arg7:int=100):FTimeScale{
if (mo_tsAlpha){
mo_tsAlpha.stop();
};
mo_tsAlpha = FTimeScale.CreateLinear(this, "alpha", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7);
return (mo_tsAlpha);
}
public function set framesets(_arg1:Array):void{
fsInit(_arg1);
}
public static function RunAll(_arg1:int=-1):void{
var _local2:FImage;
for each (_local2 in smo_imgsRun) {
_local2.run(_arg1);
};
}
}
}//package flib
Section 13
//FImageEvent (flib.FImageEvent)
package flib {
import flash.events.*;
public class FImageEvent extends Event {
private var mo_image:FImage;
private var mo_data;
public static const FRAMESET_DONE:String = "framesetDone";
public static const BLINK_DONE:String = "blinkDone";
public function FImageEvent(_arg1:String, _arg2:FImage, _arg3, _arg4:Boolean=false, _arg5:Boolean=false){
super(_arg1, _arg4, _arg5);
mo_image = _arg2;
mo_data = _arg3;
}
public function get data(){
return (mo_data);
}
public function get image():FImage{
return (mo_image);
}
override public function clone():Event{
return (new FImageEvent(type, mo_image, mo_data, bubbles, cancelable));
}
}
}//package flib
Section 14
//FImageFrame (flib.FImageFrame)
package flib {
import flash.display.*;
public class FImageFrame {
public var mo_bmpData:BitmapData;
public var mi_length:uint;
public function FImageFrame(_arg1:BitmapData, _arg2:uint){
mo_bmpData = _arg1;
mi_length = _arg2;
}
public function setBmpData(_arg1:BitmapData):BitmapData{
var _local2:BitmapData = mo_bmpData;
if (mo_bmpData != _arg1){
mo_bmpData = _arg1;
};
return (_local2);
}
public function clone():FImageFrame{
if (!mo_bmpData){
return (null);
};
var _local1:FImageFrame = new FImageFrame(null, mi_length);
_local1.setBmpData(mo_bmpData.clone());
return (_local1);
}
}
}//package flib
Section 15
//FImageFrameset (flib.FImageFrameset)
package flib {
import flash.display.*;
public final class FImageFrameset {
private var mao_frames:Array;
private static var smo_gsGMTbl:Object;
public function FImageFrameset(_arg1:Array=null):void{
buildFrameset(_arg1);
}
public function buildFrameset(_arg1:Array):Boolean{
var i:int;
var ao_fd:Array;
var o_bmp:Bitmap;
var o_bmpData:BitmapData;
var i_length:int;
var o_frame:FImageFrame;
var ao_framesData = _arg1;
var i_l:int = (ao_framesData) ? ao_framesData.length : 0;
if (!i_l){
mao_frames = null;
return (true);
};
mao_frames = new Array(i_l);
do {
ao_fd = ao_framesData[i];
o_bmpData = null;
if ((ao_fd[0] is Bitmap)){
o_bmp = (ao_fd[0] as Bitmap);
o_bmpData = o_bmp.bitmapData;
} else {
if ((ao_fd[0] is BitmapData)){
o_bmpData = (ao_fd[0] as BitmapData);
} else {
if ((ao_fd[0] is Class)){
try {
o_bmpData = FAssets.LoadBitmapData(ao_fd[0]);
} catch(o_e) {
o_bmpData = null;
};
};
};
};
if (o_bmpData){
i_length = ao_fd[1];
o_frame = new FImageFrame(o_bmpData, i_length);
} else {
o_frame = null;
};
mao_frames[i] = o_frame;
i = (i + 1);
} while ((i + 1) < i_l);
return (true);
}
public function get frames():Array{
return (mao_frames);
}
public function get numFrames():int{
return ((mao_frames) ? mao_frames.length : 0);
}
public function clear(_arg1:Boolean):void{
var _local2:BitmapData;
var _local3:FImageFrame;
for each (_local3 in mao_frames) {
_local2 = _local3.setBmpData(null);
if (((_local2) && (_arg1))){
_local2.dispose();
};
};
mao_frames = null;
}
public function clone():FImageFrameset{
var _local5:FImageFrame;
var _local6:FImageFrame;
if (!mao_frames){
return (null);
};
var _local1:FImageFrameset = new FImageFrameset();
var _local2:int;
var _local3:int = mao_frames.length;
var _local4:Array = new Array(_local3);
while (_local2 < _local3) {
_local5 = mao_frames[_local2];
_local6 = _local5.clone();
_local4[_local2] = _local6;
_local2++;
};
_local1.mao_frames = _local4;
return (_local1);
}
public static function GSGradMapTblClear(_arg1:String, _arg2:Boolean):Boolean{
var _local4:FImageFrameset;
var _local3:Array = (smo_gsGMTbl) ? smo_gsGMTbl[_arg1] : null;
if (!_local3){
return (false);
};
for each (_local4 in _local3) {
_local4.clear(_arg2);
};
delete smo_gsGMTbl[_arg1];
return (true);
}
public static function GSGradMapTbl(_arg1:String, _arg2:Array, _arg3:Array=null, _arg4:Array=null):Array{
if ((((_arg1 == null)) || ((_arg1.length == 0)))){
return (null);
};
if (!smo_gsGMTbl){
smo_gsGMTbl = new Object();
};
var _local5:Array = smo_gsGMTbl[_arg1];
if (!_local5){
_local5 = gsGradMap(_arg2, _arg3, _arg4);
if (_local5){
smo_gsGMTbl[_arg1] = _local5;
};
};
return (_local5);
}
private static function gsGradMap(_arg1:Array, _arg2:Array, _arg3:Array):Array{
var _local7:FImageFrame;
var _local8:FImageFrameset;
if (!_arg1){
return (null);
};
var _local4:int;
var _local5:int = _arg1.length;
var _local6:Array = new Array(_local5);
while (_local4 < _local5) {
if (_arg1[_local4]){
_local6[_local4] = _arg1[_local4].clone();
};
_local4++;
};
for each (_local8 in _local6) {
if (_local8){
for each (_local7 in _local8.frames) {
FDisplay.BmpGSGradMap(_local7.mo_bmpData, _arg2, _arg3);
};
};
};
return (_local6);
}
}
}//package flib
Section 16
//FList (flib.FList)
package flib {
import flash.utils.*;
public class FList {
private var mo_tail:fNode;
private var mo_nodes:Dictionary;
private var mo_head:fNode;
private var mi_count:int;
private static var smo_free:fNode = null;
private static var smi_fcount:int = 0;
public function FList(){
mo_nodes = new Dictionary();
}
public function addNode(_arg1, _arg2, _arg3:Boolean):Boolean{
var _local4:fNode;
var _local5:fNode = mo_nodes[_arg2];
if (_arg1 == null){
return (false);
};
if (mo_nodes[_arg1]){
return (true);
};
if (_arg2){
if (!_local5){
return (false);
};
} else {
_local5 = (_arg3) ? mo_tail : mo_head;
};
_local4 = _newNode(_arg1);
_addNode(_local4, _local5, _arg3, mi_count++);
return (true);
}
private function _addNode(_arg1:fNode, _arg2:fNode, _arg3:Boolean, _arg4:int):void{
var _local5:fNode;
if (_arg4 == 0){
mo_head = (mo_tail = _arg1);
} else {
_local5 = _arg2;
if (_arg3){
if (_local5 == mo_tail){
_local5.mo_next = _arg1;
_arg1.mo_prev = _local5;
_arg1.mo_next = null;
mo_tail = _arg1;
} else {
_arg1.mo_prev = _local5;
_arg1.mo_next = _local5.mo_next;
_local5.mo_next.mo_prev = _arg1;
_local5.mo_next = _arg1;
};
} else {
if (_local5 == mo_head){
_local5.mo_prev = _arg1;
_arg1.mo_next = _local5;
_arg1.mo_prev = null;
mo_head = _arg1;
} else {
_arg1.mo_next = _local5;
_arg1.mo_prev = _local5.mo_prev;
_local5.mo_prev.mo_next = _arg1;
_local5.mo_prev = _arg1;
};
};
};
}
private function _newNode(_arg1):fNode{
var _local2:fNode;
if (smo_free){
_local2 = smo_free;
_local2.mo_data = _arg1;
smo_free = smo_free.mo_next;
_local2.mo_prev = (_local2.mo_next = null);
smi_fcount--;
} else {
_local2 = new fNode(_arg1);
};
mo_nodes[_arg1] = _local2;
return (_local2);
}
public function remove(_arg1):Boolean{
var _local2:fNode = mo_nodes[_arg1];
if (!_local2){
return (false);
};
var _local3:int = mi_count;
if (!_local3){
return (true);
};
_remNode(_local2, _local3);
_moveToFree(_local2);
mi_count--;
return (true);
}
private function _remNode(_arg1:fNode, _arg2:int):void{
if (_arg2 == 1){
mo_head = (mo_tail = null);
} else {
if (_arg1 == mo_head){
mo_head = _arg1.mo_next;
mo_head.mo_prev = null;
} else {
if (_arg1 == mo_tail){
mo_tail = _arg1.mo_prev;
mo_tail.mo_next = null;
} else {
_arg1.mo_prev.mo_next = _arg1.mo_next;
_arg1.mo_next.mo_prev = _arg1.mo_prev;
};
};
};
}
public function get tail(){
return ((mo_tail) ? mo_tail.mo_data : null);
}
public function addTail(_arg1):Boolean{
return (addNode(_arg1, null, true));
}
private function _moveToFree(_arg1:fNode):void{
delete mo_nodes[_arg1.mo_data];
_arg1.mo_prev = null;
_arg1.mo_data = null;
_arg1.mo_next = smo_free;
smo_free = _arg1;
smi_fcount++;
}
public function reposition(_arg1, _arg2, _arg3:Boolean):Boolean{
var _local4:fNode = mo_nodes[_arg1];
if (!_local4){
return (false);
};
var _local5:fNode = mo_nodes[_arg2];
if (_arg2){
if (!_local5){
return (false);
};
} else {
_local5 = (_arg3) ? mo_tail : mo_head;
};
var _local6:int = mi_count;
_remNode(_local4, _local6);
_addNode(_local4, _local5, _arg3, _local6);
return (true);
}
public function getNthItem(_arg1:int, _arg2){
var _local3 = (_arg2 == null);
var _local4:fNode = mo_nodes[_arg2];
if (_arg1 >= 0){
if (_local3){
_local4 = mo_head;
} else {
if (!_local4){
return (null);
};
};
while (_arg1-- > 0) {
if (_local4 == mo_tail){
break;
};
_local4 = _local4.mo_next;
};
} else {
if (_arg1 < 0){
if (_local3){
_local4 = mo_tail;
} else {
if (!_local4){
return (null);
};
};
while (_arg1++ < 0) {
if (_local4 == mo_head){
break;
};
_local4 = _local4.mo_prev;
};
};
};
return ((_local4) ? _local4.mo_data : null);
}
public function get head(){
return ((mo_head) ? mo_head.mo_data : null);
}
public function addHead(_arg1):Boolean{
return (addNode(_arg1, null, false));
}
public function isMember(_arg1):Boolean{
return (!((mo_nodes[_arg1] == null)));
}
public function get numItems():int{
return (mi_count);
}
public function next(_arg1){
var _local2:fNode = mo_nodes[_arg1];
return ((((_local2) && (!((_local2 == mo_tail))))) ? _local2.mo_next.mo_data : null);
}
public function prev(_arg1){
var _local2:fNode = mo_nodes[_arg1];
return ((((_local2) && (!((_local2 == mo_head))))) ? _local2.mo_prev.mo_data : null);
}
public function setData(_arg1, _arg2):Boolean{
var _local3:fNode = mo_nodes[_arg1];
if (((!(_local3)) || ((_arg2 == null)))){
return (false);
};
_local3.mo_data = _arg2;
delete mo_nodes[_arg1];
mo_nodes[_arg2] = _arg2;
return (true);
}
public function removeAll():void{
var _local2:fNode;
var _local1:fNode = mo_head;
while (_local1) {
_local2 = _local1.mo_next;
_remNode(_local1, mi_count--);
_moveToFree(_local1);
_local1 = _local2;
};
}
public static function Free():void{
smo_free = null;
smi_fcount = 0;
}
public static function get NumFreeItems():int{
return (smi_fcount);
}
}
}//package flib
class fNode {
public var mo_next:fNode;
public var mo_data;
public var mo_prev:fNode;
private function fNode(_arg1){
mo_data = _arg1;
}
}
Section 17
//FMain (flib.FMain)
package flib {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class FMain extends Sprite {
private var mo_stage:Stage;
private var mo_txt:TextField;
private var mf_decrComplete:Function;
public static var smo_mainSwfClass:Class;
public static var smo_kData:Class;
public function FMain(_arg1:Stage, _arg2:Function):void{
mo_stage = _arg1;
mf_decrComplete = _arg2;
loadMainSWF(smo_mainSwfClass, smo_kData);
}
private function loadBytesComplete(_arg1:Event):void{
if (mf_decrComplete != null){
mf_decrComplete(_arg1);
};
var _local2:LoaderInfo = (_arg1.target as LoaderInfo);
var _local3:Object = (_local2.content as Object);
mo_stage.addChild(_local2.content);
_local3.init(mo_stage);
}
private function loadMainSWF(_arg1:Class, _arg2:Class):void{
var _local3:ByteArray = (new (_arg1) as ByteArray);
var _local4:ByteArray = (new (_arg2) as ByteArray);
var _local5:ByteArray = FCryptRl.Decrypt(_local3, _local4);
var _local6:Loader = new Loader();
var _local7:LoaderInfo = _local6.contentLoaderInfo;
_local7.addEventListener(Event.COMPLETE, loadBytesComplete);
_local6.loadBytes(_local5);
}
private function loadIOError(_arg1:IOErrorEvent):void{
showErrorMsg("An error occurred while loading data (0x02).");
}
private function showErrorMsg(_arg1:String):void{
if (!mo_txt){
mo_txt = new TextField();
mo_txt.width = mo_stage.stageWidth;
mo_txt.height = mo_stage.stageHeight;
mo_txt.textColor = 16723976;
mo_txt.background = true;
mo_txt.backgroundColor = 0x200000;
mo_txt.wordWrap = true;
mo_stage.addChild(mo_txt);
};
mo_txt.appendText((_arg1 + "\n"));
}
}
}//package flib
Section 18
//FPreLoader (flib.FPreLoader)
package flib {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class FPreLoader extends MovieClip {
private var mb_doneLoading:Boolean;
private var mb_mainClassLoaded:Boolean;
public function FPreLoader(){
stop();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
protected function onLoadingDone(_arg1:LoaderInfo):void{
}
public function get isDoneLoading():Boolean{
return (mb_doneLoading);
}
private function init(_arg1:String, _arg2:Function):void{
var _local4:Object;
var _local3:Class = Class(getDefinitionByName(_arg1));
if (_local3){
_local4 = new _local3(stage, _arg2);
addChild((_local4 as DisplayObject));
};
}
final public function loadMainClass(_arg1:String, _arg2:Function):Boolean{
if (((((!(mb_doneLoading)) || (mb_mainClassLoaded))) || (!(_arg1)))){
return (false);
};
mb_mainClassLoaded = true;
nextFrame();
init(_arg1, _arg2);
return (true);
}
private function onEnterFrame(_arg1:Event):void{
if (framesLoaded == totalFrames){
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
mb_doneLoading = true;
onLoadingDone(root.loaderInfo);
} else {
onLoading(root.loaderInfo);
};
}
protected function onLoading(_arg1:LoaderInfo):void{
}
}
}//package flib
Section 19
//FTimeScale (flib.FTimeScale)
package flib {
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class FTimeScale extends EventDispatcher {
private var mo_chart:FTimeScaleChart;
private var mp_posInc:Number;
private var mi_maxLoops:int;
private var mp_range:Number;
private var mi_tmrElapsed:Number;
private var mf_func:Function;
private var mp_resDv:Number;
private var mb_reverse:Boolean;
private var mp_pos:Number;
private var mp_start:Number;
private var mp_durDv:Number;
private var ms_prop:String;
private var mi_dur:int;
private var mp_end:Number;
private var mb_useFrames:Boolean;
private var mi_loop:int;
private var mi_tmr:Number;
private var mb_done:Boolean;
private var mo_object:Object;
public static const TS_DONE:String = "TS_DONE";
private static var smo_tsPlaying:Dictionary;
private static var smi_tsPlayingNum:int;
private static var smo_tsPaused:Dictionary;
public function FTimeScale(_arg1, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Array, _arg6, _arg7:int, _arg8:int, _arg9:Boolean, _arg10:Boolean, _arg11:int){
if (_arg1 != null){
if ((_arg1 is Function)){
mf_func = _arg1;
} else {
if ((_arg1 is Object)){
mo_object = _arg1;
};
};
};
mo_chart = new FTimeScaleChart(_arg5, _arg6, _arg11);
mp_resDv = (1 / mo_chart.resolution);
ms_prop = _arg2;
mp_start = _arg3;
mp_end = _arg4;
mp_range = (mp_end - mp_start);
mb_useFrames = _arg9;
mi_loop = (mp_pos = 0);
mi_maxLoops = _arg8;
mi_tmr = 0;
mi_tmrElapsed = -1;
mp_pos = 0;
reverse = _arg10;
duration = _arg7;
}
public function remove(_arg1:Function=null):FTimeScale{
stop();
if (_arg1 != null){
removeEventListener(TS_DONE, _arg1);
};
mo_chart = null;
mo_object = null;
mf_func = null;
return (null);
}
public function stop():void{
mp_pos = (mb_reverse) ? mo_chart.resolution : 0;
mi_loop = 0;
runAddRemove(this, false);
if (smo_tsPaused){
delete smo_tsPaused[this];
};
}
public function run(_arg1:Number=-1):Boolean{
var _local3:Boolean;
var _local6:Boolean;
if (((!(smo_tsPlaying)) || (!(smo_tsPlaying[this])))){
return (false);
};
var _local2:Number = getTimer();
var _local4:int = mp_pos;
var _local5:Array = mo_chart.values;
if (ms_prop == "x"){
};
if (mo_object != null){
mo_object[ms_prop] = ((_local5[_local4] * mp_range) + mp_start);
} else {
if (mf_func != null){
if (_local5){
mf_func(((_local5[_local4] * mp_range) + mp_start));
} else {
mf_func(_local4);
};
};
};
if (mb_done){
mb_done = false;
stop();
dispatchEvent(new Event(TS_DONE));
return (true);
};
if (mb_useFrames){
mp_pos = (mp_pos + mp_posInc);
} else {
if (_arg1 == -1){
_arg1 = _local2;
};
mp_pos = (((_arg1 - mi_tmr) * mp_durDv) * mo_chart.resolution);
if (mb_reverse){
mp_pos = (mo_chart.resolution - mp_pos);
};
};
if (mb_reverse){
if (mp_pos < 0){
_local3 = true;
};
} else {
if (mp_pos > mo_chart.resolution){
_local3 = true;
};
};
if (_local3){
if (mi_maxLoops < 0){
mp_pos = (mp_pos + (mb_reverse) ? mo_chart.resolution : -(mo_chart.resolution));
if (!mb_useFrames){
mi_tmr = ((_arg1 > -1)) ? _arg1 : _local2;
};
} else {
if (mi_loop++ < mi_maxLoops){
mp_pos = (mp_pos + (mb_reverse) ? mo_chart.resolution : -(mo_chart.resolution));
if (!mb_useFrames){
mi_tmr = ((_arg1 > -1)) ? _arg1 : _local2;
};
} else {
if (mb_reverse){
_local6 = (_local4 <= 0);
} else {
_local6 = (_local4 >= mo_chart.resolution);
};
if (_local6){
stop();
dispatchEvent(new Event(TS_DONE));
} else {
mp_pos = (mb_reverse) ? 0 : mo_chart.resolution;
mb_done = true;
};
};
};
};
return (true);
}
public function get duration():int{
return (mi_dur);
}
public function set maxLoops(_arg1:int):void{
mi_maxLoops = _arg1;
}
public function set usingFrames(_arg1:Boolean):void{
mb_useFrames = _arg1;
stop();
}
public function get tsChart():FTimeScaleChart{
return (mo_chart);
}
public function get loop():int{
return (mi_loop);
}
public function set duration(_arg1:int):void{
mi_dur = ((_arg1 <= 0)) ? mo_chart.resolution : _arg1;
mp_durDv = (1 / mi_dur);
if (mb_useFrames){
mp_posInc = (mb_reverse) ? -((mo_chart.resolution * mp_durDv)) : (mo_chart.resolution * mp_durDv);
};
}
public function get position():int{
return (mp_pos);
}
public function play(_arg1:int=-1, _arg2=null):void{
if (_arg2 != null){
reverse = Boolean(_arg2);
};
position = ((_arg1 < 0)) ? mp_pos : _arg1;
runAddRemove(this, true);
}
public function get paused():Boolean{
return ((mi_tmrElapsed > -1));
}
public function get range():Point{
return (new Point(mp_start, mp_end));
}
public function set tsChart(_arg1:FTimeScaleChart):void{
mo_chart = _arg1;
}
public function set reverse(_arg1:Boolean):void{
mb_reverse = _arg1;
if (mb_reverse){
mp_posInc = -((mo_chart.resolution * mp_durDv));
} else {
mp_posInc = (mo_chart.resolution * mp_durDv);
};
}
public function get usingFrames():Boolean{
return (mb_useFrames);
}
public function get maxLoops():int{
return (mi_maxLoops);
}
public function set position(_arg1:int):void{
var _local2:int = mo_chart.resolution;
if (_arg1 > _local2){
_arg1 = _local2;
} else {
if (_arg1 < 0){
_arg1 = 0;
};
};
mp_pos = _arg1;
if (!mb_useFrames){
mi_tmr = (getTimer() - (mi_dur * (mp_pos * mp_resDv)));
};
if (mb_reverse){
mp_pos = (_local2 - mp_pos);
};
}
public function get reverse():Boolean{
return (mb_reverse);
}
public function set paused(_arg1:Boolean):void{
if (((_arg1) && (((smo_tsPlaying) && (smo_tsPlaying[this]))))){
mi_tmrElapsed = (mb_useFrames) ? 0 : (getTimer() - mi_tmr);
runAddRemove(this, false);
if (!smo_tsPaused){
smo_tsPaused = new Dictionary();
};
smo_tsPaused[this] = this;
} else {
if (((!(_arg1)) && (paused))){
if (smo_tsPaused){
delete smo_tsPaused[this];
};
if (!mb_useFrames){
mi_tmr = (getTimer() - mi_tmrElapsed);
};
mi_tmrElapsed = -1;
play();
};
};
}
public static function CreateLinear(_arg1, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint, _arg6:Boolean=false, _arg7:Boolean=true, _arg8:Boolean=false, _arg9:int=100):FTimeScale{
if (_arg1 == null){
return (null);
};
var _local10:Array = [[0, _arg3], [_arg9, _arg4]];
var _local11:FTimeScale = new FTimeScale(_arg1, _arg2, 0, 1, _local10, 1, _arg5, 0, _arg6, _arg8, _arg9);
if (_arg7){
_local11.play();
};
return (_local11);
}
public static function PauseAll(_arg1:Boolean):void{
var _local3:FTimeScale;
var _local2:Dictionary = (_arg1) ? smo_tsPlaying : smo_tsPaused;
for each (_local3 in _local2) {
_local3.paused = _arg1;
};
}
public static function RemoveFromEvent(_arg1:Event, _arg2:Function, _arg3:FTimeScale):FTimeScale{
if (!_arg3){
_arg3 = (_arg1) ? (_arg1.target as FTimeScale) : null;
};
if (_arg3){
_arg3.remove(_arg2);
};
return (null);
}
public static function CreateCubic(_arg1, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint, _arg6:Boolean=false, _arg7:Boolean=true, _arg8:Boolean=false, _arg9:int=100):FTimeScale{
var _local16:Number;
if (_arg1 == null){
return (null);
};
var _local10:FTimeScale = FTimeScale.CreateLinear(_arg1, _arg2, 0, 1, _arg5, _arg6, false, _arg8, _arg9);
var _local11:Number = 0.001;
var _local12:Array = new Array(_arg9);
var _local13:Number = 0;
var _local14:Number = (1 / _arg9);
var _local15:Number = (_arg4 - _arg3);
var _local17:int;
while (_local17 <= _local10.mo_chart.resolution) {
_local16 = (int(((((_local13 * _local13) * _local13) * _local15) * 1000)) * _local11);
_local12[_local17] = (_arg3 + _local16);
_local13 = (_local13 + _local14);
_local17++;
};
_local10.tsChart.values = _local12;
if (_arg7){
_local10.play();
};
return (_local10);
}
public static function RunAll(_arg1:int=-1):void{
var _local2:FTimeScale;
for each (_local2 in smo_tsPlaying) {
_local2.run(_arg1);
};
}
private static function runAddRemove(_arg1:FTimeScale, _arg2:Boolean):void{
if (_arg2){
if (!smo_tsPlaying){
smo_tsPlaying = new Dictionary();
};
if (!smo_tsPlaying[_arg1]){
smo_tsPlaying[_arg1] = _arg1;
smi_tsPlayingNum++;
};
} else {
if (((smo_tsPlaying) && (smo_tsPlaying[_arg1]))){
delete smo_tsPlaying[_arg1];
if (--smi_tsPlayingNum == 0){
smo_tsPlaying = null;
};
};
};
}
}
}//package flib
Section 20
//FTimeScaleChart (flib.FTimeScaleChart)
package flib {
public class FTimeScaleChart {
private var mao_chart:Array;
private var mi_res:int;
private var map_values:Array;
private var mo_def;
public static const RES:int = 100;
public function FTimeScaleChart(_arg1:Array, _arg2, _arg3:int=100):void{
if (_arg1){
init(_arg1, _arg2, _arg3);
};
mo_def = _arg2;
}
public function set defaultValue(_arg1):void{
mo_def = _arg1;
}
public function get values():Array{
return (map_values);
}
public function set values(_arg1:Array):void{
map_values = _arg1;
}
public function get resolution():int{
return (mi_res);
}
public function get defaultValue(){
return (mo_def);
}
public function clone():FTimeScaleChart{
return (new FTimeScaleChart(mao_chart, mo_def, mi_res));
}
public function get chart():Array{
return (mao_chart);
}
public function init(_arg1:Array, _arg2, _arg3:int):void{
var _local11:Array;
var _local12:Array;
mi_res = ((_arg3 < 0)) ? RES : _arg3;
if (!_arg1){
map_values = (mao_chart = null);
return;
};
var _local4:int = (mi_res + 1);
map_values = new Array(_local4);
mao_chart = FixChart(FCopy.CopyArray(_arg1), _arg2, _arg3);
var _local5:Array = mao_chart;
var _local6:Number = ((_local5[1][1] - _local5[0][1]) / (_local5[1][0] - _local5[0][0]));
var _local7:Number = _local5[0][1];
var _local8:Number = 0;
map_values[0] = _local7;
var _local9 = 1;
var _local10 = 1;
while (_local9 < _local4) {
_local11 = _local5[_local10];
if (_local9 > _local11[0]){
++_local10;
_local12 = _local5[_local10];
_local6 = ((_local12[1] - _local11[1]) / (_local12[0] - _local11[0]));
_local7 = _local11[1];
_local8 = _local11[0];
};
map_values[_local9] = ((_local6 * (_local9 - _local8)) + _local7);
_local9++;
};
}
public static function FixChart(_arg1:Array, _arg2, _arg3:int):Array{
var _local5:Array;
var _local6:int;
var _local7:*;
var _local8:Array;
var _local9:int;
var _local10:*;
var _local4:int = (_arg1) ? _arg1.length : 0;
if (_local4){
_local5 = _arg1[0];
_local6 = _local5[0];
_local7 = ((_local5[1])!=null) ? _local5[1] : _arg2;
_local8 = _arg1[(_local4 - 1)];
_local9 = _local8[0];
_local10 = _local8[1];
if (_local6 != 0){
if (_local7 == null){
_local7 = _arg2;
};
_arg1.unshift([0, _local7]);
};
if (_local9 != _arg3){
if (_local10 == null){
_local10 = _arg2;
};
_arg1.push([_arg3, _local10]);
};
} else {
_arg1 = [[0, _arg2], [_arg3, _arg2]];
};
return (_arg1);
}
}
}//package flib
Section 21
//FWordWrap (flib.FWordWrap)
package flib {
import engine.*;
public final class FWordWrap {
private var mo_cdef:GFontCharDef;
private var mao_cdefs:Array;
private var mi_hzsp:int;
private var mo_fontData:GFontData;
private var mao_lines:Array;
private function getWord(_arg1:String, _arg2:int, _arg3:int, _arg4:int, _arg5:FWWLine):int{
var _local6:int;
var _local7:int;
var _local8:int;
_arg5.mi_idx = _arg2;
_arg5.mi_len = 0;
_arg5.mi_wt = 0;
do {
_local6 = _arg1.charCodeAt(_arg2);
if ((((_local6 == 10)) || ((_local6 == 13)))){
return (_local6);
};
mo_cdef = mao_cdefs[(_local6 - 32)];
if (mo_cdef){
_local8 = (mo_cdef.mi_wt + mi_hzsp);
_local7 = (_local7 + _local8);
if (_local7 > _arg4){
if (_arg5.mi_len == 0){
_arg5.mi_len++;
_arg5.mi_wt = (_arg5.mi_wt + _local8);
};
return (_local6);
};
_arg5.mi_len++;
_arg5.mi_wt = (_arg5.mi_wt + _local8);
if ((((_local6 == 32)) || ((_local6 == 45)))){
return (_local6);
};
};
++_arg2;
} while (_arg2 < _arg3);
return (_local6);
}
public function get lineCount():int{
return ((mao_lines) ? mao_lines.length : 0);
}
public function run(_arg1:String, _arg2:GUIFont, _arg3:int):Boolean{
var _local5:FWWLine;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local12:int;
if (((((!(_arg2)) || (!(_arg2.isLoaded)))) || ((_arg3 < 1)))){
return (false);
};
var _local4:Array = new Array();
_local5 = new FWWLine();
var _local6:FWWLine = new FWWLine();
var _local11:int = (_arg1) ? _arg1.length : 0;
mo_fontData = _arg2.fontData;
mi_hzsp = _arg2.hzSpacing;
mao_cdefs = mo_fontData.charDefs;
while (_local10 < _local11) {
_local9 = getWord(_arg1, _local10, _local11, _arg3, _local5);
_local7 = (_local7 + _local5.mi_wt);
_local8 = (_local8 + _local5.mi_len);
if (_local7 > _arg3){
_local4.push(_local6);
_local12 = (mo_cdef.mi_wt + mi_hzsp);
if ((((_local9 == 32)) && (((_local7 - _local12) <= _arg3)))){
_local7 = (_local7 - _local12);
_local8--;
_local6.mi_wt = _local7;
_local6.mi_len = _local8;
_local6 = new FWWLine((_local5.mi_idx + _local5.mi_len));
_local5.mi_idx = _local6.mi_idx;
_local7 = 0;
_local8 = _local7;
} else {
_local6 = new FWWLine(_local5.mi_idx, _local5.mi_len, _local5.mi_wt);
_local8 = _local6.mi_len;
_local7 = _local6.mi_wt;
_local5.mi_idx = (_local5.mi_idx + _local5.mi_len);
};
} else {
if ((((_local9 == 10)) || ((_local9 == 13)))){
_local6.mi_len = (_local6.mi_len + _local5.mi_len);
_local6.mi_wt = (_local6.mi_wt + _local5.mi_wt);
_local4.push(_local6);
_local6 = new FWWLine(((_local5.mi_idx + _local5.mi_len) + 1));
_local5.mi_idx = _local6.mi_idx;
_local7 = 0;
_local8 = _local7;
} else {
_local6.mi_len = _local8;
_local6.mi_wt = _local7;
_local5.mi_idx = (_local5.mi_idx + _local5.mi_len);
};
};
_local10 = _local5.mi_idx;
};
_local4.push(_local6);
mao_lines = _local4;
return (true);
}
public function get lines():Array{
return (mao_lines);
}
}
}//package flib
Section 22
//FWWLine (flib.FWWLine)
package flib {
public final class FWWLine {
public var mi_wt:int;
public var mi_len:int;
public var mi_idx:int;
public function FWWLine(_arg1:int=0, _arg2:int=0, _arg3:int=0):void{
mi_idx = _arg1;
mi_len = _arg2;
mi_wt = _arg3;
}
}
}//package flib
Section 23
//LS_Frame1 (games.LaserStriker.preloader.src.LS_Frame1)
package games.LaserStriker.preloader.src {
import flash.display.*;
import flib.*;
public class LS_Frame1 extends FMain {
public static const MainSwf:Class = LS_Frame1_MainSwf;
public static const KData:Class = LS_Frame1_KData;
public function LS_Frame1(_arg1:Stage, _arg2:Function):void{
super(_arg1, _arg2);
}
FMain.smo_mainSwfClass = MainSwf;
FMain.smo_kData = KData;
}
}//package games.LaserStriker.preloader.src
Section 24
//LS_Frame1_KData (games.LaserStriker.preloader.src.LS_Frame1_KData)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_Frame1_KData extends ByteArrayAsset {
}
}//package games.LaserStriker.preloader.src
Section 25
//LS_Frame1_MainSwf (games.LaserStriker.preloader.src.LS_Frame1_MainSwf)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_Frame1_MainSwf extends ByteArrayAsset {
}
}//package games.LaserStriker.preloader.src
Section 26
//LS_PreLoader (games.LaserStriker.preloader.src.LS_PreLoader)
package games.LaserStriker.preloader.src {
import flash.display.*;
import flash.events.*;
import flib.*;
import flash.geom.*;
import engine.*;
import games.LaserStriker.src.*;
public dynamic class LS_PreLoader extends FPreLoader {
private var mo_image:FImage;
private var mo_imglbf:LS_BackMenuImg;
private var mo_font:GUIFont;
private var mo_imglbb:LS_BackMenuImg;
private var mo_imageWindow:LS_BackMenuImg;
private var mo_loaderBar:GUILifeBar;
private var mi_initDecr:int;
private var mo_ts:FTimeScale;
private var mo_lblLoaded:GUILabel;
public static const STAGE_WT:int = 0x0200;
private static const ImgUIFont:Class = LS_PreLoader_ImgUIFont;
private static const ImgUIWindow:Class = LS_PreLoader_ImgUIWindow;
public static const STAGE_HT:int = 0x0200;
private static const ImgUILoaderBarFront:Class = LS_PreLoader_ImgUILoaderBarFront;
private static const ImgUILoaderBarBack:Class = LS_PreLoader_ImgUILoaderBarBack;
private static const MAIN_CLASS_NAME:String = "games.LaserStriker.preloader.src.LS_Frame1";
private static const ImgUIBack:Class = LS_PreLoader_ImgUIBack;
public function LS_PreLoader(){
stop();
FDisplay.StageRef = stage;
init(stage);
var _local1:Object = {clip:this, id:"80520c16fef3635f", res:((STAGE_WT + "x") + STAGE_HT), background:64, no_bg:true, no_progress_bar:true, ad_progress:mochiAdProgress, ad_finished:mochiAdFinished};
MochiAd.showPreGameAd(_local1);
MochiBot.track(this, "555f0c95");
}
private function decrComplete(_arg1:Event):void{
mo_lblLoaded.remove();
mo_lblLoaded = null;
mo_font.clear();
mo_font = null;
removeEventListener(Event.ENTER_FRAME, frm);
}
private function init(_arg1:Stage):void{
if (!_arg1){
return;
};
mo_image = new FImage(FAssets.LoadBitmap(ImgUIBack));
addChild(mo_image);
var _local2:GFontData = new GFontData();
_local2.bitmapData = FAssets.LoadBitmap(ImgUIFont).bitmapData;
_local2.width = (_local2.height = 16);
_local2.verticalSpacing = 1;
_local2.colors = [[64, 64, 64], [160, 160, 160], [0xFF, 0xFF, 0xFF]];
_local2.sectorsPercents = [0.75, 0.25];
mo_font = new GUIFont(_local2);
var _local3:Number = (Math.random() * 360);
mo_imglbb = new LS_BackMenuImg(ImgUILoaderBarBack, _local3);
mo_imglbf = new LS_BackMenuImg(ImgUILoaderBarFront, _local3);
mo_loaderBar = new GUILifeBar(mo_imglbb, mo_imglbf, 0, GUILifeBar.DIR_RIGHT, new Point(4, 4));
mo_loaderBar.x = ((STAGE_WT - mo_loaderBar.width) / 2);
mo_loaderBar.y = ((STAGE_HT - mo_loaderBar.height) - 4);
mo_image.addChild(mo_loaderBar);
mo_lblLoaded = GUILabel.Create(mo_font, "", 0, 0, false, true);
mo_lblLoaded.x = ((STAGE_WT - mo_lblLoaded.width) / 2);
mo_lblLoaded.y = ((mo_loaderBar.y - mo_font.calcHeight(null, 1)) - 8);
mo_image.addChild(mo_lblLoaded);
addEventListener(Event.ENTER_FRAME, frm);
}
private function mochiAdProgress(_arg1:Number):void{
mo_loaderBar.value = (_arg1 * 0.01);
mo_lblLoaded.text = (int(_arg1).toString() + "%");
mo_lblLoaded.x = ((STAGE_WT - mo_lblLoaded.width) / 2);
frm(null);
}
private function mochiAdFinished():void{
mo_ts = mo_image.alphaFade(1, 0, 500);
mo_ts.addEventListener(FTimeScale.TS_DONE, fadeDone, false, 0, true);
mo_loaderBar.value = 1;
mo_lblLoaded.text = "100%";
mo_lblLoaded.x = ((STAGE_WT - mo_lblLoaded.width) / 2);
}
private function fadeDone(_arg1:Event):void{
mo_ts = mo_ts.remove(fadeDone);
shutDown();
mi_initDecr = 1;
}
private function frm(_arg1:Event):void{
FTimeScale.RunAll();
switch (mi_initDecr){
case 1:
mi_initDecr++;
mo_lblLoaded = GUILabel.Create(mo_font, "INITIALIZING...");
mo_lblLoaded.x = ((STAGE_WT - mo_lblLoaded.width) / 2);
mo_lblLoaded.y = ((STAGE_HT - mo_lblLoaded.height) / 2);
addChild(mo_lblLoaded);
break;
case 2:
mi_initDecr++;
loadMainClass(MAIN_CLASS_NAME, decrComplete);
};
}
private function shutDown():void{
var _local2:String;
var _local3:GUIControl;
var _local4:LS_BackMenuImg;
if (mo_image){
if (mo_imageWindow){
mo_image.removeChild(mo_imageWindow);
};
mo_image.clear();
mo_image = null;
};
var _local1:Array = ["mo_lblLoaded", "mo_loaderBar"];
for each (_local2 in _local1) {
_local3 = this[_local2];
if (_local3){
_local3.remove();
this[_local2] = null;
};
};
_local1 = ["mo_imageWindow", "mo_imglbb", "mo_imglbf"];
for each (_local2 in _local1) {
_local4 = this[_local2];
if (_local4){
_local4.bitmapData.dispose();
_local4.clear();
this[_local2] = null;
};
};
}
}
}//package games.LaserStriker.preloader.src
Section 27
//LS_PreLoader_ImgUIBack (games.LaserStriker.preloader.src.LS_PreLoader_ImgUIBack)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_PreLoader_ImgUIBack extends BitmapAsset {
}
}//package games.LaserStriker.preloader.src
Section 28
//LS_PreLoader_ImgUIFont (games.LaserStriker.preloader.src.LS_PreLoader_ImgUIFont)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_PreLoader_ImgUIFont extends BitmapAsset {
}
}//package games.LaserStriker.preloader.src
Section 29
//LS_PreLoader_ImgUILoaderBarBack (games.LaserStriker.preloader.src.LS_PreLoader_ImgUILoaderBarBack)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_PreLoader_ImgUILoaderBarBack extends BitmapAsset {
}
}//package games.LaserStriker.preloader.src
Section 30
//LS_PreLoader_ImgUILoaderBarFront (games.LaserStriker.preloader.src.LS_PreLoader_ImgUILoaderBarFront)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_PreLoader_ImgUILoaderBarFront extends BitmapAsset {
}
}//package games.LaserStriker.preloader.src
Section 31
//LS_PreLoader_ImgUIWindow (games.LaserStriker.preloader.src.LS_PreLoader_ImgUIWindow)
package games.LaserStriker.preloader.src {
import mx.core.*;
public class LS_PreLoader_ImgUIWindow extends BitmapAsset {
}
}//package games.LaserStriker.preloader.src
Section 32
//LS_BackMenuImg (games.LaserStriker.src.LS_BackMenuImg)
package games.LaserStriker.src {
import flash.display.*;
import flib.*;
import flash.geom.*;
import com.quasimondo.geom.*;
public class LS_BackMenuImg extends FImage {
private var mi_hue:Number;
private static const GRID_HUES:Array = [0, 60, 120, 180, 240];
public function LS_BackMenuImg(_arg1:Class, _arg2:Number=NaN):void{
super(FAssets.LoadBitmap(_arg1));
applyColorFilter(_arg2);
}
public function get hue():Number{
return (mi_hue);
}
private function applyColorFilter(_arg1:Number):void{
var _local5:int;
if (isNaN(_arg1)){
_local5 = (Math.random() * GRID_HUES.length);
mi_hue = GRID_HUES[_local5];
} else {
mi_hue = _arg1;
};
var _local2:ColorMatrix = new ColorMatrix(null);
_local2.adjustHue(mi_hue);
var _local3:BitmapData = bitmapData;
var _local4:BitmapData = _local3.clone();
_local4.applyFilter(_local3, _local3.rect, new Point(), _local2.filter);
bitmapData = _local4;
}
}
}//package games.LaserStriker.src
Section 33
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.2.0.3794";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 34
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.2.0.3794";
}
}//package mx.core
Section 35
//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.2.0.3794";
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 36
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.2.0.3794";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 37
//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.2.0.3794";
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 38
//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.2.0.3794";
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 39
//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.2.0.3794";
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 40
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 41
//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 42
//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 43
//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 44
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 45
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.display.*;
import flash.events.*;
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 46
//IFlexModuleFactory (mx.core.IFlexModuleFactory)
package mx.core {
public interface IFlexModuleFactory {
function create(... _args):Object;
function info():Object;
}
}//package mx.core
Section 47
//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 48
//IProgrammaticSkin (mx.core.IProgrammaticSkin)
package mx.core {
public interface IProgrammaticSkin {
function validateNow():void;
function validateDisplayList():void;
}
}//package mx.core
Section 49
//IRawChildrenContainer (mx.core.IRawChildrenContainer)
package mx.core {
public interface IRawChildrenContainer {
function get rawChildren():IChildList;
}
}//package mx.core
Section 50
//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 51
//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 52
//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 53
//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 54
//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 55
//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 56
//Singleton (mx.core.Singleton)
package mx.core {
public class Singleton {
mx_internal static const VERSION:String = "3.2.0.3794";
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 57
//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 58
//ModuleEvent (mx.events.ModuleEvent)
package mx.events {
import flash.events.*;
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.2.0.3794";
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 59
//ResourceEvent (mx.events.ResourceEvent)
package mx.events {
import flash.events.*;
public class ResourceEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.2.0.3794";
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 60
//StyleEvent (mx.events.StyleEvent)
package mx.events {
import flash.events.*;
public class StyleEvent extends ProgressEvent {
public var errorText:String;
mx_internal static const VERSION:String = "3.2.0.3794";
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 61
//RectangularDropShadow (mx.graphics.RectangularDropShadow)
package mx.graphics {
import flash.display.*;
import mx.core.*;
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.2.0.3794";
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 62
//IFocusManager (mx.managers.IFocusManager)
package mx.managers {
import flash.display.*;
import flash.events.*;
import mx.core.*;
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 63
//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 64
//IFocusManagerContainer (mx.managers.IFocusManagerContainer)
package mx.managers {
import flash.display.*;
import flash.events.*;
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 65
//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 66
//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 67
//ISystemManager (mx.managers.ISystemManager)
package mx.managers {
import flash.display.*;
import flash.events.*;
import mx.core.*;
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 68
//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 69
//IModuleInfo (mx.modules.IModuleInfo)
package mx.modules {
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import flash.system.*;
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 70
//ModuleManager (mx.modules.ModuleManager)
package mx.modules {
import mx.core.*;
public class ModuleManager {
mx_internal static const VERSION:String = "3.2.0.3794";
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.display.*;
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import flash.system.*;
import mx.events.*;
import flash.net.*;
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 71
//ModuleManagerGlobals (mx.modules.ModuleManagerGlobals)
package mx.modules {
public class ModuleManagerGlobals {
public static var managerSingleton:Object = null;
}
}//package mx.modules
Section 72
//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 73
//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 74
//IResourceModule (mx.resources.IResourceModule)
package mx.resources {
public interface IResourceModule {
function get resourceBundles():Array;
}
}//package mx.resources
Section 75
//LocaleSorter (mx.resources.LocaleSorter)
package mx.resources {
public class LocaleSorter {
mx_internal static const VERSION:String = "3.2.0.3794";
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 76
//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.2.0.3794";
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 77
//ResourceManager (mx.resources.ResourceManager)
package mx.resources {
import mx.core.*;
public class ResourceManager {
mx_internal static const VERSION:String = "3.2.0.3794";
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 78
//ResourceManagerImpl (mx.resources.ResourceManagerImpl)
package mx.resources {
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import flash.system.*;
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.2.0.3794";
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 79
//HaloBorder (mx.skins.halo.HaloBorder)
package mx.skins.halo {
import flash.display.*;
import mx.core.*;
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.2.0.3794";
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 80
//HaloFocusRect (mx.skins.halo.HaloFocusRect)
package mx.skins.halo {
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.2.0.3794";
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();
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 81
//Border (mx.skins.Border)
package mx.skins {
import mx.core.*;
public class Border extends ProgrammaticSkin implements IBorder {
mx_internal static const VERSION:String = "3.2.0.3794";
public function get borderMetrics():EdgeMetrics{
return (EdgeMetrics.EMPTY);
}
}
}//package mx.skins
Section 82
//ProgrammaticSkin (mx.skins.ProgrammaticSkin)
package mx.skins {
import flash.display.*;
import mx.core.*;
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.2.0.3794";
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 83
//RectangularBorder (mx.skins.RectangularBorder)
package mx.skins {
import flash.display.*;
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import mx.styles.*;
import flash.system.*;
import flash.geom.*;
import mx.resources.*;
import flash.net.*;
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.2.0.3794";
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 84
//CSSStyleDeclaration (mx.styles.CSSStyleDeclaration)
package mx.styles {
import flash.display.*;
import flash.events.*;
import mx.core.*;
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.2.0.3794";
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 85
//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 86
//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 87
//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 88
//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 89
//IStyleModule (mx.styles.IStyleModule)
package mx.styles {
public interface IStyleModule {
function unload():void;
}
}//package mx.styles
Section 90
//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.2.0.3794";
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 91
//StyleManagerImpl (mx.styles.StyleManagerImpl)
package mx.styles {
import flash.events.*;
import mx.core.*;
import flash.utils.*;
import flash.system.*;
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.2.0.3794";
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 92
//ColorUtil (mx.utils.ColorUtil)
package mx.utils {
public class ColorUtil {
mx_internal static const VERSION:String = "3.2.0.3794";
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 93
//GraphicsUtil (mx.utils.GraphicsUtil)
package mx.utils {
import flash.display.*;
public class GraphicsUtil {
mx_internal static const VERSION:String = "3.2.0.3794";
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 94
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import flash.utils.*;
import mx.core.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.2.0.3794";
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 95
//StringUtil (mx.utils.StringUtil)
package mx.utils {
public class StringUtil {
mx_internal static const VERSION:String = "3.2.0.3794";
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 96
//_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 97
//_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 98
//_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 99
//_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 100
//_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 101
//_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 102
//_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 103
//_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 104
//_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 105
//_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 106
//_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 107
//_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 108
//_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 109
//_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 110
//_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 111
//_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 112
//_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 113
//_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 114
//_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 115
//_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 116
//_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 117
//_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 118
//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 119
//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 120
//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 121
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 122
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package