Frame 2
Stage.showMenu = false;
Instance of Symbol 60 MovieClip "fa2" in Frame 132
onClipEvent (enterFrame) {
_root.fa2.fa.play();
}
Frame 292
easeSpeed = 10;
slider_mc.onEnterFrame = function () {
this._x = this._x + ((xMove1 - this._x) / easeSpeed);
};
button_1.onPress = function () {
xMove = button_1._x;
};
button_2.onPress = function () {
xMove = button_2._x;
};
button_3.onPress = function () {
xMove = button_3._x;
};
button_4.onPress = function () {
xMove = button_4._x;
};
stop();
Frame 296
stopAllSounds();
Frame 713
stopAllSounds();
Frame 973
stopAllSounds();
Frame 1095
Instance of Symbol 429 MovieClip in Frame 1610
onClipEvent (enterFrame) {
this.stop();
}
Instance of Symbol 429 MovieClip in Frame 1642
onClipEvent (enterFrame) {
this.play();
}
Frame 2656
stop();
Symbol 5 MovieClip [DataHolder] Frame 1
#initclip 20
Object.registerClass("DataHolder", mx.data.components.DataHolder);
#endinitclip
preview._visible = false;
stop();
Symbol 38 Button
on (release) {
getURL ("http://www.newgrounds.com", "blank");
}
Symbol 42 Button
on (release) {
_root.play();
}
Symbol 43 MovieClip Frame 1
_root.stop();
PercentLoaded = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100;
KB_out = (int(_root.getBytesLoaded() / 1000) + "/") + int(_root.getBytesTotal() / 1000);
if (PercentLoaded != 100) {
setProperty(barmask.bar, _xscale , PercentLoaded);
} else {
gotoAndStop ("loaded");
}
Symbol 43 MovieClip Frame 2
gotoAndPlay (1);
Symbol 1 MovieClip [__Packages.mx.data.components.DataHolder] Frame 0
class mx.data.components.DataHolder extends MovieClip
{
var addedProperties, _visible, superAddBinding, addProperty, dispatchEvent;
function DataHolder () {
super();
addedProperties = new Object();
mx.events.EventDispatcher.initialize(this);
_visible = false;
for (var _local4 in Object(this).__schema.elements) {
var _local3 = Object(this).__schema.elements[_local4].name;
addProp(_local3);
}
superAddBinding = mx.data.binding.ComponentMixins.prototype.addBinding;
}
function addProp(property) {
if (addedProperties[property] == 1) {
return(undefined);
}
addedProperties[property] = 1;
var _local2 = function () {
return(this.getProp(property));
};
var _local3 = function (val) {
this.setProp(property, val);
};
addProperty(property, _local2, _local3);
}
function addBinding(binding) {
if (binding.source.component == this) {
addProp(binding.source.property);
}
if (binding.dest.component == this) {
addProp(binding.dest.property);
}
superAddBinding(binding);
}
function getProp(property) {
return(this["___" + property]);
}
function setProp(property, val) {
this["___" + property] = val;
signalChanged(property);
}
function propertyModified(property, directly) {
if (!directly) {
signalChanged(property);
}
}
function signalChanged(property) {
dispatchEvent({type:property});
}
function onUpdate() {
_visible = true;
}
}
Symbol 6 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent == undefined) {
_local1[eventObj.type](eventObj);
} else {
_local1.handleEvent(eventObj);
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
}
Symbol 7 MovieClip [__Packages.mx.data.binding.ComponentMixins] Frame 0
class mx.data.binding.ComponentMixins
{
var __refreshing, __bindings, __schema, __fieldCache, _eventDispatcher;
function ComponentMixins () {
}
function refreshFromSources() {
if (__refreshing != null) {
return(undefined);
}
__refreshing = true;
_global.__dataLogger.logData(this, "Refreshing from sources");
_global.__dataLogger.nestLevel++;
mx.data.binding.Binding.refreshFromSources(this, null, __bindings);
_global.__dataLogger.nestLevel--;
__refreshing = null;
}
function refreshDestinations() {
_global.__dataLogger.logData(this, "Refreshing Destinations");
_global.__dataLogger.nestLevel++;
mx.data.binding.Binding.refreshDestinations(this, __bindings);
_global.__dataLogger.nestLevel--;
}
function validateProperty(property, initialMessages) {
var _local4 = null;
var _local3 = getField(property);
if (_local3 != null) {
_local4 = _local3.validateAndNotify(null, null, initialMessages);
} else {
_global.__dataLogger.logData(this, "Can't validate property '<property>' because it doesn't exist", {property:property});
}
return(_local4);
}
function addBinding(binding) {
if (__bindings == undefined) {
__bindings = new Array();
}
__bindings.push(binding);
var _local3 = false;
if (binding.source.component == this) {
getField(binding.source.property, binding.source.location);
_local3 = true;
}
if (binding.dest.component == this) {
getField(binding.dest.property, binding.dest.location);
_local3 = _local3 | Object(binding).is2way;
}
if (_local3) {
var _local4 = binding.dest.component.findSchema(binding.dest.property, binding.dest.location);
if (_local4.readonly) {
binding.source.component.__setReadOnly(true);
}
}
}
static function initComponent(component) {
var _local2 = mx.data.binding.ComponentMixins.prototype;
if (component.refreshFromSources == undefined) {
component.refreshFromSources = _local2.refreshFromSources;
}
if (component.refreshDestinations == undefined) {
component.refreshDestinations = _local2.refreshDestinations;
}
if (component.validateProperty == undefined) {
component.validateProperty = _local2.validateProperty;
}
if (component.createFieldAccessor == undefined) {
component.createFieldAccessor = _local2.createFieldAccessor;
}
if (component.createField == undefined) {
component.createField = _local2.createField;
}
if (component.addBinding == undefined) {
component.addBinding = _local2.addBinding;
}
if (component.findSchema == undefined) {
component.findSchema = _local2.findSchema;
}
if (component.getField == undefined) {
component.getField = _local2.getField;
}
if (component.refreshAndValidate == undefined) {
component.refreshAndValidate = _local2.refreshAndValidate;
}
if (component.getFieldFromCache == undefined) {
component.getFieldFromCache = _local2.getFieldFromCache;
}
if (component.getBindingMetaData == undefined) {
component.getBindingMetaData = _local2.getBindingMetaData;
}
if (component.__setReadOnly == undefined) {
component.__setReadOnly = _local2.__setReadOnly;
}
if (component.__addHighPrioEventListener == undefined) {
component.__addHighPrioEventListener = _local2.__addHighPrioEventListener;
}
}
function createFieldAccessor(property, location, mustExist) {
return(mx.data.binding.FieldAccessor.createFieldAccessor(this, property, location, mx.data.binding.FieldAccessor.findElementType(__schema, property), mustExist));
}
function findSchema(property, location) {
if (typeof(location) == "string") {
return(null);
}
var _local5 = mx.data.binding.FieldAccessor.findElementType(__schema, property);
if (location != null) {
if (location.path != null) {
location = location.path;
}
if (!(location instanceof Array)) {
return(null);
}
var _local2 = 0;
while (_local2 < location.length) {
var _local4 = location[_local2];
_local5 = mx.data.binding.FieldAccessor.findElementType(_local5, _local4);
_local2++;
}
}
return(_local5);
}
function createField(property, location) {
var _local3 = findSchema(property, location);
var _local2;
if (_local3.validation != null) {
_local2 = mx.data.binding.Binding.getRuntimeObject(_local3.validation);
} else {
_local2 = new mx.data.binding.DataType();
}
_local2.setupDataAccessor(this, property, location);
return(_local2);
}
static function deepEqual(a, b) {
if (a == b) {
return(true);
}
if (typeof(a) != typeof(b)) {
return(false);
}
if (typeof(a) != "object") {
return(false);
}
var _local3 = new Object();
for (var _local4 in a) {
if (!deepEqual(a[_local4], b[_local4])) {
return(false);
}
_local3[_local4] = 1;
}
for (var _local4 in b) {
if (_local3[_local4] != 1) {
return(false);
}
}
return(true);
}
function getFieldFromCache(property, location) {
for (var _local5 in __fieldCache) {
var _local2 = __fieldCache[_local5];
if ((_local2.property == property) && (deepEqual(_local2.location, location))) {
return(_local2);
}
}
return(null);
}
function getField(property, location) {
var _local2 = getFieldFromCache(property, location);
if (_local2 != null) {
return(_local2);
}
_local2 = createField(property, location);
if (__fieldCache == null) {
__fieldCache = new Array();
}
__fieldCache.push(_local2);
return(_local2);
}
function refreshAndValidate(property) {
_global.__dataLogger.logData(this, "Refreshing and validating " + property);
_global.__dataLogger.nestLevel++;
var _local3 = mx.data.binding.Binding.refreshFromSources(this, property, __bindings);
_local3 = validateProperty(property, _local3);
_global.__dataLogger.nestLevel--;
return(_local3 == null);
}
function getBindingMetaData(name) {
return(this["__" + name]);
}
function __setReadOnly(setting) {
if (Object(this).editable != undefined) {
Object(this).editable = !setting;
}
}
function __addHighPrioEventListener(event, handler) {
var _local3 = ((_eventDispatcher != undefined) ? (_eventDispatcher) : this);
if (_local3.__highPrioEvents == undefined) {
_local3.__highPrioEvents = new Object();
}
var _local4 = "__q_" + event;
if (_local3.__highPrioEvents[_local4] == undefined) {
_local3.__highPrioEvents[_local4] = new Array();
}
_global.ASSetPropFlags(_local3.__highPrioEvents, _local4, 1);
mx.events.EventDispatcher._removeEventListener(_local3.__highPrioEvents[_local4], event, handler);
_local3.__highPrioEvents[_local4].push(handler);
if (_local3._databinding_original_dispatchEvent == undefined) {
_local3._databinding_original_dispatchEvent = _local3.dispatchEvent;
_local3.dispatchEvent = function (eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this.dispatchQueue(this.__highPrioEvents, eventObj);
this._databinding_original_dispatchEvent(eventObj);
};
}
}
}
Symbol 8 MovieClip [__Packages.mx.data.binding.EndPoint] Frame 0
class mx.data.binding.EndPoint
{
function EndPoint () {
}
}
Symbol 9 MovieClip [__Packages.mx.data.binding.ObjectDumper] Frame 0
class mx.data.binding.ObjectDumper
{
var inProgress;
function ObjectDumper () {
inProgress = new Array();
}
static function toString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent) {
var _local3 = new mx.data.binding.ObjectDumper();
if (maxLineLength == undefined) {
maxLineLength = 100;
}
if (indent == undefined) {
indent = 0;
}
return(_local3.realToString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent));
}
function realToString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent) {
var _local8 = 0;
while (_local8 < inProgress.length) {
if (inProgress[_local8] == obj) {
return("***");
}
_local8++;
}
inProgress.push(obj);
indent++;
var _local16 = typeof(obj);
var _local5;
if ((obj instanceof XMLNode) && (showXMLstructures != true)) {
_local5 = obj.toString();
} else if (obj instanceof Date) {
_local5 = obj.toString();
} else if (_local16 == "object") {
var _local4 = new Array();
if (obj instanceof Array) {
_local5 = "[";
var _local15 = 0;
while (_local15 < obj.length) {
_local4.push(_local15);
_local15++;
}
} else {
_local5 = "{";
for (var _local15 in obj) {
_local4.push(_local15);
}
_local4.sort();
}
var _local9 = "";
var _local3 = 0;
while (_local3 < _local4.length) {
var _local6 = obj[_local4[_local3]];
var _local7 = true;
if (typeof(_local6) == "function") {
_local7 = showFunctions == true;
}
if (typeof(_local6) == "undefined") {
_local7 = showUndefined == true;
}
if (_local7) {
_local5 = _local5 + _local9;
if (!(obj instanceof Array)) {
_local5 = _local5 + (_local4[_local3] + ": ");
}
_local5 = _local5 + realToString(_local6, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent);
_local9 = ", `";
}
_local3++;
}
if (obj instanceof Array) {
_local5 = _local5 + "]";
} else {
_local5 = _local5 + "}";
}
} else if (_local16 == "function") {
_local5 = "function";
} else if (_local16 == "string") {
_local5 = ("\"" + obj) + "\"";
} else {
_local5 = String(obj);
}
if (_local5 == "undefined") {
_local5 = "-";
}
inProgress.pop();
return(replaceAll(_local5, "`", ((_local5.length < maxLineLength) ? "" : (newline + doIndent(indent)))));
}
static function replaceAll(str, from, to) {
var _local3 = str.split(from);
var _local4 = "";
var _local2 = "";
var _local1 = 0;
while (_local1 < _local3.length) {
_local4 = _local4 + (_local2 + _local3[_local1]);
_local2 = to;
_local1++;
}
return(_local4);
}
function doIndent(indent) {
var _local2 = "";
var _local1 = 0;
while (_local1 < indent) {
_local2 = _local2 + " ";
_local1++;
}
return(_local2);
}
}
Symbol 10 MovieClip [__Packages.mx.data.binding.TypedValue] Frame 0
class mx.data.binding.TypedValue
{
var value, typeName, type;
function TypedValue (value, typeName, type) {
this.value = value;
this.typeName = typeName;
this.type = type;
}
}
Symbol 11 MovieClip [__Packages.mx.xpath.NodePathInfo] Frame 0
class mx.xpath.NodePathInfo
{
function NodePathInfo (nodeName, filter) {
__nodeName = nodeName;
__filter = filter;
}
function get nodeName() {
return(__nodeName);
}
function get filter() {
return(__filter);
}
var __nodeName = null;
var __filter = null;
}
Symbol 12 MovieClip [__Packages.mx.utils.StringTokenParser] Frame 0
class mx.utils.StringTokenParser
{
var _source, _skipChars;
function StringTokenParser (source, skipChars) {
_source = source;
_skipChars = ((skipChars == undefined) ? null : (skipChars));
}
function get token() {
return(_token);
}
function getPos() {
return(_index);
}
function nextToken() {
var _local4;
var _local2;
var _local3 = _source.length;
skipBlanks();
if (_index >= _local3) {
return(tkEOF);
}
_local2 = _source.charCodeAt(_index);
if (((((_local2 >= 65) && (_local2 <= 90)) || ((_local2 >= 97) && (_local2 <= 122))) || ((_local2 >= 192) && (_local2 <= Number.POSITIVE_INFINITY))) || (_local2 == 95)) {
_local4 = _index;
_index++;
_local2 = _source.charCodeAt(_index);
while (((((((_local2 >= 65) && (_local2 <= 90)) || ((_local2 >= 97) && (_local2 <= 122))) || ((_local2 >= 48) && (_local2 <= 57))) || ((_local2 >= 192) && (_local2 <= Number.POSITIVE_INFINITY))) || (_local2 == 95)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
_token = _source.substring(_local4, _index);
return(tkSymbol);
}
if ((_local2 == 34) || (_local2 == 39)) {
_index++;
_local4 = _index;
_local2 = _source.charCodeAt(_local4);
while (((_local2 != 34) && (_local2 != 39)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
_token = _source.substring(_local4, _index);
_index++;
return(tkString);
}
if ((_local2 == 45) || ((_local2 >= 48) && (_local2 <= 57))) {
var _local5 = tkInteger;
_local4 = _index;
_index++;
_local2 = _source.charCodeAt(_index);
while (((_local2 >= 48) && (_local2 <= 57)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
if (_index < _local3) {
if (((((((_local2 >= 48) && (_local2 <= 57)) || (_local2 == 46)) || (_local2 == 43)) || (_local2 == 45)) || (_local2 == 101)) || (_local2 == 69)) {
_local5 = tkFloat;
}
while ((((((((_local2 >= 48) && (_local2 <= 57)) || (_local2 == 46)) || (_local2 == 43)) || (_local2 == 45)) || (_local2 == 101)) || (_local2 == 69)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
}
_token = _source.substring(_local4, _index);
return(_local5);
}
_token = _source.charAt(_index);
_index++;
return(tkSymbol);
}
function skipBlanks() {
if (_index < _source.length) {
var _local2 = _source.charAt(_index);
while ((_local2 == " ") || ((_skipChars != null) && (skipChar(_local2)))) {
_index++;
_local2 = _source.charAt(_index);
}
}
}
function skipChar(ch) {
var _local2 = 0;
while (_local2 < _skipChars.length) {
if (ch == _skipChars[_local2]) {
return(true);
}
_local2++;
}
return(false);
}
static var tkEOF = -1;
static var tkSymbol = 0;
static var tkString = 1;
static var tkInteger = 2;
static var tkFloat = 3;
var _index = 0;
var _token = "";
}
Symbol 13 MovieClip [__Packages.mx.xpath.FilterExpr] Frame 0
class mx.xpath.FilterExpr
{
function FilterExpr (attrInit, nameInit, valueInit) {
__attr = attrInit;
__name = nameInit;
__value = valueInit;
}
function get attr() {
return(__attr);
}
function set attr(newVal) {
__attr = newVal;
//return(attr);
}
function get name() {
return(__name);
}
function set name(newVal) {
__name = newVal;
//return(name);
}
function get value() {
return(__value);
}
function set value(newVal) {
__value = newVal;
//return(value);
}
var __attr = false;
var __value = null;
var __name = null;
}
Symbol 14 MovieClip [__Packages.mx.xpath.FilterStack] Frame 0
class mx.xpath.FilterStack
{
var __expr, __ops;
function FilterStack (filterVal) {
__expr = new Array();
__ops = new Array();
var _local2 = new mx.utils.StringTokenParser(filterVal);
var _local5 = _local2.nextToken();
var _local4;
var _local3 = _local2.__get__token();
while (_local5 != mx.utils.StringTokenParser.tkEOF) {
if (_local3 == "@") {
_local5 = _local2.nextToken();
_local3 = _local2.token;
_local4 = new mx.xpath.FilterExpr(true, _local3, null);
__expr.splice(0, 0, _local4);
if (_local2.nextToken() == mx.utils.StringTokenParser.tkSymbol) {
if (_local2.__get__token() == "=") {
_local5 = _local2.nextToken();
_local4.__set__value(_local2.token);
}
}
} else if ((_local3 == "and") || (_local3 == "or")) {
__ops.splice(0, 0, _local3);
} else if ((_local3 != ")") && (_local3 != "(")) {
_local4 = new mx.xpath.FilterExpr(false, _local3, null);
__expr.splice(0, 0, _local4);
if (_local2.nextToken() == mx.utils.StringTokenParser.tkSymbol) {
if (_local2.__get__token() == "=") {
_local5 = _local2.nextToken();
_local4.__set__value(_local2.token);
}
}
}
_local5 = _local2.nextToken();
_local3 = _local2.token;
}
}
function get exprs() {
return(__expr);
}
function get ops() {
return(__ops);
}
}
Symbol 15 MovieClip [__Packages.mx.xpath.XPathAPI] Frame 0
class mx.xpath.XPathAPI
{
function XPathAPI () {
}
static function getEvalString(node, path) {
var _local7 = "";
var _local4 = null;
var _local9 = getPathSet(path);
var _local3 = _local9[0].nodeName;
var _local8;
var _local2 = node;
var _local5 = false;
if ((_local3 != undefined) && ((_local3 == "*") || (node.nodeName == _local3))) {
var _local6 = 1;
while (_local6 < _local9.length) {
_local3 = _local9[_local6].nodeName;
_local8 = _local3.indexOf("@");
if (_local8 >= 0) {
_local3 = _local3.substring(_local8 + 1);
_local5 = _local2.attributes[_local3] != undefined;
_local7 = _local7 + (".attributes." + _local3);
} else {
_local5 = false;
var _local1 = 0;
while (_local1 < _local2.childNodes.length) {
_local4 = _local2.childNodes[_local1];
if (_local4.nodeName == _local3) {
_local7 = _local7 + (".childNodes." + _local1);
_local1 = _local2.childNodes.length;
_local2 = _local4;
_local5 = true;
}
_local1++;
}
}
if (!_local5) {
return("");
}
_local6++;
}
if (!_local5) {
_local7 = "";
} else if (_local8 == -1) {
_local7 = _local7 + ".firstChild.nodeValue";
}
} else {
_local7 = "";
}
return(_local7);
}
static function selectNodeList(node, path) {
var _local2 = new Array(node);
var _local5 = getPathSet(path);
var _local4 = _local5[0];
var _local6 = _local4.__get__nodeName();
var _local1 = null;
if ((_local6 != undefined) && ((_local6 == "*") || (node.nodeName == _local6))) {
if (_local4.filter.length > 0) {
_local1 = new mx.xpath.FilterStack(_local4.__get__filter());
_local2 = filterNodes(_local2, _local1);
}
if (_local2.length > 0) {
var _local3 = 1;
while (_local3 < _local5.length) {
_local4 = _local5[_local3];
_local2 = getAllChildNodesByName(_local2, _local4.__get__nodeName());
if (_local4.filter.length > 0) {
_local1 = new mx.xpath.FilterStack(_local4.__get__filter());
} else {
_local1 = null;
}
if ((_local1 != null) && (_local1.exprs.length > 0)) {
_local2 = filterNodes(_local2, _local1);
}
_local3++;
}
}
} else {
_local2 = new Array();
}
return(_local2);
}
static function selectSingleNode(node, path) {
var _local1 = selectNodeList(node, path);
if (_local1.length > 0) {
return(_local1[0]);
}
return(null);
}
static function setNodeValue(node, path, newValue) {
var _local1 = new Array(node);
var _local9 = getPathSet(path);
var _local7 = _local9[_local9.length - 1].nodeName;
if (_local7.charAt(0) == "@") {
_local7 = _local7.substring(1, _local7.length);
_local9.pop();
} else {
_local7 = null;
}
var _local5 = _local9[0];
var _local11 = _local5.__get__nodeName();
var _local3 = null;
if ((_local11 != undefined) && ((_local11 == "*") || (node.nodeName == _local11))) {
if (_local5.filter.length > 0) {
_local3 = new mx.xpath.FilterStack(_local5.__get__filter());
_local1 = filterNodes(_local1, _local3);
}
if (_local1.length > 0) {
var _local2 = 1;
while (_local2 < _local9.length) {
_local5 = _local9[_local2];
_local1 = getAllChildNodesByName(_local1, _local5.__get__nodeName());
if (_local5.filter.length > 0) {
_local3 = new mx.xpath.FilterStack(_local5.__get__filter());
} else {
_local3 = null;
}
if ((_local3 != null) && (_local3.exprs.length > 0)) {
_local1 = filterNodes(_local1, _local3);
}
_local2++;
}
}
} else {
_local1 = new Array();
}
var _local4 = null;
var _local6 = null;
var _local10 = new XML();
var _local2 = 0;
while (_local2 < _local1.length) {
if (_local7 != null) {
_local1[_local2].attributes[_local7] = newValue;
} else {
_local4 = _local1[_local2];
if ((_local4.firstChild == null) || (_local4.firstChild.nodeType != 3)) {
_local6 = _local10.createTextNode(newValue);
_local4.appendChild(_local6);
} else {
_local6 = _local4.firstChild;
_local6.nodeValue = newValue;
}
}
_local2++;
}
return(_local1.length);
}
static function copyStack(toStk, fromStk) {
var _local1 = 0;
while (_local1 < fromStk.length) {
toStk.splice(_local1, 0, fromStk[_local1]);
_local1++;
}
}
static function evalExpr(expr, node) {
var _local2 = true;
if (expr.__get__attr()) {
_local2 = ((expr.__get__value() != null) ? (node.attributes[expr.name] == expr.__get__value()) : (node.attributes[expr.name] != null));
} else {
var _local3 = getChildNodeByName(node, expr.__get__name());
if (_local3 != null) {
_local2 = ((expr.__get__value() != null) ? (_local3.firstChild.nodeValue == expr.__get__value()) : true);
} else {
_local2 = false;
}
}
return(_local2);
}
static function filterNodes(nodeList, stack) {
var _local13 = new Array();
var _local2;
var _local3;
var _local9;
var _local6;
var _local10;
var _local1 = true;
var _local4;
var _local5;
var _local8 = 0;
while (_local8 < nodeList.length) {
_local5 = true;
_local2 = new Array();
_local3 = new Array();
copyStack(_local2, stack.__get__exprs());
copyStack(_local3, stack.__get__ops());
_local4 = nodeList[_local8];
while ((_local2.length > 0) && (_local5)) {
if (typeof(_local2[_local2.length - 1]) == "object") {
_local9 = _local2.pop();
_local1 = evalExpr(_local9, _local4);
} else {
_local10 = Boolean(_local2.pop());
_local1 = _local10;
}
if (_local3.length > 0) {
var _local7 = _local2.pop();
_local6 = _local7;
switch (_local3[_local3.length - 1]) {
case "and" :
_local1 = _local1 && (evalExpr(_local6, _local4));
_local5 = _local1;
break;
case "or" :
_local1 = _local1 || (evalExpr(_local6, _local4));
_local5 = !_local1;
}
_local3.pop();
_local2.push(_local1);
}
}
if (_local1) {
_local13.push(_local4);
}
_local8++;
}
return(_local13);
}
static function getAllChildNodesByName(nodeList, name) {
var _local5 = new Array();
var _local2;
var _local3 = 0;
while (_local3 < nodeList.length) {
_local2 = nodeList[_local3].childNodes;
if (_local2 != null) {
var _local1 = 0;
while (_local1 < _local2.length) {
if ((name == "*") || (_local2[_local1].nodeName == name)) {
_local5.push(_local2[_local1]);
}
_local1++;
}
}
_local3++;
}
return(_local5);
}
static function getChildNodeByName(node, nodeName) {
var _local2;
var _local3 = node.childNodes;
var _local1 = 0;
while (_local1 < _local3.length) {
_local2 = _local3[_local1];
if (_local2.nodeName == nodeName) {
return(_local2);
}
_local1++;
}
return(null);
}
static function getKeyValues(node, keySpec) {
var _local5 = "";
var _local3 = new mx.utils.StringTokenParser(keySpec);
var _local2 = _local3.nextToken();
var _local1;
var _local6;
while (_local2 != mx.utils.StringTokenParser.tkEOF) {
_local1 = _local3.token;
_local5 = _local5 + (" " + _local1);
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
if (_local1 == "@") {
_local2 = _local3.nextToken();
_local1 = _local3.token;
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
_local5 = _local5 + (((_local1 + "='") + node.attributes[_local1]) + "'");
}
} else if (_local1 == "/") {
_local2 = _local3.nextToken();
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
_local1 = _local3.token;
node = getChildNodeByName(node, _local1);
if (node != null) {
_local5 = _local5 + _local1;
}
}
} else if ((((_local1 != "and") && (_local1 != "or")) && (_local1 != "[")) && (_local1 != "]")) {
_local6 = getChildNodeByName(node, _local1);
if (_local6 != null) {
_local5 = _local5 + (("='" + _local6.firstChild.nodeValue) + "'");
}
}
}
if (node == null) {
trace(("Invalid keySpec specified. '" + keySpec) + "' Error.");
return("ERR");
}
_local2 = _local3.nextToken();
}
return(_local5.slice(1));
}
static function getPath(node, keySpecs) {
var _local2 = "";
var _local5 = keySpecs[node.nodeName];
if (_local5 == undefined) {
var _local8 = "";
var _local10;
for (_local10 in node.attributes) {
_local8 = _local8 + (((("@" + _local10) + "='") + node.attributes[_local10]) + "' and ");
}
var _local7 = "";
var _local1;
var _local6;
var _local4 = 0;
while (_local4 < node.childNodes.length) {
_local1 = node.childNodes[_local4];
_local6 = _local1.firstChild.nodeValue;
if (_local6 != undefined) {
_local7 = _local7 + (((_local1.nodeName + "='") + _local6) + "' and ");
}
_local4++;
}
if (_local8.length > 0) {
if (_local7.length > 0) {
_local2 = (((("/" + node.nodeName) + "[") + _local8) + _local7.substring(0, _local7.length - 4)) + "]";
} else {
_local2 = ((("/" + node.nodeName) + "[") + _local8.substring(0, _local8.length - 4)) + "]";
}
} else {
_local2 = ((("/" + node.nodeName) + "[") + _local7.substring(0, _local7.length - 4)) + "]";
}
} else {
_local2 = _local2 + (("/" + node.nodeName) + getKeyValues(node, _local5));
}
var _local1 = node.parentNode;
while (_local1.parentNode != null) {
_local5 = keySpecs[_local1.nodeName];
if (_local5 != undefined) {
_local2 = (("/" + _local1.nodeName) + getKeyValues(_local1, _local5)) + _local2;
} else {
_local2 = ("/" + _local1.nodeName) + _local2;
}
_local1 = _local1.parentNode;
}
return(_local2);
}
static function getPathSet(path) {
var _local6 = new Array();
var _local4;
var _local1;
var _local2;
var _local5;
while (path.length > 0) {
_local4 = path.lastIndexOf("/");
_local1 = path.substring(_local4 + 1);
_local2 = _local1.indexOf("[", 0);
_local5 = ((_local2 >= 0) ? (_local1.substring(_local2 + 1, _local1.length - 1)) : "");
_local1 = ((_local2 >= 0) ? (_local1.substring(0, _local2)) : (_local1));
_local6.splice(0, 0, new mx.xpath.NodePathInfo(_local1, _local5));
path = path.substring(0, _local4);
}
return(_local6);
}
}
Symbol 16 MovieClip [__Packages.mx.data.binding.DataAccessor] Frame 0
class mx.data.binding.DataAccessor
{
var dataAccessor, component, property, location, type;
function DataAccessor () {
}
function getAnyTypedValue(suggestedTypes) {
var _local3 = 0;
while (_local3 < suggestedTypes.length) {
var _local5 = getTypedValue(suggestedTypes[_local3]);
if (_local5 != null) {
return(_local5);
}
_local3++;
}
var _local5 = getTypedValue();
_local3 = 0;
while (_local3 < suggestedTypes.length) {
var _local2 = suggestedTypes[_local3];
if (_local2 == "String") {
return(new mx.data.binding.TypedValue(String(_local5.value), _local2));
}
if (_local2 == "Number") {
return(new mx.data.binding.TypedValue(Number(_local5.value), _local2));
}
if (_local2 == "Boolean") {
return(new mx.data.binding.TypedValue(Boolean(_local5.value), _local2));
}
_local3++;
}
return(_local5);
}
function setAnyTypedValue(newValue) {
var _local7 = getSettableTypes();
if ((_local7 == null) || (-1 != findString(newValue.typeName, _local7))) {
return(setTypedValue(newValue));
}
var _local3 = 0;
while (_local3 < _local7.length) {
var _local2 = _local7[_local3];
if (_local2 == "String") {
return(setTypedValue(new mx.data.binding.TypedValue(String(newValue.value), _local2)));
}
if (_local2 == "Number") {
var _local5 = Number(newValue.value);
var _local6 = setTypedValue(new mx.data.binding.TypedValue(_local5, _local2));
if (_local5.toString() == "NaN") {
return([("Failed to convert '" + newValue.value) + "' to a number"]);
}
return(_local6);
}
if (_local2 == "Boolean") {
return(setTypedValue(new mx.data.binding.TypedValue(Boolean(newValue.value), _local2)));
}
_local3++;
}
return(dataAccessor.setTypedValue(newValue));
}
function getTypedValue(requestedType) {
var _local2 = dataAccessor.getTypedValue(requestedType);
return(_local2);
}
function getGettableTypes() {
return(null);
}
function setTypedValue(newValue) {
return(dataAccessor.setTypedValue(newValue));
}
function getSettableTypes() {
return(null);
}
function findLastAccessor() {
return(((dataAccessor == null) ? this : (dataAccessor.findLastAccessor())));
}
function setupDataAccessor(component, property, location) {
this.component = component;
this.property = property;
this.location = location;
type = component.findSchema(property, location);
}
static function findString(str, arr) {
var _local3 = str.toLowerCase();
var _local1 = 0;
while (_local1 < arr.length) {
if (arr[_local1].toLowerCase() == _local3) {
return(_local1);
}
_local1++;
}
return(-1);
}
static function conversionFailed(newValue, target) {
return(((("Failed to convert to " + target) + ": '") + newValue.value) + "'");
}
}
Symbol 17 MovieClip [__Packages.mx.data.binding.FieldAccessor] Frame 0
class mx.data.binding.FieldAccessor
{
var component, property, parentObj, fieldName, m_location, type, index, xpath;
function FieldAccessor (component, property, parentObj, fieldName, type, index, parentField) {
this.component = component;
this.property = property;
this.parentObj = parentObj;
this.fieldName = fieldName;
if (component == parentObj) {
m_location = undefined;
} else if (parentField.m_location == undefined) {
m_location = fieldName;
} else {
m_location = (parentField.m_location + ".") + fieldName;
}
this.type = type;
this.index = index;
}
function getValue() {
var _local2 = getFieldData();
if ((_local2 == null) && (type.value != undefined)) {
var _local3 = new mx.data.binding.TypedValue(type.value, "String");
_local3.getDefault = true;
component.getField(fieldName).setAnyTypedValue(_local3);
_local2 = _local3.value;
}
if ((isXML(_local2) && (_local2.childNodes.length == 1)) && (_local2.firstChild.nodeType == 3)) {
return(_local2.firstChild.nodeValue);
}
return(_local2);
}
function setValue(newValue, newTypedValue) {
if (newTypedValue.getDefault) {
newTypedValue.value = newValue;
} else {
if (xpath != null) {
var _local5 = getFieldData();
if (_local5 != null) {
setXMLData(_local5, newValue);
} else {
_global.__dataLogger.logData(component, "Can't assign to '<property>:<xpath>' because there is no element at the given path", this);
}
} else if (isXML(parentObj)) {
if (type.category == "attribute") {
parentObj.attributes[fieldName] = newValue;
} else if (type.category == "array") {
} else {
var _local5 = getOrCreateFieldData();
setXMLData(_local5, newValue);
}
} else {
if (parentObj == null) {
_global.__dataLogger.logData(component, "Can't set field '<property>/<location>' because the field doesn't exist", this);
}
parentObj[fieldName] = newValue;
}
component.propertyModified(property, (xpath == null) && (parentObj == component), newTypedValue.type);
}
}
static function isActionScriptPath(str) {
var _local2 = str.toLowerCase();
var _local3 = "0123456789abcdefghijklmnopqrstuvwxyz_.";
var _local1 = 0;
while (_local1 < _local2.length) {
if (-1 == _local3.indexOf(_local2.charAt(_local1))) {
return(false);
}
_local1++;
}
return(true);
}
static function createFieldAccessor(component, property, location, type, mustExist) {
if (mustExist && (component[property] == null)) {
_global.__dataLogger.logData(component, "Warning: property '<property>' does not exist", {property:property});
return(null);
}
var _local5 = new mx.data.binding.FieldAccessor(component, property, component, property, type, null, null);
if (location == null) {
return(_local5);
}
var _local7 = null;
if (location.indices != null) {
_local7 = location.indices;
location = location.path;
}
if (typeof(location) == "string") {
if (_local7 != null) {
_global.__dataLogger.logData(component, "Warning: ignoring index values for property '<property>', path '<location>'", {property:property, location:location});
}
if (isActionScriptPath(String(location))) {
location = location.split(".");
} else {
_local5.xpath = location;
return(_local5);
}
}
if (location instanceof Array) {
var _local3;
var _local11 = 0;
_local3 = 0;
while (_local3 < location.length) {
var _local2 = null;
var _local4 = location[_local3];
if (_local4 == "[n]") {
if (_local7 == null) {
_global.__dataLogger.logData(component, "Error: indices for <property>:<location> are null, but [n] appears in the location.", {property:property, location:location});
return(null);
}
_local2 = _local7[_local11++];
if (_local2 == null) {
_global.__dataLogger.logData(component, "Error: not enough index values for <property>:<location>", {property:property, location:location});
return(null);
}
}
_local5 = _local5.getChild(_local4, _local2, mustExist);
_local3++;
}
if (mustExist && (_local5.getValue() == null)) {
_global.__dataLogger.logData(component, "Warning: field <property>:<m_location> does not exist, or is null", _local5);
}
return(_local5);
}
trace("unrecognized location: " + mx.data.binding.ObjectDumper.toString(location));
return(null);
}
function getFieldAccessor() {
return(this);
}
function getChild(childName, index, mustExist) {
if (childName == ".") {
return(this);
}
var _local2 = getOrCreateFieldData(mustExist);
if (_local2 == null) {
return(null);
}
var _local4 = findElementType(type, childName);
return(new mx.data.binding.FieldAccessor(component, property, _local2, childName, _local4, index, this));
}
function getOrCreateFieldData(mustExist) {
var _local3 = getFieldData();
if (_local3 == null) {
if (mustExist) {
_global.__dataLogger.logData(component, "Warning: field <property>:<m_location> does not exist", this);
} else {
setupComplexField();
_local3 = getFieldData();
}
}
return(_local3);
}
function evaluateSubPath(obj, type) {
var path = type.path;
if (isActionScriptPath(path)) {
var tokens = path.split(".");
var i = 0;
while (i < tokens.length) {
var token = tokens[i];
if (isXML(obj)) {
obj = obj.firstChild;
while (obj != null) {
if (toLocalName(obj.nodeName) == token) {
break;
}
obj = obj.nextSibling;
}
} else {
obj = obj[token];
}
if (obj == null) {
_global.__dataLogger.logData(component, "Warning: path '<path>' evaluates to null, at '<token>' in <t.property>:<t.m_location>", {path:path, token:token, t:this});
break;
}
i++;
}
} else if (isXML(obj)) {
if (path.charAt(0) != "/") {
path = "/" + path;
}
path = toLocalName(obj.nodeName) + path;
var category = ((type.category != null) ? (type.category) : (((type.elements.length > 0) ? "complex" : "simple")));
if ((category == "simple") || (category == "attribute")) {
obj = eval ("obj" + mx.xpath.XPathAPI.getEvalString(obj, path));
} else if (category == "complex") {
obj = mx.xpath.XPathAPI.selectSingleNode(obj, path);
} else if (category == "array") {
obj = mx.xpath.XPathAPI.selectNodeList(obj, path);
}
} else {
_global.__dataLogger.logData(component, "Error: path '<path>' is an XPath. It cannot be applied to non-XML data <t.property>:<t.m_location>", {path:path, t:this});
}
return(obj);
}
function getFieldData() {
if (xpath != null) {
var _local4 = parentObj[fieldName].firstChild;
while ((_local4 != null) && (_local4.nodeType != 1)) {
_local4 = _local4.nextSibling;
}
var _local10 = mx.xpath.XPathAPI.selectSingleNode(_local4, xpath);
return(_local10);
}
if (isXML(parentObj)) {
if (type.path != null) {
return(evaluateSubPath(parentObj, type));
}
if (type.category == "attribute") {
var _local5 = parentObj.attributes;
for (var _local8 in _local5) {
if (toLocalName(_local8) == fieldName) {
return(_local5[_local8]);
}
}
return(undefined);
}
var _local3 = parentObj.firstChild;
if (type.category == "array") {
var _local6 = new Array();
while (_local3 != null) {
if (toLocalName(_local3.nodeName) == fieldName) {
_local6.push(_local3);
}
_local3 = _local3.nextSibling;
}
return(_local6);
}
while (_local3 != null) {
if (toLocalName(_local3.nodeName) == fieldName) {
return(_local3);
}
_local3 = _local3.nextSibling;
}
return(null);
}
if (fieldName == "[n]") {
var _local7;
if (index.component != null) {
var _local9 = index.component.getField(index.property, index.location);
_local7 = _local9.getAnyTypedValue(["Number"]);
_local7 = _local7.value;
} else {
_local7 = index.constant;
}
var _local11 = Number(_local7);
if (typeof(_local7) == "undefined") {
_global.__dataLogger.logData(component, "Error: index specification '<index>' was not supplied, or incorrect, for <t.property>:<t.m_location>", {index:_local11, t:this});
return(null);
}
if (_local11.toString() == "NaN") {
_global.__dataLogger.logData(component, "Error: index value '<index>' for <t.property>:<t.m_location> is not a number", {index:_local11, t:this});
return(null);
}
if (!(parentObj instanceof Array)) {
_global.__dataLogger.logData(component, "Error: indexed field <property>:<m_location> is not an array", this);
return(null);
}
if ((_local11 < 0) || (_local11 >= parentObj.length)) {
_global.__dataLogger.logData(component, "Error: index '<index>' for <t.property>:<t.m_location> is out of bounds", {index:_local11, t:this});
return(null);
}
_global.__dataLogger.logData(component, "Accessing item [<index>] of <t.property>:<t.m_location>", {index:_local11, t:this});
return(parentObj[_local11]);
}
if (type.path != null) {
return(evaluateSubPath(parentObj, type));
}
return(parentObj[fieldName]);
}
static function setXMLData(obj, newValue) {
while (obj.hasChildNodes()) {
obj.firstChild.removeNode();
}
var _local2 = xmlNodeFactory.createTextNode(newValue);
obj.appendChild(_local2);
}
function setupComplexField() {
var _local2;
if (isXML(parentObj)) {
_local2 = xmlNodeFactory.createElement(fieldName);
parentObj.appendChild(_local2);
} else if (dataIsXML()) {
parentObj[fieldName] = new XML();
} else {
parentObj[fieldName] = new Object();
}
}
static function findElementType(type, name) {
var _local1 = 0;
while (_local1 < type.elements.length) {
if (type.elements[_local1].name == name) {
return(type.elements[_local1].type);
}
_local1++;
}
return(null);
}
function isXML(obj) {
return(obj instanceof XMLNode);
}
function dataIsXML() {
return(type.name == "XML");
}
static function accessField(component, fieldName, desiredTypes) {
var _local1;
_local1 = desiredTypes[fieldName];
if (_local1 == null) {
_local1 = desiredTypes.dflt;
}
if (_local1 == null) {
_local1 = desiredTypes;
}
var _local4 = component.createField("data", [fieldName]);
var _local2 = _local4.getAnyTypedValue([_local1]);
return(_local2.value);
}
static function ExpandRecord(obj, objectType, desiredTypes) {
var _local4 = new Object();
mx.data.binding.ComponentMixins.initComponent(_local4);
_local4.data = obj;
_local4.__schema = {elements:[{name:"data", type:objectType}]};
var _local2 = new Object();
if (objectType.elements.length > 0) {
var _local3 = 0;
while (_local3 < objectType.elements.length) {
var _local10 = objectType.elements[_local3].name;
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
_local3++;
}
} else if ((obj instanceof XML) || (obj instanceof XMLNode)) {
if ((obj.childNodes.length == 1) && (obj.firstChild.nodeType == 3)) {
return(obj.firstChild.nodeValue);
}
var _local5 = obj.lastChild;
while (_local5 != null) {
var _local10 = toLocalName(_local5.nodeName);
if ((_local10 != null) && (_local2[_local10] == null)) {
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
_local5 = _local5.previousSibling;
}
for (var _local10 in obj.attributes) {
if (_local2[_local10] != null) {
_global.__dataLogger.logData(null, "Warning: attribute '<name>' has same name as an element, in XML object <obj>", {name:_local10, obj:obj});
}
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
} else {
if (typeof(obj) != "object") {
return(obj);
}
for (var _local10 in obj) {
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
}
return(_local2);
}
static function wrapArray(theArray, itemType, desiredTypes) {
var _local4 = {getItemAt:function (index) {
if ((index < 0) || (index >= this.data.length)) {
return(undefined);
}
var _local2 = this.data[index];
if (_local2 == undefined) {
return(undefined);
}
var _local3 = mx.data.binding.FieldAccessor.ExpandRecord(_local2, this.type, desiredTypes);
return(_local3);
}, getItemID:function (index) {
return(index);
}, data:theArray, type:itemType, length:theArray.length};
return(_local4);
}
static function toLocalName(nodeName) {
var _local1 = nodeName.split(":");
var _local2 = _local1[_local1.length - 1];
return(_local2);
}
static var xmlNodeFactory = new XML();
}
Symbol 18 MovieClip [__Packages.mx.data.binding.Log] Frame 0
class mx.data.binding.Log
{
var level, name;
function Log (logLevel, logName) {
level = ((logLevel == undefined) ? (BRIEF) : (logLevel));
name = ((name == undefined) ? "" : (name));
}
function logInfo(msg, level) {
if (level == undefined) {
level = BRIEF;
}
onLog((((getDateString() + " ") + name) + ": ") + mx.data.binding.ObjectDumper.toString(msg));
}
function logData(target, message, info, level) {
if (level == undefined) {
level = VERBOSE;
}
var _local6 = ((name.length > 0) ? ((" " + name) + ": ") : " ");
var _local4 = ((target == null) ? "" : (target + ": "));
if (_local4.indexOf("_level0.") == 0) {
_local4 = _local4.substr(8);
}
var _local3 = ((getDateString() + _local6) + _local4) + substituteIntoString(message, info, 50);
if (showDetails && (info != null)) {
_local3 = _local3 + ("\n " + mx.data.binding.ObjectDumper.toString(info));
} else {
var _local2 = 0;
while (_local2 < nestLevel) {
_local3 = " " + _local3;
_local2++;
}
}
onLog(_local3);
}
function onLog(message) {
trace(message);
}
function getDateString() {
var _local1 = new Date();
return(((((((((_local1.getMonth() + 1) + "/") + _local1.getDate()) + " ") + _local1.getHours()) + ":") + _local1.getMinutes()) + ":") + _local1.getSeconds());
}
static function substituteIntoString(message, info, maxlen, rawDataType) {
var _local9 = "";
if (info == null) {
return(message);
}
var _local11 = message.split("<");
if (_local11 == null) {
return(message);
}
_local9 = _local9 + _local11[0];
var _local7 = 1;
while (_local7 < _local11.length) {
var _local8 = _local11[_local7].split(">");
var _local5 = _local8[0].split(".");
var _local1 = info;
var _local4 = rawDataType;
var _local3 = 0;
while (_local3 < _local5.length) {
var _local2 = _local5[_local3];
if (_local2 != "") {
_local4 = mx.data.binding.FieldAccessor.findElementType(_local4, _local2);
var _local6 = new mx.data.binding.FieldAccessor(null, null, _local1, _local2, _local4, null, null);
_local1 = _local6.getValue();
}
_local3++;
}
if (typeof(_local1) != "string") {
_local1 = mx.data.binding.ObjectDumper.toString(_local1);
}
if (_local1.indexOf("_level0.") == 0) {
_local1 = _local1.substr(8);
}
if ((maxlen != null) && (_local1.length > maxlen)) {
_local1 = _local1.substr(0, maxlen) + "...";
}
_local9 = _local9 + _local1;
_local9 = _local9 + _local8[1];
_local7++;
}
var _local14 = _local9.split(">");
_local9 = _local14.join(">");
_local14 = _local9.split("<");
_local9 = _local14.join("<");
return(_local9);
}
static var NONE = -1;
static var BRIEF = 0;
static var VERBOSE = 1;
static var DEBUG = 2;
static var INFO = 2;
static var WARNING = 1;
static var ERROR = 0;
var showDetails = false;
var nestLevel = 0;
}
Symbol 19 MovieClip [__Packages.mx.data.binding.Binding] Frame 0
class mx.data.binding.Binding
{
var is2way, dest, source, format;
function Binding (source, dest, format, is2way) {
mx.events.EventDispatcher.initialize(this);
var _local5 = this;
_local5.source = source;
_local5.dest = dest;
_local5.format = format;
_local5.is2way = is2way;
registerBinding(this);
calcShortLoc(source);
calcShortLoc(dest);
_global.__dataLogger.logData(null, ("Creating binding " + summaryString()) + (is2way ? ", 2-way" : ""), {binding:this});
_global.__dataLogger.nestLevel++;
mx.data.binding.ComponentMixins.initComponent(dest.component);
if (source.component != undefined) {
mx.data.binding.ComponentMixins.initComponent(source.component);
}
dest.component.addBinding(this);
if (source.component != undefined) {
source.component.addBinding(this);
setUpListener(source, false);
if (this.is2way) {
setUpListener(dest, true);
setUpIndexListeners(source, false);
setUpIndexListeners(dest, true);
} else {
setUpIndexListeners(source, false);
setUpIndexListeners(dest, false);
}
} else {
execute();
}
_global.__dataLogger.nestLevel--;
}
function execute(reverse) {
var _local3;
var _local4;
if (reverse) {
if (!is2way) {
_global.__dataLogger.logData(null, ("Warning: Can't execute binding " + summaryString(false)) + " in reverse, because it's not a 2 way binding", {binding:this}, mx.data.binding.Log.BRIEF);
return(["error"]);
}
_local3 = dest;
_local4 = source;
} else {
_local3 = source;
_local4 = dest;
}
_global.__dataLogger.logData(null, "Executing binding " + summaryString(reverse), {binding:this});
_global.__dataLogger.nestLevel++;
var _local10;
if (_local3.constant != undefined) {
_local10 = {value:new mx.data.binding.TypedValue(_local3.constant, "String"), getAnyTypedValue:function () {
return(this.value);
}, getTypedValue:function () {
return(this.value);
}, getGettableTypes:function () {
return(["String"]);
}};
} else {
_local10 = _local3.component.getField(_local3.property, _local3.location, true);
}
var _local20;
var _local16;
var _local13 = "";
var _local6 = _local4.component.getField(_local4.property, _local4.location);
if (format != null) {
var _local5 = getRuntimeObject(format);
if (_local5 != null) {
if (reverse) {
_local5.setupDataAccessor(_local4.component, _local4.property, _local4.location);
_local5.dataAccessor = _local6;
_local6 = _local5;
} else {
_local5.setupDataAccessor(_local3.component, _local3.property, _local3.location);
_local5.dataAccessor = _local10;
_local10 = _local5;
}
}
}
var _local15 = ((format == null) ? (_local6.getSettableTypes()) : null);
var _local11 = _local10.getAnyTypedValue(_local15);
var _local7 = new Object();
if (_local6.type.readonly == true) {
_global.__dataLogger.logData(null, "Not executing binding because the destination is read-only", null, mx.data.binding.Log.BRIEF);
var _local8 = new Object();
_local8.type = "invalid";
_local8.property = _local4.property;
_local8.location = _local4.location;
_local8.messages = [{message:"Cannot assign to a read-only data field."}];
_local4.component.dispatchEvent(_local8);
_local7.event = _local8;
} else {
_global.__dataLogger.logData(null, "Assigning new value '<value>' (<typeName>) " + _local13, {value:_local11.value, typeName:_local11.typeName, unformattedValue:_local20, formatterFrom:_local16});
var _local14 = _local6.setAnyTypedValue(_local11);
_local6.validateAndNotify(_local7, false, _local14);
_local4.component.dispatchEvent({type:"bindingExecuted", binding:this});
}
if (_local7.event != null) {
if (_local3.component != null) {
var _local9 = new Object();
_local9.type = _local7.event.type;
_local9.property = _local3.property;
_local9.location = _local3.location;
_local9.messages = _local7.event.messages;
_local9.to = _local4.component;
_local3.component.dispatchEvent(_local9);
}
}
_global.__dataLogger.nestLevel--;
return(_local7.event.messages);
}
function queueForExecute(reverse) {
if (!queued) {
if (_global.__databind_executeQueue == null) {
_global.__databind_executeQueue = new Array();
}
if (_root.__databind_dispatch == undefined) {
_root.createEmptyMovieClip("__databind_dispatch", -8888);
}
_global.__databind_executeQueue.push(this);
queued = true;
this.reverse = reverse;
_root.__databind_dispatch.onEnterFrame = dispatchEnterFrame;
}
}
static function dispatchEnterFrame() {
_root.__databind_dispatch.onEnterFrame = null;
var _local4 = 0;
while (_local4 < _global.__databind_executeQueue.length) {
var _local3 = _global.__databind_executeQueue[_local4];
_local3.execute(_local3.reverse);
_local4++;
}
var _local5;
while (_local5 = _global.__databind_executeQueue.pop() , _local5 != null) {
_local5.queued = false;
_local5.reverse = false;
}
}
function calcShortLoc(endpoint) {
var _local1 = endpoint.location;
if (_local1.path != null) {
_local1 = _local1.path;
}
endpoint.loc = ((_local1 instanceof Array) ? (_local1.join(".")) : (_local1));
}
function summaryString(reverse) {
var _local2 = "<binding.dest.component>:<binding.dest.property>:<binding.dest.loc>";
var _local3 = "<binding.source.component>:<binding.source.property>:<binding.source.loc>";
if (source.constant == null) {
if (reverse == true) {
return((("from " + _local2) + " to ") + _local3);
}
return((("from " + _local3) + " to ") + _local2);
}
return("from constant '<binding.source.constant>' to " + _local2);
}
static function getRuntimeObject(info, constructorParameter) {
if (info.cls == undefined) {
info.cls = mx.utils.ClassFinder.findClass(info.className);
}
var _local3 = new info.cls(constructorParameter);
if (_local3 == null) {
_global.__dataLogger.logData(null, "Could not construct a formatter or validator - new <info.className>(<params>)", {info:info, params:constructorParameter}, mx.data.binding.Log.BRIEF);
}
for (var _local4 in info.settings) {
_local3[_local4] = info.settings[_local4];
}
return(_local3);
}
static function refreshFromSources(component, property, bindings) {
var _local5 = null;
var _local3;
_local3 = 0;
while (_local3 < bindings.length) {
var _local1 = bindings[_local3];
var _local2 = null;
if ((_local1.dest.component == component) && ((property == null) || (property == _local1.dest.property))) {
_local2 = _local1.execute();
} else if ((_local1.is2way && (_local1.source.component == component)) && ((property == null) || (property == _local1.source.property))) {
_local2 = _local1.execute(true);
}
if (_local2 != null) {
_local5 = ((_local5 == null) ? (_local2) : (_local5.concat(_local2)));
}
_local3++;
}
return(_local5);
}
static function refreshDestinations(component, bindings) {
var _local1;
_local1 = 0;
while (_local1 < bindings.length) {
var _local2 = bindings[_local1];
if (_local2.source.component == component) {
_local2.execute();
} else if (_local2.is2way && (_local2.dest.component == component)) {
_local2.execute(true);
}
_local1++;
}
_local1 = 0;
while (_local1 < component.__indexBindings.length) {
var _local3 = component.__indexBindings[_local1];
_local3.binding.execute(_local3.reverse);
_local1++;
}
}
static function okToCallGetterFromSetter() {
function setter(val) {
this.value2 = this.value;
}
function getter() {
return(5);
}
var _local2 = new Object();
_local2.addProperty("value", getter, setter);
_local2.value = 0;
var _local3 = _local2.value2 == _local2.value;
return(_local3);
}
function setUpListener(endpoint, reverse) {
var _local4 = new Object();
_local4.binding = this;
_local4.property = endpoint.property;
_local4.reverse = reverse;
_local4.immediate = okToCallGetterFromSetter();
_local4.handleEvent = function (event) {
_global.__dataLogger.logData(event.target, "Data of property '<property>' has changed. <immediate>.", this);
if (this.immediate) {
if (this.binding.executing != true) {
this.binding.executing = true;
this.binding.execute(this.reverse);
this.binding.executing = false;
}
} else {
this.binding.queueForExecute(this.reverse);
}
};
if (endpoint.event instanceof Array) {
for (var _local5 in endpoint.event) {
endpoint.component.__addHighPrioEventListener(endpoint.event[_local5], _local4);
}
} else {
endpoint.component.__addHighPrioEventListener(endpoint.event, _local4);
}
mx.data.binding.ComponentMixins.initComponent(endpoint.component);
}
function setUpIndexListeners(endpoint, reverse) {
if (endpoint.location.indices != undefined) {
var _local3 = 0;
while (_local3 < endpoint.location.indices.length) {
var _local2 = endpoint.location.indices[_local3];
if (_local2.component != undefined) {
setUpListener(_local2, reverse);
if (_local2.component.__indexBindings == undefined) {
_local2.component.__indexBindings = new Array();
}
_local2.component.__indexBindings.push({binding:this, reverse:reverse});
}
_local3++;
}
}
}
static function copyBinding(b) {
var _local1 = new Object();
_local1.source = copyEndPoint(b.source);
_local1.dest = copyEndPoint(b.dest);
_local1.format = b.format;
_local1.is2way = b.is2way;
return(_local1);
}
static function copyEndPoint(e) {
var _local1 = new Object();
_local1.constant = e.constant;
_local1.component = String(e.component);
_local1.event = e.event;
_local1.location = e.location;
_local1.property = e.property;
return(_local1);
}
static function registerScreen(screen, id) {
var symbol = screenRegistry[id];
if (symbol == null) {
screenRegistry[id] = {symbolPath:String(screen), bindings:[], id:id};
return(undefined);
}
if (symbol.symbolPath == String(screen)) {
return(undefined);
}
var instancePath = String(screen);
var i = 0;
while (i < bindingRegistry.length) {
var b = bindingRegistry[i];
var src = copyEndPoint(b.source);
var dst = copyEndPoint(b.dest);
var prefix = (symbol.symbolPath + ".");
var symbolContainsSource = (prefix == b.source.component.substr(0, prefix.length));
var symbolContainsDest = (prefix == b.dest.component.substr(0, prefix.length));
if (symbolContainsSource) {
if (symbolContainsDest) {
src.component = eval (instancePath + src.component.substr(symbol.symbolPath.length));
dst.component = eval (instancePath + dst.component.substr(symbol.symbolPath.length));
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
} else {
src.component = eval (instancePath + src.component.substr(symbol.symbolPath.length));
dst.component = eval (dst.component);
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
}
} else if (symbolContainsDest) {
src.component = eval (src.component);
dst.component = eval (instancePath + dst.component.substr(symbol.symbolPath.length));
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
}
i++;
}
}
static function registerBinding(binding) {
var _local1 = copyBinding(binding);
bindingRegistry.push(_local1);
}
static function getLocalRoot(clip) {
var _local2;
var _local3 = clip._url;
while (clip != null) {
if (clip._url != _local3) {
break;
}
_local2 = clip;
clip = clip._parent;
}
return(_local2);
}
var queued = false;
var reverse = false;
static var counter = 0;
static var screenRegistry = new Object();
static var bindingRegistry = new Array();
}
Symbol 20 MovieClip [__Packages.mx.data.kinds.Data] Frame 0
class mx.data.kinds.Data extends mx.data.binding.DataAccessor
{
var component, property, location;
function Data () {
super();
}
function getTypedValue(requestedType) {
var _local5;
var _local2 = getFieldAccessor().getValue();
var _local3 = null;
if (_local2 != null) {
if (_local2 instanceof Array) {
_local3 = "Array";
} else if ((_local2 instanceof XMLNode) || (_local2 instanceof XMLNode)) {
_local3 = "XML";
} else {
var _local4 = typeof(_local2);
_local3 = _local4.charAt(0).toUpperCase() + _local4.slice(1);
}
} else {
_local2 = null;
}
_local5 = new mx.data.binding.TypedValue(_local2, _local3, null);
return(_local5);
}
function getGettableTypes() {
return(null);
}
function setTypedValue(newValue) {
getFieldAccessor().setValue(newValue.value, newValue);
return(null);
}
function getSettableTypes() {
return(null);
}
function getFieldAccessor() {
return(component.createFieldAccessor(property, location, false));
}
}
Symbol 21 MovieClip [__Packages.mx.data.binding.Formatter] Frame 0
class mx.data.binding.Formatter extends mx.data.binding.DataAccessor
{
function Formatter () {
super();
}
}
Symbol 22 MovieClip [__Packages.mx.data.binding.DataType] Frame 0
class mx.data.binding.DataType extends mx.data.binding.DataAccessor
{
var errorArray, type, kind, dataAccessor, encoder, formatter, getAnyTypedValue, setAnyTypedValue, component, location, property;
function DataType () {
super();
errorArray = null;
}
function setupDataAccessor(component, property, location) {
super.setupDataAccessor(component, property, location);
type = component.findSchema(property, location);
if (type.kind != undefined) {
kind = mx.data.binding.Binding.getRuntimeObject(type.kind);
} else {
kind = new mx.data.kinds.Data();
}
kind.setupDataAccessor(component, property, location);
dataAccessor = kind;
if (type.encoder != undefined) {
encoder = mx.data.binding.Binding.getRuntimeObject(type.encoder);
encoder.setupDataAccessor(component, property, location);
encoder.dataAccessor = dataAccessor;
dataAccessor = encoder;
}
if (type.formatter != undefined) {
formatter = mx.data.binding.Binding.getRuntimeObject(type.formatter);
formatter.setupDataAccessor(component, property, location);
formatter.dataAccessor = dataAccessor;
}
}
function getAsBoolean() {
var _local2 = getAnyTypedValue(["Boolean"]);
return(_local2.value);
}
function getAsNumber() {
var _local2 = getAnyTypedValue(["Number"]);
return(_local2.value);
}
function getAsString() {
var _local2 = getAnyTypedValue(["String"]);
return(_local2.value);
}
function setAsBoolean(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "Boolean"));
}
function setAsNumber(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "Number"));
}
function setAsString(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "String"));
}
function validationError(errorMessage) {
if (errorArray == null) {
errorArray = new Array();
}
errorArray.push(errorMessage);
}
function validate(value) {
}
function getTypedValue(requestedType) {
var _local2;
if ((requestedType == "String") && (formatter != null)) {
_local2 = formatter.getTypedValue(requestedType);
} else {
_local2 = dataAccessor.getTypedValue(requestedType);
if (_local2.type == null) {
_local2.type = type;
}
if (_local2.typeName == null) {
_local2.typeName = type.name;
}
}
if ((_local2.typeName != requestedType) && (requestedType != null)) {
_local2 = null;
}
return(_local2);
}
function getGettableTypes() {
var _local2 = new Array();
var _local3 = gettableTypes();
if (_local3 != null) {
_local2 = _local2.concat(_local3);
}
if (type.name != null) {
_local2 = _local2.concat(type.name);
}
if (formatter != null) {
_local2 = _local2.concat(formatter.getGettableTypes());
}
if (_local2.length == 0) {
return(null);
}
return(_local2);
}
function setTypedValue(newValue) {
if ((newValue.typeName == "String") && (formatter != null)) {
return(formatter.setTypedValue(newValue));
}
var _local3 = dataAccessor.getSettableTypes();
if ((_local3 == null) || (-1 != mx.data.binding.DataAccessor.findString(newValue.typeName, _local3))) {
return(dataAccessor.setTypedValue(newValue));
}
return(["Can't set a value of type " + newValue.typeName]);
}
function getSettableTypes() {
var _local2 = new Array();
var _local3 = settableTypes();
if (_local3 != null) {
_local2 = _local2.concat(_local3);
}
if (type.name != null) {
_local2 = _local2.concat(type.name);
}
if (formatter != null) {
_local2 = _local2.concat(formatter.getSettableTypes());
}
if (_local2.length == 0) {
return(null);
}
return(_local2);
}
function gettableTypes() {
return(dataAccessor.getGettableTypes());
}
function settableTypes() {
return(dataAccessor.getSettableTypes());
}
function validateAndNotify(returnData, noEvent, initialMessages) {
var _local4 = false;
errorArray = null;
for (var _local6 in initialMessages) {
validationError(initialMessages[_local6]);
_local4 = true;
}
var _local7 = getTypedValue();
if ((_local7.value == null) || (_local7.value == "")) {
if (type.required == false) {
_global.__dataLogger.logData(component, "Validation of null value succeeded because field '<property>/<m_location>' is not required", this);
} else {
var _local8 = ((location == null) ? "" : (":" + String(location)));
validationError((("Required item '" + property) + _local8) + "' is missing");
_local4 = true;
}
} else {
validate(_local7.value);
_local4 = true;
}
if (_local4 && (noEvent != true)) {
var _local5 = new Object();
_local5.type = ((errorArray == null) ? "valid" : "invalid");
_local5.property = property;
_local5.location = location;
_local5.messages = errorArray;
component.dispatchEvent(_local5);
returnData.event = _local5;
}
return(errorArray);
}
}
Symbol 23 MovieClip [__Packages.mx.utils.ClassFinder] Frame 0
class mx.utils.ClassFinder
{
function ClassFinder () {
}
static function findClass(fullClassName) {
if (fullClassName == null) {
return(null);
}
var _local3 = _global;
var _local4 = fullClassName.split(".");
var _local2 = 0;
while (_local2 < _local4.length) {
_local3 = _local3[_local4[_local2]];
_local2++;
}
if (_local3 == null) {
_global.__dataLogger.logData(null, "Could not find class '<classname>'", {classname:fullClassName}, mx.data.binding.Log.BRIEF);
}
return(_local3);
}
}
Symbol 59 MovieClip Frame 1
stop();
Symbol 59 MovieClip Frame 25
stop();
Symbol 74 MovieClip Frame 75
gotoAndPlay (15);
Symbol 90 Button
on (release) {
gotoAndPlay (295);
stopAllSounds();
}
Symbol 97 Button
on (release) {
gotoAndStop ("scene");
}
Symbol 103 MovieClip Frame 25
stop();
Symbol 107 MovieClip Frame 10
stop();
Symbol 108 Button
on (release) {
gotoAndStop ("options");
}
Symbol 115 Button
on (release) {
_quality = "BEST";
}
Symbol 120 Button
on (release) {
gotoAndStop ("first");
}
Symbol 124 Button
on (release) {
_quality = "LOW";
}
Symbol 128 Button
on (release) {
_quality = "HIGH";
}
Symbol 132 Button
on (release) {
_quality = "MEDIUM";
}
Symbol 138 Button
on (release) {
gotoAndPlay (295);
stopAllSounds();
}
Symbol 142 Button
on (release) {
gotoAndPlay (714);
stopAllSounds();
}
Symbol 146 Button
on (release) {
gotoAndPlay (292);
stopAllSounds();
}
Symbol 150 Button
on (release) {
gotoAndPlay (1185);
stopAllSounds();
}
Symbol 204 MovieClip Frame 8
stop();
Symbol 359 MovieClip Frame 10
stop();
Symbol 429 MovieClip Frame 9
stop();
Symbol 1074 Button
on (release) {
gotoAndPlay (1);
stopAllSounds();
}